1、工业网络基础:RS232/RS485串口通信原理、Modbus RTU/ASCII协议详解、工业以太网基础

各位同学好,我是老张。搞了十几年工业自动化,今天咱们聊聊最基础但也最绕不开的东西——工业网络。

说实话,很多刚入行的朋友一上来就追着问“5G能不能替代有线”、“OPC UA是不是更高级”。我的建议是:先把串口和Modbus吃透。为什么?因为工厂里80%的老旧设备,通信接口就是RS232或RS485,协议就是Modbus。你连这些都不懂,到了现场就是两眼一抹黑。

1.1 RS232与RS485串口通信原理

串口通信,说白了就是设备之间“一个字一个字”地传数据。它不像网线那样一包一包地发,而是按位(bit)逐个发送。我最早接触串口是在2008年,调试一台西门子S7-200 PLC,当时用的就是RS232转USB线,折腾了一下午才通上。

1.1.1 RS232:点对点的老将

RS232是串口通信的老祖宗。它的特点是:

  • 传输距离短:一般不超过15米。我在项目里试过拉20米线,数据就开始丢包了。
  • 速率不高:常见的是9600bps、19200bps。别想着跑115200,工业现场干扰大,容易出错。
  • 信号电平:用±12V表示逻辑“0”和“1”。说白了就是电压摆幅大,抗干扰能力还行,但距离一长就不行了。
  • 只能点对点:一台设备只能连一台设备。你想一台电脑连多台PLC?RS232做不到。
我的经验:RS232现在主要用在调试口。比如PLC的编程口、变频器的参数设置口。平时维护时插一下,调完就拔掉。别指望用它做长期数据采集,不稳定。

1.1.2 RS485:多站通信的主力

RS485是工业现场最常用的串口标准。它解决了RS232的两个痛点:距离短、不能多站。

  • 传输距离远:理论1200米。我实际项目中用过800米,加了个中继器,稳得很。
  • 支持多站:一条总线上可以挂32个节点(不加中继器)。你想想看,一个车间几十台仪表,一条双绞线全搞定。
  • 差分信号:用两根线(A、B)的电压差来表示数据。抗共模干扰能力强,适合工厂这种电机、变频器乱飞的恶劣环境。
  • 半双工:同一时刻只能发或收。所以需要主机轮询,从机应答。
避坑指南:我曾经在一个项目里,RS485总线怎么都通不上。查了半天,发现是终端电阻没加。记住:总线两端必须各加一个120Ω电阻,否则信号反射会让你怀疑人生。

1.2 Modbus RTU/ASCII协议详解

Modbus是串口通信的“通用语言”。不管你是西门子PLC、三菱变频器,还是国产温控表,只要支持Modbus,就能互相通信。我个人的习惯是:凡是新设备,先看它支不支持Modbus RTU。支持?那好办。不支持?那就得加协议转换器了。

1.2.1 Modbus RTU:最常用的二进制模式

RTU模式用二进制传输,数据紧凑,效率高。一个报文长这样:

地址码 | 功能码 | 数据区 | CRC校验
1字节  | 1字节  | N字节  | 2字节

举个例子:读取1号从机的保持寄存器,起始地址0,读取2个寄存器。

发送:01 03 00 00 00 02 C4 0B
接收:01 03 04 00 01 00 02 79 8A
  • 01:从机地址
  • 03:功能码(读保持寄存器)
  • 00 00:起始地址
  • 00 02:读取数量
  • C4 0B:CRC校验

接收到的数据里,00 0100 02就是两个寄存器的值。嗯,这里要注意:Modbus的数据是大端模式,高位在前。

核心要点:RTU模式必须保证报文之间至少有3.5个字符时间的间隔。否则从机可能把两帧数据当成一帧处理。我见过有人用串口调试助手发数据,连续发太快,从机根本不响应。加个延时就好了。

1.2.2 Modbus ASCII:可读但效率低

ASCII模式用十六进制字符传输,每个字节拆成两个ASCII字符。比如0x1A变成'1'和'A'。优点是肉眼可读,调试方便。缺点是效率低——同样的数据,ASCII报文比RTU长一倍。

发送::010300000002F2\n
接收::0103040001000279\n

报文以冒号开头,以回车换行结束。中间是LRC校验(纵向冗余校验)。

我的建议:除非设备只支持ASCII,否则一律用RTU。ASCII在9600bps下传100个寄存器,耗时是RTU的两倍。工业现场讲究实时性,你懂的。

1.3 工业以太网基础

串口虽好,但速度慢、节点少。现在新设备基本都带以太网口了。工业以太网和普通办公以太网有啥区别?说白了就是更皮实、更实时。

1.3.1 物理层差异

  • 连接器:工业以太网用RJ45带锁扣,或者M12圆形接头。防震动、防油污。
  • 线缆:至少CAT5e,屏蔽双绞线。我见过有人用普通网线布在电缆沟里,三个月后全断了。
  • 交换机:工业交换机支持环网冗余(如MRP、RSTP)。一台交换机坏了,数据自动走另一条路。

1.3.2 协议栈差异

工业以太网在TCP/IP之上加了实时层。比如:

  • Profinet:西门子的,基于以太网,周期1ms以内。
  • EtherNet/IP:罗克韦尔的,基于TCP/UDP,适合离散制造。
  • EtherCAT:倍福的,从站直接处理数据,不经过CPU,速度极快。
避坑指南:我曾经在一个项目里,把Profinet设备和普通办公网络混在一个交换机上。结果视频监控流量一大,PLC就断网。后来加了VLAN隔离,才解决问题。记住:工业实时网络和办公网络必须物理或逻辑隔离。

1.3.3 常用拓扑

拓扑类型 优点 缺点 适用场景
星型 布线简单,故障隔离 中心交换机单点故障 小型产线
环型 冗余,一条链路断不影响 配置复杂,成本高 大型工厂、关键设备
线型 节省交换机,布线少 单点故障影响后续设备 流水线、输送带

好了,这一章的内容就这些。RS232/RS485是基础,Modbus是灵魂,工业以太网是未来。你把这些吃透了,后面讲PLC数据采集、SCADA组态,你就知道底层是怎么跑的了。

下一章我们聊PLC的通信接口和常见型号,到时候我会拿几个实际案例出来,咱们一起分析分析。