首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PLC结构文本中的定时器

PLC结构文本中的定时器
EN

Stack Overflow用户
提问于 2014-09-05 09:43:19
回答 6查看 76.6K关注 0票数 5

定时器如何在PLC结构化文本(ST)中工作?我们怎么申报?

我一直在研究可编程控制器的标准(IEC 61131-3),他们没有提到ST的计时器。我知道绝大多数PLC程序员都是用梯形逻辑来实现的,但在这种情况下,我确实需要在ST中声明定时器。

我用的是洛克威尔公司的PLC。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2015-02-07 18:36:02

您可以在IDE的帮助系统中找到关于计时器和如何使用(声明)定时器的说明。例如,在CODESYS帮助中,您可以阅读标准库的计时器。

通常,您可以将计时器延迟(TON)声明为:

代码语言:javascript
复制
VAR
    MY_TON: TON;
END_VAR
(* standard.library should be added to the project *)

然后你可以使用它:

代码语言:javascript
复制
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. *)

还可以使用常量来设置计时器:

代码语言:javascript
复制
MY_TON(IN:= True, PT:= t#5s);

作为BOOL变量,计时器的输出可以用于IF和WHILE语句:

代码语言:javascript
复制
IF MY_TON.Q THEN
    (*Some statements...*)
END_IF

WHILE MY_TON.Q DO
    (*Some statements...*)
END_WHILE

所有示例都运行在CODEsyv3.5 SP5和v2.3中。对于其他IDE来说,可能会有细微差别。

票数 10
EN

Stack Overflow用户

发布于 2015-01-10 17:39:28

我在Gx-Works(三菱/FXCPU)中这样解决了这个问题:

代码语言:javascript
复制
TON_1(IN:= Enable_Timer,PT:= PresetTime ,Q:= Output,ET:= TimeLeft);

请记住声明TON_1 :)

票数 1
EN

Stack Overflow用户

发布于 2016-06-30 12:04:09

计时器的工作原理是,只有在TON.Q持续高(至少在TON.PT的持续时间)的情况下,才能使TON.PT变得更高。

这确保只有当TON.Q处于稳定的高状态时,TON.IN才会升高。

例如,这可能有助于确保只有当按钮至少按了一个TON.PT时才启用输出。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25682962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档