智能制造中基于OPC UA的多源异构数据传输与解析技术*

2021-03-01 02:45张宪民薛栋栋郑家和
机电工程技术 2021年1期
关键词:异构嵌入式建模

张宪民,薛栋栋,郑家和,李 海

(华南理工大学广东省精密装备与制造技术重点实验室,广州 510641)

0 引言

随着“工业4.0”与“中国制造2025规划”的提出,制造业开始向智能制造转型[1-2]。工业物联网是第四次工业革命的表现形式[3],一个完整的工业物联网架构从下至上可以分为智能感知层、互联互通层与智能决策层3 个层级[4]。工业现场存在各种不同的设备,除了用于加工制造过程,还提供了丰富的数据;但这些设备通信方式多样,语义信息不一,因此产生的多源异构的数据无法得到利用,形成了“信息孤岛”[5]。互联互通层的作用正是提供统一语义的通信方式,实现对多元异构数据的传输与解析,打通数据链,从而实现制造资源向智能化转变,使制造过程中的多源异构数据得到有效利用[6-7]。只有实现了各设备与各系统的互联互通,使接口标准化,信息交互简便化,才能进一步地运用孪生车间[8]、深度学习[9]、边缘计算[10]等技术实现物理世界数字化、制造数据信息化、制造过程智能化,最终实现智能制造。

OPC UA(Object Linking and Embedding for Pro⁃cess Control Unified Architecture)是用于实现工业物联网互联互通的一种标准化的、完全开放的通讯协议,已经被德国机械及制造商协会(VDMA)指定为工业4.0通信的推荐规范[11]。OPC UA为多元异构数据的采集和传输提供了技术方案。对应ISO/OSI七层模型,如图1 所示,OPC UA 为应用于应用层的通讯协议,其余层次的通讯协议可以如图所示。

本文以智能制造互联互通研究领域的热点技术OPC UA 为出发点,对OPC UA 技术进行了介绍,包括OPC UA 的发展历程及其技术特点;其次讲述了OPC UA 信息建模和OPC UA 应用的开发流程,介绍了现阶段OPC UA技术在各个领域中的应用情况;然后分析了应用OPC UA技术时存在的问题;最后展望了OPC UA 技术相关研究的进展。本文为OPC UA 技术的应用和研究提供了参考。

图1 ISO/OSI七层模型

1 OPC UA介绍

1.1 OPC UA技术发展历程

1995 年,OPC(Object Linking and Embedding for Process Control)技术由OPC 基金会提出[12],是微软公司OLE技术在过程控制中的应用,提供了3个OPC规范:数据访问(DA)、报警和事件(A&E)、历史数据访问(HDA),广泛应用于自动化行业中。但OPC 技术存在一系列的问题,如对Windows 的依赖性、安全性不足、各服务器相互独立等问题[13]。随后,推出的OPC 可扩展标记语言-数据访问(XML-DA)是平台无关的OPC 规范,可用于网络通信,但高资源消耗带来有限的性能提升,实时性较差,且安全性方面的问题未能解决[14]。2006年,又推出了OPC UA(Unified Architecture)通信规范[15],是对OPC 的继承与升级,解决了OPC 技术在跨平台、安全性、建模能力方面的不足[16]。由于OPC UA 强大的信息建模能力,OPC UA技术得到了众多行业应用的关注,出现了许多伴随行业标准,如PLCopen发布了OPC UA相关的技术规范用于运动控制[17]。

1.2 OPC UA技术特点

(1)访问的统一性。OPC UA 将OPC 技术中的DA、A&E、HDA 及各种命令集合在一起,形成地址空间,客户端只需要一次访问,即可获得所有的信息[18]。

(2)面向服务架构(SOA)。应用程序通过标准服务进行联系,服务是中立的,独立于硬件平台、操作系统和编程语言[19]。因此,OPC UA 可以使用C++、C#、java 等各种语言开发,并可以在Win⁃dows、Linux、Unix 等平台进行开发[20]。另外,OPC UA 标准定义了10 类37 种标准服务,如建立会话、浏览、调用方法等。

(3)高性能通信。通过单一的端口进行通信,减少了配置的时间,通过通信栈进行数据的编码、加密和传输,通信速度较快。

(4)安全性。OPC UA使用标准安全模型保证安全性,底层提供加密和安全通道,主要通过非对称加密方式和X.509证书保证安全性[21],其身份认证机制能有效地防御网络中的恶意攻击[22],保证安全可靠的通信。

(5)可靠性与冗余性。采用冗余校验技术,具备对错误的自动检查与纠正能力。

