Datums- und Uhrzeitdatentypen

Die Datentypen DATE, DATE_AND_TIME (DT) und TIME_OF_DAY (TOD) werden intern wie ein UDINT (32-Bit-Wert) behandelt.

Datentyp

Untergrenze

Obergrenze

Speicherplatz

Auflösung

DATE

0 = D#1970-01-01
(01.01.1970)

4294967295 = D#2106-02-07
(07.02.2106)

32 Bit

Sekunden, obwohl nur der Tag angezeigt wird.

DATE_AND_TIME
DT

0 = DT#1970-1-1-0:0:0
(01.01.1970, 00:00 Uhr)

4294967295 = DT#2106-02-07-06:28:15
(07.02.2106, 6:28:15)

32 Bit

Sekunden

TIME_OF_DAY
TOD

0 = TOD#0:0:0
(00:00:00:000 Uhr)

86399999 = TOD#23:59:59.999
(23:59:59.999 Uhr)

32 Bit

Millisekunden

Die Datentypen LDATE, LDATE_AND_TIME (LDT) und LTIME_OF_DAY (LTOD) werden intern wie ein ULINT (64 Bit) behandelt.

Datentyp

Untergrenze

Obergrenze

Speicherplatz

Auflösung

LDATE

0 = LD#1970-1-1
(01.01.1970)

264-1 = LD#2554-7-21
(21.07. 2554)

64 Bit

Nanosekunden, obwohl nur der Tag angezeigt wird.

LDATE_AND_TIME
LDT

0 = LDT#1970-1-1-0:0:0
(01.01.1970, 00:00 Uhr)

264-1 = LDT#2554-7-21-23:34:33.709551615
(21.07.2554, 23:34:33.709551615 Uhr)

64 Bit

Nanosekunden

LTIME_OF_DAY
LTOD

0 = LTOD#0:0:0
(00:00:00:000 Uhr)

86399999999999 = LTOD#23:59:59.999999999
(23:59:59.999999999 Uhr)

64 Bit

Nanosekunden

Datums- und Uhrzeitdatentypen 1:

Voraussetzungen

Für die Datentypen LDATE, LDATE_AND_TIME (LDT) und LTIME_OF_DAY (LTOD) wird die TwinCAT Version 3.1.4026.0 oder höher vorausgesetzt.

Beispiele:

VAR

    // Date
    dLowerLimit   : DATE           := DATE#1970-1-1;
    dUpperLimit   : DATE           := DATE#2106-2-7;
    dAppointment  : DATE           := D#2020-2-7;

    // Date and time
    dtLowerLimit  : DATE_AND_TIME  := DATE_AND_TIME#1970-1-1-0:0:0;
    dtUpperLimit  : DATE_AND_TIME  := DATE_AND_TIME#2106-02-07-06:28:15;
    dtAppointment : DT             := DT#2020-2-7-12:55:1.234;

    // Time of day
    tdLowerLimit  : TIME_OF_DAY    := TIME_OF_DAY#0:0:0;
    tdUpperLimit  : TIME_OF_DAY    := TIME_OF_DAY#23:59:59.999;
    tdAppointment : TOD            := TOD#12:3:4.567;

    // Long date
    dLowerLimit   : LDATE          := LDATE#1970-1-1;
    dUpperLimit   : LDATE          := LDATE#2106-2-7;
    dAppointment  : LDATE          := LD#2020-2-7;

    // Long date and time
    dtLowerLimit  : LDATE_AND_TIME := LDATE_AND_TIME#1970-1-1-0:0:0;
    dtUpperLimit  : LDATE_AND_TIME := LDATE_AND_TIME#2262-4-10-23:59:59.99999999;
    dtAppointment : LDT            := LDT#2020-2-7-12:55:1.234567891;

    // Long time of day
    tdLowerLimit  : LTIME_OF_DAY   := LTIME_OF_DAY#0:0:0;
    tdUpperLimit  : LTIME_OF_DAY   := LTIME_OF_DAY#23:59:59.999999999;
    tdAppointment : LTOD           := LTOD#12:3:4.567890123;

END_VAR

Siehe auch: