关于功能块管理的一般信息

输入变量的管理

Execute 输入的上升沿使用这些变量。要修改任何变量,必须在更改输入变量后再次触发功能块。

启用输入管理的功能块在该输入为 True 时执行。可连续修改功能块输入的值,并且可以连续更新输出。在启用输入为 false 时,终止功能块执行,并复位其输出。

根据 IEC 61131-3,如果功能块输入的任何变量缺失(即为“开路”),则会使用来自该实例的上次调用的值。在第一次调用中,应用初始值。

输出变量的管理

DoneErrorBusy 和 CommandAborted 输出相互排斥;在一个功能块上,这些输出只能有一个为 TRUE。当 Execute 输入为 TRUE 时,这些输出中也有一个为 TRUE。

Execute 输入的上升沿,会设置 Busy 输出。该输出在执行功能块期间保持设置,并在其他某个输出(DoneError)的上升沿复位。

成功完成功能块的执行之后,会设置 Done 输出。

如果检测到错误,可通过设置 Error 输出终止功能块,并在 ErrId 输出中包含错误代码。

DoneErrorErrID 和 CommandAborted 输出在Execute 输入的下降沿进行设置或复位:

o如果已完成功能块执行,则复位。

o如果未完成功能块执行,则设置状态至少持续一个任务循环。

当功能块的一个实例在完成之前收到新的 Execute 时(作为同一个实例上的一系列命令),则对于以前的操作,功能块不返回任何反馈,比如 Done

错误处理

所有功能块都有两个输出,可以报告在执行功能块期间检测到的错误:

oError = 此位的上升沿,通知检测到错误。

oErrID = 检测到的错误的错误代码。

Error 发生时,会复位其他输出信号,比如 Done