西门子plc监控定时器复位指令的用法
监控定时器( 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转到停止模式。