OPC UA、Modbus、MQTT 到底怎么选?三种协议的定位与配合

丁丁智造 · 2026-08-31
OPC UA、Modbus、MQTT 到底怎么选?三种协议的定位与配合
导读:Modbus、OPC UA、MQTT 是工控人最常遇到的三种协议,但层级不同、不能简单互相替代。本文讲清各自定位和典型组合方式。

先记结论

三者不在同一层:**Modbus 和 OPC UA 是“设备/现场层”的通讯协议,解决怎么从设备读数据;MQTT 是“上层/网络层”的消息协议,解决数据怎么在系统间转发。**它们经常配合使用,而不是三选一。

Modbus:简单通用的“设备语言”

  • 历史久、简单、几乎所有设备都支持
  • 主从问答模式,常见 Modbus RTU(串口)和 Modbus TCP(以太网)
  • 优点:简单、通用、开销小
  • 局限:无统一数据模型、无安全机制、不自带订阅、点位含义要靠人工对照地址表
  • 定位:连接底层设备的基础语言

OPC UA:标准化的“工业普通话”

  • 跨平台、面向服务,有统一信息模型和地址空间
  • 支持订阅推送、证书安全、方法调用
  • 优点:标准化、自描述、安全、跨厂商互通
  • 代价:相对复杂、资源占用更高,部分设备需授权/较新固件
  • 定位:设备到系统、系统到系统的标准化互联,是长期方向

MQTT:轻量的“消息快递”

  • 发布/订阅模式,通过 Broker 转发,天然解耦
  • 轻量、适合不稳定网络和大规模设备
  • 它本身不规定数据点怎么从 PLC 读,只负责把已经采到的数据发出去
  • 定位:采集结果向上汇聚、系统间分发的消息总线

一张表对比

维度ModbusOPC UAMQTT
所在层现场设备层现场/系统互联层网络/消息层
模式主从问答客户端-服务器/订阅发布-订阅
数据模型无(靠地址表)有(地址空间)无(自定义载荷)
安全强(证书/加密)可加 TLS/账号
典型用途读写 PLC/仪表跨厂商标准互联数据汇聚转发

实际系统里怎么配合

典型链路:

PLC --Modbus/OPC UA--> 采集网关 --MQTT--> 入库/看板/平台
  • 设备侧:设备支持什么就用什么,老设备多为 Modbus,新设备优先 OPC UA
  • 汇聚侧:统一转成 MQTT 向后台和多个消费端分发

选型决策

  1. 直连简单设备、资源受限 → Modbus
  2. 多品牌标准互联、注重安全和长期演进 → OPC UA
  3. 采集结果要分发、上云、大规模解耦 → MQTT
  4. 完整系统往往是“Modbus/OPC UA 采 + MQTT 传”的组合

理解了“一个负责读设备、一个负责传消息”,就不会再纠结该用谁替代谁。