京墨科技

Modbus 通信协议详解

2026-07-07
Modbus RS485 工业协议

协议概述

Modbus 是一种应用层报文传输协议,由 Modicon(现施耐德电气)于 1979 年发布,是目前工业电子设备之间最常用的串行通信协议之一。它采用主/从(Master/Slave)架构,一个主站可以与多达 247 个从站通信。

三种传输模式

模式 物理层 帧格式 典型应用
Modbus RTU RS-232 / RS-485 二进制,8 位数据 工业现场最常用
Modbus ASCII RS-232 / RS-485 ASCII 可读字符 调试/兼容旧设备
Modbus TCP 以太网 TCP/IP 封装 现代工业以太网

寄存器模型

Modbus 定义了四种数据区域,每种有独立的地址空间:

寄存器类型 访问方式 地址范围 用途
线圈(Coil) 读写 00001-09999 开关量输出
离散输入(Discrete Input) 只读 10001-19999 开关量输入
保持寄存器(Holding Register) 读写 40001-49999 模拟量/参数
输入寄存器(Input Register) 只读 30001-39999 模拟量输入

常用功能码

  • 01 (0x01) — 读线圈
  • 02 (0x02) — 读离散输入
  • 03 (0x03) — 读保持寄存器(最常用)
  • 04 (0x04) — 读输入寄存器
  • 05 (0x05) — 写单线圈
  • 06 (0x06) — 写单寄存器
  • 15 (0x0F) — 写多线圈
  • 16 (0x10) — 写多寄存器

调试工具推荐

  • Modbus Poll — Windows 平台经典调试工具,支持 RTU/TCP
  • Modscan — 老牌 Modbus 调试软件
  • QModMaster — 开源跨平台 Modbus 工具
  • Modbus Mechanic — macOS 平台

注意事项

  1. RS-485 总线两端必须接 120Ω 终端电阻
  2. RTU 模式下帧与帧之间至少需要 3.5 个字符时间的静默
  3. 不同厂商的寄存器地址可能存在 偏移(0-based vs 1-based),对接前务必核对