F_TranslateFileTimeBias

Diese Funktion rechnet die Eingangszeit mit Hilfe der angegebenen Bias-Zeitverschiebung in die Zeit einer anderen Zeitzone um. Mit dieser Funktion kann z.B. die Lokalzeit in UTC-Zeit (Universal Time Coordinates) und umgekehrt umgerechnet werden.
 Rückgabewert
Name  | Typ  | Beschreibung  | 
|---|---|---|
F_TranslateFileTimeBias  | 
  | 
 Eingänge
VAR_INPUT
    in    : T_FILETIME;
    bias  : DINT;
    toUTC : BOOL;
END_VARName  | Typ  | Beschreibung  | 
|---|---|---|
in  | T_FILETIME  | Eingangszeit die umgerechnet werden soll (Typ: T_FILETIME).  | 
bias  | DINT  | Differenz zwischen der UTC-Zeit und der Lokalzeit in Minuten (positive oder negative Werte sind zulässig).  | 
toUTC  | BOOL  | Über diesen Parameter kann die Richtung angegeben werden, in die die Eingangszeit konvertiert werden soll.  | 
toUTC  | Direction  | Internal formula  | 
|---|---|---|
FALSE  | UTC -> Lokalzeit  | Lokalzeit := UTC - Bias  | 
TRUE  | Lokalzeit -> UTC  | UTC := Lokalzeit + Bias  | 
Beispiel:
Die in-Variable enthält die zu konvertierende Zeit. Die bToUTC-Variable bestimmt die Konvertierungsrichtung. Bei bToUTC = TRUE wird die Lokalzeit in UTC-Zeit konvertiert und bei bToUTC = FALSE die UTC-Zeit in Lokalzeit. Die WEST_EUROPE_TZI-Konstante enthält die Zeitzoneninformationen für Westeuropa. Der benötigte Bias-Wert wird aus der Zeitzoneninformation in der Konstanten und der aktuellen bDST-Einstellung (Daylight Saving Time) errechnet. Die aktuelle Zeitzoneninformation eines TwinCAT-Systems kann alternativ mit dem Funktionsbaustein: FB_GetTimeZoneInformation ermittelt werden.
Wichtiger Hinweis: Der Datentyp DT als Eingangszeit wurde nur wegen der Möglichkeit der optischen Kontrolle im Online-Mode gewählt. Konvertierungen in einem anderen Zeitformat sind nur bedingt zu empfehlen da die Konvertierungsfunktionen sehr rechenintensiv sein können.
PROGRAM MAIN
VAR
    bDST    : BOOL := TRUE;(* TRUE => Daylight saving time, FALSE => Standard time *)
    bToUTC  : BOOL := FALSE;(* TRUE => Convert local time to UTC time, FALSE => Convert UTC time to local time *)
    in      : DT := DT#2011-08-29-15:15:31;
    out     : DT;
    bias    : DINT;
END_VARIF bDST THEN
    bias := WEST_EUROPE_TZI.bias + WEST_EUROPE_TZI.daylightBias;
ELSE
    bias := WEST_EUROPE_TZI.bias + WEST_EUROPE_TZI.standardBias;
END_IF
out := FILETIME_TO_DT( F_TranslateFileTimeBias( DT_TO_FILETIME( in ), bias, bToUTC ) );Weitere Zeit-, Zeitzone-Funktionen und -Funktionsbausteine:
- FB_TzSpecificLocalTimeToSystemTime
 - FB_TzSpecificLocalTimeToFileTime
 - FB_SystemTimeToTzSpecificLocalTime
 - FB_FileTimeTimeToTzSpecificLocalTime
 - FB_GetTimeZoneInformation
 - FB_SetTimeZoneInformation
 - NT_SetLocalTime
 - NT_GetTime
 - NT_SetTimeToRTCTime
 - FB_LocalSystemTime
 
Voraussetzungen
Entwicklungsumgebung  | Zielplattform  | Einzubindende SPS-Bibliotheken (Kategoriegruppe)  | 
|---|---|---|
TwinCAT v3.1.0  | PC oder CX (x86, x64, Arm®)  | Tc2_Utilities (System)  |