包含过载的转换

概述

有关类型转换期间需考虑的一般说明,请参阅章节类型转换功能

注: 从较大数据类型转换为较小类型可能会导致丢失信息。

包含过载的转换不由标准 {(notrans) IEC 61131-3} 指定。如要符合此标准,请使用语法 <type> _TO_ <another type> 的操作符,如本章所述。

包含类型的转换的规则也适用于包含过载的转换。

定义

在包含过载的转换中,操作符将值转换为其他数据类型,仅显式指定目标数据类型,而不显式指定源数据类型(操作数的数据类型)。

语法

<variable name> := <TO operator> ( <operand> );
<operand> = <variable name> | <literal>

ST 中的示例

VAR
    iNumber_1 : INT;
    rNumber_2 : REAL := 123.456;
    iNumber_2 : INT;
    xIsTrue : BOOL;
    sOutputText : STRING;
    sText : STRING := 'Hello World!';
    wsText: WSTRING;
    dateEvent : DATE := D#2019-9-3;
    uiEvent : UINT;
    uxiData : __UXINT;
END_VAR

ST 中的示例和转换结果:

示例

结果

iNumber_1 := TO_INT(4.22);

4

iNumber_2 := TO_INT(rNumber_2);

123

xIsTrue := TO_BOOL(1); 

TRUE

sOutputText := TO_STRING(342);

'342'

wsText := TO_WSTRING(sText);

"Hello World!"

uiEvent := TO_UINT(dateEvent);

44288

uxiData := TO___UXINT(iNumber_2);

123