Modbus RTU 与 Modbus TCP 协议

协议概述

Modbus是一种串行通信协议,由Modicon(现在的施耐德电气)于1979年发布。 它已成为工业电子设备之间通信的事实标准,广泛应用于PLC、仪表、传感器等设备。

Modbus 变体

  • Modbus RTU:基于RS485/RS232串行通信,二进制编码,高效紧凑
  • Modbus TCP:基于以太网TCP/IP,Modbus RTU帧封装在TCP包中
  • Modbus ASCII:基于串行通信,ASCII编码,可读性强但效率低

数据模型

Modbus协议定义了四种标准数据表,通过功能码访问:

数据表类型功能码(读)功能码(写)数据类型
线圈(Coils)0105, 15位(0/1)
离散输入(Discrete Inputs)02只读位(0/1)
保持寄存器(Holding Registers)0306, 1616位字
输入寄存器(Input Registers)04只读16位字

Modbus RTU 帧结构

┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
│  地址域  │  功能码  │  数据域  │  校验域  │          │          │
│  1字节   │  1字节   │  N字节   │  2字节   │          │          │
└──────────┴──────────┴──────────┴──────────┴──────────┴──────────┘
     │          │          │          │
     │          │          │          └─ CRC16校验(低字节在前)
     │          │          └─ 寄存器地址、数量、数据值等
     │          └─ 01-0F(十进制),定义操作类型
     └─ 从站地址(01-247),00为广播地址

地址偏移问题

⚠️ 常见陷阱

Modbus地址存在偏移问题,不同厂商使用不同的地址约定:

  • PLC地址:通常从1开始(如40001)
  • 协议地址:通常从0开始(如0x0000)
  • 文档标注:需要确认是PLC地址还是协议地址
  • 实际配置:注意是否需要±1的偏移

通信时序

Modbus RTU 时序要求

  • 帧间隔:≥3.5字符时间(约4ms @9600bps)
  • 响应超时:通常100ms-1s,可配置
  • 字符间隔:≤1.5字符时间,否则认为帧结束
  • 轮询间隔:建议≥50ms,避免总线冲突

常见问题与排查

问题:无响应(No Response)

可能原因:

  • 从站地址错误
  • 通信参数不匹配(波特率、数据位、停止位、校验位)
  • 功能码不支持
  • 寄存器地址错误

解决方法:核对从站地址、通信参数、功能码和寄存器地址

问题:异常响应(Exception Response)

可能原因:

  • 功能码不支持(异常码01)
  • 寄存器地址越界(异常码02)
  • 数据值无效(异常码03)
  • 从站忙(异常码06)

解决方法:根据异常码定位问题,检查设备手册

问题:CRC校验错误

可能原因:

  • 通信干扰
  • 线缆质量差
  • 终端电阻问题
  • 接地不良

解决方法:检查RS485布线、终端电阻、屏蔽接地

常见问题 FAQ

Q: Modbus RTU和Modbus TCP可以混用吗?

A: 可以。通过Modbus网关可以实现RTU和TCP之间的协议转换。主站使用TCP,网关转换为RTU与从站通信。

Q: Modbus最大支持多少个寄存器?

A: 理论上,每种数据表最多65536个地址(0-65535)。但实际设备支持的寄存器数量取决于设备能力。

Q: 如何提高Modbus通信效率?

A: 使用批量读写功能码(15、16)、减少轮询间隔、提高波特率、使用Modbus TCP替代RTU、优化主站轮询策略。

Q: Modbus通信距离可以很远吗?

A: Modbus RTU基于RS485,最大距离1200米。Modbus TCP基于以太网,最大距离100米(可通过交换机扩展)。

Q: Modbus安全性如何?

A: Modbus协议本身没有安全机制(无认证、无加密)。在工业网络中需要通过防火墙、VPN、网络隔离等措施保障安全。

Q: 如何选择Modbus主站软件?

A: 根据需求选择:调试用Modbus Poll、开发用开源库(如libmodbus)、集成用商业软件。考虑协议支持、功能完整性、易用性。

相关资源