你如何定义ST中定时器的延迟时间?

时间:2015-11-21 00:23:32

标签: timer plc st

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

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

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

1 个答案:

答案 0 :(得分:2)

使用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));