0

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

在此处输入图像描述

4

1 回答 1

2

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

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

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

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

于 2012-02-21T12:46:53.733 回答