(6)C/S与Pub/Sub实现机制。OPC UA提供了两种不同的实现机制:一种为主要基于TCP 的客户端/服务器模型(C/S),一种为主要基于UDP 的发布者/订阅者模型(Pub/Sub)。不同的实现机制应用于不用的场景。

(7)面向对象建模。OPC UA具备强大的建模能力[23],采用面向对象思想进行信息建模,在元模型的基础上可以建立灵活的信息模型。

对于制造过程中的多源异构数据,使用具有众多优越性的OPC UA技术进行传输和解析,可以使多元异构数据得到利用,有利于设备及系统实现互联互通。

2 OPC UA应用和研究

2.1 信息建模

信息建模是工业4.0中的一个关键因素,代表数据的意义与对数据的描述,实现互联互通的关键即为建立标准化的信息模型[24]。在建立信息模型方面有多种体系,如OPC UA、UML、CIM-OSA[25]等。王民等[26]对几种信息建模方式进行了对比,可以发现基于OPC UA的信息建模具有明显的优势。

在OPC UA 技术中,信息模型包含在OPC UA 服务器的地址空间中,完全互联并以图拓扑呈现,有利用实现访问的统一性。在地址空间中,节点为基本单位,而节点是由属性和引用两部分组成,属性用于描述特定节点,引用代表两个节点之间的关联,通过引用形成了地址空间的层次结构。在OPC UA 的地址空间中,总共有8 种类型的节点,分别为数据类型节点、变量节点、变量类型节点、对象节点、对象类型节点、方法节点、视图节点、参考类型节点,各种类型节点的语义及关系如图2 所示。OPC UA 标准元模型预定义了很多标准的数据类型、变量类型、对象类型与参考类型,如表示属性的变量类型PropertyType、表示基本事件类型的对象类型BaseEventType、表示组织层次结构的参考类型Orga⁃nizes等。另外,OPC UA还提供了对元模型进行扩展的自由度,客户端可以可以自动识别自定义类型的语义,如自定义枚举数据类型MachineStatus 表示系统状态、自定义对象类型SCARAType 表示对SCARA设备的抽象等,通过这些操作可以丰富语义,更加灵活地建立信息模型。OPC UA信息建模是面向对象进行建模的,对象类型节点与对象节点相当于类与类的实例化,部分参考类型也可以以面向对象的思想理解,如HasSubType 参考类型相当于继承,Has⁃Component相当于类中的变量与方法等。此外,事件是处理信息鸿沟的重要方法之一[27],事件提供了相比一般数据更多的信息,代表特定事件发生,可用于设置通知和报警。最后,OPC 基金会定义了各种节点类型及参考类型的图形化表示方法[28],可以使用代表特定语义的图形画出人类易读信息模型图。

图2 OPC UA地址空间中8种类型节点

基于OPC UA的信息建模对多源异构数据的融合与解析具有非常重要的意义。因此,在制造工厂对各种设备与系统建立合理且完整的信息模型,使同一种类型的设备与系统对外呈现标准的接口,实现语义的统一,是实现智能制造互联互通的首要工作。

2.2 应用开发

首先,对目标将应用OPC UA功能的设备或系统进行分析。观察设备或系统的使用场景,看其是应用于设备级、车间级或企业级,分析其组成元素和包含的异构数据,确定需要实现的功能。

其次,建立设备或系统的信息模型。查看是否存在适用的行业伴随模型,如建立车间机床信息模型可以参考我国于2019年发布的《数字化车间机床制造信息模型》(GB/T 37928-2019)相关标准[29]。如果没有行业伴随模型参考,则需要对实际的设备或系统进行抽象,建立标准化的信息模型,实现从物理空间到虚拟空间的映射。信息模型可以输出为XML文件以便重复使用。

然后,选择使用的OPC UA开发库。当开发OPC UA服务器或客户端时,一般不会从标准读起,从零开始进行自主研发,而是会使用开源库或者商业库进行开发。常用的OPC UA 开源库有open62541 库,商业库有Unified Automation、Prosys 等公司提供的OPC UA SDK[28]。一些工业软件也实现了OPC UA 功能,可以直接创建OPC UA服务器和客户端,如Lab⁃view[30]、Kepware[31]。选择一个合适的开发方式能大大地节省工作量,可以根据开发语言、操作系统、所需要的功能、性能等各方面的因素选择合适的OPC UA开发包。

最后,在设备或系统中开发OPC UA服务器实现信息模型的实例化。通过节点映射关系、数据采集策略、数据缓存策略实现对多源异构数据源的绑定,并绑定方法,设置事件与报警、历史访问、访问安全[32]等功能,运行OPC UA 服务器。对于缺乏软件接口而又需要获取的数据,可以通过增加传感器以采集数据。对于工业现场众多的标准协议及私有协议,进行协议转换,转换为OPC UA通讯协议,使对外呈现统一的接口如图3 所示。搭建完OPC UA 服务器后,在需要使用数据的位置建立OPC UA 客户端,通过OPC UA的编码格式进行数据的传输。

