什么是PLC中的微分指令?

问题描述 投票:0回答:2

我使用Omron CP1L PLC并使用CX-programmer进行编程。我很难理解文档中的“差异指令”到底是什么:

具有差异化指令,指令的执行结果 仅当满足执行条件时才会反映在条件标志中, 以及前一个梯级的结果(而不是 微分指令)将反映在条件标志中 在下一个周期中。因此,您必须了解什么是条件标志 如果执行结果为微分,则将在下一个周期执行 使用说明。

我的理解是:指令总是在满足条件时执行,当然,如果存在条件标志以从上一个梯级的指令获取其状态为ON或OFF,则下一个梯级上的指令将被执行。所以我完全不明白文档中解释的要点。看看两者之间没有区别:

(A) 不使用差速器

Without differential

(B) 使用微分
enter image description here

plc
2个回答
2
投票

手册警告您的是,在错误的情况下,指令 A 只会在 C 变为真后执行一次(微分指令),但指令 B 的执行取决于执行中指令的条件标志的状态A. 如果 A 仅执行一次,则条件标志仅对当前 PLC 扫描有效。满足 C 的后续 PLC 扫描将不会执行差分指令 A,但可以执行差分指令 B——如果前一梯级执行比较操作并将全局条件标志设置为 TRUE。

如果您了解全局变量的危险,那么这基本上是同一件事。 PLC逻辑中的一些标志是某些指令使用的全局标志。它们仅在指令执行后立即保持有效,并且每次在不同数据上执行时都会改变。在错误的情况下,未受保护的梯级与不保证执行的操作的全局条件标志悬空。

在正确的情况下,微分的是执行条件而不是指令。当 C 变为 true 时,它会进入 [DIFU D]。这使得 D 仅对于下一次 PLC 扫描为真 - 每次 C 从 FALSE 变为 TRUE 时,D 仅对于一次 PLC 扫描为真。这保证了指令 A(生成条件标志值)仅执行一次,并且保证每次遇到暴露指令 B 的条件标志时都会执行。

编辑:有问题的执行流程 - CF 的状态是随机的(更准确地说:不受控制!),除非我们刚刚执行了比较操作。整个程序中的所有其他比较操作每次在程序中的任何位置执行比较指令时都会改变其值!

STATE          C          Instruction A       CF(=)    InstructionB

Scan #1  :    OFF             N/E            RANDOM       N/E
Scan #2  :    ON         EXECUTES > TRUE      TRUE       EXECUTES  //desired
Scan #3  :    ON              N/E            RANDOM(T)    N/E
Scan #4  :    ON              N/E            RANDOM(F)    N/E
Scan #5  :    ON              N/E            RANDOM(T)  *EXECUTES*!! //UNDESIRED

这里,只要C保持ON,每当程序中其他区域的其他比较操作导致CF从FALSE切换到TRUE时,指令B就会执行。这是不希望的 - 我们只希望在指令 A 已执行并且返回 CF= 为 TRUE 时执行指令 B。


0
投票

在“可编程逻辑控制器”(PLC)领域,差分指令的概念是一个值得理解的重要方面。然而,在我们深入研究微分指令之前,有必要先熟悉一下PLC的基础知识。

© www.soinside.com 2019 - 2024. All rights reserved.