基于OPC UA 的多机系统互联互通技术研究①

2022-04-30 05:13薛栋栋张宪民詹镇辉
高技术通讯 2022年3期
关键词:机械系统并联客户端

薛栋栋 张宪民 詹镇辉 张 原

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

0 引言

智能制造成为制造车间发展的重要趋势[1],而工业物联网是支撑智能制造的重要组成部分[2]。完整的工业物联网架构一般分为3 个层次,即智能感知层、互联互通层与智能决策层[3]。在制造车间中,经常需要接入不同厂家、不同种类的机器设备,这些机器设备之间通信方式多样,私有协议繁多,设备语义信息不一,形成了“信息孤岛”;而互联互通层为不同机器设备之间提供了统一语义的通信方式,实现了隐藏差别地自由通讯、信息交互,解决了信息的多源异构问题,实现了信息的集成与融合[4]。以机器人为代表的机器设备能在制造车间实现特定功能,包括抓取、搬运、精密定位等,是制造车间的基本组成单元。机器设备的互联互通是实现制造向智能化转变的重要基础[5],其不仅可以实现不同机器设备之间大量的数据交互,同时,使得设备过程级的加工数据得以利用,如监测刀具磨损状态[6]、建立云平台监控系统[7]等。

为了实现多机系统的互联互通,使设备接口标准化、信息交互简便化,需要一种通用性、兼容性较好的通讯协议,本文选择了作为工业4.0 推荐通信规范的开放平台通信统一架构(open platform communication unified architecture,OPC UA) 通讯协议[8]。OPC UA 具有以下特点:(1)采用统一的地址空间模型,具有访问的统一性;(2)高性能通信;(3)应用于不同场景的C/S 结构与Pub/Sub 结构;(4)采用面向服务的架构[9],具有平台无关性,并支持多种语言开发;(5)面向对象思想,可以建立灵活的对象信息模型;(6)可靠性和冗余性;(7)标准安全模型保证安全性[10]等。

针对OPC UA 技术,国内外进行了相关的研究应用。在国外,西门子、艾默生等公司的各种产品开始支持OPC UA;Unified Automation、ProSysOPC 等公司开发的OPC UA SDK 已得到广泛的应用[11]。在我国,OPC UA 相关标准GB/T33863.1-2017《OPC统一架构》于2017 年9 月发布[12],OPC UA 的应用得到不断的推动,如在针织[13]、船舶集成平台[14]等领域均得到应用;在制造车间,王立平等人[15]、李锋等人[16]和秦仁凯[17]对各类制造工厂中OPC UA 的应用进行了研究。然而,依据机器系统的功能进行详细的信息建模并应用的研究较少;另外,对基于OPC UA 的互联互通架构的研究主要为实现纵向的互联互通,而没有考虑横向以及任意方向的互联互通,尤其对处于不在同一局域网的情况如何实现互联互通的研究较少。

为了实现多机系统的互联互通,本文首先针对3PRR 并联机械系统与选择顺应性装配机器手臂(selective compliance assembly robot arm,SCARA)机器系统,在分析各系统物理模型与功能的基础上,提出了基于OPC UA 的信息模型;然后映射到整个制造过程,探索了应用OPC UA 结合Web Service 技术实现智能制造全过程的互联互通架构;最后设计了验证平台,实现了基于建立的信息模型的多机系统的互联互通,并验证了系统的互联互通,为OPC UA技术在多机系统中的应用进行了探索和实践,为智能制造的未来奠定了基础。

1 多机系统信息模型

多机系统信息模型的建立是实现互联互通的关键。为了形成标准化的信息模型,需要对车间各物理系统进行抽象,从而实现从物理空间到虚拟空间的映射,使得同一种类型的设备系统对外呈现标准的接口,并达成数据语义统一。在建立信息建模方面有CIM-OSA[18]、UML、OPC UA 等方法,而OPC UA 信息建模具有较大的优势[19]。

