LWORD_To_BinaryTime6

Konvertiert die Binärdaten des Typs LWORD in die Komponenten des strukturierten Typs T_BinaryTime. Die Kodierung der Komponenten im LWORD entspricht der TwinCAT Binary-Time-LWORD-Formatspezifikation.

Namensraum: Tc3_Collections
Bibliothek: Tc3_Collections (Tc3_Collections.compiled-library)

Syntax

FUNCTION LWORD_To_BinaryTime6 : T_BinaryTime
VAR_INPUT
    in     : LWORD(0..16#FFFFFFFFFFFF);
END_VAR
VAR_OUTPUT
    bError : BOOL;
END_VAR

LWORD_To_BinaryTime6 1: Eingänge

Name

Typ

Beschreibung

in

LWORD(0..16#FFFFFFFFFFFF)

Die zu konvertierende Zeitinformation als Binary-Time-Binärdaten.

LWORD_To_BinaryTime6 2: Ausgänge

Name

Typ

Beschreibung

bError

BOOL

Der Ausgang ist „TRUE“ wenn der Wert der Bits 0..31 (timeOfDay-Komponente) größer ist als „TOD#23:59:59.999“. In diesem Fall liefert die Funktion den Rückgabewert „STRUCT(timeOfDay := TOD#00:00:00, day := 0)“ zurück.

LWORD_To_BinaryTime6 3: Rückgabewert

Name

Typ

Beschreibung

LWORD_To_BinaryTime6

T_BinaryTime

Konvertierte Zeitinformation als Binary-Time-Struktur.

Beispiel

METHOD BinaryTime6_ToFrom_LWORD : BOOL
VAR_INPUT
    fbIED : REFERENCE TO FB_IED;
END_VAR
VAR
    tValue : T_BinaryTime;
    sValue : STRING;
END_VAR
IF NOT __ISVALIDREF(fbIED) THEN
    RETURN;
END_IF

tValue := LWORD_To_BinaryTime6(0);
sValue := BinaryTime6_To_String(tValue);(* sValue := 'BT#1984-01-01-00:00:00' *) 
IF fbIED.Relay.LLN0.brcb1.TimeOfEntry.nValue <> BinaryTime6_To_LWORD(tValue) THEN
    tValue := fbIED.Relay.LLN0.brcb1.TimeOfEntry.tValue; 
END_IF 

tValue := LWORD_To_BinaryTime6(1);
sValue := BinaryTime6_To_String(tValue);(* sValue := 'BT#1984-01-01-00:00:00.001'*) 
IF fbIED.Relay.LLN0.brcb2.TimeOfEntry.nValue <> BinaryTime6_To_LWORD(tValue) THEN
    tValue := fbIED.Relay.LLN0.brcb2.TimeOfEntry.tValue;
END_IF

tValue := String_To_BinaryTime6('BT#2017-03-21-11:22:33.44');
sValue := BinaryTime6_To_String(tValue);(* sValue := 'BT#2017-03-21-11:22:33.440'*)
IF fbIED.Relay.LLN0.brcb3.TimeOfEntry.nValue <> BinaryTime6_To_LWORD(tValue) THEN
    tValue := fbIED.Relay.LLN0.brcb3.TimeOfEntry.tValue;
END_IF

BinaryTime6_ToFrom_LWORD := TRUE;