String_To_UtcTimeQuality
Konvertiert die als String formatierte UTC-Time-Quality-Information in die Komponenten des strukturierten Typs T_UtcTimeQuality. Die Zeichenfolge des zu konvertierenden Strings ist vorgegeben und hat folgenden Aufbau: 'UQ#LFC|A[A]'. Sie entspricht der TwinCAT UTC-Time-Quality-String-Formatspezifikation.
Namensraum: Tc3_Collections
Bibliothek: Tc3_Collections (Tc3_Collections.compiled-library)
Syntax
FUNCTION String_To_UtcTimeQuality : T_UtcTimeQuality
VAR_INPUT
in : STRING(9) := 'UQ#000|0';
END_VAR
VAR_OUTPUT
bError : BOOL;
END_VAR
Eingänge
Name | Typ | Beschreibung |
---|---|---|
in | STRING(9) | Die zu konvertierende Information als UTC-Time-Quality-String. |
Ausgänge
Name | Typ | Beschreibung |
---|---|---|
bError | BOOL | Dieser Ausgang ist „TRUE“ wenn die Zeichenfolge des Eingangsstring nicht fehlerfrei konvertiert werden konnte. |
Rückgabewert
Name | Typ | Beschreibung |
---|---|---|
String_To_UtcTimeQuality | Konvertierte Information als UTC-Time-Quality-Struktur. |
Beispiel
Der Rückgabewert: 'UQ#001|3' bedeutet, dass Schaltsekunden nicht bekannt sind. Zeitgeber hat keinen Fehler und ist nicht synchronisiert, die Auflösung der Zeitinformation des Bruchteils der Sekunde beträgt 3 Bits.
METHOD UtcTimeQuality_ToFrom_String : BOOL
VAR_INPUT
fbIED : REFERENCE TO FB_IED;
END_VAR
VAR
Quality : T_UtcTimeQuality;
sQuality : STRING;
END_VAR
IF NOT __ISVALIDREF(fbIED) THEN
RETURN;
END_IF
Quality := String_To_UtcTimeQuality('UQ#000|0');
sQuality := UtcTimeQuality_To_String(Quality);(* sQuality := 'UQ#000|0' *)
IF fbIED.Relay.LLN0.Beh.t.sQuality <> sQuality THEN
Quality := fbIED.Relay.LLN0.Beh.t.Quality;
END_IF
Quality := String_To_UtcTimeQuality('UQ#001|3');
sQuality := UtcTimeQuality_To_String(Quality);(* sQuality := 'UQ#001|3' *)
IF fbIED.Relay.LLN0.Health.t.sQuality <> sQuality THEN
Quality := fbIED.Relay.LLN0.Health.t.Quality;
END_IF
Quality := String_To_UtcTimeQuality('UQ#000|31');
sQuality := UtcTimeQuality_To_String(Quality);(* sQuality := 'UQ#000|31' *)
IF fbIED.Relay.LLN0.Mod_.t.sQuality <> sQuality THEN
Quality := fbIED.Relay.LLN0.Mod_.t.Quality;
END_IF
UtcTimeQuality_ToFrom_String := TRUE;