您好,欢迎来到爱物联
咨询热线:4008 099 256

传感器常见数据类型的数据解析

2021-07-07 09:19:39 208 来源:爱物联-尹丛欣

Modbus 是一种串行通信协议, 是工业领域通信协议的业界标准。现在市面上常见的串口通讯传感器大多遵循标准的modbus RTU的协议。当我们在进行设备测试或者监测的设备出现数据异常时,我们需要抓取报文,来进行问题分析。本文重点介绍,抓取到报文后,不同的数据类型,如何进行数据解析。

一、从报文中找到数据区

不同的功能码,数据区位置不同,这里以0x03功能码为例,数据区为应答帧的红色区域

请求帧

应答帧

二、解析数据区

在进行数据区的解析时,需要看数据的类型、数据的大小端以及是否需要公式转换。

1、 看数据类型

(1)无符号整型

对于无符号整型数据,直接将16进制的报文转换成10进制的数据,此种方式简单易懂,解析容易。

例如:噪声数据报文返回值为00 4A(HEX)=74dB

(2)有符号整型

当传感器所采集的参数是有符号整形数据的时候(例如温度),数据低于0时,报文以补码的形式上传,此种方式对有符号需求的参数较为友好。在进行解析时,正数直接转换10进制;负数需要求其补码。

例如:已知温度传感器返回的报文参数是FF9B,求其温度(单位0.1℃)。

FF9B其补码为1000 0000 0110 0101,FF9B=-101,所以温度数据是-10.1℃

(3)浮点型数据解析

浮点数属于有理数,在计算机中用以近似表示任意某个实数,类似于科学计数法。浮点数有单精度float型,双精度double型,常见为float型,浮点型数据的解析人为计算比较麻烦一般借助计算工具。例如可使用下图中浮点数转换工具进行数据转换。浮点数转换工具下载链接: http://www.iiot.com/product/9949.html#down

2、 看数据的大小端模式

大端模式指数据的高字节保存在内存的低地址中,数据的低字节保存在内存的高地址中。

小端模式指数据的高字节保存在内存的高地址中,数据的低字节保存在内存的低地址中。

一般常用的大端模式,上述数据类型就是按照大端模式来进行解析的。如果某一个传感器采用的是小端数据模式,则需要先做高低位数据的转换,再按照数据的类型进行解析。例如,某叶绿素传感器返回的报文的的数据区是00 00 8D 41,其数据为小端存储float型。则其实际测量值为17.625ug/L

3、看是否需要公式转换

不同厂家的采集公式是不同的,一般产品的说明书中会明确给出计算的公式或者是案例,读者只需根据说明书中的公式进行运算即可,公式法一般会搭配上面几种解析方法使用。例如:某温度传感器应答帧报文数据区数据是19 AD,其采集公式为%s/100-40,单位℃,该传感器检测到的温度数据为:19AD(H)=6573(D),T=6573/100-40=25.73℃

0 条评论

物联网应用

项目咨询
IIoT
手机端
上手机找方案
IIoT
商务合作
扫码添加谈合作
400-8099-256
咨询热线-有人旗下品牌