Overloading conversion
Overloading
Tip
The IEC 61131-3 standard does not provide for overloaded functions.
If you want to program strictly according to IEC 61131-3, then you need to use the operators of the syntax <output type> _TO_ <target type> as described in the following sections.
The operators convert values into other data types, explicitly specifying only a target type (and no output type for the operands) (overloaded conversion).
The rules for typed conversions also apply here for overloading.
Overloading is not part of the IEC 61131-3 standard.
Call syntax: <TO_<target type> ( <operand> )
Table 11. Overload operators: TO_<target data type>
Operator | Example | Return Value | Description |
---|
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#yyyy-MM-dd, DATE#yyyy-MM-dd Data type: DATE |
TO_DATE_AND_TIME TO_DT | TO_DT(0)
| DT##1970-1-1-0:0:0 | Syntax: DT#yyyy-MM-dd-hh:mm:ss, DATE_AND_TIME#yyyy-MM-dd-hh:mm:ss Data type: DATE |
TO_DINT | | | Integer |
TO_DWORD | | | Integer |
TO_INT | TO_INT(4.22)
TO_INT(123.4)
| 4 123 | Integer |
TO_LDATE | | | Syntax: LDATE#yyyy-MM-dd Data type: DATE |
TO_LDT | | | Syntax: LDT#yyyy-MM-dd-hh:mm:ss.sss Data type: DATE |
TO_LINT | | | Integer |
TO_LREAL | | | REAL, LREAL |
TO_LTIME | | | Data type: TIME, LTIME |
TO_LTOD | | | Syntax: LTOD#hh:mm:ss.sssssssss Data type: DATE |
TO_LWORD | | | Integer |
TO_REAL | | | REAL, LREAL |
TO_SINT | | | Integer |
TO_STRING | TO_STRING(342)
| '342' | STRING |
TO_TIME | TO_TIME(SysTimeGetMs())
| System time | Data type: TIME, LTIME |
TO_TOD | | | Data type: 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 |