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

Syntax

DATE

D#1970-01-01
(01.01.1970)

D#2106-02-07
(07.02.2106)

32 Bit

Sekunden, obwohl nur der Tag angezeigt wird.

DATE#jjjj-MM-dd

D#jjjj-MM-dd

DATE_AND_TIME
DT

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

DT#2106-02-07-06:28:15
(07.02.2106, 06:28:15 Uhr)

32 Bit

Sekunden

DATE_AND_TIME#jjjj-MM-dd-hh:mm:ss

DT#jjjj-MM-dd-hh:mm:ss

TIME_OF_DAY
TOD

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

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

32 Bit

Millisekunden

TIME_OF_DAY#hh:mm:ss

TOD#hh:mm:ss.sss

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

Datentyp

Untergrenze

Obergrenze

Speicherplatz

Auflösung

Syntax

LDATE

LD#1677-9-22
(22.09.1677)

Default:
LD#1970-1-1
(01.01.1970)

LD#2262-4-11
(11.04.2262)

64 Bit

Nanosekunden, obwohl nur der Tag angezeigt wird.

LDATE#jjjj-MM-dd

LD#jjjj-MM-dd

LDATE_AND_TIME
LDT

LDT#1677-9-21-0:12:43.145224192
(21.09.1677, 00:12:23.15 Uhr)

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

LDT#2262-4-11-23:47:16.854775807
(11.04.2262, 23:47:16.85 Uhr)

64 Bit

Nanosekunden

LDATE_AND_TIME##jjjj-MM-dd-hh:mm:ss.sssssssss

LDT##jjjj-MM-dd-hh:mm:ss.sssssssss

 

LTIME_OF_DAY
LTOD

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

LTOD#23:59:59.999999999
(23:59:59.99 Uhr)

64 Bit

Nanosekunden

LTIME_OF_DAY#hh:mm:ss.sssssssss

LTOD#hh:mm:ss.sssssssss

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#2026-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#2026-2-7-12:55:1;

    // 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#1677-9-22;
    dDefault      : LDATE          := LDATE#1970-1-1;
    dUpperLimit   : LDATE          := LDATE#2262-4-11;
    dAppointment  : LDATE          := LD#2026-2-7;

    // Long date and time
    dtLowerLimit  : LDATE_AND_TIME := LDATE_AND_TIME#1677-9-21-0:12:43.145224192;   // ULINT#16#8000000000000000
    dtDefault     : LDATE_AND_TIME := LDATE_AND_TIME#1970-1-1-0:0:0;                // ULINT#16#0
    dtUpperLimit  : LDATE_AND_TIME := LDATE_AND_TIME#2262-4-11-23:47:16.854775807;
    dtAppointment : LDT            := LDT#2026-2-7-12:55:1.234567891;               // ULINT#16#7FFFFFFFFFFFFFFF

    // 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: