UtcTimeQuality_To_BYTE
Konvertiert die Komponenten des strukturierten Typs T_UtcTimeQuality in die Binärdaten des Typs BYTE. Die Kodierung der Komponenten im BYTE entspricht der TwinCAT UTC-Time-Quality-BYTE-Formatspezifikation.
Namensraum: Tc3_Collections
Bibliothek: Tc3_Collections (Tc3_Collections.compiled-library)
Syntax
FUNCTION UtcTimeQuality_To_BYTE : BYTE
VAR_INPUT
in : T_UtcTimeQuality;
END_VAR
Eingänge
Name | Typ | Beschreibung |
---|---|---|
in | Die zu konvertierende Information als UTC-Time-Quality-Struktur. |
Rückgabewert
Name | Typ | Beschreibung |
---|---|---|
UtcTimeQuality_To_BYTE | BYTE | Konvertierte Information als UTC-Time-Quality-Binärdaten. |
Beispiel
METHOD UtcTimeQuality_ToFrom_Byte : BOOL
VAR_INPUT
fbIED : REFERENCE TO FB_IED;
END_VAR
VAR
Quality : T_UtcTimeQuality;
sQuality : STRING;
u8 : BYTE;
END_VAR
IF NOT __ISVALIDREF(fbIED) THEN
RETURN;
END_IF
Quality := Byte_To_UtcTimeQuality(0);
u8 := UtcTimeQuality_To_Byte(Quality);(* u8 := 2#00000000 => 0 bits accuracy *)
sQuality := UtcTimeQuality_To_String(Quality);(* sQuality := 'UQ#000|00' *)
IF UtcTimeQuality_To_Byte(fbIED.Relay.LLN0.Beh.t.Quality) <> u8 THEN
Quality := fbIED.Relay.LLN0.Beh.t.Quality;
END_IF
Quality := String_To_UtcTimeQuality('UQ#000|03');
u8 := UtcTimeQuality_To_Byte(Quality);(* u8 := 2#11000000 => 3 bits accuracy *)
sQuality := UtcTimeQuality_To_String(Quality);(* sQuality := 'UQ#000|03' *)
IF UtcTimeQuality_To_Byte(fbIED.Relay.LLN0.Health.t.Quality) <> u8 THEN
Quality := fbIED.Relay.LLN0.Health.t.Quality;
END_IF
Quality := String_To_UtcTimeQuality('UQ#001|05');
u8 := UtcTimeQuality_To_Byte(Quality);(* u8 := 2#10100100 => 5 bits accuracy, ClockNotSynchronized := 1 *)
sQuality := UtcTimeQuality_To_String(Quality);(* sQuality := 'UQ#001|05' *)
IF UtcTimeQuality_To_Byte(fbIED.Relay.LLN0.Mod_.t.Quality) <> u8 THEN
Quality := fbIED.Relay.LLN0.Mod_.t.Quality;
END_IF
Quality := String_To_UtcTimeQuality('UQ#000|31');
u8 := UtcTimeQuality_To_Byte(Quality);(* u8 := 2#11111000 => unspecified accuracy *)
sQuality := UtcTimeQuality_To_String(Quality);(* sQuality := 'UQ#000|31' *)
IF UtcTimeQuality_To_Byte(fbIED.Relay.MMXU1.phV.phsA.t.Quality) <> u8 THEN
Quality := fbIED.Relay.MMXU1.phV.phsA.t.Quality;
END_IF
UtcTimeQuality_ToFrom_Byte := TRUE;