UtcTime_To_String

Konvertiert die Komponenten des strukturierten Typs T_UtcTime in einen formatierten UTC-Time-String. Die Zeichenfolge des resultierenden Strings hat folgenden Aufbau: 'UT#YYYY-MM-DD-hh:mm:ss.nnnnnnnnn|LFC|A[A]'. Sie entspricht der TwinCAT UTC-Time-String-Formatspezifikation.

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

Syntax

FUNCTION UtcTime_To_String : STRING(39)
VAR_INPUT
    in     : T_UtcTime;
END_VAR
VAR_OUTPUT
    bError : BOOL;
END_VAR

UtcTime_To_String 1: Eingänge

Name

Typ

Beschreibung

in

T_UtcTime

Die zu konvertierende Zeitinformation als UTC-Time-Struktur.

UtcTime_To_String 2: Ausgänge

Name

Typ

Beschreibung

bError

BOOL

Der Ausgang ist „TRUE“ wenn der Eingangswert nicht fehlerfrei konvertiert werden konnte.

UtcTime_To_String 3: Rückgabewert

Name

Typ

Beschreibung

UtcTime_To_String

STRING(39)

Konvertierte Zeitinformation als UTC-Time-String.

Beispiel

‘UT#2017-01-16-11:22:33.750000000|001|24' bedeutet Datum: „2017-01-16“, Uhrzeit: „11:22:33“ und „750“ ms, Schaltsekunden unbekannt, Zeitgeber hat keinen Fehler, Uhrzeit ist nicht synchronisiert.

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

tValue := String_To_UtcTime('UT#1970-01-01-00:00:00.000000000|000|0');
sValue := UtcTime_To_String(tValue);(* sValue := 'UT#1970-01-01-00:00:00.000000000|000|0' *)
IF fbIED.Relay.LLN0.Beh.t.sValue <> sValue THEN
    tValue := fbIED.Relay.LLN0.Beh.t.tValue;
END_IF

tValue := String_To_UtcTime('UT#2018-03-21-14:56:55.125000000|010|3');(* ClockFailure := 1, accuracy := 3 bits *)
sValue := UtcTime_To_String(tValue);(* sValue := 'UT#2018-03-21-14:56:55.125000000|010|3' *)
IF fbIED.Relay.LLN0.Health.t.sValue <> sValue THEN
    tValue := fbIED.Relay.LLN0.Health.t.tValue;
END_IF 

tValue := String_To_UtcTime('UT#2017-01-16-11:22:33.750000000|001|24');(* ClockNotSynchronized := 1, accuracy := 24 bits *)
sValue := UtcTime_To_String(tValue);(* sValue := 'UT#2017-01-16-11:22:33.750000000|001|24' *)
IF fbIED.Relay.LLN0.Mod_.t.sValue <> sValue THEN
    tValue := fbIED.Relay.LLN0.Mod_.t.tValue;
END_IF 

UtcTime_ToFrom_String := TRUE;