3、通信协议基础:串口RS232/RS485、以太网TCP/IP、Profinet、EtherNet/IP、Modbus TCP/RTU
在厂务设备联机通信配置中,通信协议是PLC与上位机、变频器、仪表、机器人等设备之间“对话的语言”。选错协议或配置错误,会导致通信中断、数据错位甚至设备损坏。本章系统梳理五种最核心的通信协议,重点对比其物理层、数据链路层及应用层差异,并给出选型建议。
3.1 串口通信:RS232 vs RS485
串口通信是工业自动化最基础的通信方式,采用异步串行传输,常见物理层标准为RS232和RS485。两者在电气特性、通信距离、组网方式上有本质区别。
| 对比项 | RS232 | RS485 |
|---|---|---|
| 传输方式 | 单端不平衡传输 | 差分平衡传输 |
| 信号线数量 | TX、RX、GND(至少3线) | A、B(2线半双工)或A、B、GND |
| 最大通信距离 | 约15m(9600bps) | 约1200m(9600bps) |
| 最大节点数 | 1对1(点对点) | 最多256个节点(1主多从) |
| 抗干扰能力 | 弱(共模噪声敏感) | 强(共模抑制比高) |
| 典型应用 | PLC编程口、近距离仪表 | 变频器、远程IO、传感器总线 |
下图展示了RS485多点总线拓扑结构,PLC作为主站,多个从站设备通过双绞线并联接入A/B总线。
3.2 以太网TCP/IP:工业通信的骨干
以太网TCP/IP已成为厂务设备联机的主流选择,其优势在于高带宽(100Mbps/1Gbps)、长距离(100m/段,可交换机级联)以及标准化的网络层协议。PLC通过以太网模块或本体网口接入工厂局域网,实现与MES、SCADA、HMI的数据交换。
TCP/IP协议栈在工业场景中的典型分层如下:
- 物理层: RJ45接口、Cat5e/Cat6网线、100BASE-TX或1000BASE-T
- 网络层: IP协议,PLC需配置固定IP地址(避免DHCP导致地址漂移)
- 传输层: TCP(面向连接、可靠)或UDP(无连接、实时性高)
- 应用层: Modbus TCP、Profinet、EtherNet/IP、S7通信等
下图展示了PLC通过以太网TCP/IP与上位机、HMI、远程IO站组成的星型网络结构。
3.3 Profinet:西门子生态的实时以太网
Profinet是西门子主导的工业以太网标准,基于TCP/IP但增加了实时(RT)和等时实时(IRT)通道,满足运动控制等苛刻实时性要求。Profinet设备分为三类:
- IO控制器: 通常为PLC,负责处理IO数据
- IO设备: 远程IO站、变频器、阀岛等从站
- IO监视器: 编程设备或HMI,用于诊断和组态
| 特性 | Profinet RT | Profinet IRT |
|---|---|---|
| 循环时间 | 1ms ~ 10ms | 31.25μs ~ 1ms |
| 抖动 | < 1μs | < 1μs |
| 适用场景 | 常规IO、变频器 | 伺服驱动、高速定位 |
| 硬件要求 | 标准Profinet交换机 | 支持IRT的专用交换机 |
下图展示了Profinet网络中IO控制器与多个IO设备之间的实时数据交换关系。
3.4 EtherNet/IP:罗克韦尔生态的工业以太网
EtherNet/IP由罗克韦尔自动化推广,基于标准TCP/IP和UDP/IP,应用层采用CIP(通用工业协议)。它支持两种通信模式:
- 显式报文: 基于TCP,用于参数配置、诊断等非实时数据
- 隐式报文: 基于UDP,用于IO数据、运动控制等实时数据
EtherNet/IP与Profinet的核心区别在于:EtherNet/IP不依赖专用硬件交换机,完全使用标准以太网设备,但实时性通过CIP Sync(基于IEEE 1588精确时间协议)保障。
| 对比项 | EtherNet/IP | Profinet |
|---|---|---|
| 应用层协议 | CIP(通用工业协议) | Profinet应用层 |
| 实时性机制 | CIP Sync (PTP) | RT/IRT (硬件辅助) |
| 硬件要求 | 标准以太网交换机 | RT可用标准交换机,IRT需专用 |
| 配置工具 | RSLogix 5000 / Studio 5000 | TIA Portal / STEP 7 |
| 典型PLC | ControlLogix / CompactLogix | S7-1200 / S7-1500 |
3.5 Modbus TCP/RTU:通用性最强的工业协议
Modbus是工业领域应用最广泛的通信协议,具有开放、简单、易实现的特点。Modbus RTU基于串口(RS232/RS485),Modbus TCP基于以太网,两者在报文格式上略有差异,但功能码和数据模型完全兼容。
Modbus数据模型:
- 线圈(Coil): 位输出,可读写,地址0x0000~0xFFFF
- 离散输入(Discrete Input): 位输入,只读,地址0x0000~0xFFFF
- 输入寄存器(Input Register): 16位只读,地址0x0000~0xFFFF
- 保持寄存器(Holding Register): 16位读写,地址0x0000~0xFFFF
Modbus RTU与Modbus TCP报文结构对比:
Modbus RTU 报文(串口):
[从站地址 1B] [功能码 1B] [数据 N B] [CRC校验 2B]
Modbus TCP 报文(以太网):
[事务标识 2B] [协议标识 2B] [长度 2B] [单元标识 1B] [功能码 1B] [数据 N B]
下图展示了Modbus TCP/RTU在厂务设备联机中的混合组网方式,PLC通过网关同时管理串口设备和以太网设备。
3.6 协议选型对比总结
下表从通信距离、实时性、设备生态、配置复杂度四个维度,对五种协议进行综合对比,帮助工程师快速选型。
| 协议 | 物理层 | 最大距离 | 实时性 | 典型生态 | 配置复杂度 |
|---|---|---|---|---|---|
| RS232 | 串口(单端) | 15m | 低 | 通用 | 低 |
| RS485 | 串口(差分) | 1200m | 中 | 通用 | 中 |
| TCP/IP | 以太网 | 100m/段 | 中 | 通用 | 中 |
| Profinet | 以太网 | 100m/段 | 高(IRT) | 西门子 | 高 |
| EtherNet/IP | 以太网 | 100m/段 | 高(CIP Sync) | 罗克韦尔 | 高 |
| Modbus TCP | 以太网 | 100m/段 | 中 | 通用 | 低 |
| Modbus RTU | RS232/485 | 15m/1200m | 中 | 通用 | 低 |