zmy527326309
今天在调试一个程序的时候,发现
如果我的T99定时器换成时基为100ms的定时器,计时时间仍然保持10s,但是局部变量L0.0会呈现开10s,关闭5s的工作过程。
江湖走走--原创军团
1、第一个扫描周期,T100开始计时,因计时未到10秒,L0.0通,T100常开点没有闭合,T99没有开始计时。2、一直扫描到10秒,T100常闭断开,L0.0断开,T100常开闭合,T99开始计时。计时未到10秒之前,因T99常闭还闭合,此时T100继续计时。
3、T100的计时开始比T99--多一个扫描周期,也就是落后一个扫描周期。T99计时到后,切断了T100的计时并复位了,L0.0又接通了。
4、然后重复了。
一般扫描周期都是ms级别的,你程序还有其他程序?带有通讯么?
明理
1楼说的很明白了。
秦君_1
在条件调用子程序的主程序中,当停止子程序调用时,如果定时器已经激活正在计时,停止调用这个子程序会造成定时器的失控。不管此时定时器前面的激活条件如何变化,定时器(1ms、10ms 时基的)会一直走到最大值,定时器输出也会在达到设定值时接通;(100ms 时基的定时器会在上述情况下停止计时,但在逻辑上处于失控状态)。
如果用 SM0.0 调用子程序;或者在控制逻辑的时序上做到能够保证定时功能完整执行,定时器会正常运行。使用条件调用含有定时器的子程序时,一定要注意时序逻辑,以免造成程序运行错误。
十年河西
回复内容:
对: 江湖走走--原创军团 1、第一个扫描周期,T100开始计时,因计时未到10秒... 内容的回复!
解释的不对,他说得是为什么都是10S定时器,怎么能出5秒和10秒的交替,一个扫描周期才多长时间,他想完成的是10S交替输出。
xuweihande
按你程序调试了一下,不会出现你说的情况,应该是你其他部分的程序影响到了
shao19880701
楼主强烈建议你写个如你图的单个程序监控一下看看,我怎么看都不至于5秒啊~
还有就是这句话 “如果我的T99定时器换成时基为100ms的定时器”这句没看懂。
按你的意思
10秒交替LO.0点亮
鉴定:有其他程序
taoren_1
学习了 学习了,我想可能还是那个细节没注意到。
不知道是不是硬件的原因,我换一个PLC调试了来,可以实现功能 但是用原先那个就有问题