该功能块在 Execute
输入的上升沿上启动。
此时无需对输入变量进行任何进一步的修改。
按照 IEC 61131-3 标准,如果功能块有任何变量输入缺失(即断开或未连接),则使用上一次调用功能块实例时所用的值。在此情况下,第一次调用时将应用初始配置值。因此,功能块最好始终带有特定于其输入的已知值,这样有助于消除调试程序的麻烦。对于 HSC 功能块,最好只使用一次实例,且最好使用主任务中的实例。
Done
与 Busy
和 Error
输出互斥:在一个功能块上,只能有一个输出为 TRUE
。如果 Execute
输入为 TRUE
,则其中一个输出为 TRUE
。
在 Execute
输入的上升沿,会设置 Busy
输出。在功能块执行过程中,此 Busy
输出保持已设置状态,并在某一其他输出(Done
或 Error
)的上升沿复位。
当功能块成功执行完毕时,会设置 Done
输出。
当功能块的执行由于检测到错误而结束时,则会设置 Error
输出,并通过 ErrorID
输出给出检测到的错误编号。
Done
、Error
和 ErrorID
输出在 Execute
的下降沿复位。如果 Execute
输入在执行完成之前复位,则在执行结束时,这些输出的设置状态将持续一个任务循环。
当功能块的某个实例在完成之前收到新的 Execute
时,则对于以前的操作,功能块不返回任何反馈,例如 Done
。
所有 HSC 功能块都有 2 个输出,可以报告在执行功能块期间检测到的错误。
检测到错误时,Error
= TRUE
。
ErrorID
在 Error
= TRUE
时返回 HSC_ERROR_TM3
检出错误 ID。