图3 协议转换

2.3 应用案例

OPC UA作为具有巨大优越性的通讯协议,已经得到了广泛的应用。德国倍福公司于2010 年5 月开发了支持OPC UA 的海上风力发电机,是OPC UA 在工控领域的第一次成功应用[33],西门子,艾默生等公司的产品也开始支持OPC UA通讯[28]。

在我国,2017 年9 月GB/T 33863.1~.8-2017《OPC统一架构》前8个部分发布,OPC UA技术在我国也得到越来越广泛的应用,包括针织领域[34]、发酵行业[35]、船舶集成平台[36]、盾构机[37]、煤矿监控[38]、地铁监控[39]等各种领域。在制造车间的应用与研究是最多的,包括染整车间[40]、印刷车间[41]、模具装备制造车间[42]等。制造车间中最重要的两个部分即为机床与机器人,在机床方面,对西门子数控机床[43-44]、国产数控机床[45]、塑性成形机床[46],轧辊磨床[47]等有对OPC UA接口的应用与开发研究;机器人方面,有应用OPC UA技术在工业机器人操作系统ROS上开发机器人监控系统的研究[48],也有针对特定类型的机器人如SCARA[49]及特定公司的机器人如FANUC 机器人[50]上监控系统的研究。

3 存在的问题

OPC UA已经得到充足的应用,但当前仍存在一些问题需要解决,主要包括以下几个方面。

(1)设备与系统的升级。使用OPC UA技术,实现设备与系统的互联互通能带来巨大的优势,但各种制造工厂已经存在大量设备与产线,新的数字化车间、智能设备在制造业中所占的比例较小。现有的设备不可能完全舍弃,只能在维护现有设备与系统的同时进行逐步的改造与升级。然而,现实中的设备的寿命周期较长,如美国生产线的平均寿命程度为22年[51],而不同行业的设备的寿命也不尽相同[52]。因此,对所有的设备与系统进行升级换代,使得制造工厂中的所有设备与系统均支持OPC UA通讯协议是一项任重而道远的工作。

(2)标准化信息模型的建立。只有建立了各行各业中标准化的信息模型,实现语义的统一,才能实现真正的即插即用。但目前大部分自动化行业尚未建立标准化的OPC UA信息模型供设备制造商参考与使用,不同的设备制造商对相同的设备使用不同的信息模型显然与建立信息模型的初衷相悖。

(3)实时性问题。目前OPC UA相关应用的实现机制基本采用了客户端/服务器(C/S)架构。该架构在传输层的基本通讯协议主要为TCP 通讯协议,因此,具备序列号、确认应答机制、超时重传等保证可靠性的机制,同时这些机制也导致了无法保证实时性。另外,制造现场所需要传输与解析的多源异构数据成倍增加,OPC UA服务器中的节点数量在不断增多,当多个OPC UA 客户端同时连接OPC UA 服务器传输大量数据时,资源开销巨大,对网络带宽的要求增高,实时性愈加无法保证。

(4)跨网络问题。现今,自动化金字塔的工业物联网架构已经不能满足现代智能制造的需求,设备及系统不仅需要纵向的上位机与下位机间的通信,还需要设备与设备、系统与系统之间的数据交互,即横向的通信;另外,云计算、孪生车间等技术需要云平台直接连接现场设备,即跨层级的任意的联通。当前大部分的研究应用都是基于同一个网络下的互联,而不同的设备或系统可能位于不同网络,应用OPC UA技术实现跨局域网的安全可靠且实时性较高的互联互通仍是需要解决的问题。

(5)嵌入式系统中的OPC UA。生活中嵌入式系统无处不在,家用电器如咖啡机及生活用品如智能手表均为嵌入式系统,在工业制造中常用的传感器也为嵌入式系统。嵌入式平台可以认为是用于实现某特定系统的控制与调节的计算平台,且大部分嵌入式系统计算能力相对较弱[53]。当前制造车间中,控制器与嵌入式系统之间需要更加频繁的通信,系统可能需要与云平台直接通信,系统需要开放更多的功能,而新的技术如物联网、边缘计算的出现为嵌入式系统的多边通信提供了可能性[54-55],但仍需要解决最重要的通信问题。OPC UA即为解决嵌入式系统通信问题的合适的技术,但当嵌入式平台的代码容量很小时,OPC UA技术的开发应用就变得很困难[56]。在国外,小型设备及传感器的嵌入式系统上开发OPC UA服务已经有了大量的研究[57],Unified Automa⁃tion 公司已经提供了针对小型设备的OPC UA 软件解决方案[28],而国内相关的研究极少。