1.1 OPC UA 信息建模规范

OPC UA 的地址空间是由服务器中的节点组成,节点是地址空间的基本单位,其主要由属性和引用两部分组成,根据节点与节点之间的结构可以确定唯一的信息模型。节点的属性用来描述节点的具体情况,引用表示节点间的关系。在OPC UA 中,总共有8 种类型的节点,如图1 所示。可以发现,OPC UA 标准预定义了很多标准节点,同时提供了对元模型进行扩展的自由度,如建立新的数据类型、参考类型等,进而丰富语义,更加方便地建立信息模型。

图1 OPC UA 地址空间节点类型

OPC UA 信息建模是基于面向对象的思想,如对象类型节点与对象节点之间的关系相当于类与类的实例化,参考类型HasSubType 相当于继承等。利用OPC UA 对机器设备进行信息建模主要为对机器设备进行抽象,建立其对象类型。

1.2 机器系统信息模型

本文选取的3PRR 并联机械系统和SCARA 机器系统是用于实验室研制的光伏太阳能丝网印刷机中的机器系统,其中3PRR 系统用于丝网印刷中的精密定位,SCARA 系统用于光伏硅片的上下料。实现其互联互通,不仅使光伏太阳能丝网印刷机上位机更方便地控制各系统的运行、监视各系统的状态,实现各机器设备在特定工位的功能,同时使得在不同工位工作的机器系统能够进行工作进度交流,因为印刷机印刷的节奏与分拣节奏的协调控制对生产效率和生产质量有所影响。另外,互联互通使设备可以接入云平台,使用获取的生产过程数据进行大数据分析。

3PRR 是一种并联机构,它由3 个支链组成,每个支链均是由1 个移动副和2 个转动副组成,其中使用移动副作为驱动单元,其机械结构图如图2 所示。作为并联机构,3PRR 具有运行速度快、刚度大、精度高等优点,因此被广泛应用于精密加工、电子装配、航空航天等领域。

图2 3PRR 机械结构图

SCARA 是一种基于圆柱坐标系的串联型工业机器人,它由3 个相互平行的旋转关节和1 个垂直方向的移动副组成,SCARA的机械结构图如图3所示。SCARA 具有结构轻便、响应快等优点,广泛应用于元件装配、货物搬运、涂胶和零件打磨等领域。

图3 SCARA 机械结构图

基于系统功能,本文建立了3PRR 并联机械系统与SCARA 机器系统的信息模型。使用OPC UA信息建模符号,分别画出两机器系统的信息模型,如图4 和图5 所示。

图4 3PRR 系统信息模型图

图5 SCARA 系统信息模型图

3PRR 并联机械系统和SCARA 机器系统是根据各系统实现的功能进行信息建模。建立3PRR 与SCARA 的运动学模型,分别求运动的正解与逆解后[20-21],可由直线驱动单元位置或轴位置确定末端执行器相对参考坐标系位姿,或根据已给定的满足工作要求的末端执行器相对参考坐标系的位置和姿态,求各驱动的位置。由此,通过对系统驱动单元的控制,可以实现实时位置反馈及使用各种算法进行轨迹规划以进行不同类型的运动控制。因此,首先需要保证对驱动单元足够的控制,对3PRR 并联机械系统而言即为直线驱动单元的各种运动参数与运动方法,包括位置、速度等运动参数以及正转、点动运动等控制方法,SCARA 机器系统的轴类型同理。其次,机器系统最重要的参数包括末端执行器的当前位置与系统状态信息,必须能被直接获取。另外,对整个机器系统的全局控制不可或缺,包括连接控制卡、停止、复位等。还有,可以实现一些简单的轨迹规划算法以方便用户使用。最后,系统的机械结构参数也必须能被获取。由信息模型图可发现建立信息模型符合系统功能需求分析,且3PRR 并联机械系统信息模型与SCARA 机器系统信息模型类似,不同点在于:3PRR 为直线驱动单元驱动,SCARA 为转动轴驱动,单位属性节点不同;SCARA 由于不需要进行超精密运动,仅建立了直线轨迹规划对象节点;结构参数意义不同,3PRR 结构参数L1、L2、L3意义见图2 所标示,SCARA 结构参数中,L1 代表第一、二关节之间的距离,L2 代表第二、三关节之间的距离,D4 代表丝杆垂直运动的初始偏置。

