STRING_TO 转换

概述

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

定义

IEC 操作符,用于从变量类型 STRING 到不同类型的转换。

语法

STRING_TO_<数据类型>

指定值

指定匹配 IEC61131-3 标准的 STRING 操作数类型。该值必须与目标类型的有效 常量(文字) 向对应。

可转换的字符串可以包含:

  • 包含类型前缀的数值(如: '16#FFFFFFFF'

  • 包含分组字符的数值(如:'2#1111_1111'

    注: 使用下划线,因为不允许使用国际计量分组字符(窄空格)。
  • 同样为指数计数制的浮点数(如: '9.876''1.2E-34'

    注: 浮点数无法转换。逗号被视为后接字符,因此被删节。
  • 包含前缀和大小的时间、当天的时间、以及日期指定(如:'T#2h''DT#2019-9-9-12:30:30.9'

  • 无穷值(如:'1.7E+400'

  • 数值后面的附加字符(如:'2m''3.14')被删节。不允许在数值前面添加字符。

  • 前方的空格(如:' 3.14'

操作数必须代表目标数据类型的有效值。

注: 如果操作数的数据类型不匹配目标类型,或者如果值超出目标数据类型的范围,则结果将取决于处理器类型,并因此而不会被加以定义。

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

 小心
数据丢失
在转换不匹配的数据类型或被转换值大于目标数据类型时,确保这些结果已经在您的应用程序中经过验证。
不遵循上述说明可能导致人身伤害或设备损坏。

IL 中的示例

示例

转换结果

LD 'TRUE'
STRING_TO_BOOL
ST b

TRUE

ST 中的示例

示例

转换结果

b := STRING_TO_BOOL('TRUE');

TRUE

w := STRING_TO_WORD('abc34');

0

w := STRING_TO_WORD('34abc');

34

t := STRING_TO_TIME('T#127ms');

T#127ms

r := STRING_TO_REAL('1.234');

1.234

bv := STRING_TO_BYTE('500');

244

FBD 中的示例

示例

转换结果

TRUE