打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
ABBAC900F学习笔记205:modbus通讯16
接着学习文档,第四章4.11小节,实数转换成尾数和指数,功能块RTOME
X

功能:将实数拆分成尾数和指数。某些系统浮点数占用两个WORD,需要将freelance的实数拆分成尾数和指数放入两个WORD进行传输。实数数值作为输入分配给RTME的FLV,功能块自动转换成EXP指数和尾数MNT两个WORD类型数据输出。能够做此拆分输出的师叔范围为:
+0.0001至3.2767*E38
-0.0001至-3.2768*E37
和0
值的代数符号位(z正负)于包含的尾数中(二进制最高位为1是负数,为0是证书).
算法是:首先转换成16位2进制,如果最高位是0,为正数,那么直接换成10进制就是数值,如果首位是1,为负数,将二进制减去1,然后各位取反,再转换成10进制,加上负号。
举例如下
尾数8000H,转换成二进制是1000000000000000,首位是1,负数,减去1为111,1111,1111,1111,各位取反是1000,0000,0000,0000换成10进制加负号是-32768
尾数是FFFF,转换成二进制是1111111111111111,首位是1,为负数,减去1是1111,1111,1111,1110,各位取反是1,所以最终是-1.
尾数是0000,转换成二进制是0000000000000000,首位是0,正数,十进制也是0
尾数是7FF F,转换成二进制是111111111111111,最高位是0,正数,转换成十进制是32767
这个功能块转换效果示例如下:
数值 指数 尾数
65432.0 4 6543
-1234.0 3 53196
12.34 1 12340
1.2345 0 12345
0.12345 0 1235
0.01234 0 123
0.001234 0 12
0.000123 0 1
32767.0 4 32767
123456789.0 8 12346
-0.1 0 64536
-1.0
0 55536

上表是不是看着有点懵逼?刚开始我也是这样子的,和我理解的不太一样。ABB文档没有介绍具体算法,只有在网络上IT网站搜索一下。
浮点数(单精度浮点数与双精度浮点数)在计算机中的存储 - 秋天掰穗人 - 博客园 (cnblogs.com)
先把这个知识点放下,以后我领会了再补充。
这个功能块无法可视化,也为u发在freelance operation运行时进行操作。
参数配置

没有参数需要填写
功能块数据
名字 数据类型 配置 访问 注释
输入端
EN BOOL
YES RW 使能。TRUE:功能块可用。
FVL REAL NO RW 需要转换的实数
输出端
ENO BOOL NO RO 处理状态。TRUE:功能块处理完成
EXP WORD NO RO 指数
MNT WORD NO RO 尾数
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
浮点数到整数的快速转换
浮点数float是如何在计算机里存储的?
浮点数的二进制表示学习笔记
定点数与浮点数
为什么计算机中不叫小数而叫浮点数?看完你就明白了
阶码、定点整数
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服