4 OPC UA研究展望

4.1 发布者/订阅者架构

为了解决传统的C/S实现机制因为实时性、资源受限而导致的OPC UA 通讯效率收到制约的问题[58],OPC 基金会于2018 年发布了发布者/订阅者(Pub/Sub)规范[59]。C/S 架构与Pub/Sub 架构的对比如图4所示,可以发现相比C/S 架构点对点的通讯方式,Pub/Sub 采用组播式通讯,信息的传递通过消息中间件(MOM)完成[60],发布者按照一定规则发布数据,订阅者接收数据。发布者与订阅者之间互为透明,可以动态地改变发布者和订阅者的数量。另外,发布者发布消息时,即使订阅者断开连接也能完成消息发布,从而实现了发布者与订阅者之间的解耦。

图4 C/S架构与Pub/Sub架构

为了使信息在来自不同厂商的发布者和订阅者之间的自由传递,在MOM模型的基础上开发了多种协议,其中使用最为广泛的方案是高级消息队列协议(AMQP)和消息队列遥测传输(MQTT)。其中,AMQP 提供了更多安全方面的功能[61-62],MQTT 则需要消耗的资源更少,适用于硬件资源受限的情况[63-64]。

Pub/Sub 的OPC UA 实现机制可用于制造车间中实现横向的互联互通,同一产线中不同设备间的互相通信对工序协同、故障避免等具有重要意义。另外,Pub/Sub 结合AMQP 与MQTT 技术,为设备上云提供了支持。作为OPC UA 较新内容,Pub/Sub 未来将会得到更多的研究与更广泛的应用。

4.2 时间敏感网络

OPC UA无法保证数据传输时的实时性,限制了OPC UA 的使用场合,由此,时间敏感网络(TSN)结合OPC UA 应运而生[65]。TSN 是对以太网标准的扩展,工作在ISO/OSI七层模型中的数据链路层,提供了3 个核心功能:时间同步、流量调度以及系统配置[66]。OPC UA 与TSN 结合可以显著提升实时性,设备或系统响应更加迅速;对底层的大量数据,TSN能有效减轻传输时的网络负担。目前,针对OPC UA与TSN相结合的研究与应用已经得到了一定的进展,各芯片制造商与设备制造商纷纷提出TSN 解决方案[67],Julius P 等[68]提出了一种基于open62541 的OPC UA Pub/Sub 结合TSN 的方法,多家国际组织和知名厂商联合发布了OPC UA TSN 智能制造测试床[69]。TSN 与OPC UA组合应用具有很好的应用前景。

4.3 其他方面研究展望

针对上文中提到的当前OPC UA应用时存在的问题,未来将会不断地有相关的研究,如不断地建立应用于各行各业中的基于OPC UA的信息模型、在各种嵌入式系统加入OPC UA通讯功能等。其次,当前工业现场已经存在大量的通讯协议,协议转换中间件的开发具有一定的必要性,如ModbusTCP 协议的OPC UA 中间件[70]。数据的安全问题是工业物联网的巨大隐患,对OPC UA安全机制的进一步研究,如应用于移动终端的身份认证方法[71]、更加优越的加密方法[72]等具有很强的研究价值。最后,如今各种新的技术不断出现,云架构[73]、5G[74]与OPC UA 技术相结合进行应用也应该得到关注。

5 结束语

随着信息时代的到来,人们对信息共享的需求越来越高,也促使着制造工厂向智能制造的方向发展。OPC UA技术作为实现智能制造中互联互通的一个关键技术,对制造现场的多源异构数据,其不仅能够实现高效的传输,还能通过信息建模实现数据语义的统一,进而实现多源异构数据的解析。通过OPC UA技术,来自不同厂家的设备可以通过标准的技术入口直接相互联通,实现即插即用。OPC UA是一种面向未来的工业通信技术,面对当前制造业转型的机遇与挑战,应该对OPC UA 技术予以高度重视,关注其应用与发展。

猜你喜欢
异构嵌入式建模
试论同课异构之“同”与“异”
联想等效,拓展建模——以“带电小球在等效场中做圆周运动”为例
基于PSS/E的风电场建模与动态分析
不对称半桥变换器的建模与仿真
搭建基于Qt的嵌入式开发平台
异构醇醚在超浓缩洗衣液中的应用探索
嵌入式软PLC在电镀生产流程控制系统中的应用
overlay SDN实现异构兼容的关键技术
LTE异构网技术与组网研究
Altera加入嵌入式视觉联盟