理论教育 程序控制指令的优化方法

程序控制指令的优化方法

时间:2023-06-17 理论教育 版权反馈
【摘要】:图7.35RE_TRIGR指令如果从起动OB、中断OB或错误OB执行RE_TRIGR,则不会复位看门狗定时器且ENO=FALSE。表7.26循环时间监视看门狗超时。PLC处于STOP模式时,将停止程序执行以及停止过程映像的物理更新。STP指令如图7.36所示。图7.37GET_ERROR指令GET_ERROR指令。GET_ERROR指令表示发生程序块执行错误并用详细错误信息填充预定义的错误数据结构如图7.37所示。表7.28ERROR_ID程序块错误说明

程序控制指令的优化方法

1.复位看门狗指令

RE_TRIGR指令用于在单个扫描循环期间重新起动扫描循环定时器。结果是从最后一次执行RE_TRIGR开始,使允许的最大扫捕周期延长一个最大循环时间段。CPU只允许将RE_TRIGR指令用于程序循环,例如,OB1和从该程序循环调用的功能。也就是说,如果从程序循环OB列表的任何OB调用RE_TRIGR,都会复位看门狗定时器且ENO=EN。RE_TRIGR指令如图7.35所示。

图7.35 RE_TRIGR指令

如果从起动OB、中断OB或错误OB执行RE_TRIGR,则不会复位看门狗定时器且ENO=FALSE。

(1)设置PLC最大循环时间。

可以在PLC设备配置中为“循环时间”(Cycle Time)设置最大扫描周期。循环时间监视如表8.26所示。

表7.26 循环时间监视

(2)看门狗超时。

如果最大扫描循环定时器在扫描循环完成前达到预置时间,则会生成错误。如果用户程序中包含错误处理代码块OB80,则PLC将执行OB80,用户可以在其中添加程序逻辑以创建具体响应。如果不包含OB80,则忽略第一个超时条件。

如果在同一程序扫描中第二次发生最大扫描时间超时(2倍的最大循环时间值),则触发错误,导致PLC切换到STOP模式,在此模式下,用户程序停止执行而PLC系统通信和系统诊断仍继续执行。

2.停止扫描循环指令

图7.36 STP指令

STP(停止PLC扫描循环)将PLC置于STOP模式。PLC处于STOP模式时,将停止程序执行以及停止过程映像的物理更新。STP指令如图7.36所示。

如果EN=TRUE,PLC将进入STOP模式,程序执行停止并且ENO状态无意义。

3.获取错误指令(www.daowen.com)

获取错误指令提供有关程序块执行错误的信息。如果在代码块中添加了GET_ERROR或GET_ERROR_ID指令,则可在程序块中处理程序错误。

图7.37 GET_ERROR指令

(1)GET_ERROR指令。

GET_ERROR指令表示发生程序块执行错误并用详细错误信息填充预定义的错误数据结构如图7.37所示。

ErrorStuct数据元素如表7.27所示。

表7.27 ErrorStruct数据元素

续表

(2)GET_ERR_ID指令。

GET_ERR_ID指令表示发生程序执行错误并报告错误的ID(标识符码)如图7.38所示。

图7.38 GET_ERR_ID指令

ERROR_ID程序块错误说明如表7.28所示。

表7.28 ERROR_ID程序块错误说明

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

我要反馈