西门子200SMART,下装程序时候,碰到这样的错误提示:
这?第一次碰到,编译无错,下装出错,搞得一头雾水。查吧,不然咋滴?谁让自己写的,亲生的。
因为程序是流程控制,用的是顺控制指令,逻辑倒也不复杂,但流程很长,写得也很长。查起来头疼。对于可能出现的错误,也感觉似是而非。
不管了,凡事不具,问度娘,她说:语法错误,软件不认,不说,自己查。
重点有了,也就够了,其实也差不多,这小东西,能有哪些错误呢,无外乎硬件故障,软件故障,且硬件故障比较明显,西门子做的很完善,基本很好查。但软件故障,语法错误就不好说了。
因为流程很长,也大概考虑了几个点,比较复杂的逻辑处理部分,懒得细分析,使出绝世大法,删,一删了之。
排除法:删!测试。
查找过程:
起初怀疑的几个点:
1. 部分程序一个网络内串的太长,并的太多?
2. 地址使用错误?超范围了?地址用冲突?
然后,挨个删除,则是下装,依次寻找测试,直至找出问题所在。
找到问题就解决80%的问题了,剩下的解决其实很简单,因为基础大家都有的,知道怎么改。
问题原因:
先放一个对的
再放一个错的:
你知道了吗?
当然这个太简单,错误很低级。
错误原因:顺控指令缺了部分,语法错误。但是不知道200SMART为什么不提示,这个加个编译错误应该不难,成套的指令,中间缺失,直接编译错误不香吗?
另外提出这个问题不是针对这一个错误点,而是这种,编译无错,下装出错的问题,明确一个重点:
西门子200SMART针对部分语法错误,不做检查,不做检查,不做检查!
编译无错,下装提示:编译出错,请检查非致命性错误以了解更多信息。这时,请检查:
1. 寄存器地址;
2. 功能指令用法错误;
3. 功能逻辑块编写太复杂;