2023德国西门子S7-200PLC西门子云南临沧市总代理
简介
使用使能输出 ENO,可检测和处理某些运行系统错误。后续指令的执行取决于该使能输出的信号状态。使用 EN/ENO机制可避免程序崩溃。块状态将以布尔型变量的形式进行传递。
EN/ENO 机制可用于以下两个方面:
LAD 和 FBD 支持 EN/ENO 机制,可调用程序代码中的简单指令和gaoji指令。
使用 EN/ENO 机制时,可对以下指令调用进行影响,并使用指令“RET:返回”定制到程序块外的跳转。同时,还可为程序块的使能输出ENO 赋值(0 或 1)。该特性通常用于 LAD 和 FBD 程序块。在 SCL程序块中,也可使用该功能,无需再使用指令“RET”对 SCL 程序块的使能输出 ENO 进行影响。
在程序段边界处,该使能输出的信号状态将重复性地置位为“1”。例如,在 LAD程序块中,可通过以下方式识别:即使上一个程序段中Zui后一个指令的使能输出 ENO返回信号状态“0”,左侧母线也始终提供电流。
指令“RET:返回”(LAD/FBD) 的功能
逻辑运算结果为 0 时,不执行该指令而执行下一个程序段。
逻辑运算结果为 1 时,将执行该指令并返回调用程序块。
ENO 块的信号状态可通过以下四个选项确定:
RLO:RLO = 1 时,ENO 块将置位为 TRUE。
TRUE:ENO 块将置位为 TRUE。
FALSE:ENO 块将置位为 FALSE。
Operand:由操作数的信号状态确定 ENO 块的信号状态。
编程与 I/O 访问错误
EN/ENO 机制无法编程和 I/O 访问错误。为此,可通过 OB进行全局错误处理或使用“GET_ERROR”、“GET_ERR_ID”指令进行本地错误处理或(仅S7-1200/1500)。如果指令成功执行无任何错误,则可评估相关的使能输出 ENO。
所有编程语言中的程序块调用 (S7-300/400)
以下示例适用于 S7-300/400 系列 CPU:如果调用的程序块中不含任何指令,则 BR 位和 ENO 使能输出均不受影响。BR位的信号状态将保持为一个常量结果。此时,所有语句都无法成功调用该程序块。
影响 SCL 程序块的使能输出 ENO说明
SCL 程序块中的Zui后一个指令 ENO 通常会影响 ENO 块。
另外,也可跳出该程序块,并同时使用指令“RETURN”为 ENO 块赋值“1”或“0”。
操作步骤
要影响 ENO 块的信号状态,请按以下步骤操作:
激活 EN/ENO 机制。
然后编程:
IF ENO := 0 THEN
RETURN;
END_IF;
结果