整数比较指令

L     "中断计数器"
      +     1
      T     "中断计数器"
      L     25
      >=I   
      JCN   m001                        //未中断25次(0.5s)跳转
对第四句和第五句有些迷糊,将L25送入ACC1,直接比较>=I 是怎么比较的?和谁比较的?这样写是不是也可以:
L   25
L     "中断计数器" 
>=I 
JCN   m001     //未中断25次(0.5s)跳转

最佳答案

1、原程序是"中断计数器"加1后判断是否大于等于25。注意,T传送指令本身的功能是传送ACCU1后,原ACCU1的内容自动传送到ACCU2中了,ACCU2中的内容是 "中断计数器"值了。L   25指令后,ACCU1的内容为25。 >=I 指令正好是ACCU1的内容与ACCU21的内容进行比较。
2、楼主后该的程序中没有"中断计数器"加1的结果了。为了直观,笨一些可以这样改:
      L     "中断计数器"
      +     1
      T     "中断计数器"
      L     25
      L     "中断计数器"
      >=I   
      JCN   m001

提问者对于答案的评价:
各位师傅解释的都很清楚,小弟在复述一遍自己的理解:
L     "中断计数器"   //将中断计数值送入ACCU1
      +     1              //累加器1加1
      T     "中断计数器"    //相加结果保存到累加器中然后传给中断计数器
      L     25                  //将ACCU1(中断计数值)送入ACCU2,将25送入ACCU1
      >=I                    //判断ACCU2内容(中断计数值)是否大于等于ACCU1内(25)
      JCN   m001           //判断结果不满足跳转到m001处 ,未中断25次(0.5s)跳转
我之前理解错误,谢谢各位师傅教导。

专家置评

已阅,最佳答案正确。

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

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

相关推荐