FB_SystemTimeToTzSpecificLocalTime
![FB_SystemTimeToTzSpecificLocalTime 1:](Images/gif/9007199290328075__de__Web.gif)
Der Funktionsbaustein konvertiert die UTC-Zeit (structured system time format) in Lokalzeit (structured system time format) unter der Berücksichtigung der angegebenen Zeitzoneninformation. Der Funktionsbaustein: FB_FileTimeToTzSpecificLocalTime besitzt eine ähnliche Funktionalität, mit dem Unterschied, dass er ein anderes Zeitformat (file time format) umrechnet.
Der Baustein eignet sich nur zur Konvertierung von kontinuierlichen UTC-Zeitstempelinformation. Anhand der Zeitzoneninformation errechnet der Funktionsbaustein die erforderlichen Zeitsprünge in der Lokalzeit (Sommer-/Winterzeit Umstellung). Zeitsprünge in der UTC-Eingangszeit sind nicht zulässig führen zur fehlerhaften Konvertierung. Der Grund: Die zuletzt konvertierte Zeit wird im Baustein intern gespeichert um aus dem Verlauf der UTC-Eingangszeit und dem gespeicherten Wert die B-Zeiten (siehe unten) beim Zurückstellen der Lokalzeit erkennen zu können.
Der Baustein besitzt eine Aktion: A_Reset(). Ein Aufruf dieser Aktion setzt die Ausgänge des Bausteins und die intern gespeicherte (zuletzt konvertierte Zeit) auf Null zurück.
Eingänge
VAR_INPUT
in : TIMESTRUCT;
tzInfo : ST_TimeZoneInformation;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
in | UTC-Zeit (structured system time format), die konvertiert werden soll. | |
tzInfo | Strukturvariable mit der aktuellen Zeitzone-Information des Betriebssystems. |
Ausgänge
VAR_OUTPUT
out : TIMESTRUCT;
eTzID : E_TimeZoneID := eTimeZoneID_Unknown;
bB : BOOL;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
out | Konvertierte Lokalzeit (structured system time format) | |
eTzID | Zusätzliche Sommer-/ Winterzeit-Information. | |
bB | BOOL | TRUE => B-Zeit (Z.B.:02:05:00 MEZ B), FALSE => Übrige Zeit (Z.B.: 02:05:00 MESZ A). Bei einem Sprung der Lokalzeit zurück wird dieser Ausgang gesetzt und beim Überschreiten der doppelten Lokalzeit wieder zurückgesetzt. |
Beispiel:
PROGRAM MAIN
VAR
in : TIMESTRUCT := ( wYear := 2011, wMonth := 4, wDay := 29, wHour := 14, wMinute := 46, wSecond := 31, wMilliseconds := 99 );(* UTC time *)
out : TIMESTRUCT; (* Local time result is:= ( wYear := 2011, wMonth := 4, wDay := 29, wHour := 16, wMinute := 46, wSecond := 31, wMilliseconds := 99 ) *)
fbToLocal : FB_SystemTimeToTzSpecificLocalTime;
END_VAR
fbToLocal( in := in, tzInfo := WEST_EUROPE_TZI, out => out );
Weitere Zeit-, Zeitzone-Funktionen und -Funktionsbausteine:
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken (Kategoriegruppe) |
---|---|---|
TwinCAT v3.1.0 | PC oder CX (x86, x64, ARM) | Tc2_Utilities (System) |