您现在的位置是:首页 > PLC技术 > PLC技术
S7 300/400双整数与浮点数之间的转换
来源:艾特贸易2017-06-05
简介(1) 双整数转换为浮点数 DTR 指令将累加器 1 中的 32 位双整数转换为 32 位 IEEE 浮点数(实数),结果仍在累加器 1 。因为 32 位双整数的精度比浮点数的高,指令将转换结果四舍五入。
(1)双整数转换为浮点数
DTR指令将累加器1中的32位双整数转换为32位IEEE浮点数(实数),结果仍在累加器1。因为32位双整数的精度比浮点数的高,指令将转换结果四舍五入。
(2)浮点数转换为双整数
浮点数转换为双整数有4条指令,它们将累加器1中的浮点数转换为32位整数。因为转换规则不同,得到的结果也不相同,表3-9给出了不同的取整格式的例子。
表3-9 不同的取整格式举例
指令
取整前
取整后
说 明
RND
+ 100. 6
- 100. 6
+ 101
- 101
将浮点数转换为四舍五入
的双整数
RND+
+ 100. 2
- 100. 6
+ 101
- 100
将浮点数转换为大于等于
它的最小双整数
RND -
+100. 6
- 100. 2
+ 100
- 101
将浮点数转换为小于等于
它的最大双整数
TRUNC
+ 100. 7
- 100. 7
+ 100
- 100
将浮点数转换为截位取整
的双整数
因为浮点数的数值范围远远大于32位整数,有的浮点数不能成功地转换为32位整数。如果被转换的浮点数超出了32位整数的表示范围,得不到有效的结果,此时状态字中的OV和OS位被置1。
【例子】将101in(英寸)转换为以cm(厘米)为单位的整数,保存到MW0。
L 101.0 //将浮点数101.0装入累加器1
L 2. 54 //将浮点数2.54装入累加器1,累加器1的内容装入累加器2
*R //101.0乘以2.54,得256. 54cm
RND //四舍五入转换为整数257
T MW 0
点击排行