除了自定义对象类型外,还使用了自定义的DataType,如自定义枚举类型的DataType 表示系统状态,自定义结构体类型的DataType 表示轨迹规划离散点等。DataType 是变量节点的一个重要属性,决定变量节点存储值的数据结构。针对当前位置,使用了2 种方式进行信息建模:(1)建立位置的对象类型节点,对象类型节点包含X、Y、θ的变量节点;(2)建立位置信息的DataType,然后直接使用变量节点存储实时位置。对比之下,方法(1)需建立较多节点,而方法(2)只建立一个节点,占用OPC UA 地址空间中的空间较小,有利于节省内存;但方法(2)新建DataType 不是每一个OPC UA SDK 均支持,且部分客户端需包含新建的DataType 的节点才可以理解数据结构,另外方法(2)新建对象类型简单易懂,基本所有的OPC UA SDK 均支持,有利于语义的统一。

绘制信息模型图时,进行了省略与简化,仅画出了前向引用;自定义的变量节点的类型定义均为BaseDataVariableType,属性节点的类型定义为PropertyType;括号中的“M”代表与Mandatory 对象节点有HasModellingRule 引用关系,表示强制必须有,同时强制规定了节点的属性,“O”同理,表示节点可选;使用了OPCUA标准中已有的对象类型节点,如文件夹类型节点FolderType 节点,基本事件类型节点BaseEventType;位置类型下的X、Y、θ变量节点的Historizing 属性设置为true,表示OPC UA 历史功能可用,以记录历史值,为未来的数据分析应用做铺垫;一些变量节点的AccessLevel 属性被设置,例如设置为只可读而不可写的,包括所有的单位属性节点、系统状态节点、当前位置节点等,这些变量节点只可以由服务器内部改变而不可以通过客户端改变,防止系统出现未知的错误;支持历史的变量节点AccessLevel 属性设置只可历史读而不可历史写、历史更新与删除,防止历史值被修改。

2 互联互通架构

在制造企业中,设备与系统之间的架构如图6所示的自动化金字塔,主要为纵向的通信。信息由底层的位于同一车间网络的设备层向上至车间层的数据采集与监视控制(supervisory control and data acquisition,SCADA)系统,不同的制造车间再由工厂层的制造执行系统(manufacturing execution system,MES)进行监管,最后由企业层的企业资源规划(enterprise resource planning,ERP)系统进行资源规划。这种纵向通信的模式比较局限,只能实现上层对下层的监控,已经不能满足智能制造的需求。为了实现对数据的充分利用和满足各种情况下的数据传输需求,不仅需要实现纵向的联通,还应实现处于同一层级的设备与设备、系统与系统之间的集成,即横向的联通。现今,设备上云已经成为研究热点与突破点,需要实现云与各个层级的通信;另外,不同网络中的设备与系统之间也可能需要数据互通,因此需实现任意方向的互联。应用基于OPC UA 的信息模型实现了语义的统一,然后基于OPC UA 的其他技术实现横向、纵向与任意方向的联通,如图6 右半部分所示。主要应用了OPC UA 中的客户端/服务器(client/server,C/S)结构、事件、双向服务器与聚合服务器,并结合Web Service 给出了互联互通架构。

图6 自动化金字塔与OPC UA 通信

2.1 C/S 结构

