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 17. 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 18. 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 177. Implementierungssprache FUP
Die Steuerung befindet sich im Onlinebetrieb, um die Variablen zu monitoren.