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