工业物联网的四大基于 TCP 的通信协议 —— 第二部分:OPC UA

发布时间:2025-06-04 21:02 分类:业内新闻 浏览次数:77次


本文内容

  • OPC UA 是什么及其工作原理

  • OPC UA 的互操作性

  • OPC UA 的实时性能

  • OPC UA 的安全性

  • OPC UA 的实现

  • OPC UA 的应用场景


在自动化的未来、工业物联网(IIoT)网络和智能工厂的发展中,连接性起着关键作用。各个节点相互连接并交换数据的大型网络结构,正日益取代具有分层结构的刚性自动化金字塔。
为了实现这种智能联网,设备必须具备工业物联网能力,因此必须满足某些要求,例如标准化、可扩展性、与 IT 和 OT 系统的兼容性以及互操作性。此外,确保安全通信也至关重要。
包括 MQTT、OPC UA、AMQP 和 REST API 在内的多种基于 TCP 的通信协议,支持从底层到云端的智能通信。在我们的多部分博客系列文章中,您可以了解这些工业物联网通信协议的特点以及它们特别适合的应用场景。本系列的第二部分重点介绍 OPC UA。

OPC UA 是什么及其工作原理

OPC 统一架构(OPC UA)是一种独立于平台、基于服务的架构,是经典 OPC 的继任者。OPC UA 的目标是消除经典 OPC 的缺点,尤其是其对微软和 COM/DCOM 的依赖。开发经典 OPC 的同一组织 ——OPC 基金会,也负责 OPC UA 的开发和管理。OPC UA 的首个规范版本于 2008 年发布,并通过了 IEC 认证(IEC 62541)。OPC UA 被称为 “架构” 而非 “通信协议”,它为实现提供了完整的生态系统。这一生态系统非常灵活,未来随着新技术的出现,OPC UA 能够在现有系统中绑定和使用新技术。例如,OPC UA 发布 / 订阅(pub/sub)功能于 2018 年推出(在此之前,OPC UA 主要依赖请求 / 响应模式)。目前,人们对支持确定性定时行为的时间敏感网络(TSN)标准高度关注,OPC 基金会通过各种技术和市场活动的持续努力,实现了对流程时间的优化。OPC UA 的一个重要特点是无需设备描述文件,每个设备都包含自身所需的所有信息,无需依赖外部文件即可进行通信、识别或数据访问。

但这并非 OPC UA 最吸引人的部分。OPC UA 为工业领域提供的最重要特性是数据建模信息模型,以及技术工作组等联盟推动的跨行业设备协调与通信。OPC UA 数据建模的基本元素是节点(Nodes)引用(References)

  • 每个数据单元称为一个节点,所有节点通过引用连接。

  • 节点和引用有多种类型。例如,节点可以是对象(Object)、变量(Variable)、方法(Method)、对象类型(ObjectType)或数据类型(DataType)。

  • 引用也有不同类型,但在更高层级上可分为分层组和非分层组。

  • 节点和引用位于一个地址空间内,所有节点均可通过 “节点 ID(Node ID)” 访问,节点 ID 对应存储相应节点(数据信息)的地址。

信息模型(Information Models)

信息模型是 OPC UA 应用的构建块,提供标准节点定义以促进设备间的协调。主要包括以下几类:

  1. 基础模型:由 OPC 基金会定义,例如:

    • 数据访问(Data Access, DA):对过程数据和参数数据的标准访问。

    • 历史数据访问(Historical Data Access, HDA):支持存储同一节点的多个测量值,用于统计分析。

    • 报警和条件(Alarms and Conditions):在紧急情况下发送事件通知。

    • 程序(Programs):允许定义简单的状态机。

  2. 设备集成(Device Integration, DI)模型:为 FDI、PLCopen、AutoID 等技术工作组及 IO-Link 的 OPC UA 模型提供基础,通过在相同访问点(NodeIds)实现相同信息,显著促进设备协调,即使不同厂商的设备也能轻松互换。

OPC UA 发布 / 订阅(pub/sub)

OPC UA 的 pub/sub 扩展拥有独立的消息格式(网络消息,NetworkMessage),并支持与客户端 / 服务器模式不同的通信协议,包括 MQTT、AMQP、OPC UA UDP 和 OPC UA Ethernet。这些协议分布在 TCP/IP 模型的三层(网络层、传输层、应用层),体现了其灵活性。

图 1:典型的 OPC UA 应用
image

(注:图示对比了 “请求 / 响应” 和 “发布 / 订阅” 两种模式。OPC UA 应用包含 OPC UA 服务器和 MQTT 客户端,通过两条并行 TCP 连接通信:既可向 MQTT 代理发布数据,也可接收 OPC UA 客户端的请求。优势在于数据仅存储一次,但通过两条独立通道传输。)

OPC UA 的互操作性

OPC UA 具备强大的语法和语义互操作性

  • 语法层面:所有设备使用相同的通信类型和服务,并通过统一格式的 ** 节点集文件(Nodeset File)** 存储信息模型。节点集文件包含 OPC UA 基本建模规则之外的所有节点和引用定义,以机器可读格式呈现信息模型数据。

  • 语义层面:多个工作组致力于统一参数、过程数据、方法和事件的命名,例如 AutoID 信息模型旨在统一 RFID 阅读器和条形码阅读器等识别设备。设备可保留厂商特定参数,但基于共同的基础模型,简化了 OPC UA 客户端的实现,无需针对定制版本开发适配逻辑。
    总结:OPC UA 支持机器对机器交互,通过可视化工具呈现信息模型,也可实现人与机器的互操作。

OPC UA 的实时性能

在扩展 pub/sub 功能后,OPC UA 具备了实时竞争力。其传统的请求 / 响应模式难以与 MQTT 和 AMQP 的实时性匹敌,但 pub/sub 模式通过优化传输机制,可满足工业场景的实时需求。

OPC UA 的安全性

OPC UA 遵循 Web 服务安全规范(WS Secure Conversation),并为 TCP 二进制通道创建了二进制变体 “UA Secure Conversation”,支持以下安全机制:

  • 用户名 / 密码认证、X.509 证书、令牌颁发

  • 消息审计功能:记录客户端的修改操作(更新值和时间)

OPC UA 的实现

可扩展性与轻量化

OPC UA 是唯一可通过功能扩展适应不同场景的协议:

  • 小型嵌入式设备:选择 “纳米嵌入式设备服务器配置文件(Nano Embedded Device Server Profile)”,将 TCP 连接数限制为 1,并仅支持基础信息模型(如 DA)。

  • 安全配置:除关闭安全功能(不推荐)外,可通过配置文件和模型精简实现轻量化。

实施建议

  • 信息模型:优先使用现有匹配场景的模型,避免从头构建复杂模型。

  • 开发工具:基于现有协议库开发,降低技术复杂度。

OPC UA 的应用场景

OPC UA 特别适用于以下场景:

  • 需要标准化和协调共享数据

  • 设备需通过相同信息模型轻松互换

  • 需要支持事件、报警和历史数据

  • 混合使用请求 / 响应和 pub/sub 通信模式
    从物流、汽车到化工行业,OPC UA 已在全球数百万台机器和工厂中部署,成为工业互操作的核心标准之一。


扫描关注微信

关注我们

版权所有 ©  恩尼比特电子科技(深圳)有限公司    地址:深圳市宝安区西乡宝民二路3号浩泰大厦710
备案号:粤ICP备2025420015号-1