在FBD、LD和IL中,可以使用EN/ENO函数或功能块对条件进行编程。EN表示启用输入,ENO表示启用输出。
ST编辑器中没有EN/ENO函数和功能块。而是使用IF或CASE语句控制函数或功能块的执行。所有IEC函数和功能块均可使用和不使用EN和ENO。
布尔输入变量或逻辑表达式的布尔结果可以连接到EN输入。
如果EN输入为TRUE
将处理函数或功能块。成功执行后,相应的ENO输出设置为TRUE。连接到此ENO输出的下一个函数或功能块的EN输入,只有为TRUE时才被处理。
如果EN输入为FALSE
将不处理函数或功能块,函数结果将不变且连接的变量保持其值。
编程语言 |
EN = FALSE Þ ENO = FALSE |
EN = TRUE Þ ENO = TRUE |
LD |
||
FBD |
||
IL |
可以使用或不使用EN/ENO输入和输出来创建用户自定义函数和功能块。可以选择以下可能性:
创建新POU([使用EN/ENO(U)]
)时选择使用[使用EN/ENO(U)]
...选择插入指令时选择[[带EN/ENO]]
ENO输出的值
如果未在用户自定义函数或功能块的本体内明确设置ENO输出,则它将具有与EN输入相同的值。
如果将用户自定义函数或功能块的本体内的ENO输出设置为FALSE,则输出变量的值将不被传送到输出。
在处理POU之前,将EN设置为TRUE。一旦成功处理POU后,相应的ENO将设置为TRUE。如果未设置ENO,可能会发生错误。