Sie können TIME
-Konstanten benutzen, um die Standard-Timer-Module zu bedienen. Die Konstante hat
eine Größe von 32 Bit und somit eine Auflösung in Millisekunden.
Außerdem steht Ihnen die Zeitkonstante LTIME
als Zeitbasis für hochauflösende Timer zur Verfügung. Die LTIME
-Konstante hat eine Größe von 64 Bit und somit eine Auflösung in Nanosekunden.
TIME-Konstante
Syntax
<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
Die Reihenfolge der Zeiteinheiten darf nicht verändert werden. Es ist jedoch nicht erforderlich, alle Einheiten anzugeben. Es ist erlaubt, die Einheiten in Großbuchstaben zu schreiben.
Zeiteinheiten
-
D | d
: Tage -
H | h
: Stunden -
M | m
: Minuten -
s | s
: Sekunden -
MS | ms
: Millisekunden
Beispiele
Korrekte Zeitkonstanten einer ST-Zuweisung
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
|
Überlauf bei einer niedrigeren Stelle |
|
Zeitkennung |
|
Unkorrekte Reihenfolge der Zeiteinheiten |
LTIME-Konstante
Syntax
<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
Sie können für LTIME
-Konstanten die gleichen Zeiteinheiten wie für TIME
-Konstanten verwenden. Zusätzlich können Sie Mikrosekunden und Nanosekunden angeben,
da die Zeitangabe in höherer Zeitauflösung gerechnet wird. Intern werden LTIME
-Literale wie der Datentyp LWORD
behandelt und der Wert deswegen in Nanosekunden aufgelöst.
Zusätzliche Zeiteinheiten
-
US | us
: Mikrosekunden -
NS | ns
: Nanosekunden
Beispiele für die korrekte Verwendung einer ST-Zuweisung:
PROGRAM PLC_PRG VAR ltimLength := LTIME#1000d15h23m12s34ms2us44ns; ltimLength1 := LTIME#3445343m3424732874823ns; END_VAR