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)是通信的两层抽象。
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)组成。
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)。证书用于建立信任关系。典型流程:
- 客户端发起连接,发送自己的证书。
- 服务器验证证书是否在信任列表中。
- 若证书不受信任,服务器可拒绝连接或进入“临时信任”模式。
- 双方协商安全策略,建立安全通道。
网关配置要点:在工业网关中,通常需要导入服务器证书到网关的信任存储区,并配置安全策略为“SignAndEncrypt”以确保数据机密性。切勿在生产环境中使用“None”安全模式。
2.4.3 安全模式与策略对比
| 安全模式 | 加密 | 签名 | 适用场景 |
|---|---|---|---|
| None | 无 | 无 | 仅用于测试或封闭隔离网络 |
| Sign | 无 | 有 | 需要数据完整性,但性能敏感 |
| SignAndEncrypt | 有 | 有 | 生产环境,数据机密性与完整性均需保障 |
通过以上四个基础概念的掌握,你已经具备了理解OPC UA通信本质的能力。下一环节将进入实战:在工业网关上配置OPC UA服务器参数,建立与PLC的安全连接。