这两个STL语句表代码有什么区别?

第一个
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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月1日 上午3:19
下一篇 2018年12月1日 上午3:20

相关推荐