OPC UA与通信标准作为IIoT促成因素发挥的作用

点击数:124 发布时间:2017-01-05
通信协议构成工业物联网(Industrial Internet of Things, IIoT)系统的核心,可确保网络连通,进而执行设备间的数据交换。
OPC UA与通信标准作为IIoT促成因素发挥的作用

通信协议构成工业物联网(Industrial Internet of Things, IIoT)系统的核心,可确保网络连通,进而执行设备间的数据交换。OPC Unified Architecture(OPC UA)提供了令人信服的解决方案,能够满足IIoT 系统各垂直层的要求。作为独立平台,OPC UA 具有高度可扩展性,适用于从最小型传感器到主机再到云应用程序的各类集成化网络。OPC UA 使用X.509 证书,可在确保数据安全的同时提供多种用户与应用程序身份验证机制。OPC UA 独立于在传输基于TCP 的二进制和HTTP/HTTPS 数据时所使用的底层传输和有效协议绑定。此外,发布/ 订阅通信模型目前也已经集成在其中。OPCUA 提供完全面向对象,同时包含元数据和对象描述的地址空间。OPC UA 符合IEC 标准(IEC 62541),它提供工具与实验室支持,可进行测试和合规性验证。

IIoT 拥有众多促成因素,包括云计算、大数据分析、嵌入式系统、无线传感器网络和安全协议等多项技术。在这些IIoT 促成因素中,通信协议是一项关键技术。通信协议构成IIoT 系统的核心,可确保网络连通,并架起了应用程序之间的连接“桥梁”。

尽管IIoT 中的“物”各不相同,但仍可作出几个基本假定:安全性是一个核心需求;数据的存储与处理均可在云端进行; 涉及多种设备,从微控制器到高性能系统; 以无线方式连接; 路由信息需要通过无线和有线网络。

鉴于存在上述假定情况以及特定应用和业务模型要求,如何选择适当的通信协议成为一项艰巨的任务。

OPC UA 提供了令人信服的解决方案,能够连接IIoT 系统内各项应用程序。OPC UA 可提供分层模型,将信息的配置、格式化和打包操作与底层通信协议分离开来,从而帮助用户选择与特定部署环境最契合的最佳通信协议。OPC UA的“发布订阅”扩展功能,可为无法很好兼容客户端服务器通信模型的IIoT 典型应用程序用例提供解决方案。

OPC UA

OPC UA 旨在为种类繁多的系统提供支持,无论是PLC 还是企业服务器,无论其尺寸、性能、托管平台和功能存在多少差异,OPC UA 均能满足其需要。OPC UA 符合IEC 62541 标准,因此已经过中立组织验证,确认其符合国际标准的要求。

OPC UA 的核心设计在于可扩展性。就OPC UA 而言,稳妥的设计目标是避免将技术局限在基于COM 的OPC 所构建的围墙之内,同时确保OPC UA 能够兼容未来技术并摆脱日渐淘汰的技术。为此,OPC UA 以抽象方式定义了服务和相关概念,并进一步定义了抽象规范和实施此规范所用技术间的“映射”。OPC UA 技术映射分为三组:数据编码、安全协议和传输协议。不同映射相结合,共同创建一个配置文件。客户端和服务器应用程序可支持一个或多个配置文件,但必须实施至少一个公共配置文件以进行通信。

OPC UA 地址空间模型将生产数据、报警、事件和历史数据统一到单一OPCUA 服务器中。OPC UA 地址空间架构采用分层结构,不仅包括实例,还包括类型,且均能通过标准接口进行导航。

OPC 对象模型描述了客户端如何访问服务器上的信息。该模型定义了一组标准化节点类型,可用来表示地址空间内的对象、对象属性、方法、事件以及对象间的关系。建立这些基本概念后,OPC UA 可对任何对象进行建模。相关对象及其关系经过分组,即形成信息模型。OPC UA 指定了若干通用信息模型。

这些信息模型包括:

● 数据访问(DA):此信息模型描述定义模拟和离散变量、工程单位和质量代码的自动化数据表示形式。

● 报警和条件(AC):此信息模型定义状态变化触发事件时的状态处理方式。客户端可为选定事件注册,并定义筛选器来识别这些事件的特性,希望将相关内容包含在待接收的事件通知当中。

● 历史访问(HA):此信息模型描述客户端如何读取和写入历史数据及历史事件。历史数据的实际位置为独立的信息模型,可以存储在数据库或其他存储系统中。

