对于初学者来说,在使用ENO时容易出错。由于不清楚ENO的来龙去脉,因此通常认为,只要FC的调用是无条件的,则ENO始终处于打开状态,但事实并非如此。如下图所示:模拟转换,无条件地将MD10的值传输到MD14。从图中可以看出,当FC105的输入PIW256在正常范围内时,将执行MOVE指令(ENO = EN)。当PIW256超过上限时,将不再执行MOVE指令(EN不能控制ENO)。该故障仍然相对隐蔽,因为在大多数情况下,输入可能在正常范围内。分析:在STEP7的LAD编程手册中有EN / ENO机制的详细说明,在此不再赘述。仅列出内容的主要部分:ENO的值取决于公式:ENO = EN而不是(错误)如果程序调用没有错误(错误= 0),则ENO = EN如果程序调用具有错误(ERROR = 1),则ENO = 0 EN / ENO机制用于:数学运算指令的传输和转换指令危机循环移位指令块调用不能使用EN / ENO机制:比较指令计数器计时器如果用户希望在FBD中创建自己的块或在LAD中调用的块,必须确保退出该块时将BR位置1。这不是一个自动过程。 BR不能用作存储位,因为EN / ENO机制会连续重写BR位。或者,可以使用临时变量(例如#error)保存所有发生的错误,并将该变量初始化为0。在块的内部程序中,如果用户在程序行为中具有错误状态,可以将该变量设置为1。并在该块的末尾编写以下程序段:确保在任何情况下都对该段的操作进行处理,这意味着禁止在该块中使用BEC,也禁止该段。跳过此程序段。