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