100ms只在执行定时器指令是才对100ms定时器更新,在监控时q0.0输出,但是实际PLC并不输出。 还有我没有深刻理解帮助中说的,(,如果启用了100毫秒定时器但并未对各扫描循环执行定时器指令,则仍不能更新定时器当前值并将丧失时间。同样,如果在单个扫描循环内多次执行100毫秒定时器指令,将向定时器的当前值多次增加100毫秒间隔数,赢得时间。只有在每次扫描循环仅仅执行一次定时器指令时,才应该使用100
毫秒定时器。)希望大神们指点,谢谢;
图片说明:
最佳答案
这类定时器是异步更新的。
所谓启用定时器的含义是指定时器in管脚为1并保持时,停止启用时则将in管脚操作为0,这时定时器的定时值将被置为0,等待下一次的启用。
通俗讲,当程序扫描状态在启用定时器程序段之前的,启用更新有效;当程序扫描状态在启用定时器程序段之后的,启用定时器更新无效(指这个本周期),需要等待下一个周期才有效。
建议:你这样的控制程序,如果精度要求不高的可以,反之,精度要求较高的,则需要调用定时中断SMB34(SMB35),时间采用累加,然后采用移位或直接数据比较结果做输出判断。
提问者对于答案的评价:
非常的感谢,可是为什么不输出q0.0 q0.1 q0.2 谢谢您了,最近刚刚入门纠结了好几天了
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc174757.html