在线Modbus-RTU报文解析器
编程开发
在线解析Modbus RTU通信协议报文,支持主站→从站、从站→主站双向解析,自动校验CRC,详细解读设备地址、功能码、数据域
Modbus RTU 协议解析 支持 8 种功能码 自动 CRC16 校验
快捷样例
报文输入
支持空格、0x前缀,自动过滤非法字符
常用功能码参考
0x01
读线圈寄存器
取得一组逻辑线圈的当前状态(ON/OFF)
数据类型:位
0x02
读离散输入寄存器
取得一组开关输入的当前状态(ON/OFF)
数据类型:位
0x03
读保持寄存器
在一个或多个保持寄存器中取得当前的二进制值
数据类型:整型、浮点型、字符型
0x04
读输入寄存器
在一个或多个输入寄存器中取得当前的二进制值
数据类型:整型、浮点型
0x05
写单个线圈寄存器
强置一个逻辑线圈的通断状态
数据类型:位
0x06
写单个保持寄存器
把具体二进制值装入一个保持寄存器
数据类型:整型、浮点型、字符型
0x15
写多个线圈寄存器
强置一串连续逻辑线圈的通断
数据类型:位
0x16
写多个保持寄存器
把具体的二进制值装入一串连续的保持寄存器
数据类型:整型、浮点型、字符型
工具说明
📖 Modbus RTU 报文结构
| 字段 | 长度 | 描述 |
|---|---|---|
| 设备地址 | 1 字节 | 从机地址1-247,0为广播地址 |
| 功能码 | 1 字节 | 主机要求从机执行的操作类型 |
| 数据 | 可变(0-252字节) | 命令的具体参数,格式取决于功能码 |
| CRC校验 | 2 字节 | 检查数据在传输过程中是否有错误 |
📝 使用说明
输入报文
在输入框中粘贴或输入Modbus RTU十六进制报文
选择方向
选择报文方向:主站→从站(请求)或从站→主站(响应)
自动解析
系统自动解析报文结构,显示各字段含义
查看详情
查看详细的数据域解析和CRC校验结果
⚠️ 注意事项
所有解析在浏览器本地完成,不会上传任何数据
支持多种十六进制格式,系统会自动过滤非法字符
自动计算CRC16校验码,验证数据完整性
目前支持0x01-0x06、0x0F、0x10等常用功能码,其他功能码显示原始数据
❓ 常见问题
Q1: 什么是Modbus RTU协议?
Modbus RTU是一种串行通信协议,采用主从架构,广泛用于工业控制设备之间的通信。RTU(Remote Terminal Unit)表示远程终端单元,使用二进制编码,数据传输效率高。
Q2: CRC校验是什么?
CRC(Cyclic Redundancy Check)是循环冗余校验,用于检测数据在传输过程中是否出错。Modbus RTU使用CRC16校验,多项式为0xA001,校验码占2字节。
Q3: 功能码有哪些?
常用功能码包括:0x01-0x04(读操作)、0x05-0x06(写单个)、0x0F-0x10(写多个)。功能码最高位为1表示错误响应。
Q4: 如何判断报文方向?
主站→从站是请求报文,包含要执行的操作和参数;从站→主站是响应报文,包含执行结果或请求的数据。通过选择正确的方向可以准确解析报文含义。
Q5: 地址0是什么?
地址0是广播地址,主站向地址0发送请求时,所有从站都会接收并执行,但不会响应。正常通信时从站地址范围为1-247。
💡 使用场景
| 场景 | 说明 |
|---|---|
| PLC通信调试 | 解析PLC与上位机之间的Modbus RTU通信报文,排查通信故障 |
| 工业控制开发 | 开发和调试工业控制系统时,验证Modbus RTU报文格式是否正确 |
| 串口监控分析 | 分析串口监控工具捕获的Modbus RTU通信数据 |
| 传感器数据采集 | 解析从Modbus RTU传感器读取的数据报文 |
| 教学培训 | 学习Modbus RTU协议结构,理解各功能码的含义 |