2. OPC UA 基础概念:客户端/服务器模型、地址空间与节点、服务集与安全模型

OPC UA(统一架构)是工业4.0与智能制造中设备互联的核心通信标准。它不依赖Windows平台,具备跨平台、高安全、强建模能力。本章聚焦OPC UA的四大基础支柱:通信模型、信息模型、服务接口与安全机制,为后续网关参数配置打下理论基础。

2.1 客户端/服务器模型

OPC UA采用经典的客户端/服务器(C/S)架构,但与传统OPC Classic(DCOM依赖)不同,UA的C/S模型基于TCP/IP或HTTPS,支持互联网级通信。

  • OPC UA 服务器:数据提供方。负责管理地址空间、维护节点、处理客户端请求(读/写/订阅)、执行安全验证。典型服务器包括PLC、DCS、SCADA、工业网关。
  • OPC UA 客户端:数据消费方。发起连接请求、浏览地址空间、读取或订阅数据。典型客户端包括HMI、MES、云平台、边缘计算节点。
关键点:一个UA服务器可同时服务多个客户端;一个客户端也可连接多个服务器。会话(Session)与通道(SecureChannel)是通信的两层抽象。
OPC UA 客户端/服务器模型 OPC UA 客户端 HMI / MES / 云平台 OPC UA 服务器 PLC / 网关 / 控制器 请求 / 响应 安全通道 (SecureChannel) + 会话 (Session) 地址空间 (AddressSpace) 服务集 (Services) ① 客户端通过安全通道建立加密连接 ② 客户端创建会话,获得服务器地址空间访问权限

2.2 地址空间与节点

OPC UA的地址空间(AddressSpace)是服务器端的信息模型容器,采用全连通图结构,而非传统PLC的扁平寄存器表。所有数据、对象、方法都以节点(Node)形式存在。

2.2.1 节点类与属性

节点类 用途 典型示例
Object(对象) 代表物理或逻辑实体 电机、泵、控制器、温度传感器
Variable(变量) 存储数值或状态 温度值、转速、压力、开关状态
Method(方法) 可调用的远程操作 启动电机、复位报警、校准传感器
ObjectType(对象类型) 定义对象的模板 MotorType、PumpType、SensorType
DataType(数据类型) 定义变量值的结构 Int32、Float、String、自定义结构体
ReferenceType(引用类型) 定义节点间的关系语义 HasComponent、Organizes、HasProperty

2.2.2 节点引用与层次结构

节点之间通过引用(Reference)连接,形成从根节点(Root)→ 对象(Objects)→ 设备(Device)→ 参数(Variable)的树状+网状结构。引用类型决定了语义关系:Organizes表示组织关系,HasComponent表示组成关系,HasProperty表示属性关系。

实战提示:在工业网关配置中,浏览地址空间(Browse)是第一步。你需要找到目标设备的节点ID(NodeId),才能进行后续的读写或订阅操作。NodeId通常由命名空间索引(NamespaceIndex)和标识符(Identifier)组成。
OPC UA 地址空间节点结构示例 Root (根) Objects Motor_01 (Object) Pump_02 (Object) Sensor_03 (Object) Speed (Variable) Temperature (Variable) Start() (Method) Organizes HasComponent HasComponent

2.3 服务集

OPC UA定义了一组标准服务集(Services),客户端通过这些服务与服务器交互。核心服务集包括浏览、读写、订阅、查询、方法调用等。

服务集 主要服务 功能描述
浏览(Browse) Browse, BrowseNext 遍历地址空间,发现节点及其引用关系,获取节点ID与元数据
读取(Read) Read 读取一个或多个节点的当前值、属性、时间戳
写入(Write) Write 写入一个或多个节点的值(需权限验证)
订阅(Subscription) CreateSubscription, DeleteSubscriptions, Publish 建立数据变更或事件通知的订阅,服务器按采样间隔推送数据
查询(Query) QueryFirst, QueryNext 基于条件过滤地址空间,快速定位目标节点
方法调用(Method Call) Call 调用服务器端定义的方法,如启动/停止设备
常见误区:订阅服务不是“轮询”。订阅建立后,服务器在数据变化或达到采样间隔时主动推送,大幅降低网络负载。工业网关配置时,订阅的采样间隔(SamplingInterval)和发布间隔(PublishingInterval)需要根据现场总线周期合理设置,避免数据风暴。

2.4 安全模型

OPC UA的安全模型是工业通信中最为完善的之一,涵盖身份验证、消息加密、完整性校验和审计四个层面。

2.4.1 安全层次

  • 传输层安全:基于TLS/HTTPS或UA Secure Conversation(基于X.509证书),建立加密通道(SecureChannel)。
  • 应用层安全:用户身份令牌(用户名/密码、X.509证书、Kerberos、匿名)验证,授权访问特定节点。
  • 消息安全模式:None(无安全)、Sign(签名)、SignAndEncrypt(签名并加密)。
  • 安全策略:定义加密算法套件,如Basic256Sha256、Aes128Sha256RsaOaep等。

2.4.2 证书管理

每个OPC UA应用(客户端或服务器)都有一个应用实例证书(X.509 v3)。证书用于建立信任关系。典型流程:

  1. 客户端发起连接,发送自己的证书。
  2. 服务器验证证书是否在信任列表中。
  3. 若证书不受信任,服务器可拒绝连接或进入“临时信任”模式。
  4. 双方协商安全策略,建立安全通道。
网关配置要点:在工业网关中,通常需要导入服务器证书到网关的信任存储区,并配置安全策略为“SignAndEncrypt”以确保数据机密性。切勿在生产环境中使用“None”安全模式。

2.4.3 安全模式与策略对比

安全模式 加密 签名 适用场景
None 无 无 仅用于测试或封闭隔离网络
Sign 无 有 需要数据完整性,但性能敏感
SignAndEncrypt 有 有 生产环境,数据机密性与完整性均需保障

通过以上四个基础概念的掌握,你已经具备了理解OPC UA通信本质的能力。下一环节将进入实战:在工业网关上配置OPC UA服务器参数,建立与PLC的安全连接。