UtcTimeQuality_To_BYTE
Converts the components of the structured type T_UtcTimeQuality into the binary data of the type BYTE. The coding of the components in BYTE corresponds to the TwinCAT UTC-Time-Quality-BYTE format specification.
Namespace: Tc3_Collections
Library: Tc3_Collections (Tc3_Collections.compiled-library)
Syntax
FUNCTION UtcTimeQuality_To_BYTE : BYTE
VAR_INPUT
in : T_UtcTimeQuality;
END_VAR
Inputs
Name | Type | Description |
---|---|---|
in | The information to be converted as UTC-Time-Quality structure. |
Return value
Name | Type | Description |
---|---|---|
UtcTimeQuality_To_BYTE | BYTE | Converted information as UTC-Time-Quality binary data. |
Sample
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;