Typ | Funktion |
Beschreibung | Die überladene Funktion TO_LTIME konvertiert den am Eingang anliegenden Wert in einen Ausgangswert vom Datentyp LTIME (siehe Beschreibung des Eingangs für die unterstützten Datentypen). |
Parameter | Eingang
IN
Datentyp: | Die Funktion unterstützt folgende Datentypen:
- SINT, INT, DINT, LINT, USINT, UINT, UDINT, ULINT
- STRING, WSTRING
- TIME
|
Ausgang
OUT
|
Konvertierungsregeln | ANY_INT-Konvertierung
Die Zeitbasis ist Nanosekunden. D.h. der Wert 1 entspricht 1 Nanosekunde. Wenn ein ULINT-Wert größer als LINT_MAX angelegt wird, wird der Überlaufwert zurückgegeben.
Beispiel in ST: out := TO_LTIME(LINT#360000000000); (* liefert LTIME#6m *)
TIME-Konvertierung
Besitzt der Ergebniswert mehr Stellen als vom Zieldatentyp unterstützt, werden diese abgeschnitten.
Beispiele in ST: out := TO_LTIME(T#30h); (* liefert LT#1d6h *) out := TO_LTIME(TIME#23d17h2m47.295501s); (* liefert T#23d17h2m47.295s *); Werte kleiner 1 ms werden abgeschnitten
ANY_STRING-Konvertierung
- Die am Eingang angelegte Zeichenfolge muss einem gültigen Zeitliteral entsprechen. Das Zeitliteral muss im folgenden Format angegeben werden: Zeit_Präfix#Wertmit Zeit_Präfix = LT, lt, LTIME oder ltime. Der Wert muss ein gültiger LTIME-Wert mit Angabe der Einheit (z.B. ms) sein.Beispiele: LT#23s, lt#5d10h
- Zusätzliche Zeichen vor und nach dem Zeitliteral sind nicht erlaubt.
- Alle führenden und nachfolgenden Leerzeichen im Eingangsstring werden im Ergebnis ignoriert.Als Leerzeichen betrachtete ASCII-Codes:
Zeichen | Wert |
Horizontal-Tabulator | 9 (09h) |
Zeilenvorschub | 10 (0Ah) |
Vertikal-Tabulator | 11 (0Bh) |
Seitenvorschub | 12 (0Ch) |
Zeilenumbruch | 13 (0Dh) |
Leerzeichen | 32 (20h) |
- Wenn der ANY_STRING-Wert kein gültiges Zeitpräfix oder einen leeren String enthält, liefert die Funktion den Wert T#0 und der Laufzeitfehler 'Formatstringfehler' wird im MELDUNGEN-Fenster ausgegeben. Die Programmausführung wird nicht unterbrochen, die Steuerung bleibt im Zustand RUN (siehe oben stehender Hinweis).Beispiel: out := TO_LTIME('aaT#3daa'); (* liefert T#0 *)
Hinweis
Steuerungstopp bei String-Fehler: Sie können einstellen, ob die Steuerung bei einem String-Fehler automatisch gestoppt werden soll. Dies gibt Ihnen im Fehlerfall die Möglichkeit, den Fehler in Ihrem Projekt zu lokalisieren. Um bei einem String-Fehler die Steuerung automatisch zu stoppen, aktivieren Sie das Symbol in der Symbolleiste des Cockpits. |
|
Fehlerverhalten | Fehlerverhalten
Die folgende Tabelle zeigt die Fehler, die bei der Ausführung der Funktion auftreten können, und den von der Funktion im entsprechenden Fehlerfall zurückgegebenen Wert. Der Wert, den die Funktion im Fehlerfall zurückgibt, hängt vom Eingangswert ab (wenn z.B. der Eingangswert ein nicht-literaler String ist, gibt die Funktion den Wert 0 zurück).
Fehlerfall | Ausgabewert |
Überlaufwert (nur für ULINT > LINT_MAX) | Überlaufwert |
Zeit-Überlauf | Überlaufwert |
Nicht-literaler String | 0 |
|
Zusätzliche Informationen | EN/ENO-Verhalten
Die POE wird nur dann ausgeführt, wenn TRUE am Eingang EN anliegt. Wenn EN = FALSE ist, wird die POE nicht ausgeführt und ENO auf FALSE gesetzt (FU/FB inaktiv).
Wenn bei der Ausführung der Funktion einer der unter "Fehlerverhalten" aufgeführten Fehler auftritt, wird ENO auf FALSE gesetzt.
|