实数和长整数间的转换——西门子S7系列PLC
2024-02-10  来源:网络或本站原创

     

      

RND

将实数化整为最接近的整数。

RND+

将实数化整为大于或等于该实数的最小整数

RND-

将实数化整为小于或等于该实数的最大整数

TRUNC

取实数的整数部分(截尾取整)

因为实数的数值范围远大于32位整数,所以有的实数不能成功地转换为32位整数。如果被转换的实数格式非法或超出了32位整数的表示范围,则在累加器1中得不到有效结果,而且状态字中的OVOS被置1

上面的指令都是将累加器1中的实数化整为32位整数,因化整的规则不同,所以在累加器1中得到的结果也不一致,如下表

执行的

指令

累加器l内容

   

化整前

化整结果

RND

+995

+100

将实数化整为最接近的整数

RND+

+995

+100

将实数化整为大于或等于该实数的最小整数

RND-

+995

+99

将实数化整为小于或等于该实数的最大整数

TRUNC

+995

+99

只取实数的整数部分(截尾取整)