一、物理层与电气特性
Modbus RTU
Modbus TCP
物理接口:以太网(10Base-T、100Base-TX、1000Base-T)
连接器:RJ45(8P8C)
线缆:Cat5e / Cat6 非屏蔽或屏蔽双绞线
拓扑结构:星型(通过以太网交换机)
传输距离:单段 100 米(铜缆),通过光纤或交换机级联可无限扩展
网络特性:
全双工(可同时收发)
支持 VLAN、QoS、链路聚合
支持无线(Wi-Fi、4G/5G)和长距离光纤
二、数据链路层与帧格式详解
Modbus RTU 帧结构(二进制,十六进制表示)
| | |
|---|
| 起始 | | |
| 地址域 | | |
| 功能码 | | 1-127 为公共功能码,128-255 为错误响应 |
| 数据域 | | |
| CRC 校验 | | |
| 结束 | | |
示例:读取 1 号从站,从 0x0000 开始读 2 个保持寄存器
01 03 00 00 00 02 C4 0B│ │ │ │ └─────┘ CRC: 0x0BC4│ │ │ └── 数量: 2 (0x0002)│ │ └── 起始地址: 0x0000│ └── 功能码: 03 (读保持寄存器)└── 地址: 1
CRC 计算(16位,多项式 0x8005,初始值 0xFFFF):
Modbus TCP 帧结构(封装在 TCP/IP 中)
| | |
|---|
| 事务标识符 | | |
| 协议标识符 | | |
| 长度 | | 后续字节数(单元 ID + 功能码 + 数据域的长度) |
| 单元标识符 | | 原 RTU 地址,用于串口子设备路由(在 TCP 网关后) |
| 功能码 | | |
| 数据域 | | |
| 无 CRC | | |
示例:读取保持寄存器(同上功能)
00 01 00 00 00 06 01 03 00 00 00 02│ │ │ │ │ │ │ └──────┘ 数据(同RTU)│ │ │ │ │ │ └── 单元ID: 1│ │ │ │ │ └── 长度: 6 (后续6字节)│ │ │ │ └── 协议标识符: 0│ │ │ └── 协议标识符高位: 0│ │ └── 事务标识符低位: 1│ └── 事务标识符高位: 0└── 事务标识符(0x0001)
关键变化:
去掉地址域 → 改为单元标识符(但功能不同)。
去掉 CRC → 依赖 TCP 校验。
增加 MBAP 头部(7 字节)→ 实现多路复用和连接管理。
三、通信模型与报文交换
Modbus RTU
Modbus TCP
四、功能码与数据模型(两者相同)
Modbus 定义四种数据表(与 RTU/TCP 无关):
注意:
五、性能与效率对比
| | |
|---|
| 原始比特率 | 9600bps - 115200bps(典型 19200) | |
| 有效数据效率 | | |
| 典型一帧时间(10 个寄存器读) | | |
| 最大吞吐量(单连接) | | |
| 最大从站/服务器数量 | | |
| 网络扩展性 | | |
RTU 时间计算示例(@9600bps,1 起始位+8 数据位+1 停止位 = 10 位/字节):
六、错误处理与可靠性
Modbus RTU
物理层:RS-485 差分信号 → 抗干扰
链路层:CRC-16 校验 → 检出 99.998% 的错误
帧同步:依赖 3.5 字符静默时间 → 易受噪声影响(可能误判帧边界)
恢复机制:主站超时重试(通常 3 次)
异常码:从站返回 0x80 + 功能码 + 异常码(如 01=非法功能)
Modbus TCP
结论:TCP 层可靠性远高于 RTU,但 TCP 超时重传可能引入较大延迟(秒级)。
七、应用场景与选型指南
选择 Modbus RTU 的理由(适合条件)
长距离:>100 米且不宜布光纤/网桥
恶劣电磁环境:工厂、变电站(RS-485 共模抑制强)
低速率足够:数据变化慢(温度、水位、状态量)
简易系统:单主站、少量从站(<32)
成本敏感:RS-485 芯片比以太网 PHY 便宜
老旧设备:大量存量串口设备
选择 Modbus TCP 的理由(适合条件)
高速/大数据:采集频率 >10Hz,每次上百个寄存器
多客户端:同时让 PLC、SCADA、云端访问
集成 IT 系统:MES、ERP、数据库、云平台
灵活拓扑:设备分散在不同区域/楼层/建筑
长距离组网:通过光纤/4G 连接远处站点
故障诊断:利用 ping、Wireshark、网络管理工具
安全要求:IP 过滤、VPN、TLS(需网关或 Modbus Secure)
八、互操作与转换策略
串口服务器(Serial to Ethernet Converter)
作用:将 Modbus RTU 转换为 Modbus TCP,双向透明传输。
内部原理:
地址映射:单元标识符对应 RTU 从站地址(通常 1-247)
多从站共享:一个串口服务器可挂多个 RTU 设备(通过单元标识符区分)
Modbus TCP 转 RTU 网关
九、安全性比较
| | |
|---|
| 物理访问 | | |
| 嗅探 | | |
| 伪造/重放 | | |
| 加密 | | 无原生,需 Modbus Secure(TLS)或 IPsec/VPN |
| 认证 | | |
| 建议措施 | | 防火墙、访问控制列表(ACL)、VLAN、VPN、TLS(推荐 802.1X+Modbus TLS) |
重要:原生 Modbus TCP 没有任何安全措施,绝不能直接暴露在互联网上!
十、扩展与未来趋势
Modbus Plus:专有高速令牌环网络(淘汰边缘)
Modbus over UDP:降低延迟但牺牲可靠性(极少用)
Modbus/TCP Security(IEC 62443):基于 TLS 的 Modbus TCP,端口 802
OPC UA 与 MQTT:越来越多系统在边缘端将 Modbus 转换为 OPC UA 或 MQTT 上云
TSN(时间敏感网络):实时以太网可能取代部分现场总线(包括 RTU)
总结表:RTU vs TCP 全维度对比