STL程序解释问题

L     #STAT8
      L     0
      >I    
      L     #STAT8
      L     DB72.DBW    0
      =     L      6.2
      <=I   
      A     L      6.2
      JCN   M003
以上语言是由SCL语言编写,打开后显示STL语言
在线调试,#STAT8=0,L     DB72.DBW    0=9,我认为L6.2应该为1,不应该发生跳转到M003,但实际程序却发生了跳转,这是怎样回事?
哪位高手帮忙解释一下程序?

钻石用户推荐最佳答案

因为前面 3 行 的逻辑判断结果存在了 L6.2 这个位;
当 #STAT8=0 它不大于0 ,使得,L6.2=0。
扫描执行到倒数第二行 A  L6.2,因 L6.2=0,不管第4、5、7行判断的结果是什么,倒数第二行这个位与指令执行完,使得 RLO=0,JCN 跳转条件就成立。
你监视一下,改变  #STAT8 的值,并可以看到其与 L6.2 的关系,就可以一目了然。
《用于S7-300 和S7-400 的语句表(STL)编程》 文档编号 1008 2008-11-13
http://www.ad.siemens.com.cn/download/docMessage.aspx?Id=1818

提问者对于答案的评价:

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc285493.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月30日 下午11:09
下一篇 2020年10月30日 下午11:10

相关推荐