FB_SystemTimeToTzSpecificLocalTime

FB_SystemTimeToTzSpecificLocalTime 1:

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.

FB_SystemTimeToTzSpecificLocalTime 2: Eingänge

VAR_INPUT
    in     : TIMESTRUCT;
    tzInfo : ST_TimeZoneInformation;
END_VAR

Name

Typ

Beschreibung

in

TIMESTRUCT

UTC-Zeit (structured system time format), die konvertiert werden soll.

tzInfo

ST_TimeZoneInformation

Strukturvariable mit der aktuellen Zeitzone-Information des Betriebssystems.

FB_SystemTimeToTzSpecificLocalTime 3: Ausgänge

VAR_OUTPUT
    out   : TIMESTRUCT;
    eTzID : E_TimeZoneID := eTimeZoneID_Unknown;
    bB    : BOOL;
END_VAR

Name

Typ

Beschreibung

out

TIMESTRUCT

Konvertierte Lokalzeit (structured system time format)

eTzID

E_TimeZoneID

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)