当涉及未来自动化、IIoT 网络的发展和智能工厂时,连接性起着关键作用。通过各个节点相互连接并交换数据的大型网络结构,正逐渐取代僵化、分层的自动化金字塔式结构。
为了实现这种智能网络,设备必须具备 IIoT 功能。所采用的设备必须满足特定的要求,例如标准化、可扩展性、与 IT 和 OT 系统的兼容性以及互操作性。此外,还必须确保能够安全地进行通信。
可以通过多种通信协议来实现一直连接到云端的智能通信,如 MQTT、OPC UA、AMQP 和 REST API。通过对倍加福四种基于 TCP 的通信协议的介绍和分析,您可以了解到这些 IIoT 通信协议的特性,以及其适用于哪些应用。
通过下文,了解该系列的第二部分—— OPC UA 通信协议。
OPC 统一架构 (OPC UA)是一种独立于平台、基于服务的架构。作为 Classic OPC 的升级版,OPC UA 的目标是消除 Classic OPC 的缺点,尤其是其对 Microsoft 和 COM/DCOM 的依赖性。OPC基金会先开发了 Classic OPC,然后它也是负责开发和管理 OPC UA 的同一组织。第一个规范发布于 2008 年,且通过了 IEC 认证(IEC 62541)。OPC UA是一种架构而非通信协议,为实施提供了一个完整的生态系统。这个生态系统非常灵活,随着未来技术的进一步开发,OPC UA 能够在现有系统中将新技术进行绑定并使用。例如,OPC UA 发布/订阅于 2018 年正式投入使用(在此之前,OPC UA 主要依赖于请求/响应)。目前,人们非常关注 TSN(时效性网络)标准,该标准支持时间确定性的网络通信。通过 OPC 基金会在各种技术和市场活动中的不懈努力,实现了从时间角度优化流程的目标。OPC UA 的一个重要优势在于无需设备描述文件。每个设备都具备所有需要的信息,无需依赖于外部文件进行通信、识别或数据访问。
不仅如此,OPC UA 为行业所提供的非常重要的方面还包括数据建模、信息模型和联盟活动,如技术工作组,致力于所有设备的跨行业协调和通信。OPC UA 数据建模的基本元素是节点和引用。每个数据单元称为一个节点,所有节点都通过引用进行连接。有各种类型的节点和引用。例如,节点可以是对象、变量、方法、对象类型或数据类型。引用也有类型,但在更高层级上被组合成分层组和非分层组。节点和引用都在一个地址范围内,所有节点都可以通过“节点 ID”进行访问。节点 ID 与存在相应节点(数据信息)的地址相对应。
信息模型是 OPC UA 应用的构建模块,提供标准节点定义,使设备之间能够更好地协调。信息模型可分为很多类型。OPC 基金会对基本模型进行了定义,如数据访问 (DA)、历史数据访问 (HDA)、警报和条件以及程序,这些模型提供了有关 OPC UA 应用支持哪些功能的信息。DA是对过程和参数数据的标准访问。HDA 增加了存储来自同一节点的多个测量值以便用于统计的功能。警报和条件允许在紧急通知的情况下发送事件,而程序允许定义简单的状态机。
OPC UA 的可扩展性可以帮助用户实现仅数据访问信息模型,这对于内存和计算能力有限的设备特别有用。除了这四种信息模型外,OPC 基金会还创建了另一种模型,设备集成(DI)信息模型,该模型为技术工作组的许多其他信息模型奠定了基础,如 FDI、PLCopen、AutoID 或 OPC UA for IO-Link。这些信息模型对设备协调做出了重大贡献,它们可以在同一个接入点(节点 ID)上实现相同的信息。这意味着替换设备非常容易,即使它来源于另一个供应商。
OPC UA 中扩展后的发布/订阅机制采用专有的消息格式,即网络消息,使用不同于传统客户端/服务器模型的通信协议。所使用的是 MQTT、AMQP、OPC UA UDP 和 OPC UA Ethernet。值得关注的是,这四种协议位于三个不同的 TCP/IP 模型层上:网络层、传输层和应用层。
图 1 将“请求/响应”和“发布/订阅”两种机制并排进行对比。OPC UA 应用包含一个 OPC UA 服务器和一个 MQTT 客户端,并通过两个并行的 TCP 连接进行通信。一个连接用于将数据发布到 MQTT 代理,另一个连接用于从 OPC UA 客户端接收请求。无法避免应用与其并行通信。该应用的实现只需要两个 TCP 连接。优点是数据只存储一次,缺点是需要在两个独立的通道上传输。
OPC UA 在许多语法和语义上具备互操作性。在语法上,所有设备都使用相同的类型和服务进行通信。它们还使用信息模型,所有模型都以相同的格式存储在节点集文件中。节点集文件包含 OPC UA 中除基本建模规则外定义的所有节点和引用的集合,并以机器可读的格式提供信息模型中定义的数据。节点集文件提供语法和语义上的互操作性。从语法角度,这些文件具有相同的结构,可以从任何 OPC UA 应用进行解析。从语义角度,许多工作组正在努力协调其参数和过程数据的名称、方法可用性、事件等,以便实现不同的设备彼此相似且行为相似。例如 AutoID 信息模型,旨在统一所有识别设备,如RFID阅读器和条形码阅读器。此外,使用不同供应商的设备可能有一些特定的参数,仍应该遵循一个共通的基础架构和标准。这就简化了OPC UA 客户端的实现,不需要为各个定制版本建立链接。简而言之,OPC UA 能够实现机器与机器之间的交互。通过使用可视化工具将复杂的信息模型转换成用户友好的图形界面,也可以实现人与机器之间的交互。
扩展到发布/订阅领域后,OPC UA 在实时性能方面可能可以具有竞争机会。但是,OPC UA 传统的请求/响应通信模式在处理速度上很难媲比专为低延迟和高吞吐量设计的 MQTT 和 AMQP。
OPC UA 的 WS 安全对话遵循 Web 服务安全规范,并为 TCP 二进制路径创建了一个二进制格式的UA安全对话。此外,还提供安全机制,如用户名/密码、X.509 证书和签发的令牌,以及记录客户端更改的消息审计功能,跟踪更新的值和更改的时间。
OPC UA 具备多功能性,是一种可扩展的协议。除了标准安全扩展外,这通常只意味着关闭安全功能(不建议用于 OPC UA 或其他协议),OPC UA 至少可以通过两种方式进行扩展。为小型嵌入式设备选择合适的 OPC UA 配置文件(Nano Embedded Device Server Profile),可以将 TCP 的连接数限制为一个。此外,还可以将应用限制为基本信息模型,如数据访问 (DA)。
OPC UA 在概念上也很复杂,尤其是当涉及到构建完整的信息模型时。因此,我们建议用户直接使用与用例相匹配的现有信息模型。从协议和安全角度,我们也建议用户使用现有的库,并在其基础上进行构建。
OPC UA 适用于以下应用:共享数据需要标准化和统一化;设备需要使用相同的信息模型进行简单互换;需要使用事件、警报和历史数据;甚至是请求/响应和发布/订阅通信的混合应用。OPC UA 已在全球数百万的机器和工厂中投入使用,包括物流、汽车和化工行业等。