Überladene Konvertierung
Überladung
Tipp
Die Norm IEC61131-3 kennt keine überladenen Funktionen.
Wenn Sie strikt nach IEC61131-3 programmieren möchten, verwenden Sie bitte die in den folgenden Abschnitten beschriebenen Operatoren nach der Syntay <Ausgangstyp> _TO_ <Zieltyp>.
Die Operatoren konvertieren Werte in andere Datentypen, wobei explizit nur ein Zieltyp (und kein Ausgangstyp für den Operanden) angegeben wird (überladene Konvertierung).
Die Regeln für die getypten Konvertierungen gelten auch hier bei der Überladung.
Überladungen sind nicht Teil der IEC 61131-3.
Aufrufsyntax: <TO_<Zieltyp> ( <Operand> )
Tabelle 10. Überladungsoperatoren TO_<Zieldatentyp>
Operator | Beispiel | Rückgabewert | Beschreibung |
---|
TO___UXINT
| TO___UXINT(123.4)
| 123
| __UXINT, __XINT, __XWORD |
TO___XINT
| TO___UXINT(123.4)
| 123
| __UXINT, __XINT, __XWORD |
TO___XWORD
| | | __UXINT, __XINT, __XWORD |
TO_BIT
| | | BIT |
TO_BOOL
| TO_BOOL(0.001)
| TRUE
| BOOL |
TO_BYTE
| | | Integer |
TO_DATE
| | | Syntax: D#jjjj-MM-dd, DATE#jjjj-MM-dd Datentyp: DATE |
TO_DATE_AND_TIME
TO_DT
| TO_DT(0)
| DT##1970-1-1-0:0:0
| Syntax: DT#jjjj-MM-dd-hh:mm:ss, DATE_AND_TIME#jjjj-MM-dd-hh:mm:ss Datentyp: DATE |
TO_DINT
| | | Integer |
TO_DWORD
| | | Integer |
TO_INT
| TO_INT(4.22)
TO_INT(123.4)
| 4 123 | Integer |
TO_LDATE
| | | Syntax:LDATE#jjjj-MM-dd Datentyp: DATE |
TO_LDT
| | | Syntax:LDT#jjj-MM-dd-hh:mm:ss.sss Datentyp: DATE |
TO_LINT
| | | Integer |
TO_LREAL
| | | REAL, LREAL |
TO_LTIME
| | | Datentyp: TIME, LTIME |
TO_LTOD
| | | Syntax: LTOD#hh:mm:ss.sssssssss Datentyp: DATE |
TO_LWORD
| | | Integer |
TO_REAL
| | | REAL, LREAL |
TO_SINT
| | | Integer |
TO_STRING
| TO_STRING(342)
| '342'
| STRING |
TO_TIME
| TO_TIME(SysTimeGetMs())
| Systemzeit | Datentyp: TIME, LTIME |
TO_TOD
| | | Datentyp: DATE |
TO_UDINT
| | | Integer |
TO_UINT
| TO_UINT(D#2019-9-3)
| 44288
| Integer |
TO_ULINT
| | | Integer |
TO_USINT
| | | Integer |
TO_WORD
| | | Integer |
TO_WSTRING
| TO_WSTRING('Hello World')
| "Hello World!"
| WSTRING |