如果REAL/LREAL转换为 SINT、USINT、INT、UINT、DINT、UDINT、LINT 或 ULINT,并且实数值超出该整数值的范围,则不能定义结果,并可能导致控制器异常
在执行转换之前,请先验证变量是否有溢出的可能性,并验证 REAL/LREAL 的值是否在目标整数类型的范围内
当使用REAL_TO_INT或LREAL_TO_INT时,要确保被强制转换的值小于263(当然,REAL严格意义上的范围是232),否则控制器的TwinCAT 3内核服务会出错停止,并伴随Exception的报错:
另外就是字符串类型的转换,要确保被强制转换的值需要小于215,否则超过的部分会被四舍五入