1. Modbus协议概述

1.1 Modbus协议发展历史

Modbus协议由Modicon公司(现施耐德电气)于1979年发明,最初用于可编程逻辑控制器(PLC)之间的通信。作为工业自动化领域最早开放的串行通信协议,Modbus凭借其简单、可靠、易于实现的特性,迅速成为工业现场总线的实际标准。

时间节点 里程碑事件 协议版本
1979年 Modicon公司发布Modbus协议,用于PLC与HMI通信 Modbus RTU / ASCII
1990年代 Modbus协议公开,成为工业自动化事实标准 Modbus RTU / ASCII
2000年 施耐德电气发布Modbus TCP/IP规范 Modbus TCP
2004年 Modbus-IDA组织成立,推动协议标准化 Modbus TCP / RTU
2006年至今 Modbus成为IEC 61158标准的一部分 全系列
关键认知:Modbus协议已有40余年历史,是目前工业自动化领域部署量最大的通信协议之一。几乎所有工业仪表、PLC、变频器、智能电表都支持Modbus通信。

1.2 OSI模型对应关系

Modbus协议在OSI七层模型中仅覆盖应用层(第7层),底层依赖物理层和数据链路层的具体实现。这种设计使得Modbus可以灵活适配不同的传输介质。

OSI模型 vs Modbus协议栈对应表
OSI层 Modbus RTU Modbus TCP
7 - 应用层 Modbus应用协议(PDU) Modbus应用协议(PDU)
6 - 表示层 — —
5 - 会话层 — —
4 - 传输层 — TCP(端口502)
3 - 网络层 — IP
2 - 数据链路层 串行帧(地址+CRC校验) 以太网MAC
1 - 物理层 RS-232 / RS-485 以太网(RJ45/光纤)
Modbus协议栈与OSI模型对应关系 7 应用层 6 表示层 5 会话层 4 传输层 3 网络层 2 数据链路层 1 物理层 Modbus应用协议(PDU) — 未使用 — — 未使用 — 串行帧(地址+CRC) RS-232 / RS-485 Modbus应用协议(PDU) — 未使用 — TCP (端口502) IP 以太网MAC RJ45 / 光纤 Modbus RTU Modbus TCP

1.3 Modbus RTU与TCP的区别

Modbus RTU和Modbus TCP是当前最主流的两种变体,它们在传输介质、帧结构、寻址方式上存在本质差异。

对比维度 Modbus RTU Modbus TCP
物理层 RS-232 / RS-485 串行总线 标准以太网(RJ45)
传输速率 9.6 kbps ~ 115.2 kbps 10/100/1000 Mbps
最大节点数 32个(RS-485无中继) 理论无限制(IP地址空间)
通信距离 RS-485可达1200米 100米(交换机可扩展)
帧结构 地址 + 功能码 + 数据 + CRC16 MBAP头 + 功能码 + 数据
寻址方式 从站地址(1~247) IP地址 + 单元标识符
校验方式 CRC16循环冗余校验 TCP/IP协议栈校验
典型应用 工厂车间、现场仪表、变频器 上位机、SCADA、远程监控
选型陷阱:不要因为TCP速率高就盲目选择。在强电磁干扰的工业现场,RS-485差分信号比以太网更抗干扰;在长距离场景下,RS-485无需交换机即可覆盖1200米,成本远低于以太网方案。

1.4 工业现场总线选型考量

在实际项目中,选择Modbus RTU还是TCP,需要综合评估以下5个核心维度:

  1. 通信距离:超过100米且无网络基础设施 → 优先RTU(RS-485)
  2. 实时性要求:毫秒级响应 → 优先RTU(无TCP协议栈开销)
  3. 节点数量:超过32个设备 → 优先TCP(或增加RS-485中继器)
  4. 电磁环境:强干扰车间 → 优先RTU(差分信号抗干扰)
  5. IT/OT融合:需要接入企业网络 → 优先TCP(直接对接上位机)
工业现场总线选型决策流程 开始选型评估 距离 > 100米? 是 否 节点 > 32? 节点 > 32? Modbus TCP Modbus RTU 实际选型需综合评估距离、节点、干扰、成本
实战建议:对于初学者,建议从Modbus RTU + USB转RS-485方案入手。硬件成本低(约50元),调试工具丰富(Modbus Poll/Scan),且能直观理解协议底层机制。掌握RTU后再迁移到TCP,学习曲线更平滑。