PLC 结构化文本 (ST) 中的计时器如何工作?我们如何声明它们?
我一直在研究PLC的标准(IEC 61131-3),他们没有谈到ST中的定时器。我知道绝大多数 PLC 程序员都是用梯形图逻辑来完成这些任务,但在这种特殊情况下,我确实需要在 ST 中声明定时器。
我使用的是罗克韦尔PLC。
您可以在 IDE 的帮助系统中找到有关计时器以及如何使用(声明)它的说明。例如,在CODESYS帮助您阅读标准库的定时器。
一般来说,您可以将定时器延迟 (TON) 声明为:
VAR
MY_TON: TON;
END_VAR
(* standard.library should be added to the project *)
然后你就可以使用它:
MY_TON(IN:= IN_VALUE,PT:= TIME_SET);
(*IN_VALUE - is BOOL variable that activates your timer
TIME_SET - is TIME variable*)
SOME_OUTPUT := MY_TON.Q;
(*Q - is the timer's output, and it can be used as BOOL variable. *)
您还可以使用常量来设置计时器:
MY_TON(IN:= True, PT:= t#5s);
作为 BOOL 变量,计时器的输出可以在 IF 和 WHILE 语句中使用:
IF MY_TON.Q THEN
(*Some statements...*)
END_IF
WHILE MY_TON.Q DO
(*Some statements...*)
END_WHILE
所有示例均在 CODESYS v3.5 SP5 和 v2.3 中运行。对于其他 IDE 可能存在细微差别。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)