4、通信协议基础:串行通信(RS232/RS485)、现场总线(Profibus、Modbus)、工业以太网(Profinet、EtherNet/IP)
做PLC与变频器通信,说白了就是让两个设备能「说上话」。但设备之间语言不通怎么办?这就需要一套双方都认可的「通信协议」。今天我就把工业通信里最核心的几种协议掰开揉碎了讲清楚。嗯,这里要注意,协议不是选最贵的,而是选最合适的。
4.1 串行通信:RS232 与 RS485
串行通信是工业通信的「老前辈」了。它的特点就是一根线传数据,按位(bit)一个一个来。我最早入行时,用的就是RS232连PLC和上位机。
4.1.1 RS232:点对点的老将
RS232是最早的串行标准之一。它的传输距离短,一般不超过15米,而且只能接一台设备。说白了就是「一对一」聊天。
- 信号电平:-15V ~ -3V 表示逻辑1,+3V ~ +15V 表示逻辑0。抗干扰能力一般。
- 接线方式:至少需要3根线——TXD(发送)、RXD(接收)、GND(地线)。
- 常见接口:DB9(9针)或DB25(25针)接头。
4.1.2 RS485:远距离多站点的王者
RS485是我个人最常用的串行通信方式。它采用差分信号传输,抗干扰能力强,传输距离可达1200米,而且支持最多32个节点(加中继器可以更多)。
- 信号电平:A线比B线高200mV以上表示逻辑1,反之表示逻辑0。差分信号的好处是共模干扰被抵消了。
- 接线方式:只需要2根线(A+、B-),半双工通信。注意要加终端电阻(120Ω),防止信号反射。
- 拓扑结构:总线型,所有设备挂在一根总线上。
4.2 现场总线:Profibus 与 Modbus
现场总线是工业自动化领域的「高速公路」。它比串行通信更智能,能传输更多数据,而且支持多主站通信。我接触最多的就是Profibus和Modbus。
4.2.1 Profibus:西门子的看家本领
Profibus是西门子主推的现场总线标准,在德国和欧洲市场占有率很高。它分为Profibus-DP(用于设备级高速通信)和Profibus-PA(用于过程自动化)。
- 传输速率:最高12Mbps,实际常用1.5Mbps或500kbps。
- 传输介质:双绞线(RS485)或光纤。
- 通信方式:主从模式,一个主站可以带多个从站。
- 最大节点数:126个(不加中继器)。
我记得有一次调试一条汽车生产线,用的就是Profibus-DP连接西门子S7-300和几十台变频器。当时有个从站老是掉线,查了半天发现是总线连接器里的终端电阻开关没拨对。嗯,这种小细节最容易出问题。
4.2.2 Modbus:最通用的「普通话」
Modbus是我个人最推荐的协议,因为它简单、开放、几乎所有设备都支持。Modbus有三种变体:Modbus RTU(串行)、Modbus ASCII(串行)、Modbus TCP(以太网)。
| 特性 | Modbus RTU | Modbus ASCII | Modbus TCP |
|---|---|---|---|
| 传输介质 | RS232/RS485 | RS232/RS485 | 以太网 |
| 数据格式 | 二进制(16进制) | ASCII字符 | TCP/IP报文 |
| 效率 | 高 | 低(约RTU的一半) | 高 |
| 常用场景 | PLC与变频器 | 老旧设备或无线通信 | 上位机与PLC |
Modbus的报文结构很简单:地址码 + 功能码 + 数据 + 校验。比如你要读变频器的频率,功能码是03(读保持寄存器),地址是40001,数据长度是2个字节。
// Modbus RTU 读取变频器频率示例(16进制)
// 请求:01 03 00 00 00 01 84 0A
// 01:从站地址(变频器地址为1)
// 03:功能码(读保持寄存器)
// 00 00:起始寄存器地址(40001)
// 00 01:读取1个寄存器
// 84 0A:CRC校验
// 响应:01 03 02 13 88 B8 3E
// 01:从站地址
// 03:功能码
// 02:数据长度(2个字节)
// 13 88:频率值(5000,对应50.00Hz)
// B8 3E:CRC校验
4.3 工业以太网:Profinet 与 EtherNet/IP
工业以太网是现在的趋势。它把IT领域的以太网技术搬到了工业现场,速度更快、数据量更大、组网更灵活。我个人觉得,未来5年工业以太网会全面取代现场总线。
4.3.1 Profinet:西门子的工业以太网方案
Profinet是西门子推出的工业以太网标准,基于TCP/IP和实时以太网技术。它有三种通信模式:
- NRT(非实时):用于参数配置、诊断等非实时数据,走标准TCP/IP。
- RT(实时):用于过程数据交换,周期1-10ms,适合变频器控制。
- IRT(等时实时):用于运动控制,周期小于1ms,抖动小于1μs。
Profinet的设备角色有三种:IO控制器(通常是PLC)、IO设备(变频器、远程IO等)、IO监视器(编程电脑)。你想想看,一台PLC可以同时控制几十台变频器,每台变频器都有自己的IP地址和设备名称。
4.3.2 EtherNet/IP:罗克韦尔的工业以太网方案
EtherNet/IP是罗克韦尔(AB)主推的工业以太网协议,基于标准的TCP/IP和UDP。它使用CIP(通用工业协议)作为应用层协议,支持显式报文(配置、诊断)和隐式报文(实时I/O数据)。
- 传输速率:100Mbps或1Gbps,标准以太网硬件。
- 拓扑结构:星型、环型(DLR设备级环网)、线型。
- 最大节点数:理论上无限制,实际受IP地址和交换机端口限制。
- 通信方式:生产者/消费者模式,一个设备可以同时向多个设备发送数据。
EtherNet/IP的配置比Profinet稍微复杂一点,因为它需要设置组播地址和连接参数。我记得有一次调试AB的PLC和丹佛斯变频器,因为组播地址冲突,导致网络风暴,整个车间都断网了。后来我把所有设备的组播地址统一规划,才解决了问题。
4.4 知识体系总览
下面这张图是我自己总结的通信协议知识体系,你可以把它当作一个「地图」,以后遇到通信问题,先看看属于哪个层级。
4.5 如何选择通信协议?
你可能会问:「这么多协议,我到底该用哪个?」我的建议是:
- 看设备支持什么:先看变频器的手册,它支持哪些协议。别自己瞎选,否则买回来发现不支持就尴尬了。
- 看距离和速度:距离短(<15米)、速度慢(<115.2kbps)用RS232;距离远(<1200米)、速度中等用RS485+Modbus RTU;距离远、速度快用工业以太网。
- 看PLC品牌:西门子PLC首选Profinet或Profibus;罗克韦尔PLC首选EtherNet/IP;其他品牌(三菱、基恩士、台达等)首选Modbus TCP或Modbus RTU。
- 看维护成本:Modbus RTU最简单,调试工具多(串口助手就能搞定);工业以太网需要交换机、网线、IP规划,维护门槛高一些。
好了,通信协议的基础就讲到这里。记住一句话:协议是工具,不是目的。你的目的是让PLC和变频器可靠地交换数据,选对协议能让你事半功倍。
公众号:蓝海资料掘金营,微信deep3321