我调程序,一个偶然的机会,发现我的程序定时器定时不准,总是少一些。
事情是这样的:我做了三个子程序,其中每个子程序里面有两个定时器做相关的5s延时操作(定时器用的是38,39,40,41,42,43),单独跑这三个子程序时,看200PLC软件的监控曲线图,定时很准,没有问题。
我在主程序中加了3个定时器,每个延时2s分别调用三个子程序(定时器用的是56,57,58)。然后就在编程软件的监控曲线中发现我的三个子程序的延时不准,每次延时5s,实际曲线显示总是少上1-2s。后来我把主程序定时器换成了200,201,202三个序号的定时器,发现子程序延时就很准。可是我又在主程序中试了几个序号的定时器,子程序定时还是少1秒多,最后连原来没问题的200,201,202三个主程序的定时器也不行了。是巧合么?
定时器的序号没有重复使用,交叉参考中也看了,没有任何地址冲突。
我觉得是不是PLC定时器有问题?还是编程软件的监控曲线有问题?还是和程序的大小有关系?