监控定时器( Watchdog)又称看门狗,它的定时时间为300ms,每次扫描它都被自动复位一次,正常工作时如果扫描周期小于300ms,监控定时器不起作用。如果强烈的外部干扰使PLC(可编程序控制器)偏离正常的程序执行路线,监控定时器不再被周期性地复位,定时时间到时,PLC(可编程序控制器)将停止运行。
在以下情况下扫描周期可能大于300ms,监控定时器会停止执行用户程序:
(1)用户程序很长。
(2)出现中断事件时,执行中断程序的时间较长。
(3)循环指令使扫描时间延长。
为了防止在正常情况下监控定时器动作,可将监控定时器复位(WDR)指令插入到程序中适当的地方,使监控定时器复位。如果FOR/NEXT循环程序的执行时间可能超过监控定时器的定时时间,可将WDR指令插入到循环程序中。条件跳转指令JMP若在它对应的标号之后(即程序往回跳),可能因连续反复跳步使它们之间的程序被反复执行,总的执行时间超过监控定时器的定时时间。为了避免出现这样的情况,可在JMP指令和对应的标号之间插入WDR指令。
使用WDR指令后,在终止本次扫描之前,下列操作将被禁止:
(1)通信(自由口模式除外)。
(2)I/O更新(立即I/O除外)。
(3)强制更新。
(4)SM位更新(不能更新SM0,SM5~SM29)。
(5)运行时间诊断。
(6)在中断程序中的STOP指令。
(7)如果扫描时间超过25s,10ms定时器和lOOms定时器不能正确累计时间。
如果将PLC CPU的方式开关切换到STOP位置,1.4S内CPU转到停止模式。