2023德国西门子S7-200PLC西门子贵州贵阳市总代理
发生错误时(如,结果发生溢出),使能输出 ENO 将先返回信号状态“0”,如一个加指令。该 ENO 块因此为FALSE,并在上一个程序块调用完成后从该程序块跳到下一个指令处。在一个 SCL程序段(如,包含多个数学函数等)中,可对该操作步骤进行多次编程。
但无需编程跳转,跳出该程序块。在 SCL 程序块中,如果单个指令的使能输出 ENO信号状态为“0”,则可确定不执行后续指令。为此,指令 ENO 将在后续的 IF 指令中与以下指令进行关联。
说明 ENO 块的影响 通过 SCL 程序块,Zui后一个指令 ENO 的信号状态将在该块结束处传送到 ENO 块中。 因此,指令 ENO 可直接影响 ENO 块。 |
在 SCL 中使用 EN/ENO 机制的示例
使用 EN/ENO 机制的指令示例
要在指令中使用 EN/ENO 机制,则需激活块属性“自动设置 ENO”。下文中举例说明了如何在“a + b”运算中使用使能输出ENO:
"MyOutputREAL":= #a + #b; |
"MyOutputBOOL":= ENO; |
如果执行“a/b”运算后成功无错误,则操作数“MyOutputBool”的信号状态为“1”。发生错误时,使能输出 ENO的信号状态为“0”。
通过 EN/ENO 机制调用程序块的示例
以下示例显示了程序块的调用过程。为此,需激活 EN/ENO 机制,且必须事先编程一个影响块 ENO 的指令:
IF ENO := 1 THEN |
"Block name_DB"(); |
END_IF; |
仅当使能输出 ENO 的信号状态为“1”时,才调用并执行该程序块。如果激活了 EN/ENO 机制,则被调用的程序块还将返回一个 ENO块。该 ENO 块之后将在被调用的程序块中使用。