3. 工业通信协议与接口选型

在工业物联网数据采集架构中,协议选型不是“哪个先进选哪个”,而是要把协议放回它真正擅长的层级去看。现场设备层关心的是毫秒级循环、确定性同步和硬实时;边缘汇聚层关心的是多品牌兼容、语义统一和会话管理;平台与应用层关心的是跨网络、弱网可用、可水平扩展和与业务系统对接。把这三层混为一谈,就会出现“用 HTTP 轮询采集伺服周期数据”或“用 EtherCAT 跨厂区上云”这类结构性错误。

先建立一张定位图:Modbus 是轻量、通用、主从式的现场总线/串口协议,寄存器语义靠人工约定,适合低速、少量点位、多品牌仪表与 PLC 的兼容采集;OPC UA 是面向信息建模的客户端/服务器与发布/订阅协议,自带地址空间、类型系统和安全通道,适合边缘汇聚与跨系统语义互通;Profinet 与 EtherCAT 是工业以太网实时协议,前者广泛用于工厂自动化,后者以分布式时钟和极短周期见长,适合运动控制与高同步场景;MQTT 是轻量发布/订阅消息协议,适合边缘到云、弱网、多对一汇聚;HTTP/REST 是请求/响应式通用接口,适合配置下发、批量查询、与 MES/ERP 等 IT 系统集成,但不适合高频实时采集。

工业通信协议在采集架构中的分层定位 现场设备层 · 实时与确定性优先 边缘汇聚层 · 兼容与语义统一优先 平台与应用层 · 跨网与集成优先 Modbus RTU/TCP 主从轮询 · 寄存器语义 低速仪表/PLC兼容 Profinet 工业以太网 · RT/IRT 工厂自动化主流 EtherCAT 分布式时钟 · 极短周期 运动控制/高同步 OPC UA (C/S) 地址空间 · 安全通道 设备语义建模 OPC UA (Pub/Sub) 统一语义 · 跨品牌汇聚 边缘网关核心协议 Modbus TCP 汇聚 多设备轮询 · 点位映射 低成本兼容采集 MQTT Broker 发布/订阅 · 弱网可用 边缘到云上行通道 MQTT 上行 QoS 0/1/2 · 遗嘱消息 海量设备接入 HTTP/REST 请求/响应 · 配置下发 MES/ERP 集成 OPC UA (C/S) 平台侧语义查询 历史数据访问 选型依据: 周期与确定性 → 实时协议; 多品牌兼容 → Modbus/OPC UA; 跨网弱网 → MQTT; IT 集成 → HTTP/OPC UA

选型的第一依据是采集周期与确定性要求。以运动控制为例,若伺服轴需要 1 ms 甚至 250 μs 的循环同步,EtherCAT 的分布式时钟和过程数据映射是合理选择;若只是采集温度、压力、流量等变化缓慢的过程量,Modbus RTU 在 9600 bit/s 下轮询 10 个寄存器约需几十毫秒,完全够用。这里有一个可计算的判断:Modbus RTU 一帧请求加响应约 8 字节,在 9600 bit/s、8N1 下传输约 8.3 ms,若轮询 20 台设备,一轮约 166 ms,即刷新周期约 6 Hz。若工艺要求 1 Hz 以上,这个方案可行;若要求 100 ms 以内,就必须改用 Modbus TCP 或 Profinet。

第二依据是语义与互操作性。Modbus 只定义“寄存器地址 + 数据类型”,同一个 40001 在不同厂家可能表示温度、频率或状态字,必须靠点表人工映射。OPC UA 则通过地址空间、对象类型和引用关系把“设备—变量—单位—工程范围”表达出来,客户端可以浏览、订阅、带时间戳读取。因此在边缘网关中,常见做法是南向用 Modbus/Profinet 采集,北向统一转换为 OPC UA 信息模型,再以 Pub/Sub 或 MQTT 上行。这样上层应用不需要知道底层是哪个品牌 PLC。

第三依据是网络环境与部署成本。厂内有线环境优先工业以太网;跨车间、跨厂区、4G/5G 或 NAT 环境,MQTT 的发布/订阅、心跳保活、遗嘱消息和 QoS 机制更合适。HTTP 适合低频、请求/响应式交互,例如每天同步一次配方、查询历史批次,但不适合作为高频采集主通道,因为每次请求都要建立连接、携带头部,且服务端难以主动推送。

实际选型时,建议按以下顺序判断:先确认数据用途(实时控制、监控、分析、报表),再确认周期与抖动容忍度,然后确认设备品牌与协议支持能力,最后确认网络拓扑与安全要求。一个典型的混合架构是:EtherCAT 连接伺服与远程 IO,Profinet 连接产线 PLC,Modbus RTU 采集电表与温控器,边缘网关统一汇聚为 OPC UA 地址空间,再通过 MQTT 上行到云平台,HTTP 用于平台侧配置下发和 MES 数据回传。协议之间不是替代关系,而是分层协作关系。

选型检查清单:① 采集周期是否小于协议最小循环时间?② 是否需要跨品牌语义统一?③ 网络是否经过 NAT/防火墙?④ 是否要求服务端主动推送?⑤ 安全认证与加密是否满足等保或企业规范?⑥ 长期维护时,点表与信息模型由谁维护?

最后要强调,协议选型必须落到接口参数上。例如 Modbus TCP 默认端口 502,单元标识符用于区分串口网关后的从站;OPC UA 默认端口 4840,需要配置安全策略(None/Sign/Sign&Encrypt)和用户令牌;MQTT 默认端口 1883(明文)或 8883(TLS),需要设置 ClientID、Keep Alive、Clean Session 和主题层级;Profinet 使用 RT 通道时,设备名和 IP 地址由 DCP 分配,IRT 还需要同步域配置。把这些参数写进采集架构设计文档,才能让后续实施、调试和排障有据可依。