3. 工业通信协议入门

在智慧工厂中,PLC 不再是孤立的控制器,它需要与传感器、变频器、机器人、视觉系统、MES、SCADA 以及 AI 推理服务持续交换数据。协议就是这些设备之间“说话”的规则。理解 Modbus、Profibus、Profinet、EtherNet/IP、OPC UA 的定位,是设计 AI+PLC 联动方案的第一步。

核心判断:协议没有绝对优劣,只有“现场层实时控制”“控制层设备互联”“信息层语义互通”三类任务是否匹配。选错协议,后期往往需要网关转换,增加延迟与故障点。

一、五类协议的核心原理与定位

Modbus 是 1979 年提出的串行主从协议,后来扩展到 Modbus TCP。它采用“请求—响应”模型,主站发起读取线圈、离散输入、保持寄存器、输入寄存器四类数据,从站应答。报文结构简单,几乎没有会话和语义描述,因此极易实现,但实时性和数据含义依赖人工约定。

Profibus 是西门子主导的现场总线,典型为 Profibus DP,采用 RS-485 物理层,主从轮询,速率 9.6 kbps~12 Mbps。它适合连接远程 I/O、变频器、阀岛等现场设备,确定性强,但布线拓扑和终端电阻要求严格,带宽有限。

Profinet 是 Profibus 的以太网演进,基于标准以太网,支持 RT 实时和 IRT 等时实时。它使用 GSDML 描述设备,支持循环 IO 数据与非循环参数读写,可直接接入西门子 PLC 的工程体系,是当前离散制造现场层的主流选择之一。

EtherNet/IP 由罗克韦尔等推动,基于 CIP 协议运行在 TCP/UDP 之上。它用“生产者—消费者”模型传输隐式 IO 数据,用显式消息传输配置与诊断,在北美汽车、包装、重工行业应用广泛,与 Allen-Bradley PLC 生态结合紧密。

OPC UA 不是现场总线,而是面向信息层的互操作标准。它提供地址空间、信息模型、订阅发布、方法调用和安全通道,能把 PLC 变量映射为带语义的节点,供 MES、SCADA、AI 平台统一访问。它解决的是“数据是什么意思”,而不是“如何在一个扫描周期内刷新 IO”。

工业通信协议分层与典型适用场景 信息层 / IT 与 AI 平台 MES / SCADA AI 推理服务 历史数据库 OPC UA 语义互通 / 订阅发布 / 安全通道 控制层 / 控制器与设备互联 Profinet 西门子生态 / RT·IRT EtherNet/IP CIP / 生产者-消费者 Modbus TCP 简单寄存器映射 循环 IO / 轮询 / 实时刷新 现场层 / 传感器与执行器 Profibus DP RS-485 / 主从轮询 Modbus RTU 串行 / 低带宽 远程 I/O / 变频器 阀岛 / 仪表 选型主线:现场实时性 → 控制层生态 → 信息层语义与安全

二、协议选型的方法流程

  1. 明确数据用途:是每个扫描周期必须刷新的 IO,还是秒级/分钟级的工艺参数、报警、能耗与质量数据。
  2. 确认控制器生态:西门子 PLC 优先 Profinet,罗克韦尔 PLC 优先 EtherNet/IP,老设备或第三方仪表常用 Modbus。
  3. 评估实时性:运动控制、高速互锁需要 IRT 或等时同步;普通逻辑控制 RT 即可;信息采集可容忍秒级延迟。
  4. 检查物理层与拓扑:Profibus 需注意终端电阻和分支长度;以太网协议需规划 VLAN、QoS 与冗余环网。
  5. 设计信息层出口:用 OPC UA 或网关把 PLC 数据统一为带语义的节点,供 MES 与 AI 平台消费。

三、典型场景对照

协议 典型物理层 实时性 适用场景 主要限制
Modbus RTU/TCP RS-485 / 以太网 中低 仪表、电表、老变频器、简单远程 IO 无统一语义,轮询效率低
Profibus DP RS-485 中高 西门子现场总线、远程 IO、阀岛 带宽有限,布线要求高
Profinet 工业以太网 高(RT/IRT) 离散制造、运动控制、西门子 PLC 产线 生态偏向西门子,组态复杂
EtherNet/IP 工业以太网 高 汽车、包装、重工、罗克韦尔生态 需理解 CIP 对象模型
OPC UA 以太网/TCP 中(可 Pub/Sub) MES、SCADA、AI 平台、跨厂商语义互通 不直接替代现场 IO 实时刷新

四、AI+PLC 联动中的配置示例

以一台西门子 S7-1500 通过 Profinet 连接远程 IO,同时用 OPC UA 向 AI 平台暴露“主轴温度”“振动 RMS”“当前节拍”三个变量为例,PLC 侧需要开启 OPC UA 服务器并配置节点权限:

# 伪配置示意:PLC 侧 OPC UA 服务器
ServerEndpoint: opc.tcp://192.168.10.20:4840
SecurityPolicy: Basic256Sha256
User: ai_client / ******
Nodes:
  - ns=3;s="Line1"."SpindleTemp"   Access=Read
  - ns=3;s="Line1"."VibrationRMS"  Access=Read
  - ns=3;s="Line1"."CycleTime"     Access=Read
  - ns=3;s="Line1"."AI_Override"   Access=ReadWrite

AI 平台订阅这些节点后,推理结果可通过 OPC UA 写回 AI_Override,再由 PLC 程序决定是否接受该建议。这里的关键是:OPC UA 负责语义与安全,Profinet 负责现场实时 IO,两者分工明确。

实践建议:新产线优先采用 Profinet 或 EtherNet/IP 做现场层,用 OPC UA 做信息层统一出口;老设备改造可用 Modbus 网关接入,再转换为 OPC UA。不要试图用 OPC UA 直接替代高速 IO 刷新。

五、常见误区与复盘

  • 误区一:协议越新越好。若现场只有几台 Modbus 仪表,强行上 Profinet 会增加成本,网关反而更合适。
  • 误区二:把 OPC UA 当现场总线。OPC UA 的订阅周期通常为毫秒到秒级,不适合替代 IRT 做运动控制。
  • 误区三:忽略语义约定。Modbus 寄存器 40001 是温度还是压力,必须靠文档约定;OPC UA 的信息模型正是为解决此问题而生。
  • 误区四:不做网络隔离。信息层与现场层应通过防火墙或 DMZ 隔离,OPC UA 也要启用证书与用户权限。

复盘时可用一张“协议—数据—周期—安全”四列表,把每个数据流标注清楚:谁生产、谁消费、刷新周期多少、是否允许写回。这样在 AI+PLC 联动方案评审时,能快速发现协议错配与安全缺口。