String_To_UtcTimeStamp

Konvertiert die als String formatierte UTC-Zeitstempelinformation in die Komponenten des strukturierten Typs: T_UtcTime. Die Zeichenfolge des zu konvertierenden Strings ist vorgegeben und hat folgenden Aufbau: 'US#YYYY-MM-DD-hh:mm:ss.nnnnnnnnn' wo:
YYYY:=Jahr
MM:=Monat
DD:=Tag
hh:=Stunde
mm:=Minuten
ss:=Sekunden
nnnnnnnnn:=Nanosekunden (9 Dezimalstellen). Die T_UtcTime.Quality-Komponente wird bei der Konvertierung nicht gesetzt (alle Bits haben den Wert 0).

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

Syntax

FUNCTION String_To_UtcTimeStamp : T_UtcTime
VAR_INPUT
    in               : STRING(32):='US#1970-01-01-00:00:00.000000000';
END_VAR
VAR_OUTPUT
    bError           : BOOL;
    secondSinceEpoch : DT;
    fractionOfSecond : T_UINT24;
END_VAR

String_To_UtcTimeStamp 1: Eingänge

Name

Typ

Beschreibung

in

STRING(32)

Die zu konvertierende Zeitinformation als formatierter UTC-Zeitstempel-String.

String_To_UtcTimeStamp 2: Ausgänge

Name

Typ

Beschreibung

bError

BOOL

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

secondSinceEpoch

DT

Wert der konvertierten T_UtcTime.secondSinceEpoch Komponente.

fractionOfSecond

T_UINT24

Wert der konvertierten T_UtcTime.fractionofSecond Komponente.

String_To_UtcTimeStamp 3: Rückgabewert

Name

Typ

Beschreibung

String_To_UtcTimeStamp

T_UtcTime

Konvertierte Zeitstempelinformation als UTC-Time-Struktur.

Beispiel

PROGRAM MAIN
VAR
    tUtc             : T_UtcTime;
    sUtc             : STRING;
    bError           : BOOL;
    secondSinceEpoch : DT;
    fractionOfSecond : T_UINT24;
END_VAR
tUtc:=String_To_UtcTimeStamp(in:='US#2022-09-15-16:12:34.750000000' , bError=>bError, secondSinceEpoch=>secondSinceEpoch, fractionOfSecond=>fractionOfSecond);
sUtc:=UtcTimeStamp_To_String(in:=tUtc, bError=>bError);(* => sUtc = 'US#2022-09-15-16:12:34.750000000' *)

tUtc.secondSinceEpoch:=DT#2022-09-15-00:00:00;
tUtc.fractionOfSecond[0]:=0;
tUtc.fractionOfSecond[1]:=0;
tUtc.fractionOfSecond[2]:=0;
sUtc:=UtcTimeStamp_To_String(in:=tUtc, bError=>bError);(* => sUtc ='US#2022-09-15-00:00:00.000000000' *)