在PLC中正确使用条件标志

时间:2012-02-21 11:51:51

标签: logic plc

PLC文档(Omron)显示条件标志的正确和错误使用(见图)。但我没有看到两者之间有任何区别:如果指令A为ON,则指令B和未标记的指令都将被执行。两个梯形图都意味着对我实现了同样的目的。为什么一个是不正确的,另一个是正确的?

enter image description here

1 个答案:

答案 0 :(得分:2)

这类似于差分指令问题。同样,条件标志(CF)是全局的并且每次都改变,在这种情况下,执行比较操作。

在不正确的示例中,指令A将执行比较,而等于(=)的CF将为真或假。隐含的期望操作流程是,如果指令A对于equals返回true,则执行指令B,否则继续到最后的梯级。

然而,在指令A对于equals返回true的情况下,则指令B将执行,并且在这种情况下,暗示它也执行比较操作(可能在下一行中被拾取)。但是,如果B为equals返回false,那么当前梯级的最后一个分支仍将执行,因为它发生在B的比较之后 - 即使意图是仅在A返回false时执行最终分支 - 而不是B!

第二个例子(正确)显示了如何避免将B的结果泄露到A的逻辑中。

相关问题