首页 理论教育 实训三十四:监控定时器指令仿真实验优化

实训三十四:监控定时器指令仿真实验优化

时间:2023-07-01 理论教育 版权反馈
【摘要】:监控定时器指令WDT用于复位监控定时器。打开随书光盘中的例程“监控定时器”后,首先删除图中两条FOR指令之间M8000的常开触点和WDT指令。因为循环次数过多,循环程序的执行时间过长,超过了监控定时器的定时时间。将程序下载到硬件PLC,不会再出现监控定时器错误。

实训三十四:监控定时器指令仿真实验优化

1.监控定时器指令

监控定时器又称为看门狗,当PLC的扫描周期超过监控定时器的定时时间(默认值为200ms)时,PLC将停止运行,它上面的CPU-E(CPU错误发光二极管亮。监控定时器指令WDT(FNC 07)用于复位监控定时器。

如果FOR-NEXT循环程序的执行时间过长,则可能超过监控定时器的定时时间,可以将WDT指令插入到循环程序中。

条件跳转指令CJ若在它对应的指针之后(即程序往回跳),因连续反复跳转使它们之间的程序被反复执行,可能使监控定时器动作。为了避免出现这样的情况,可以在CJ指令和对应的指针之间插入WDT指令。

如果PLC的特殊I/O模块和通信模块的个数较多,PLC进入RUN模式时对这些模块的缓冲存储器初始化的时间较长,则可能导致监控定时器动作。另外如果执行大量的读/写特殊I/O模块的TO/FROM指令,或向多个缓冲存储器传送数据时,也会导致监控定时器动作。

在上述情况下,应在起始步附近,用MOV指令修改特殊辅助寄存器D8000中以ms为单位的监控定时器的定时时间,然后调用WDT指令。

2.监控定时器的仿真实验

图4-79左图中的双重循环程序的循环次数为1000×30000=30000000次。打开随书光盘中的例程“监控定时器”后,首先删除图中两条FOR指令之间M8000的常开触点和WDT指令。打开GX Simulator,启动软元件监视视图,生成X窗口。双击X窗口中的X1,执行子程序中的循环程序。因为循环次数过多,循环程序的执行时间过长,超过了监控定时器的定时时间。梯形图逻辑测试工具的信息显示窗口显示“WDT ERROR”(监控定时器错误,见图4-79的右图),仿真PLC从RUN模式切换到STOP模式,ERROR(错误)指示灯亮(变为黄色)。单击“详细”按钮,显示的错误的原因是“陷入无限循环”。(www.xing528.com)

978-7-111-40437-8-Chapter04-95.jpg

图4-79 监控定时器错误

单击主程序视图工具条上的“写入模式”按钮 978-7-111-40437-8-Chapter04-96.jpg ,在两条FOR指令之间插入图4-79中用M8000的常开触点控制WDT指令的电路,每次外层循环执行一次WDT指令,将监控定时器复位。将程序下载到硬件PLC,不会再出现监控定时器错误。

值得注意的是仿真软件不支持WDT指令。包含WDT指令的程序下载到仿真PLC后,切换到RUN模式时,梯形图逻辑测试工具上出现绿色背景的“未支持指令”(见图4-80的左图),双击该信息,在出现的“未支持指令一览”对话框中(见图4-80的右图),可以看到有问题的指令所在的程序、步序号和指令。

978-7-111-40437-8-Chapter04-97.jpg

图4-80 未支持指令

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