请教各位老师。
MW98里有一个数,现要比较MW60至MW78十个寄存器中,哪个的值等于MW98,并需输出相应的标志位。(MW60=MW98输出M100.0 ,MW62=MW98输出M100.1)
下载到PLCSIM监控如截图所示(MW60=MW66=MW98,M100.0、M100.3置位,但是M101.0也置位了)。能否帮我看下STL编程哪里出的问题。非常感谢。
图片说明:
最佳答案
将你的程序中的比较、跳转指令改为:
L 10
M006:T MW58
L MW98
L MW[AR1,P#0.0]
==I
JCN M007
其他指令不变试试。JCN 与JNB指令不同。
提问者对于答案的评价:
谢谢阿鸣老师的回答。
程序改成如下所示,在PLCSIM上测试正确。
L 0
T %MW100
LAR1 P#60.0
LAR2 P#100.0
L 10
M006: T %MW58
L %MW98
L MW [ AR1 , P#0.0 ]
==I
JCN M007
= M [ AR2 , P#0.0 ]
M007: +AR1 P#2.0
+AR2 P#0.1
L %MW58
LOOP M006
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc173531.html