请教STL编程,做循环比较问题。

请教各位老师。
MW98里有一个数,现要比较MW60至MW78十个寄存器中,哪个的值等于MW98,并需输出相应的标志位。(MW60=MW98输出M100.0 ,MW62=MW98输出M100.1)
下载到PLCSIM监控如截图所示(MW60=MW66=MW98,M100.0、M100.3置位,但是M101.0也置位了)。能否帮我看下STL编程哪里出的问题。非常感谢。

图片说明:

请教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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年6月13日
下一篇 2017年6月13日

相关推荐