AN M 1.0
L S5T#10S
SD T 0
A I 0.0
CU C 0
A T 0
JNB s0
L C 0
T MW 10
s0: A T 0
= M 1.0
A M 1.0
R C 0
正确的程序A
AN T 0
L S5T#10S
SD T 0
A I 0.0
CU C 0
A T 0
JNB s0
L C 0
T MW 10
s0: A T 0
R C 0
错误的程序B
结果区别:A程序中可以10s正确的采集一次C0的数据,而B程序无法采集。请问问为什么?由于本人基础不是很好,希望能通过通俗的语言文字表达。在此非常感谢您!
最佳答案
S7-300/400的定时器是异步扫描的,即定时器不所循环扫描周期影响,定时时间到可能出现在程序执行的任意一刻。
对于程序B,如果定时时间到出现在定时器指令前,那么执行到定时器指令时,定时器被复位,后面的采集程序得不到执行,如果出现在A T0之后,那么到下一个循环是同样的情况,只有定时时间到出现在SD指令和 A T0指令之间,采集指令才会执行,不过这段时间相对于整个循环扫描周期太短,所以定时时间到出现在这个区间的几率几乎为0,所以会出现无法采集的情况
对于程序A,采集程序扫描完下个周期才对定时器复位。
提问者对于答案的评价:
谢谢你!我的联系方式:QQ:521122669邮箱:zhouzhangxun@qq.com 希望能做朋友。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc245869.html