完整指南

什么是 OPC UA?

OPC UA (Open Platform Communications Unified Architecture) 是用于在机器、控制器与企业软件之间交换工业数据的开放、平台无关的标准:安全、可靠,并且把数据的含义一并携带。它由 OPC Foundation 维护,已成为工业 4.0 的骨干协议。

精确的定义

OPC UA 是一项面向服务、平台无关的机器对机器通信标准。有两点使它区别于更早的工业协议:

  • 它是平台无关的。与依赖 Windows COM/DCOM 的 OPC Classic 不同,OPC UA 可以运行在任何操作系统上,从 PLC 或边缘网关到 Linux 服务器或云端。
  • 它传递的是含义,而不只是数值。OPC UA 不只传输一个数字:它传输一个模型,说明这个数字是什么(温度、设定值还是机器状态)、它的数据类型、单位,以及它与其他事物的关系。
一句话说:OPC UA 搬运工业数据和以及对该数据的描述,在任何讲这套标准的系统之间安全地传输。

OPC UA 为何存在

工厂里运行着数十家厂商的设备,历史上各说各的方言。集成它们意味着定制的、脆弱的一次性工程。OPC UA 通过为每台设备提供一种通用的、自描述的数据暴露方式解决了这个问题:于是 SCADA 系统、MES、历史数据库或云端分析平台都能以同样的方式读取同一台机器。典型用途包括设备监控、生产数据采集、远程控制、预测性维护、历史数据访问以及 OT/IT 集成。

客户端-服务器模型

在经典的 OPC UA 模型中,服务器暴露数据并等待连接;客户端连接到它,浏览其数据,并读、写或订阅变化。一个服务器可以服务多个客户端,一个客户端也可以连接多个服务器。

客户端 SCADA / HMI 历史库 云 会话 读 · 写 · 订阅 · 浏览 OPC UA SERVER 地址空间 PLC · 传感器 · 设备 设备 AOPC UA 机器 BOPC UA
client-server:客户端与暴露地址空间的服务器建立安全会话。

核心交互(“服务”)包括浏览(发现有什么)、读/写(获取或设置数值)和订阅(数值变化时收到通知,而不是轮询)。

发布-订阅(PubSub)

客户端-服务器是一对一的请求/响应关系。对于一对多的大规模遥测,OPC UA 增加了发布-订阅模型。发布方把消息推送到中间件层;任意数量的订阅方接收消息。PubSub 可以运行在 UDP 组播上用于本地实时流量,也可以运行在 MQTT 这样的代理上,用于边缘到云的分发。

发布方机器/服务器 代理 / 总线MQTT · UDP 订阅方 · 云 订阅方 · MES 订阅方 · 分析
PubSub:一个 publisher、多个 subscriber,通过 broker 或总线解耦。
经验法则:使用客户端-服务器用于控制和丰富的按需访问;使用PubSub当你需要把同一份数据分发给多个消费者,或推送到云端时。

地址空间与信息模型

服务器暴露的一切都存在于它的地址空间中:一张由引用连接节点构成的图。节点可以是对象(一台泵)、变量(它的压力)、方法(启动/停止)或类型定义。由于节点是有类型且相互关联的,客户端可以浏览并理解一台从未见过的服务器。这种自描述结构就是“信息模型”,定义在 OPC UA 规范的 Part 3 和 Part 5 中。

Objects
 └─ Pump_17            (Object, type: PumpType)
     ├─ Pressure       (Variable, Double, unit: bar)
     ├─ Status         (Variable, enum: Run/Stop/Fault)
     └─ Start()        (Method)

伴随规范

在基础信息模型之上,行业组织发布伴随规范:针对某个领域(机器人、机床、包装、能源等众多领域)的标准模型。当厂商实现了某个伴随规范,其设备的自描述方式就与该类别中所有其他厂商的设备一致,从而把集成从定制项目变成接近即插即用的事情。伴随规范以标准化的 NodeSet XML 文件形式分发,服务器和客户端都可以加载。

安全简述

安全性内建于 OPC UA,而不是事后加装的。它提供加密(机密性)、签名(完整性)、身份验证(证书和/或用户凭据)以及授权。连接会协商一个安全模式(None、Sign 或 Sign&Encrypt)客户端与服务器交换必须互相信任的 X.509 证书。

头号陷阱:大多数首次连接失败都是证书信任问题。参见OPC UA 安全与证书和连接故障排查.

OPC UA 与 OPC Classic 对比

AspectOPC ClassicOPC UA
平台仅限 Windows(COM/DCOM)任意操作系统 / 设备
安全依赖 Windows/DCOM内置(加密、签名、认证)
数据建模仅有值丰富的、带类型的信息模型
通信模型客户端-服务器客户端-服务器 + PubSub
传输DCOMTCP、WebSockets、MQTT

数据已经通过 OPC UA 流起来了?下一步(把它变成操作工可用的、排好序并核过成本的行动)正是 Jemba 的用武之地。

查看 Jemba →

常见问题

OPC UA 可以免费使用吗?
规范是公开的,并且有免费/开源协议栈(例如 open62541、opcua-asyncio)。商业 SDK 和工具也存在。OPC Foundation 的会员资格是另一回事。
OPC UA 使用哪个端口?
OPC UA 二进制(opc.tcp)协议通常使用 TCP 端口 4840,不过服务器可以配置为使用其他端口。防火墙拦截该端口是连接失败的常见原因。
我需要 PubSub 吗?
只有在你需要一对多分发或边缘到云的流式传输时才需要。很多部署仅靠客户端-服务器就运行得很好。

最后更新 2026 年 9 月 4 日 · OPC UA Connect 是教育资源,与 OPC Foundation 无隶属关系。

下一节:OPC UA vs MQTT →

免费下载
OPC UA Machine Data → OEE Mapping Kit
该订阅哪些节点、它们如何变成可用率、性能和质量,以及哪一个伴随规范已经给出了答案:从此不必再自己发明标签。
获取免费映射工具包 →
免费,无需课程,无需登录