第一个
CLR
A #StartAut.Value
A #StopAut.Value
= #xInvalidCommand
JCN A80d
L 51
T #xErrorNum
第二个
CLR
A #StartAut.Value
A #StopAut.Value
= #xInvalidCommand
A #xInvalidCommand
JCN A80d
L 51
T #xErrorNum
我不明=号后面的RLO结果是什么呢?
最佳答案
CLR //清除当前RLO 类容
A #StartAut.Value
A #StopAut.Value //执行完 这2个A 指令后,RLO 类容会更具逻辑 执行结果,再次刷新
= #xInvalidCommand //将RLO 类容(StartAut.Value &StopAut.Value 的结果)赋值xInvalidCommand
你2个语句段不同之处就是多了个 A #xInvalidCommand
2 个语句段的 执行结果是一样的,第一个代码优于第二个,因为 A #xInvalidCommand指令后的RLO 结果和
A #StartAut.Value
A #StopAut.Value
= #xInvalidCommand
执行后的RLO 结果是相同的,而JCN 指令是根据 RLO 进行跳转的 。
理解RLO 状态字的关键是你要知道哪些指令会改变RLO 的结果。
常用的指令就 A,AN,O,ON,X 以及一些逻辑嵌套指令,比如A(,AN( 等等。
提问者对于答案的评价:
解释的都很详细,随机选一个为最佳了,谢谢
最佳答案作者回复:
看样我的运气 不错,需要买彩票了!
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc228608.html