常数:TIME、LTIME
您可以使用 TIME
常量来操作标准定时器模块。该常量的大小为 32 位,分辨率以毫秒为单位。
此外,时间常数 LTIME
可用作高分辨率计时器的时间基准。这 LTIME
常量的维度为 64 位,分辨率以纳秒为单位。
常数: TIME
句法
<time keyword> # <length of time> <time keyword> : TIME | time | T | t <length of time> : ( <number of days>d )? ( <number of hours>h )? ( <number of minutes>m )? ( <number of seconds>s )? (<number of milleseconds>ms)? // ( ...)? Optional
不得更改时间单位的顺序。但是,不需要指定所有单位。允许以大写形式指定单位。
时间单位
D | d
: 天H | h
: 小时M | m
: 分钟s | s
: 秒MS | ms
: 毫秒
例 185. 例子
更正 ST 分配的时间常数
VAR timLength : TIME := T#14ms; timLength1 : TIME := T#100s12ms; // Overflow in the highest unit is allowed. 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
使用不当
| 低位溢出 |
| 时间标记 |
| 时间单位顺序不正确 |
常数:LTIME
句法
<long time keyword> # <length of high resolution time> <long time keyword> : LTIME | ltime <length of high resolution time> : <length of time> ( <number of microseconds>us )? ( <number of nanoseconds>ns )? // ( ...)? Optional
您可以使用相同的单位 LTIME
常数 TIME
常数。您还可以指定微秒和纳秒,因为指定的时间是以更高的时间分辨率计算的。 LTIME
文字在内部被视为数据类型 LWORD
因此该值以纳秒为单位解析。
额外的时间单位
US | us
: 微秒NS | ns
: 纳秒
例 186. 正确使用 ST 分配的示例
PROGRAM PLC_PRG VAR ltimLength := LTIME#1000d15h23m12s34ms2us44ns; ltimLength1 := LTIME#3445343m3424732874823ns; END_VAR
有关更多信息,请参阅: 数据类型:TIME、LTIME 和 常量:日期和时间