跳到主要内容

TIME/LTIME 常量

你可以使用TIME常量来操作标准计时器模块。该常量的大小为32位,分辨率以毫秒为单位。

此外,时间常数LTIME可用作高分辨率计时器的时间基础。该LTIME常量的大小为64位,分辨率以纳秒为单位。

日期常量 LTIME 常量 日期常量 语法

<时间关键字> # <时间长度>

<时间关键字> : TIME | time | T | t
<时间长度> : ( <天数>d )? ( <小时数>h )? ( <分钟数>m )? ( <秒数>s )? (<毫秒数>ms)? // ( ...)? 可选的

时间单位的顺序不得更改。但是,不需要指定所有单位。允许以大写形式写入单位。

时间单位

D | d: 天数 H | h: 小时数 M | m: 分钟数 s | s: 秒数 MS | ms: 毫秒数 例如

正确分配ST的时间常量

VAR
timLength : TIME := T#14ms;
timLength1 : TIME := T#100s12ms; // 最高单位允许溢出。
timLength2 : TIME := T#12h34m15s;
timCompare : TIME;
xIsOK: BOOL;

timLongest := T#49D17H2M47S295MS; // 4294967295
END_VAR

IF timLength < T#15MS THEN
IF timCompare < timLength1 THEN
xIsOK := TRUE;
END_IF;
END_IF

不正确的用法:

timIncorrect := t#5m68s;	在较低位置溢出
timIncorrect1:= 15ms ; 缺少时间标记T#
timIncorrect2 := t#4ms13d; 时间单位顺序错误

LTIME 常量

语法

<长时间关键字> # <高分辨率时间长度>

<长时间关键字> : LTIME | ltime
<高分辨率时间长度> : <时间长度> ( <微妙数>us )? ( <纳秒数>ns )? // ( ...)? 可选的

你可以对LTIME常量使用与TIME常量相同的单位。此外,你可以指定微秒和纳秒,因为指定的时间是以更高的时间分辨率计算的。LTIME字面量在内部被视为数据类型LWORD,因此值以纳秒为单位解析。

附加时间单位

US | us: 微妙 NS | ns: 纳秒 ST分配的正确用法示例:

PROGRAM PLC_PRG
VAR
ltimLength := LTIME#1000d15h23m12s34ms2us44ns;
ltimLength1 := LTIME#3445343m3424732874823ns;
END_VAR