Konvertierung DATE, DT, TOD, LDATE, LDT, LTOD
Die Operatoren konvertieren eine Datums- und Uhrzeitangabe in den angegebenen Datentyp und geben einen typkonvertierten Wert zurück.
Die Datentypen DATE
und DT
verwenden intern das gleiche Speicherformat und werden als DWORD
abgelegt. Die Auflösung bei DATE
ist 1 Tag. Die Auflösung bei DT
ist 1 Sekunde. Beide beginnen mit dem 1. Januar 1970. TOD
wird als DWORD
mit einer Auflösung von 1 Millisekunde abgelegt.
Die Schlüsselwörter DT
und TOD
sind alternative Schreibweisen für die Datentypen DATE_AND_TIMET
und TIME_OF_DAY
. Letztere werden jedoch nicht als Typkonvertierungsbefehl abgebildet.
Die Datentypen LDATE
und LDT
und LTOD
verwenden intern das 64-Bit Speicherformat LWORD
.
Aufrufsyntax: DATE/DT/TOD_TO_< Zieltyp> ( <Operand> )
Aufrufsyntax: LDATE/LDT/LTOD_TO_< Zieltyp> ( <Operand> )
Tabelle 16. Operatoren DATE/DT/TOD_TO_<Zieltyp>
DATE_TO_<Typ> | DT_TO_<Typ> | TOD_TO_<Typ> | Beispiel | Rückgabewert | Beschreibung |
---|
DATE_TO___UXINT
| DT_TO___UXINT
| TOD_TO___XINT
| | | __UXINT, __XINT, __XWORD |
DATE_TO___XINT
| DT_TO___XINT
| TOD_TO___XINT
| | | __UXINT, __XINT, __XWORD |
DATE_TO___XWORD
| DT_TO___XWORD
| TOD_TO___XWORD
| | | __UXINT, __XINT, __XWORD |
DATE_TO_BIT
| DT_TO_BIT
| TOD_TO_BIT
| | | BIT |
DATE_TO_BOOL
| DT_TO_BOOL
| TOD_TO_BOOL
| DATE_TO_BOOL(D#1970-1-1)
DATE_TO_BOOL(D#2019-9-1)
DT_TO_BOOL(DT#1970-1-1-0:0:0)
DT_TO_BOOL(DT#2019-9-1-12:0:0)
TOD_TO_BOOL(TOD#0:0:0)
TOD_TO_BOOL(TOD#12:0:0)
| FALSE
TRUE
FALSE
TRUE
FALSE
TRUE
| Nur genau dann, wenn der Operandenwert als „0“ interpretiert werden kann, wird vom Operator ein FALSE zurückgegeben. BOOL |
DATE_TO_BYTE
| DT_TO_BYTE
| DTOD_TO_BYTE
| | | Integer |
- | DT_TO_DATE
| TOD_TO_DATE
| | | Auflösung in Sekunden, obwohl nur der Tag angezeigt wird |
DATE_TO_DINT
| DT_TO_DINT
| TOD_TO_DINT
| DATE_TO_DINT(D#1970-1-1)
DATE_TO_DINT(D#1970-1-2)
DATE_TO_DINT(D#2019-9-1)
DT_TO_DINT(DT#1970-1-1-0:0:0)
DT_TO_DINT(DT#1970-1-1-0:0:1)
DT_TO_DINT(DT#2019-9-1-12:0:0.0)
TOD_TO_DINT(TOD#0:0:0)
TOD_TO_DINT(TOD#12:0:0)
| 0
86400
1567339200
0
1
1567339200
0
43200000
| Integer |
DATE_TO_DT
| - | TOD_TO_DT
| | | Datentyp: DATE |
DATE_TO_DWORD
| DT_TO_DWORD
| TOD_TO_DWORD
| | | Integer |
DATE_TO_INT
| DT_TO_INT
| TOD_TO_INT
| | | Integer |
DATE_TO_LDATE
| DT_TO_LDATE
| TOD_TO_LDATE
| | | Datentyp: DATE |
DATE_TO_LDT
| DT_TO_LDT
| TOD_TO_LDT
| | | Datentyp: DATE |
DATE_TO_LINT
| DT_TO_LINT
| TOD_TO_LINT
| | | Integer |
DATE_TO_LREAL
| DT_TO_LREAL
| TOD_TO_LREAL
| | | REAL, LREAL |
DATE_TO_LTIME
| DT_TO_LTIME
| TOD_TO_LTIME
| | | Datentyp: DATE |
DATE_TO_LTOD
| DT_TO_LTOD
| TOD_TO_LTOD
| | | Datentyp: DATE |
DATE_TO_LWORD
| DT_TO_LWORD
| TOD_TO_LWORD
| | | Integer |
DATE_TO_REAL
| DT_TO_REAL
| TOD_TO_REAL
| | | REAL, LREAL |
DATE_TO_SINT
| DT_TO_SINT
| TOD_TO_SINT
| | | Integer |
DATE_TO_STRING
| DT_TO_STRING
| TOD_TO_STRING
| DATE_TO_STRING(D#1970-1-1)
DT_TO_STRING(D#1970-1-1-0:0:1)
TOD_TO_STRING(12:0:1) | 'D#1970-1-1'
'D#1970-1-1-0:0:1'
'TOD#12:0:1'
| STRING |
DATE_TO_TIME
| DT_TO_TIME
| TOD_TO_TIME
| | | Datentyp: DATE |
DATE_TO_TOD
| DT_TO_TOD
| - | | | Datentyp: DATE |
DATE_TO_UDINT
| DT_TO_UDINT
| TOD_TO_UDINT
| | | Integer |
DATE_TO_UINT
| DT_TO_UINT
| TOD_TO_UINT
| | | Integer |
DATE_TO_ULINT
| DT_TO_ULINT
| TOD_TO_ULINT
| | | Integer |
DATE_TO_USINT
| DT_TO_USINT
| TODE_TO_USINT
| | | Integer |
DATE_TO_WORD
| DT_TO_WORD
| TOD_TO_WORD
| | | Integer |
DATE_TO_WSTRING
| DT_TO_WSTRING
| TOD_TO_WSTRING
| DATE_TO_WSTRING(D#1970-1-1)
DT_TO_WSTRING(D#1970-1-1-0:0:1)
TOD_TO_WSTRING(12:0:1) | "D#1970-1-1"
"D#1970-1-1-0:0:1"
"TOD#12:0:0"
| WSTRING |
Tabelle 17. Operatoren LDATE/LDT/LTOD_TO_<Zieltyp>
LDATE_TO_<Typ> | LDT_TO_<Typ> | LTOD_TO_<Typ> | Beispiel | Rückgabewert | Beschreibung |
---|
LDATE_TO___UXINT
| LDT_TO___UXINT
| LTOD_TO___XINT
| | | __UXINT, __XINT, __XWORD |
LDATE_TO___XINT
| LDT_TO___XINT
| LTOD_TO___XINT
| | | __UXINT, __XINT, __XWORD |
LDATE_TO___XWORD
| LDT_TO___XWORD
| LTOD_TO___XWORD
| | | __UXINT, __XINT, __XWORD |
LDATE_TO_BIT
| LDT_TO_BIT
| LTOD_TO_BIT
| | | BIT |
LDATE_TO_BOOL
| LDT_TO_BOOL
| LTOD_TO_BOOL
| | | BOOL |
LDATE_TO_BYTE
| LDT_TO_BYTE
| LTOD_TO_BYTE
| | | Integer |
LDATE_TO_DATE
| LDT_TO_DATE
| LTOD_TO_DATE
| | | Sekunden, obwohl nur der Tag angezeigt wird Datentyp: DATE |
LDATE_TO_DINT
| LDT_TO_DINT
| LTOD_TO_DINT
| | | Integer |
LDATE_TO_DT
| LDT_TO_DT
| LTOD_TO_DT
| | | Datentyp: DATE |
LDATE_TO_DWORD
| LDT_TO_DWORD
| LTOD_TO_DWORD
| | | Integer |
LDATE_TO_INT
| LDT_TO_INT
| LTOD_TO_INT
| | | Integer |
- | LDT_TO_LDATE
| LTOD_TO_LDATE
| | | Nanosekunden, obwohl nur der Tag angezeigt wird Datentyp: DATE |
LDATE_TO_LDT
| - | LTOD_TO_LDT
| | | Datentyp: DATE |
LDATE_TO_LINT
| LDT_TO_LINT
| LTOD_TO_LINT
| | | Integer |
LDATE_TO_LREAL
| LDT_TO_LREAL
| LTOD_TO_LREAL
| | | REAL, LREAL |
LDATE_TO_LTIME
| LDT_TO_LTIME
| LTOD_TO_LTIME
| | | Datentyp: DATE |
LDATE_TO_LTOD
| LDT_TO_LTOD
| - | | | Datentyp: DATE |
LDATE_TO_LWORD
| LDT_TO_LWORD
| LTOD_TO_LWORD
| | | Integer |
LDATE_TO_REAL
| LDT_TO_REAL
| LTOD_TO_REAL
| | | REAL, LREAL |
LDATE_TO_SINT
| LDT_TO_SINT
| LTOD_TO_SINT
| | | Integer |
LDATE_TO_STRING
| LDT_TO_STRING
| LTOD_TO_STRING
| | | STRING |
LDATE_TO_TIME
| LDT_TO_TIME
| LTOD_TO_TIME
| | | Datentyp: DATE |
LDATE_TO_TOD
| LDT_TO_TOD
| LTOD_TO_TOD
| | | Datentyp: DATE |
LDATE_TO_UDINT
| LDT_TO_UDINT
| LTOD_TO_UDINT
| | | Integer |
LDATE_TO_UINT
| LDT_TO_UINT
| LTOD_TO_UINT
| | | Integer |
LDATE_TO_ULINT
| LDT_TO_ULINT
| LTOD_TO_ULINT
| | | Integer |
LDATE_TO_USINT
| LDT_TO_USINT
| LTODE_TO_USINT
| | | Integer |
LDATE_TO_WORD
| LDT_TO_WORD
| LTOD_TO_WORD
| | | Integer |
LDATE_TO_WSTRING
| LDT_TO_WSTRING
| LTOD_TO_WSTRING
| | | WSTRING |
In einen String konvertieren
Die Operanden des Typs DATE
, DATE_AND_TIME
, TIME_OF_DAY
, DT
oder TOD
, die für eine Datums- und Uhrzeitkonvertierung an einen Operator übergeben werden, werden in ihrer Konstantenschreibweise (Literalschreibweise) konvertiert. Der erzeugte String enthält die Schlüsselwörter D#
, DT#
oder TOD#
und danach die Größe mit ihrer Datums- und Uhrzeiteinheit so wie in der Norm IEC 61131-3 angegeben.
Beispiel 176. Implementierungssprache FUP
Die Steuerung befindet sich im Onlinebetrieb, um die Variablen zu monitoren.