西门子PLC实数和长整数间的转换

指 令
说 明
rnd
将实数化整为最接近的整数。
rnd+
将实数化整为大于或等于该实数的最小整数
rnd-
将实数化整为小于或等于该实数的最大整数
trunc
取实数的整数部分(截尾取整)
因为实数的数值范围远大于32位整数,所以有的实数不能成功地转换为32位整数。如果被转换的实数格式非法或超出了32位整数的表示范围,则在累加器1中得不到有效结果,而且状态字中的ov和os被置1。
上面的指令都是将累加器1中的实数化整为32位整数,因化整的规则不同,所以在累加器1中得到的结果也不一致,如下表
执行的
指令
累加器l内容
说 明
化整前
化整结果
rnd
+99.5
+100
将实数化整为最接近的整数
rnd+
+99.5
+100
将实数化整为大于或等于该实数的最小整数
rnd-
+99.5
+99
将实数化整为小于或等于该实数的最大整数
trunc
+99.5
+99
只取实数的整数部分(截尾取整)