家庭能源网关开发历程④:收官!Modbus协议解析,读取JSY-MK-163T模块电能数据全流程

来源:JSY-KJ(健思研科技)

发布时间:2026-04-03


一、先搞懂:Modbus协议的定义





MODBUS 协议在一根通讯线上采用主从应答方式的通讯连接方式。首先,主计算机的信号 寻址到一台唯一地址的终端设备(从机),然后,终端设备发出的应答信号以相反的方向传输 给主机,即:在一根单独的通讯线上信号沿着相反的两个方向传输所有的通讯数据流(半双工的工作模式)

MODBUS报文格式

设备地址/从站地址: 1个字节 指定目标设备地址(从站地址)

功能码:1个字节 功能码在modbus协议用于表示信息帧的功能,例如读取线圈状态、读取寄存器等。

数据: N个字节 后面数据根据不同功能码不同。

CRC校验:循环冗余校验码,用于检测报文完整性和数据错误

MODBUS常用功能码

MODBUS读取数据

MODBUS校验

功能码03发送报文函数

功能码06写单个寄存器

功能码10写多个寄存器

功能码发送函数

功能码03解析函数

功能码06解析函数

功能码10解析函数

清空接受

中断接收数据组包

MODBUS解析

首先我们先通过手册去看电能数据的起始地址,在结合我们的功能码读取相应数据,并通过手册的解析公式转换后得到最后的电能。

功能码03读一个或多个寄存器解析

注意:以产品手册为例

请求:01 03 00 48 00 0A 45 DB(读0048开始的10个寄存器)

第1位01设备地址

第2位03功能码

第3,4位00 48起始地址

第5,6位00 0A查询寄存器长度,查询10个寄存器

第7,8位45 DB是CRC校验码

响应:01 03 14 5F C0 01 8F 03 D5 00 00 07 C0 03 E8 00 00 01 E6 6E 5E 13 86 F9 F1

前2位设备地址和功能码,同请求发送的报文

第3位14是后面数据位的长度,每一个寄存器长度为2个字节,所以总长20(0x14)

第4位开始,20位都是数据位

对照我们电能数据表红色数据

第4,5位5F C0对应 0048 寄存器,即为电压:0x5FC0=24512,根据公式除以 100 为 245.12V

第6,7位01 8F电流:0x018F:根据公式除以 100 为 3.99A

第8,9位03 D5有功功率:0x03D5:根据公式981W

第10,11,  12,13位00 00 07 C0电能:0x000007C0:根据公式除以 3200为 62KWh

第14,15位03 E8功率因素:0x018F:根据公式除以 1000 为1

第16,17,18,19位00 00 01 E6二氧化氮排放量:0x000001E6:根据公式除以 1000 为 486Kg

第17,18位6E 5E温度:0x018F:根据公式除以 1000 为 28.254度

第19,20位13 86频率:0x1386:根据公式除以 100 为 49.98Hz

如果我们要更改模块的ID和通信速率,就需要功能码06和10去更改。如果是想一次一次改就用功能码06分别去改ID和波特率,功能码10就可以一次性改。首先我们先根据手册去看模块默认的ID和波特率。如下图:

功能码06写单个寄存器解析

请求:01 06 00 04 00 37 89 DD

向地址为4的寄存器写入55。

第1位01设备地址

第2位06功能

第3,4位00 04写入的起始地址

第5,6位00 37写入寄存器的值

第7,8位89 DD位CRC校验码

响应:01 06 00 04 00 37 89 DD

写入成功,响应报文与写入报文一致

功能码10写多个寄存器解析

改ID和波特率

请求:02 10 00 04 00 01 02 01 06 32 B6

第1位02设备地址

第2位10功能码

第3,4位00 04写入的起始地址

第5,6位00 01寄存器数量

第7位02字节计数

第8位01表示改的ID

第9位06表示改的波特率

第10,11位32 B6表示校验码

响应:01 10 00 04 00 01 40 08

第1位01设备地址

第2位10功能码

第3,4位00 04写入的起始地址

第5,6位00 01寄存器数量

第7,8位位CRC校验码

结果如下图:


0
0
收藏
纠错

免责声明

  • 1、本文内容版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系感算商城(service@gansuan.com),我方将及时处理。
  • 2、本文的引用仅供读者交流学习使用,不涉及商业目的。
  • 3、本文内容仅代表作者观点,感算商城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。
  • 4、如需转载本方拥有版权的文章,请联系感算商城(service@gansuan.com)注明“转载原因”。未经允许私自转载感算商城将保留追究其法律责任的权利。

最新消息通知

样品申请

  • 品牌
  • 申请数量

  • 商品分类
  • 单价
    -
  • 封装
  • 库存
  • 供应商
  • 小计
    -
  • 1.多样品申请请先加入样品清单
  • 2.样品申请数量有限,超过限额可能不能获批
纠错反馈 关闭
感谢您对感算商城的支持,帮助我们共同提升商品信息的准确性。
如果您发现商品介绍、规格参数、规格书、商品图片等信息有误或不完善,欢迎指出。
感谢您对感算商城的支持,帮助我们共同提升网站内容信息的准确性。
如果您发现网站内容信息有误或不完善,欢迎指出。
纠错内容

上传附件
最多可添加3个文件,支持多种格式,每个大小不超过20MB
*详细描述
0/200