OPC UA 针对不同的应用场景提供了两种结构,而最常用的结构即为C/S 结构。C/S 架构是软件主流的架构之一,其中服务器负责数据的提供和管理,并向外提供服务;客户端向服务器发出请求以获取数据与服务以完成特定的任务。OPC UA 提供了一系列的标准服务以保证客户端与服务器交互。

C/S 结构是实现互联互通的基础。OPC UA 服务器可以允许多个OPC UA 客户端访问,在每个设备或系统中均嵌入OPC UA 服务器即可实现位于不同层级的多个客户端的访问。

2.2 事件

事件处理是解决信息鸿沟的重要方法之一,是由时间、因果及与其他事件的关联产生,代表特定的场景发生。事件提供了相比变量节点更多的信息,在OPC UA 中可以用作通知与报警。事件发生时,已经订阅了事件通知器的客户端会获得通知,进行一定的处理,这在智能制造环境中具有重要意义。首先可以实现上位机控制系统与下位机设备的联通,实现对机器状态的监控,预防危险的发生;其次有利于进行车间前后工序的协同,从而确保精准生产,减小了对资源的调度与浪费,有利于降低成本、提高产能。

OPC UA 定义了基本事件类型,包含EvevtId、EventType、Message、Severity 等属性,可以提供事件功能。另外,OPC UA 标准还定义了一系列的标准事件类型。本文主要使用了BaseEventType 事件类型与DialogConditionType 事件类型。其中,Dialog-ConditionType 节点位于命名空间0,节点ID 为2830。相比一般的事件是单方面服务器对客户端的通知,DialogCondition 事件还会等待客户端的回应,服务器设置回调函数根据不同的回应(选择)做出不同的反应,如图7 所示。

图7 一般事件与DialogCondition 事件

2.3 聚合服务器

在一个设备或系统中,可以同时嵌入多个OPC UA 服务器和OPC UA 客户端。

当一个应用程序软件,既作为OPC UA 服务器提供数据,又作为OPC UA 客户端利用数据时,这种情况称为双向服务器,如图8 所示。双向服务器实现了设备或系统的双向通信,可以应用于水平方向的集成。

图8 双向服务器

聚合服务器(图9)是对众多OPC UA 服务器的映射与聚合。聚合服务器中包含多个OPC UA 客户端,各客户端与下一层级中的OPC UA 服务器相连并获取数据和服务,再使用数据缓存技术等实现本层级中的OPC UA 服务器。聚合服务器在设备与系统的垂直集成中有重要作用。

图9 聚合服务器

2.4 Web Service

在实际生产制造过程中,不同车间、不同工厂的设备及系统极有可能位于不同局域网,OPC UA 虽然支持HTTP 协议,但大部分OPC UA SDK 并未提供相应接口,而是基于TCP 协议,只支持局域网内通信,无法实现任意的联通。基于此问题,本文提出一种OPC UA 结合Web Service 的方案实现任意方向的互联互通。

Web Service 是一个平台独立的、可以执行特定业务的可编程的Web 应用程序。应用Web Service技术,可以使运行在不同设备上的应用调用其他网络中的资源,实现数据交互与集成。OPC UA 结合Web Service 技术实现跨局域网的互联互通流程如图10所示。在每一个局域网中均架设Web Service服务器;当外部网络中的应用远程连接该局域网中的OPC UA 服务器时,Web Service 服务器能动态地创建OPC UA 客户端或直接使用OPC UA 客户端池中的客户端,客户端通过URL 连接局域网内的特定OPC UA 服务器。外部网络调用其他服务时,连接服务器的客户端获取响应的信息后,使用JSON 序列化信息,然后通过HTTP/SOAP 传输序列化后的字符串给Web Service 请求端,请求端再将字符串进行JSON 反序列化,获取传输的信息,从而实现了跨局域网的信息交互与控制。

图10 OPC UA 结合Web Service 技术

