Binary-Time-String-Formatspezifikation
Die Zeichenfolge eines TwinCAT Binary-Time-Strings hat eine max. Länge von 26 Zeichen und folgenden Aufbau: ‘BT#[YYYY-MM-DD-]hh:mm:ss[.n[n[n]]]‘.
Mit der Konvertierungsfunktion: String_To_BinaryTime6 kann die, als String formatierte Binary-Time-Zeitinformation, leicht in die Komponenten des strukturierten Typs: T_BinaryTime konvertiert werden. Das Datum wird dabei in die „day“-Komponente (2 Byte) und die Uhrzeit in die „timeOfDay“-Komponente (4 Byte) konvertiert.
Das Datum in der Binary-Time-Zeichenfolge ist optional und muss nicht angegeben werden. Wenn das Datum nicht angegeben wurde dann handelt es sich bei der Zeichenfolge um ein 4 Byte Binary-Time-Format (nur die „timeOfDay“-Komponente). In diesem Fall wird bei der Konvertierung der „day“-Komponente implizit der Wert: 0 zugewiesen (dies entspricht dem Datum: 1984-01-01). Bei einer Zeichenfolge mit Datum handelt es sich um ein 6 Byte Binary-Time-Format („timeOfDay“- und „day“-Komponente).
Variable | Darstellung | Wertebereich | Beschreibung |
---|---|---|---|
Prefix | BT# | ‘BT#‘ | Konstanter Präfix. |
Year | YYYY | ‘1984‘..‘2106‘ | Jahr (4 Dezimalstellen, optional). |
Month | MM | ‘01‘..‘12‘ | Monat (2 Dezimalstellen, optional). |
Day | DD | ‘01‘..‘31‘ | Tag (2 Dezimalstellen, optional). |
Hour | hh | ‘00‘..‘23‘ | Stunde (2 Dezimalstellen). |
Minute | mm | ‘00‘..‘59‘ | Minute (2 Dezimalstellen). |
Second | ss | ‘00‘..‘59‘ | Sekunde (2 Dezimalstellen). |
Millisecond | n[n[n]]] | ‘‘,‘0‘..‘999‘ | Millisekunde (0 bis 3 Dezimalstellen, optional). |
Beispiele
Die folgende Tabelle enthält einige Zeichenfolgen und die Werte der Komponenten nach einer Konvertierung in den strukturierten Typ: T_BinaryTime.
STRING(26) | T_BinaryTime |
---|---|
‘BT#1984-01-01-00:00:00‘ | STRUCT(timeOfDay:=TOD#00:00:00, day:=0) |
‘BT#2018-03-04-11:12:55.6‘ | STRUCT(timeOfDay:=TOD#11:12:55.600, day:=16#30C1) |
‘BT#2018-03-04-11:12:55.678‘ | STRUCT(timeOfDay:=TOD#11:12:55.678, day:=16#30C1) |
‘BT#01:02:03‘ | STRUCT(timeOfDay:=TOD#01:02:03, day:=0) |
‘BT#01:02:03.5‘ | STRUCT(timeOfDay:=TOD#01:02:03.500, day:=0) |
‘BT#01:02:03.567‘ | STRUCT(timeOfDay:=TOD#01:02:03.567, day:=0) |