在 Execute 输入的上升沿使用这些变量。要修改任何变量,必须在更改输入变量后再次触发功能块。
由启用输入管理的功能块在该输入为 True 时执行。可连续修改功能块输入的值,并且可以连续更新输出。在启用输入为 false 时,终止功能块执行,并复位其输出。
根据 IEC 61131-3,如果功能块输入的任何变量缺失(即为“开路”),则会使用来自该实例的上次调用的值。在第一次调用中,应用初始值。
Done、Error、Busy 和 CommandAborted 输出相互排斥;在一个功能块上,这些输出只能有一个为 TRUE。当 Execute 输入为 TRUE 时,这些输出中也有一个为 TRUE。
在 Execute 输入的上升沿,会设置 Busy 输出。该输出在执行功能块期间保持设置,并在其他某个输出(Done、Error)的上升沿复位。
成功完成功能块的执行之后,会设置 Done 输出。
如果检测到错误,可通过设置 Error 输出终止功能块,并在 ErrId 输出中包含错误代码。
Done、Error、ErrID 和 CommandAborted 输出在Execute 输入的下降沿进行设置或复位:
o如果已完成功能块执行,则复位。
o如果未完成功能块执行,则设置状态至少持续一个任务循环。
当功能块的一个实例在完成之前收到新的 Execute 时(作为同一个实例上的一系列命令),则对于以前的操作,功能块不返回任何反馈,比如 Done。
所有功能块都有两个输出,可以报告在执行功能块期间检测到的错误:
oError = 此位的上升沿,通知检测到错误。
oErrID = 检测到的错误的错误代码。
当 Error 发生时,会复位其他输出信号,比如 Done。