当前位置:网站首页>虹科干货 | 教您如何解析MODBUS中的浮点型数据
虹科干货 | 教您如何解析MODBUS中的浮点型数据
2022-07-23 17:43:00 【hongke_iiot】
前言
工业树莓派支持MODBUS TCP/RTU通讯协议,因此,在使用Modbus协议的温湿度传感器、电子天平、PLC等设备场景中应用十分广泛。当工业树莓派作为MODBUS TCP/RTU主站时,最多可以连接30个从站设备,由此可见,工业树莓派具有较好的可扩展性。
一、 面临的挑战
MODBUS从站设备有16位整型数据,但应用更多的是32位浮点型数据,这是因为32位浮点型数据能够在通讯过程中的控制更加精准,这类常应用于如电子天平的体重数据、温湿度传感器的温度/湿度数据、电机的转速等场景。
但在这个过程中会面临数据解析的问题:浮点型数据的应用需要遵循IEE745的数据转换规则,以实现与整型数据的转换和利用。
寄存器只能存放16位数据,所以浮点型数据会被拆分成两个数据部分,分别存放在相邻的两个寄存器中,具体如下:
1. 在进行数据读取的时候,需要把两个寄存器数据通过数据解析还原成浮点型数据(如图1中所示);
2. 在进行数据写入的时候,要通过数据解析把一个浮点型数据拆分成两个十六进制分别写入到相应的寄存器内(如图2中所示)。图1. 寄存器数据合并成浮点型数据图1. 寄存器数据合并成浮点型数据图1. 寄存器数据合并成浮点型数据

图1. 寄存器数据合并成浮点型数据

图2. 浮点型数据写入到寄存器
二、解决方案
针对此类问题,虹科提供一种解析方法,具体如下:
1、读取两个寄存器数据,通过位操作把两个寄存器数据合并成浮点型数据。



2、写入一个浮点型数据,通过位运算把32位浮点型数据拆分成两个16位整型数据,分别写入到两个寄存器中。


三、总结
工业树莓派采用Debian系统,开源性较高,可以通过C/C++、Java、C#、Python等方式进行编程。关于浮点型数据转换成16进制整型数据并进行数据解析可以使用的方法有很多,以上仅为其中一种数据解析方法,这种解析方法存在误差,误差范围为±0.01,可以适用于对浮点型数据精度要求不是特别高的情况。针对以上场景,如有其他解析方法,欢迎添加工程师微信进行交流。
四、方案简介
虹科工业树莓派产品具有实时Raspbian系统,内置Broadco多核处理器具备诸如图像处理类复杂任务处理能力。

此外,它小巧灵活,功耗低,支持用Python/Java/C/C++/C#、Node-RED可视化编程工具进行开发,还能实现CPDESYS软PLC功能,在数据采集和小型控制等场景可帮助用户快速创建应用,实现工业物联网和数字化生产。

了解更多相关资讯,欢迎私信、关注博主
边栏推荐
- GVIM/VIM使用技巧
- 国外芯片,为什么有中文资料和网页?
- Fragment
- Four principles of interface design
- Why are there Chinese materials and web pages for foreign chips?
- elk筆記25--快速體驗APM
- Emgucv common function function description "suggestions collection"
- 1、 Reptile concept and basic process
- 【leetcode天梯】链表 · 203 移除链表元素
- 从txt中读取数据转成yolo格式数据
猜你喜欢
![[C language] program environment and preprocessing](/img/5c/7f14c73e075a54a11d7ff44907c30d.jpg)
[C language] program environment and preprocessing

As a background developer, you must know two kinds of filters

FPGA flash reading and writing based on SPI

J9数字论:数字行业的FOMO现象我们应该怎么克服?

ACM MM 2022 Oral | DIG: 自监督文字识别的新框架,刷新11个公开场景文字数据集的识别性能,平均提升5%...

树莓派3b串口登录前准备工作

Multithreading and high concurrency Day11

Weights & Biases (一)

Mbio | the sun Chaomin formation of Ocean Institute has verified in situ the new pathway of microbial mediated elemental sulfur formation in the deep sea

数据链路层 -------- 以太网 和 ARP
随机推荐
AE tutorial, how to animate illustrator layered documents in after effects?
Lendingclub loan status business details current, charge off, issued, full paid, grace period
elk笔记25--快速体验APM
You must execute multiple requests and catch errors. Using try catch is not elegant
总结一些最近见到的 TRICK
人脸识别系统技术方案
[machine learning] Wu Enda: lifelong learning
【leetcode天梯】链表 · 022 链表中倒数第k个节点
Todo fix bug tag feature and other configurations
Using FRP to achieve intranet penetration
11. Basic concepts of neural network
固态硬盘的工作原理揭秘
R语言使用dwilcox函数生成Wilcoxon秩和统计分布密度函数数据、使用plot函数可视化Wilcoxon秩和统计分布密度函数数据
Conception de l'interface UART basée sur la FPGA
mysqldump导出内容如何不带 comment ?
[shutter -- layout] flexible layout (flex and expanded)
在Hyper-V中手动将.avhd合并到.vhd
Alibaba's latest masterpiece! It took 187 days for the liver to come out. 1015 pages of distributed full stack manuals are so delicious
LeetCode刷题:回文数
关于:在企业局域网中启用 Delivery Optimization