● 程序:程序代表批处理过程的监测与控制等复杂任务。每个程序由一个状态机表示。状态机本身使用OPC UA对象模型来建模。

OPC UA 安全模型是一种三层式方法,每一层都有特定的安全相关责任。模型顶部为应用层,负责通过会话内客户端和服务器之间的设备来传送工厂信息和实时数据。会话提供用户验证和授权。OPC UA 会话在安全通道(同时也是通信层之间的连接)之上运行。安全通道可对会话内数据进行签名和加密,从而保障数据安全。安全通道也负责客户端和服务器应用之间的相互验证和授权。底部的传输层负责传送和接收受保护的数据。为确保可用性,已在传输层定义了错误恢复机制。

制定OPC 规范的目标在于实现不同供应商产品之间的互操作性。为确保产品切实符合规范,必须对其进行一系列用于证明规范符合度的测试。在产品开发期间和之后,供应商都能使用OPC UA符合性测试工具(CTT)来确定是否遵守通用规范。供应商也可通过参加OPCFoundation 主办的互操作性研讨会来评估互操作性就绪程度。OPC Foundation还会维护独立的认证测试实验室,供应商可在此对其 OPC UA 产品进行认证。除了验证是否符合规范,实验室认证过程客户端服务器模式与发布订阅模式还包括众多故障和压力场景,可检验一些参考客户端和服务器的互操作性。

拥有发布订阅模型的OPC UA

IEC 62541 中定义的 OPC UA 包括前文所述的特性。这些特性构成IIoT 促成因素的坚实基础,但是我们还需要一个数据交换模型作为关键促成因素,该模型应高效、性能出色、稳定且可扩展,能够与一对多、多对一或多对多配置配合使用。OPC Foundation 的工作组正在着手对 OPC UA 进行增补,希望在OPC UA 规范组合中增加一个发布订阅模型。到目前为止,Classic OPC 和OPC UA 都支持通过客户端服务器模型交换数据。图中显示了不同数据交换模型之间的关键区别。

客户端服务器模式与发布订阅模式

在本例中, 单个OPC UA 服务器将其地址空间暴露给n 个传统OPC UA客户端以及n 个订阅者。OPC UA 客户端1-n 与OPC UA 服务器之间的连接代表传统的客户端服务器模型,其中每个OPC UA 客户端与OPC UA 服务器建立一个单独的请求响应会话。在客户端服务器模型中,由客户端定义要从服务器接收哪些信息。这意味着每个客户端要负责与服务器建立安全会话,配置一个或多个订阅,并且配置其感兴趣的OPC服务器地址空间中的项目。单一服务器可以满足数百个多客户端信息请求,其中客户端与服务器之间的每个请求响应连接皆为单独维护。如图所示,对相同信息的多个客户端请求由来自UA 服务器的单独响应提供服务。

从图中还可看出,无论是哪一个客户端,均由相同的OPC UA 服务器作为其数据发布者。发布订阅模型解除了客户端(即订阅者1 或订阅者n)与OPC UA 服务器在容量上的配对。数据“发布”至由Microsoft Azure 等现有中间件进行管控的全局空间。与由客户端决定订阅内容的客户端服务器模型相比,发布订阅模型是在OPC UA 服务器上配置发布的数据集。

OPC UA 服务器可以同时支持客户端服务器模型和发布订阅模型。此外,添加发布订阅模型不会对现有OPC UA规范组合造成破坏。这证明了OPC 符合打造“适合未来发展”规范的设计原则。

OPC UA 通过安全性和交付保障增强局域网上的UDP 多播组。OPC UA 服务器定期向已配置的多播组发布UDP 数据报。UA 信息模型组件支持连接、群组和消息编写程序,并且专为使用UDP的高速对等通信而设计。UDP 并不提供交付、排序或复制保护的保证,但UA信息模型在设计时充分考虑了这些情况。

通常,任何发布订阅模型都可启用一对多、多对一或多对多配置。在并入OPC UA 时,可以设想特定领域的使用情景,包括对等控制器/ 设备通信;控制器/ 设备和 HMI 通信; 向通过企业服务总线连接的高级应用客户端交付过程消息,其中客户端可能位于局域网之外;向远程客户端交付系统消息。

OPC UA 是以信息为中心的分层架构, 该架构安全、不受平台影响、可扩展、支持互操作且面向对象。OPCFoundation 将发布订阅纳入其基本信息模型的举动,进一步体现了OPC UA 作为领先的技术支持IIoT 的证明。