Skip to main content

Konstante: TIME, LTIME

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.

Konstante: TIME

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

Beispiel 185. 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

Falsche Verwendung

timIncorrect := t#5m68s;

Überlauf bei einer niedrigeren Stelle

timIncorrect1 := 15ms;

Zeitkennung T# fehlt

timIncorrect2 := t#4ms13d;

Unkorrekte Reihenfolge der Zeiteinheiten



Konstante: LTIME

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

Beispiel 186. Beispiele für die korrekte Verwendung einer ST-Zuweisung
PROGRAM PLC_PRG
VAR
        ltimLength := LTIME#1000d15h23m12s34ms2us44ns;
        ltimLength1 := LTIME#3445343m3424732874823ns;
END_VAR


Für weitere Informationen siehe: Datentyp: TIME, LTIME und Konstante: Datum und Uhrzeit