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