工业报文与注册工具 全部工具

Modbus-TCP 报文解析器

解析结果

Modbus TCP报文结构
用途事务标识协议标识符长度单元标识功能码数据
长度2字节2字节2字节1字节1字节可变(N字节)
描述Modbus请求/响应事务处理的标识0=Modbus协议长度之后的字节总数串行链路或其它总线的从站识别主机要求从机执行的操作类型包含了命令的具体参数,格式和长度却决于功能码
常用功能码详解
功能码名称数据类型作用
0x01读线圈寄存器位取得一组逻辑线圈的当前状态(ON/OFF)
0x02读离散输入寄存器位取得一组开关输入的当前状态(ON/OFF)
0x03读保持寄存器整型、浮点型、字符型在一个或多个保持寄存器中取得当前的二进制值
0x04读输入寄存器整型、浮点型在一个或多个输入寄存器中取得当前的二进制值
0x05写单个线圈寄存器位强置一个逻辑线圈的通断状态
0x06写单个保持寄存器整型、浮点型、字符型把具体二进制值装入一个保持寄存器
0x0F写多个线圈寄存器位强置一串连续逻辑线圈的通断
0x10写多个保持寄存器整型、浮点型、字符型把具体的二进制值装入一串连续的保持寄存器
工具介绍

Modbus-TCP 报文解析工具拆分 MBAP 头与 PDU,展示事务标识、协议标识、长度、单元标识,以及功能码和数据域含义,便于在以太网上排查主站与网关通信。

使用方法
  1. 从调试工具、网关或抓包软件复制十六进制报文,去掉无关前缀后粘贴到输入框。
  2. 确认字节间分隔符与大小写,必要时选择帧类型或波特率等附加参数。
  3. 点「解析」,在结果区查看地址域、功能码、数据域与校验值的分段表格。
  4. 对照下方报文结构说明核对每一段含义;校验失败时先检查是否多复制了空格或回车。
计算公式
MBAP 头(7B):事务标识(2B) + 协议标识(2B,固定 0) + 长度(2B) + 单元标识(1B)
长度字段 = 单元标识(1B) + PDU 字节数
PDU = 功能码(1B) + 数据域;TCP 帧不含 CRC 校验

协议标识非 0 或长度字段与实际字节数不符时,通常是抓包把多帧粘在一起了。

常用场景
现场联调
把主站下发的报文粘进来,确认地址、功能码与寄存器范围是否正确。
故障排查
用校验结果判断是报文传输错误还是终端返回了异常响应。
协议学习
对照结构表逐字节理解规约帧格式。
常见问题
TCP 帧为什么没有 CRC?

Modbus-TCP 依赖以太网与 TCP 的校验,MBAP 头之后不再附加 CRC16。

单元标识有什么用?

用于通过网关访问串行链路上的从站,直连设备时常为 0xFF 或 0x01。

事务标识不匹配?

请求与响应的事务标识应一致,不一致说明响应与请求没有正确配对。

以上内容仅用于说明本工具的使用方法与计算口径;财务、税务、贷款等结果均为估算,实际以官方或合同口径为准。