当前位置: 首页 > news >正文

Modbus RTU 与 Modbus TCP 深入指南-帧结构与报文格式

三、帧结构与报文格式

3.1 Modbus RTU 帧结构

3.1.1 帧组成
字段长度说明
起始≥3.5字符静默帧分隔符(非显式字节)
地址域1字节0=广播,1-247=从站地址,248-255=保留
功能码1字节1-127=公共功能码,128-255=异常响应
数据域N字节随功能码变化(寄存器地址、数量、写入值等)
CRC校验2字节CRC-16,低字节在前(小端序)
结束≥3.5字符静默帧结束标志
3.1.2 完整示例

请求:读1号从站,从地址0x0000开始读2个保持寄存器

01 03 00 00 00 02 C4 0B │ │ │ │ └─────┘ │ │ │ │ └── CRC: 0x0BC4(低字节0xC4,高字节0x0B) │ │ │ └── 数量: 2 (0x0002) │ │ └── 起始地址: 0x0000 │ └── 功能码: 03 (读保持寄存器) └── 地址: 1

响应(假设寄存器0x0000=0x1234,0x0001=0x5678):

01 03 04 12 34 56 78 D7 2E │ │ │ │ └─────┘ │ │ │ │ └── CRC: 0x2ED7(低字节0xD7,高字节0x2E) │ │ │ └── 数据: 0x1234, 0x5678(共4字节) │ │ └── 字节数: 4 │ └── 功能码: 03 └── 地址: 1

3.2 Modbus TCP 帧结构

3.2.1 帧组成
字段长度说明
事务标识符2字节客户端生成,服务器原样返回,用于匹配请求/响应
协议标识符2字节必须为 0x0000(Modbus协议),非0为其他协议
长度2字节后续字节总数 = 1(单元ID)+ PDU长度
单元标识符1字节原RTU地址,用于串口子设备路由(TCP网关场景)
功能码1字节同RTU
数据域N字节同RTU

注意:Modbus TCP 没有 CRC 字段(由 TCP/IP 协议栈提供校验)!

3.2.2 完整示例

请求:读单元ID=1的设备,从地址0x0000读2个保持寄存器

00 01 00 00 00 06 01 03 00 00 00 02 │ │ │ │ │ │ │ └──────┘ │ │ │ │ │ │ │ └── 数据域(与RTU完全相同) │ │ │ │ │ │ └── 单元ID: 1 │ │ │ │ │ └── 长度: 6(1字节单元ID + 5字节PDU?) │ │ │ │ └── 协议标识符低位: 0 │ │ │ └── 协议标识符高位: 0 → 协议ID = 0x0000 │ │ └── 事务标识符低位: 1 │ └── 事务标识符高位: 0 → 事务ID = 0x0001 └── 事务标识符(0x0001)

长度字段详解0x0006表示后续有6个字节(单元ID 1 + 功能码 1 + 数据域 4)。

响应

00 01 00 00 00 05 01 03 02 12 34 │ │ │ │ │ │ │ │ │ └── 数据高位 │ │ │ │ │ │ │ │ └── 数据低位 │ │ │ │ │ │ │ └── 字节数: 2 │ │ │ │ │ │ └── 功能码: 03 │ │ │ │ │ └── 单元ID: 1 │ │ │ │ └── 长度: 5 (1+1+2+1? 重新计算) │ │ │ └── 协议ID: 0 │ │ └── 事务ID: 1

长度实际计算:0x0005 = 5,后续字节数 = 单元ID(1) + 功能码(1) + 字节数(1) + 数据(2) = 5,正确。

3.3 RTU 与 TCP 帧格式对比图

RTU 帧: +--------+--------+--------+-------------+--------+--------+ | 地址 | 功能码 | 数据 | | CRC低 | CRC高 | | (1 B) | (1 B) | (N B) | | (1 B) | (1 B) | +--------+--------+--------+-------------+--------+--------+ ↑ 静默时间分隔 TCP 帧(封装在TCP段内): +--------+--------+--------+--------+--------+--------+-------------+ | 事务ID | 协议ID | 长度 | 单元ID | 功能码 | 数据 | | | (2 B) | (2 B) | (2 B) | (1 B) | (1 B) | (N B) | | +--------+--------+--------+--------+--------+--------+-------------+ ↑ MBAP 头部(7字节) ↑ PDU(协议数据单元)
http://www.jsqmd.com/news/758749/

相关文章:

  • 告别混乱窗口:用QTTabBar实现Windows资源管理器的标签页革命
  • 番茄小说下载器:构建你的个人数字图书馆的3种技术方案
  • FanControl终极指南:如何用免费软件实现Windows风扇智能控制
  • 【RK3506实战-03】Linux eMMC 实战全攻略
  • Quectel RM255C系列5G RedCap模块技术解析与应用
  • 2026 年最佳手机杀毒软件排名公布,多维度对比助你选到合适之选!
  • 【设计模式】命令模式
  • 终极指南:Microsoft REST API中的可空属性设计与可选字段处理策略
  • 强力淘金币自动化:彻底解放淘宝用户的时间与精力
  • 即梦怎么去水印?2026最新 最全去水印手机方法和工具盘点 - 爱上科技热点
  • 2026年OpenClaw如何部署?阿里云及Coding Plan配置保姆级指南
  • 从爬虫到文件下载:Hutool HttpUtil在Java项目中的5个实战场景(含进度监控与代理配置)
  • AI就业影响研究报告:哪些工作最危险? - AI Prism 智棱
  • 2026 武汉GEO服务商全景评测:五大头部机构实力解析 - GEO优化
  • 2026最新年抖音视频怎么提取无水印版本?官方下载无水印视频的全方法盘点 - 爱上科技热点
  • 英雄联盟智能助手终极指南:5大高效功能提升你的游戏体验 [特殊字符]
  • 自参考强化学习SRPO在多模态任务中的高效优化
  • 061、Python图像处理基础:PIL/Pillow库实战笔记
  • Unity UI实战:用Slider组件5分钟搞定一个音量调节面板(附完整C#脚本)
  • 在线去本地视频水印的工具有哪些?免费在线去除视频水印工具怎么挑?2026最新 在线去本地视频水印工具推荐 - 爱上科技热点
  • 从CentOS停服倒计时到信创达标验收:Docker 27引擎国产化适配的27天极速通关路径(附工信部认证测试用例集)
  • GME-Qwen2-VL-2B-Instruct图文检索教程:消费级GPU(RTX 3090/4090)适配指南
  • 抖音视频怎么在线去水印?2026最新 抖音视频在线去水印方法,抖音视频在线去水印工具推荐 - 爱上科技热点
  • 2026最新年免费一键去水印工具盘点|一键去水印工具推荐排行榜 - 爱上科技热点
  • 即梦AI去除水印怎么做?2026最新实测教程+工具对比指南 - 爱上科技热点
  • 2026最新年抖音图片去水印最新方法|抖音保存图片怎样去掉水印?4款工具实测对比 - 爱上科技热点
  • 去水印工具免费版哪个好用?2026最新 免费去水印工具对比,免费好用的去水印工具推荐盘点 - 爱上科技热点
  • Trestle高级特性解析:作用域、工具栏和模态框
  • 2026 苏州GEO服务商全景评测:五大头部机构实力解析 - GEO优化
  • 终极RPG Maker资源解密工具:专业解锁加密游戏档案的完整指南