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 10. 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 |