目前已经使用ASP.NET 开发了一些基本的Web Service 接口,开发的接口在浏览器中打开如图11所示,包括创建客户端、连接服务器、调用方法、读写变量节点、订阅值变化、订阅事件、获得DialogCondition 节点信息、断开服务器连接等。其中,使用哈希表与数组管理客户端池;设置了节点类型枚举与节点类型映射哈希表;设置了多种JSON 序列化类,如节点状态类NodeStatus 表示浏览到的变量节点状态,离散数据点类DiscreteData 表示轨迹规划得到的离散数据点;定义了订阅值变化哈希表、订阅事件哈希表存储订阅获得的信息;使用了加锁机制解决并发问题等。各局域网中提供的Web Service 相同。

图11 Web Service 接口

通过这些Web Service 接口,可以实现位于不同网络的设备与系统的相互通信,实现了任意方向的互联互通。可以基于C/S 结构开发远程客户端或基于B/S 结构开发网页应用,实现对智能制造车间的远程监控。

通过上述技术,可以搭建出基于OPC UA 的智能制造车间互联互通架构,如图12 所示,实现了水平、垂直与任意方向的互联互通。

图12 智能制造互联互通架构

3 多机系统互联互通验证平台

为了验证本文建立的基于OPC UA 的3PRR 并联机械系统与SCARA 机器系统的信息模型与给出的智能制造互联互通架构的可行性与合理性,使用实验室位于不同位置的3PRR 并联机械系统与3 台SCARA 机器系统,搭建了多机系统互联互通验证平台。

3PRR 并联机械系统与SCARA 机器系统现场状态如图13 所示。图13(a)为位于实验室1 的3 PRR并联机械系统,图13(b)为位于实验室1的SCARA 机器系统1,图13(c)为位于实验室2 的SCARA 机器系统2,图13(d)为位于实验室2 的SCARA 机器系统3。实验室1 与实验室2 处于不同的局域网中,模拟位于不同制造车间、不同局域网中的不同设备。另外,各机器系统的上位机控制软件的开发语言也不尽相同,图13(a)与(b)为使用C#开发,图13(c)与(d)为使用C++开发。因此分别选择了C#的商业库与基于C/C++的open62541开源库实现OPC UA 功能。

图13 3PRR 与SCARA 系统现场状态

本文搭建的多机系统互联互通验证平台的架构如图14 所示。

图14 多机系统互联互通验证平台架构图

首先,各平台基于本文建立的3PRR 并联机械系统与SCARA 机器系统的信息模型进行实例化;其次,实现变量节点与数据源的绑定、方法节点与控制方法的绑定、OPC UA 事件与物理事件的绑定,并设置服务器访问控制、历史功能等,完成OPC UA 服务器在机器系统中的嵌入;最后,建立OPC UA 客户端,使形成双向服务器。本地局域网中设置OPC UA 客户端作为上位机,实现远程数据监控、事件报警处理、控制方法管理、历史数据查看、数据结构管理等功能;本文使用第三方软件UaExpert 作为上位机OPC UA 客户端,其具有比较完备的客户端功能,另外在第三方软件中可以实现相应功能更能说明OPC UA 服务器的成功实现。在2 个实验室中分别搭建Web Service 服务器,IIS 发布后再使用花生壳进行反向代理后,所有的网络都可以通过固定网址使用Web Service 服务器提供的接口。最后基于AJAX 与B/S 结构,使用ASP.NET 开发了Web 网页端应用,通过Web Service 接口连接OPC UA 服务器,使用预定义好的类对获取的信息进行JSON 反序列化,使用户可以使用手机或电脑浏览器访问网页,从而实现对各机器系统的远程监控。

连接SCARA 机器系统中的OPC UA 服务器后,在UaExpert 中的地址空间窗口中显示如图15 所示。可以发现符合本文建立的SCARA 机器系统的信息模型。3PRR 并联机械系统的地址空间类似,不再展示。

图15 SCARA 系统服务器地址空间

