【问题标题】:How do you let define the delay time for a timer in ST?您如何在 ST 中定义计时器的延迟时间?
【发布时间】:2015-11-21 16:26:07
【问题描述】:

我正在尝试在 ST 中编写一个程序,让用户定义 TON 计时器的 Bakelength 时间(以小时为单位)。

我目前有这个,但是当我编译代码时,程序会抛出一个“非法常量”错误。我将如何更改此语法?任何帮助将不胜感激!!!

TON_1(IN:= true,PT:= t#(BakeLength)h);

【问题讨论】:

    标签: timer plc st


    【解决方案1】:

    带有 T# 的注解只是为了在您的源代码中定义常量值,例如 T#100s。

    如果 Bakelength 已经是 TIME 类型的变量,你可以写

    TON_1(IN:= true,PT:= BakeLength);

    如果 Bakelength 是另一种类型,例如LREAL 您必须将值转换为 TIME 变量。 如果转换为 TIME,数字数据类型总是被解释为毫秒。因此,如果 Bakelength 以小时为单位,则必须乘以 3600000。

    TON_1(IN:= true,PT:= LREAL_TO_TIME(Bakelength * 3600000));

    【讨论】:

    • 感谢您的回答。
    猜你喜欢
    • 2014-12-06
    • 1970-01-01
    • 2021-07-01
    • 2021-12-18
    • 2020-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-19
    相关资源
    最近更新 更多