Konstante: Datum und Uhrzeit
32-Bit-Datumsangabe: DATE
Verwenden Sie die Schlüsselwörter DATE (D), um Datumsangaben zu machen.
Syntax
<date keyword>#<year>-<month>-<day> <date keyword> : DATE | date | D | d <year> : 1970-2106 <month> : 1-12 <day> : 1-31
DATE-Literale werden intern wie der Datentyp DWORD behandelt, was einer Obergrenze von DATE#2106-2-7 entspricht.
PROGRAM PRG_Date
VAR
dateStart : DATE := DATE#2018-8-8;
dateEnd : DATE := D#2018-8-31;
dateCompare: DATE := date#1996-05-06;
xIsDuringTheTime: BOOL;
dateEarliest : DATE := d#1970-1-1; // = 0
dateLatest : DATE := DATE#2106-2-7; // = 4294967295
END_VAR
IF dateStart < dateCompare THEN
IF dateCompare < dateEnd THEN
xIsDuringTheTime := TRUE;
END_IF;
END_IF64-Bit-Datumsangabe: LDATE
Verwenden Sie das Schlüsselwort LDATE (LD), um Datumsangaben zu machen.
Syntax
<date keyword>#<year>-<month>-<day> <date keyword> : LDATE | ldate | LD | ld <year> : 1677-2262 <month> : 1-12 <day> : 1-31
LDATE-Literale werden intern wie der Datentyp LWORD behandelt, was einer Obergrenze von DATE#2554-7-21 entspricht.
PROGRAM PRG_Ldate
VAR
ldateStart : LDATE := LDATE#2018-8-8;
ldateEnd : LDATE := ldate#2018-8-31;
ldateCompare: LDATE := LD#1996-05-06;
xIsDuringTheTime: BOOL;
ldateEarliest : LDATE := ld#1677-9-22; // = 0
ldateLatest : LDATE := LDATE#2262-4-11; // = 16#7FFFB21D1DB10000
lwValue: LWORD;
END_VAR
IF ldateStart < ldateCompare THEN
IF ldateCompare < ldateEnd THEN
xIsDuringTheTime := TRUE;
END_IF;
END_IF
lwValue := LDATE_TO_LWORD(ldateCompare);32-Bit-Datums- und -Uhrzeitangabe: DATE_AND_TIME
Verwenden Sie das das Schlüsselwort DATE_AND_TIME (DT), um Datums-und Uhrzeitangaben zu machen.
Syntax
<date and time keyword>#<date and time value> <date and time keyword> : DATE_AND_TIME | date_and_time | DT | dt <date and time value> : <year>-<month>-<day>-<hour>:<minute>:<second> <year> : 1970-2106 <month> : 1-12 <day> : 1-31 <hour> : 0-24 <minute> : 0-59 <second> : 0-59
DATE_AND_TIME-Literale werden intern als Datentyp DWORD behandelt. Die Zeit wird in Sekunden verarbeitet und kann folglich Werte von 1. Januar 1970 00:00 Uhr bis 07.Februar 2106 6:28:15 Uhr annehmen.
PROGRAM PLC_PRG
VAR
dtDate : DATE_AND_TIME := DATE_AND_TIME#1996-05-06-15:36:30;
dtDate1: DATE_AND_TIME := DT#1972-03-29-00:00:00;
dtDate2: DATE_AND_TIME := DT#2018-08-08-13:33:20.5;
dtEarliest : DATE_AND_TIME := DATE_AND_TIME#1970-1-1-00:00:00; // 0
dtLatest : DATE_AND_TIME := DATE_AND_TIME#2106-2-7-6:28:15; // 4294967295
END_VAR64-Bit-Datums- und -Uhrzeitangabe: LDATE_AND_TIME
Verwenden Sie das das Schlüsselwort LDATE_AND_TIME (LDT), um Datums-und Uhrzeitangaben zu machen.
Syntax
<date and time keyword>#<long date and time value> <date and time keyword> : LDATE_AND_TIME | ldate_and_time | LDT | ldt <date and time value> : <year>-<month>-<day>-<hour>:<minute>:<second> <year> : 1677-2262 <month> : 1-12 <day> : 1-31 <hour> : 0-24 <minute> : 0-59 <second> : 0-59
LDATE_AND_TIME#2262-4-10-23:59:59.99999999
LDATE_AND_TIME-Literale werden intern als Datentyp LWORD behandelt. Die Zeit wird in Nanosekunden verarbeitet und kann folglich Werte von 21. September 1677 00:12:43.145224192 Uhr bis 11. April 2262 23:47:16.854775807 Uhr annehmen.
PROGRAM PLC_PRG
VAR
ldtDate : LDATE_AND_TIME := LDATE_AND_TIME#1996-05-06-15:36:30;
ldtDate1: LDATE_AND_TIME := LDT#1972-03-29-00:00:00;
ldtDate2: LDATE_AND_TIME := LDT#2018-08-08-13:33:20.5;
dtEarliest : LDT := LDT#1677-9-21-0:12:43.145224192; // 0
dtLatest : LDT := LDT#2262-4-11-23:47:16.854775807; // = 16#7FFFFFFFFFFFFFFF
END_VAR32-Bit-Uhrzeitangabe: TIME_OF_DAY
Verwenden Sie das das Schlüsselwort TIME_OF_DAY (TOD), um Uhrzeitangaben zu machen.
Syntax
<time keyword>#<time value> <time keyword> : TIME_OF_DAY | time_of_day | TOD | tod <time value> : <hour>:<minute>:<second> <hour> : 0-23 <minute> : 0-59 <second> : 0.000-59.999
Sie können bei Sekunden auch Sekundenbruchteile angeben. TIME_OF_DAY-Literale werden intern als DWORD behandelt und somit der Wert in Millisekunden aufgelöst.
PROGRAM POU
VAR
todClockTime : TIME_OF_DAY := TIME_OF_DAY#15:36:30.123;
todEarliest : TIME_OF_DAY := TIME_OF_DAY#0:0:0.000;
todLatest : TOD := TOD#23:59:59.999;
END_VAR64-Bit-Uhrzeitangabe: LTIME_OF_DAY
Verwenden Sie das das Schlüsselwort LTIME_OF_DAY (LTOD), um Uhrzeitangaben zu machen.
Syntax
<time keyword>#<time value> <time keyword> : LTIME_OF_DAY | ltime_of_day | LTOD | ltod <time value> : <hour>:<minute>:<second> <hour> : 0-23 <minute> : 0-59 <second> : 0.000-59.999999999
Sie können bei Sekunden auch Sekundenbruchteile angeben. LTIME_OF_DAY-Literale werden intern als LWORD behandelt und somit der Wert in Nanosekunden aufgelöst.
PROGRAM POU
VAR
ltodClockTime : LTIME_OF_DAY := TIME_OF_DAY#15:36:30.123456789;
todEarliest : TIME_OF_DAY := TIME_OF_DAY#0:0:0;
todLatest : TOD := TOD#23:59:59.999999999;
END_VARFür weitere Informationen siehe: Datentyp: DATE