在UaExpert 中,对3PRR 并联机械系统的OPC UA 服务器中的变量节点进行实时监测,在数据访问视图中显示如图16,可以进行正常的监测。在UaExpert 中的历史趋势视图中,对变量节点值的历史数据进行查看,如图17 所示;此时为3PRR 并联机械系统进行圆弧运动时X、Y、θ值的历史数据,设置的姿态角为60 °,圆心坐标为(0,0),半径为50 mm。可以发现历史功能正常。

图16 UaExpert 数据访问视图

图17 UaExpert 历史趋势视图

测试DialogCondition 事件。在OPC UA 服务器中定时触发一般事件与DialogCondition 事件,在UaExpert 的事件视图中显示如图18 所示。可以发现OPC UA 客户端正常收到服务器发生事件时的通知,而且对DialogCondition 事件客户端也可以进行选择,符合OPC UA 标准。

图18 UaExpert 事件视图

在UaExpert 中观察自定义的DataType,如图19所示。其中子图(a)为自定义的枚举类型Data-Type,用于表示系统状态;子图(b)为自定义的结构体类型DataType,用于表示规划轨迹离散点。发现变量节点可以被正常读写,自定义的DataType 可用。

图19 UaExpert 中观察自定义DataType

在浏览器中访问开发的Web 网页端监控系统,如图20 所示。由于页面较大且各种功能页面较多,因此未展示全部的内容,图20 为对3PRR 并联机械系统进行监控时的部分网页内容。用户管理、系统管理、客户端管理、浏览节点模块以及对SCARA 机器系统的监控网页等均不再展示。通过对网页的操作,可以发现该Web 网页端监控系统可实现对3PRR 机械系统与3 个SCARA 机器系统中OPC UA服务器的远程访问控制。

图20 浏览器访问Web 网页

以上结果证明,在3PRR 并联机械系统与3 台SCARA 机器系统中成功搭建了OPC UA 服务器且符合建立的信息模型,使用第三方软件UaExpert 作为客户端证明符合OPC UA 标准,网页监控系统证明使用OPC UA 综合Web Service 技术可以实现跨局域网的互联互通,给出的整个系统的互联互通架构具备可行性和合理性。

相比现有的基于OPC UA 的多机系统互联互通技术的研究方法,本文建立的信息模型包含了更多的信息,并在OPC UA 服务器中对OPC UA 技术中的大部分内容进行了研究与应用;另外,基于信息模型与互联互通架构,不仅可以实现远程的状态监视,还能实现远程的运行过程控制。

4 结论

为了实现多机系统的互联互通,本文以系统功能为出发点首先提出了基于OPC UA 的3PRR 并联机械系统与SCARA 机器系统的信息模型,实现了各层之间语义与接口的统一;然后提出了OPC UA结合Web Service 的智能制造车间互联互通的架构,实现跨层级、跨局域网的横向、纵向与任意方向的互联互通;最后以实验室位于不同局域网的3PRR 并联机械系统与3 个SCARA 机器系统开发了验证平台,证明了建立的信息模型及互联互通架构的可行性与合理性,为其他机器系统实现互联互通提供了参考,对推动智能制造发展,实现物理世界数字化、制造数据信息化、制造过程智能化具有一定的帮助与借鉴意义。

互联互通是智能决策的前置条件,智能决策是智能制造的内在核心,实现多机系统互联互通后,进一步利用数据进行系统的故障诊断、大数据处理等对实现智能决策具有重要意义,未来将在实现互联互通的基础上进行进一步的研究。

猜你喜欢
机械系统并联客户端
识别串、并联电路的方法
如何看待传统媒体新闻客户端的“断舍离”?
并联型开关稳压电源的常见故障与维修
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
柴油发电机并联控制器的思考
某体育场开合屋盖台车侧向调整阻尼系统的应用研究
分布式并联逆变器解耦电流下垂控制技术
改造离心泵实验装置 提高实训质量