Skip to main content

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> )

Operand

Data Type

Description

Variable, Literal

Standard data type

Data TypesData Types

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