Constante: Fecha y Hora
Especificación de fecha de 32 bits: DATE
Utilizar el DATE palabra clave (D) para especificar una fecha.
Sintaxis
<date keyword>#<year>-<month>-<day> <date keyword> : DATE | date | D | d <year> : 1970-2106 <month> : 1-12 <day> : 1-31
DATE los literales se tratan internamente como tipo de datos DWORD, que corresponde a un límite superior de DATE#2106-2-7.
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_IFEspecificación de fecha de 64 bits: LDATE
Utilizar el LDATE palabra clave (LD) para especificar una fecha.
Sintaxis
<date keyword>#<year>-<month>-<day> <date keyword> : LDATE | ldate | LD | ld <year> : 1677-2262 <month> : 1-12 <day> : 1-31
LDATE los literales se tratan internamente como tipo de datos LWORD, que corresponde a un límite superior de DATE#2554-7-21.
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);Especificación de fecha y hora de 32 bits: DATE_AND_TIME
Utilizar el DATE_AND_TIME palabra clave (DT) para especificar una fecha y una hora.
Sintaxis
<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 los literales se tratan internamente como tipo de datos DWORD. El tiempo se procesa en segundos y como resultado puede tomar valores desde el 1 de enero de 1970 00:00 hasta el 7 de febrero de 2106 06:28:15.
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_VAREspecificaciones de fecha y hora de 64 bits: LDATE_AND_TIME
Utilizar el LDATE_AND_TIME palabra clave (LDT) para especificar una fecha y una hora.
Sintaxis
<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 los literales se tratan internamente como tipos de datos LWORD. El tiempo se procesa en nanosegundos y, por lo tanto, puede tener valores desde el 21 de septiembre de 1677 00:12:43.145 224192 hasta el 11 de abril de 2262 23:47:16.854 775807
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_VAREspecificación de tiempo de 32 bits: TIME_OF_DAY
Utilizar el TIME_OF_DAY palabra clave (TOD) para especificar una hora.
Sintaxis
<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
También puede especificar fracciones de segundo. TIME_OF_DAY los literales se tratan internamente como DWORD y el valor se resuelve en milisegundos.
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_VAREspecificación de tiempo de 64 bits: LTIME_OF_DAY
Utilizar el LTIME_OF_DAY palabra clave (LTOD) para especificar una hora.
Sintaxis
<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
También puede especificar fracciones de segundo. LTIME_OF_DAY los literales se tratan internamente como LWORD y el valor se resuelve en nanosegundos.
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_VARPara más información, ver: Tipo de dato: DATE