跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
编程语言

Modbus RTU 协议核心架构、报文解析与现场调试指南

Modbus RTU 采用主从式通信架构,主站主动查询,从站被动响应。数据传输分为 RTU 与 TCP 两种模式,前者基于串口半双工,后者基于以太网全双工。数据模型包含线圈、离散输入及两类寄存器。常用功能码涵盖读写操作,报文由站号、命令、地址、数据及 CRC 校验组成。现场调试需关注物理接线、参数匹配及设备 ID 设置,特别注意地址偏移问题以确保通信稳定。

王者发布于 2026/3/27更新于 2026/6/515 浏览
Modbus RTU 协议核心架构、报文解析与现场调试指南

Modbus RTU 协议核心架构、报文解析与现场调试指南

核心架构:主从式结构 (Client/Server)

Modbus 的设计逻辑很清晰,采用的是典型的主从式通信模型。

  • 主站 (Master/Client):唯一的指令发起方。同一网络内同一时刻仅存在一台主站,负责主动查询从站数据或下发控制指令。
  • 从站 (Slave/Server):指令被动响应方。每台从站配备唯一站号(ID),仅在被主站点名调用时反馈数据或执行指令,无主动发送数据的权限。

这里有个关键点:从站不会主动发送数据,只有在被主站'点名'后才会做出应答。

常见传输模式:RTU 与 TCP

虽然 Modbus 的应用层逻辑一致,但物理层传输方式主要分为以下两种:

对比维度Modbus RTUModbus TCP
通信架构主从式半双工(一主多从,同一时间仅一台设备发数据)客户端/服务器式全双工(支持多客户端并发访问)
传输速率600~115200 bps10/100/1000 Mbps
地址标识(1~247)区分设备IP 地址 + 端口号(默认 502)区分设备
传输距离RS-485 总线最长 1200 米(可加中继延长)以太网有线传输最长 100 米(交换机/光纤可拓展)
抗干扰性RS-485 差分传输,抗电磁干扰能力强需做好以太网防雷、防静电措施

数据模型:四类存储寄存器

Modbus 将数据抽象为四个基本的表。理解这四张表,就理解了数据该如何读写:

文章配图

常用功能码 (Function Codes)

主站通过'功能码'告诉从站要做什么。最常用的功能码如下:

  • 01 (Read Coils):读线圈状态
  • 02 (Read Discrete Inputs):读离散输入状态
  • 03 (Read Holding Registers):读保持寄存器
  • 04 (Read Input Registers):读输入寄存器
  • 05 (Write Single Coil):写单个线圈
  • 06 (Write Single Register):预置单个寄存器
  • 15 (Write Multiple Coils):写多个线圈
  • 16 (Write Multiple Registers):预置多个寄存器

报文结构示例 (Modbus RTU)

请求帧结构

站号命令号起始地址寄存器数量校验位
一个字节一个字节两个字节两个字节(N)两个字节

响应帧结构

站号命令号字节数数据校验位
一个字节一个字节一个字节(2N)N*2 个字节两个字节

我们以一个称重仪表的数据点表来举例。

文章配图

根据该点表显示皮重数据的寄存器地址为 40001、40002,共两个寄存器。假设台秤站号为 10 号,则主站发送的请求帧为:

站号命令号起始地址寄存器数量校验位
0A0300 0000 0270 C5

台秤响应帧应为:

站号命令号字节数数据校验位
0A030400 00 00 00F3 40

常见问题与排查思路

在现场调试 Modbus 时,如果通信不通,请按以下顺序排查:

  1. 物理连接:通信异常时,需逐一校验 RS-485 D+/D- 接线极性、RS-232 TX/RX 收发交叉关系;若使用网关其串口指示灯状态是判断链路通断的核心依据,可通过灯态来快速定位问题。核查总线拓扑是否合规:从站需采用手拉手串联方式,终端电阻仅在总线两端设备并联启用。
  2. 参数匹配:波特率(Baud rate)、数据位、停止位和校验位(N,8,1 或 E,8,1)两端必须完全一致。
  3. 设备 ID:确认从站站号是否冲突或设置错误。
  4. 偏置地址:注意'0-based'与'1-based'地址的区别。有些说明书写地址 1,但在报文中需要发 0。例如 Modbus 40001 在报文中是 00 00;注意读取的寄存器数量不要超出从站的上限。

目录

  1. Modbus RTU 协议核心架构、报文解析与现场调试指南
  2. 核心架构:主从式结构 (Client/Server)
  3. 常见传输模式:RTU 与 TCP
  4. 数据模型:四类存储寄存器
  5. 常用功能码 (Function Codes)
  6. 报文结构示例 (Modbus RTU)
  7. 请求帧结构
  8. 响应帧结构
  9. 常见问题与排查思路
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Ribbon 在 Zuul 1.x 网关中的负载均衡应用
  • Google Gemini 图像生成模型实测:Nano Banana Pro 免费使用指南
  • 手写 C++ TCP 服务器:自定义协议与粘包处理实战
  • 基于 Python librosa 的 CosyVoice3 音频频谱与梅尔倒谱分析
  • AI 大模型在职业教育中的应用解决方案
  • 开源大模型最佳实践:基于 LoRA 微调 Chat-甄嬛示例教程
  • 自然语言处理在教育领域的应用与实战
  • 商汤开源 SenseNova-MARS 多模态搜索推理模型
  • 从 GAN 到 ChatGPT:AIGC 技术演进与实战应用指南
  • 使用 Python 和 Twilio 实现每日自动发送天气短信
  • 深入理解并查集数据结构与实战应用
  • Cursor、Kiro 与 Google Antigravity 深度解析:AI 编程工具新趋势
  • 35 道常见前端 Vue 面试题详解
  • Web 项目 UI 自动化测试实战:从零搭建博客系统测试框架
  • 前端函数防抖详解:原理、手写实现与 Lodash 应用
  • Spring AI 深入解析 MCP 上下文协议、开发与部署安全实践
  • 通义灵码实战指南:从安装配置到全栈开发落地
  • 大语言模型微调指南:LoRA 原理与实践代码
  • Z-Image-Turbo 图片输出格式优化:PNG 转 JPG/WEBP 方案
  • 攻防世界 Web 挑战题解:反序列化、RCE 与文件包含实战

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online