Modbus 总览与工作原理

Modbus 总览与工作原理

Modbus = 应用层客户/服务器报文协议
不绑定某一种物理介质:同一 PDU 可跑在 RS-485 RTU 或以太网 TCP 上
官方规格页:https://www.modbus.org/modbus-specifications


1. Modbus 是什么

Modbus 提供设备间的远程数据访问:读线圈、读寄存器、写单个/多个点等。
通信模型是 Client 发起请求 → Server 应答(串行时代常称 Master/Slave)。

属性
起源 Modicon(现施耐德)1979
维护 Modbus Organization
应用层规范 Application Protocol V1.1b3
串行线 Serial Line V1.02(RTU / ASCII)
TCP Messaging Implementation Guide V1.0b;默认端口 502
最大 PDU 253 字节(继承串行 ADU≤256 的历史约束)
TCP ADU PDU + 7 字节 MBAP ≈ 260 字节

2. 分层:PDU 与 ADU

1
2
3
4
5
┌─────────────────────────────────────┐
│ PDU │ Function Code + Data(传输无关)
├─────────────────────────────────────┤
│ ADU │ 加上地址 / MBAP / CRC 等
└─────────────────────────────────────┘
传输 ADU 组成(概念)
RTU Address(1) + PDU + CRC(2)
ASCII : + 十六进制字符编码 + LRC + CR LF
TCP MBAP(7) + PDU(无 CRC,由 TCP 校验)

关键点:学会功能码与数据模型后,换 RTU/TCP 只是换“信封”。


3. 典型事务

1
2
3
Client                         Server
│── Request (FC + 地址/数量) ──▶│
│◀─ Response (数据或异常) ──────│

特点:

  • 同步问答:一问一答(串行总线尤其严格)
  • 无发现协议:地址/寄存器表靠手册或配置
  • 无内建安全:明文;安全需 TLS(Modbus/TCP Security)或网络隔离

4. 三种常见形态

形态 介质 校验 典型场景
Modbus RTU RS-485 / RS-232 CRC16 变频器、仪表、IO 模块
Modbus ASCII 串行 LRC 遗留/调试可读性
Modbus TCP 以太网 TCP 校验和 PLC、网关、上位机

网关常见:以太网侧 TCP Client/Server,串口侧 RTU Master,用 Unit ID 选从站。


5. 与其它协议对比(机器人语境)

Modbus CANopen MQTT EtherCAT
模型 请求/响应 对象字典 + PDO/SDO Pub/Sub 过程数据 + 邮箱
实时性 低~中(轮询) 中(PDO) 非硬实时
发现/描述 弱(靠点表) EDS/DCF Topic 约定 ESI/XML
典型用途 IO/仪表/简单驱动 运动/设备网络 云边消息 多轴伺服

工程分层示例:

1
2
3
4
伺服/关节:EtherCAT / CANopen
外围 IO、温控、电表:Modbus RTU/TCP
云/厂级:MQTT
机器人内部:ROS 2 DDS

6. 学习路径一句话

  1. 弄清四个数据表(线圈/离散/保持/输入)
  2. 背常用功能码 01/02/03/04/05/06/15/16
  3. 分清 RTU 帧与 TCP MBAP
  4. 用 libmodbus / pymodbus 实读一台设备

下一篇:01-数据模型与寻址.md

文章互动

阅读 --

留言

0 条留言

正在加载留言…