REAL_TO-/ LREAL_TO 转化

IEC 操作: 转化从变量类型 REAL 或者 LREAL 到一个不同的类型:

该值将被四舍五入到最接近的整数,转换成新的变量类型。例外情况发生在变量类型 STRING, BOOL, REAL 和 LREAL.

提示!

如果一个 REAL 或者 LREAL 转化为 SINT, USINT, INT, UINT, DINT, UDINLINT 或者 ULINT 以及其他超出整数范围的实数,结果将不确定并且基于目标系统。在这种情况下,例外是可能的!为了获得基于目标的代码,应用程序会出来任何超出范围的值。如果 real/lreal 数位于整数范围内,转化过程在所有的操作系统都是相同的。

注意在转化为类型 STRING 时数字的总数量被限制在 16。如果 (L)REAL-数具有更多的位数,那么第十六位将被认为超出范围处理。如果 STRING 定义的太短,在转化过程中将会被从右端切断。

提示!

当将一个大的数据类型转化为一个小的数据类型时,将会有信息丢失。

ST 示例:

i := REAL_TO_INT(1.5); (* Result is 2 *)

j := REAL_TO_INT(1.4); (* Result is 1 *)

i := REAL_TO_INT(-1.5); (* Result is -2 *)

j := REAL_TO_INT(-1.4); (* Result is -1 *)

 

IL 示例:

 

FBD 示例: