2. 工业通信基础
工业网关的核心任务是“把一种协议的数据,准确搬到另一种协议里”。但无论上层协议如何变化,数据最终都要经过物理介质传输,并在数据链路层完成帧的封装、寻址与差错校验。理解 RS-232、RS-485、CAN 和以太网在物理层与数据链路层的差异,是判断网关接口选型、布线方式和故障边界的基础。
一、物理层:电气特性决定“能传多远、多快、多稳”
物理层不关心数据含义,只负责把 0/1 变成可传输的电信号或光信号。工业现场最常见的四类接口,其物理层差异非常明显:
- RS-232:单端信号,逻辑 1 为负电压、逻辑 0 为正电压,典型电平 ±3~±15V。采用点对点连接,传输距离通常不超过 15 米,速率 20kbps 以内较稳定。它适合网关的本地配置口、调试串口,不适合长距离现场总线。
- RS-485:差分信号,用 A/B 两线电压差表示逻辑,抗共模干扰能力强。支持多点总线,典型距离 1200 米,速率与距离成反比。半双工两线制最常见,网关作为主站轮询多个从站时大量使用。
- CAN:差分总线,CAN_H/CAN_L 显性位与隐性位形成差分电平。采用非破坏性仲裁,多主结构,速率 125kbps~1Mbps,距离随速率下降而增加。汽车与工控设备内部总线常用。
- 以太网:使用双绞线或光纤,差分信号加隔离变压器。10/100/1000Mbps 自适应,双绞线单段 100 米。工业以太网还强调屏蔽、接地与冗余环网。
二、数据链路层:帧结构、寻址与差错控制
数据链路层把物理层的比特流组织成帧,并负责寻址、仲裁、校验和重传。四类接口的链路层机制差异如下:
| 接口 | 典型帧/报文结构 | 寻址方式 | 差错控制 | 典型拓扑 |
|---|---|---|---|---|
| RS-232 | 起始位+数据位+校验位+停止位 | 无地址,点对点 | 奇偶校验可选 | 点对点 |
| RS-485 | 由上层协议定义,如 Modbus RTU 帧 | 从站地址 1~247 | CRC16 | 总线型多点 |
| CAN | 仲裁场+控制场+数据场+CRC 场 | 11 位/29 位标识符 | CRC15+应答位 | 总线型多主 |
| 以太网 | 前导码+目的 MAC+源 MAC+类型+数据+FCS | MAC 地址 | CRC32 | 星型/环网 |
以 RS-485 上的 Modbus RTU 为例,网关发送一帧请求时,链路层需要处理:从站地址、功能码、寄存器起始地址、寄存器数量、CRC 校验。从站只有在地址匹配时才应答,否则静默。CAN 则不同,它用标识符同时表达“谁发送”和“优先级”,低数值标识符优先级更高,仲裁失败的一方自动退让并重发。
三、工业现场网络拓扑:从总线到环网
现场网络拓扑决定了网关的接入位置、数据流向和故障影响范围。常见拓扑包括:
- 点对点:RS-232 典型形态,网关与单台设备直连,简单但扩展性差。
- 总线型:RS-485 和 CAN 的主流形态。所有节点挂在同一对差分线上,两端加终端电阻。优点是布线省,缺点是单点故障可能影响整条总线。
- 星型:以太网交换机为中心,网关、PLC、HMI 分别接入。故障隔离好,但依赖交换机。
- 环网:工业以太网常用冗余拓扑,如 RSTP 或专用环网协议。单点断线时可在毫秒级恢复,适合对连续性要求高的产线。
四、案例:网关接入 RS-485 与以太网双网段
某车间有 8 台温控仪表,走 RS-485 Modbus RTU,地址 1~8,波特率 9600,8 位数据位、无校验、1 位停止位。网关同时通过以太网上联到 MES 系统。网关的配置要点如下:
# 网关串口配置示例
serial0:
mode: RS485
baudrate: 9600
databits: 8
parity: none
stopbits: 1
timeout_ms: 300
retry: 2
# Modbus RTU 轮询映射
poll:
- slave: 1
function: 03
start: 0
count: 2
interval_ms: 500
- slave: 2
function: 03
start: 0
count: 2
interval_ms: 500
# 上行 MQTT 映射
mqtt:
broker: 192.168.1.10
topic: factory/line1/temp
qos: 1
调试时先确认 RS-485 的 A/B 线没有接反,终端电阻是否只在总线两端接入。若轮询超时,优先检查从站地址、波特率和校验位是否一致,再检查网关串口是否被其他进程占用。以太网上行则要确认 IP、子网掩码、网关和 MQTT 端口可达。
五、常见误区与复盘
误区一:把 RS-232 和 RS-485 当成“只是接线不同”。 两者电气特性完全不同,RS-232 不能直接挂到 RS-485 总线上,必须使用转换器,且转换器要支持半双工方向控制。
误区二:RS-485 总线两端都加终端电阻。 正确做法是仅在物理两端各加 120Ω,中间节点不加。多加会导致总线负载过重、信号幅度下降。
误区三:CAN 和 RS-485 可以混接。 两者电平、帧格式、仲裁机制都不同,不能共用同一对差分线,必须通过网关或转换设备隔离。
误区四:以太网能通,就认为现场总线没问题。 网关上行正常不代表下行轮询正常,排查时要分段验证:先看物理层电平,再看链路层帧,最后看应用层数据。
建议在网关调试阶段保留一份“接口清单”:每个端口的物理类型、波特率、数据格式、从站地址范围、终端电阻状态、上联 IP 与端口。这份清单能显著缩短现场排障时间,也是后续协议映射工程的基础台账。
掌握物理层与数据链路层的差异后,再看工业网关的协议映射,就能清楚地区分“电气不通”“帧不对”“地址不对”“数据解析不对”四类问题。下一层的工作,才是把不同协议的数据对象一一对应起来。