基于OPC UA技术构建支持多源异构数据采集的数据采集平台
2021-07-06范勇
范 勇
(二重(德阳)重型装备有限公司,四川618000)
随着中国制造业的发展,对极限制造的重型装备的需求越来越高。同时对重型装备制造企业的生产过程提出了更高要求,企业迫切需要能够及时监测到设备运行的关键参数。按照其他行业的经验,实现加工设备的数据采集很有帮助,由于重型装备的机加车间多数为传统工艺布局,车间内部的加工设备类型很多,涉及到各种接口,多种协议,属于典型的多源异构环境。在这种复杂环境中实施数据采集系统面临着很多风险,企业投入大,开发难度高,即使开发出来,随着企业内部信息化建设的需要,各种应用系统需要接入,修改起来非常复杂。
因此探讨了一种基于OPC UA技术实现的支持多源异构数据采集的平台的基本原理和架构,并将其实用化。
1 重型装备机加车间数据采集特点分析
1.1 重型装备机加车间生产特点
重型装备具有单件小批量、涉及极限制造、加工精度要求高等特点,制造工艺不稳定,且非常复杂,一旦出现加工失误,损失巨大。
重型装备的核心零件制造工艺很长,覆盖钢水冶炼、浇注、锻压、机加、焊接、装配等工艺门类,其中机械加工是制造的重要和关键环节。由于重型装备产品特点和工艺特点,重型装备的机加车间布局往往按照工艺专业化原则组成生产单元,将具备同类型加工工艺的设备和同类型的装配方法集中在一起,整个车间拥有多组不同类型的加工设备。核心零件由工艺人员和生产人员根据零件的设计特性和生产设备负荷情况确定工艺加工方案,并在生产制造过程中,根据现场情况,不断优化调整加工方案。
1.2 重型装备机加车间数据采集难点
重型装备机加车间一般都有多种工业设备及很多信息化系统、设备控制系统、车间信息系统和企业信息系统等多个层次、多种智能化设备的集成,如何全面对这些加工设备、信息化系统进行综合信息集成,实现基础数据的统一管理与集成是重型装备数字化车间的一大难题。
2 重型装备机加车间数据采集解决方案
对重型装备机加车间采用OPC UA技术进行数据建模,并在OPC UA服务器完成这些模型实例化。搭建一个数据采集平台,实现多源异构数据的采集、汇聚、转换和OPC UA地址空间的映射。重型装备数字化车间的数据采集与监控平台主要完成对车间各种加工设备的监控,实现数据采集和报警等功能。数据采集与监控平台成为车间生产数据服务平台,作为重型装备机加车间各系统集成架构的核心,将各种加工设备和工业软件服务进行连接和交互,具备生产过程监控、实时报警和可视化功能。该系统通过开放的OPC UA模型向ERP、MES其他信息化系统提供实时数据、历史数据、报警等类型的数据服务,并接收MES的生产指令,成为机加车间信息化系统与加工设备的黏合层,起到将真实物理世界和虚拟工厂模型双向联通和实时映射的作用。
2.1 本方案需要解决的重点问题
2.1.1 数据采集量大且频度高
现场采集模块采集速率最高为4 kHz,采集一次需要250 μs,采集数据量大,且采集点多,需要同步稳定地将数据量发送到云端,普通传输组件难以完成,需要能在重负载、多线程情况下长期稳定工作的组件。
2.1.2 多源异构数据源快速接入
车间现场的数据采集包含多类设备源(从不同供应商采购的不同类型的PLC设备,不同种类、不同用处的各种传感设备、各种协议)。为实现多源异构系统的数据采集,需要大量将信息化与工业自动化技术高度融合起来,共同满足用户要求。
由于重装行业的特殊性,设备制造现场作为最重要的数据信息来源,存在大量的杂乱、重复、不完整、异构的信息,为克服它们之间存在的信息交互差距,对工厂制造过程生产设备数据采集和分析集成要求更高。对重型装备机加车间现场复杂的多源异构数据采集,必须解决不同工业网络的现场装备之间,现场装备与上层控制、维护系统之间存在的异构网络协议适配的难题。
2.1.3 上层应用系统无缝接入
MES端在一个界面上能实时显示多数据源的数据,同时由于需要使用多种客户端接入,后台提供数据的模型必须是一套统一的架构,从建模到数据提供均以统一完整的模式提供。
2.2 系统架构
重型装备机加车间数据采集及监控平台的整体架构如图1所示。
图1 数据采集及监控平台系统整体架构图
2.3 采用OPC UA建模技术
2.3.1 理解OPC UA建模
OPC UA是在工业数据采集和工业设备互联互通领域使用的一种协议。为了方便理解,可以使用对象定义的技术,将加工设备、传感装置等工业要素定义成数字模型。不同应用系统间的接口(OPC UA)可以按照面向对象的开发模式进行设计,进而实现读取和控制设备。
如对于一个温度传感器,可以设计成如图2。
图2 温度传感器
该设计定义了温度传感器的基本特性,包括当前温度、最高报警温度、最低报警温度、还包括获取当前温度的方法。
在具体使用过程中,客户端程序将温度传感器实例化生成具体对象,并且赋值,如图3所示。
图3 温度传感器实例化
OPC UA使用了对象(objects)作为过程系统表示数据和活动的基础。对象包含变量、事件和方法,它们通过引用(reference)互相连接。这个概念和面向对象程序设计方法非常相似。
OPC UA信息模型是节点的网络(Network of Node),或者称为结构化图,由节点和引用(References)组成,这种结构图称之为OPC UA的地址空间。这种图形结构可以描述各种各样的结构化信息。
如为热模锻压力机建立OPC UA模型。该设备具有两个组件,一个启动设备方法,一个数字量输出,如图4所示。该模型如果使用C#语言的类来描述,如图5所示。
图4 热模锻压力机的OPC UA模型
图5 热模锻压力机模型的C#语言描述
可以将C#语言的类与OPC UA的节点图对应起来,使用支持OPC UA协议的建模软件进行建模,然后输出XML文件;同时改建模软件自带的编译器,将XML编译成支持C#语言的类定义代码。
2.3.2 建立OPC UA数字化车间模型
一个OPC模型可以包含静态数据、动态数据、过程方法三类子模型,子模型又可以继续向下嵌套,包含三种子模型,同时子模型之间还可以相互引用。
从抽象角度考虑,重型装备机加车间的构成是业务模块+生产资源。业务模块包含生产计调、质量检验、设备维护、现场操作等业务领域。生产资源则是为了完成这些业务领域定义流程的各种参与,如加工设备、操作人员、原材料、毛坯、转运过来的半成品、工装辅具等等。生产资源分布在各业务模块内部,生产资源之间的互动往往是通过各种类型的单据进行指令和消息的传递。
以上业务对象可以从面向对象的角度进行抽象分析为OPC UA模型,而这些模式与面向对象中使用的技术一样,都具有属性和方法。在面向对象的领域中,对象与对象之间由各种关系构成,主要有聚合、包含、引用等等。OPC UA建模与之类似,也可建立由各种对象类型构成的重型装备数字化车间。
将车间的构成从静态数据、动态数据、过程方法等组织成层次化的对象树。对象包含属性和方法等成员。属性是对象的数据定义,可以进行读取或者设置;方法是对对象的操作定义,既可以用方法读取或者设置对象内部数据,也可以在方法内部封装业务逻辑,实现具体业务功能。
对象属性可以是简单的数值类型,也可以是复杂的对象。由此可知数字化车间模型可以是复杂的嵌套模型。根据逻辑定义,重型装备数字化车间的OPC UA模型可用图6表示。
图6 OPC UA模型
2.3.3 车间模型的实例化
OPC UA模型是抽象建模,构建实际系统时必须将其实例化。实例化是将每个抽象模型中的要素根据实际情况进行赋值。
建模流程具体实现方式为:
采用OPC UA建模工具按照物理世界的实际情况进行描述,编制模型定义文件(XML格式);OPC UA服务器解析该文件,并按OPC UA规范完成向OPC UA地址空间映射,建立地址空间;OPC UA服务器通过接口与下位机或者下位系统交互,获取相应数据对OPC UA模型进行填充;其他客户端系统(常见的系统是MES系统)通过特定OPC UA服务器暴露接口访问OPC UA服务器,获取模型信息,并通过方法与模型进行交互,例如查询模型值,更改模型值等,还可对下位机或下位系统发出控制指令,使下位设备或下位系统执行指令。基于OPC UA实现多源异构数据的采集与协议转换。
2.4 多源异构数据的采集
主要采集对象是网络化协同制造模式下的各类加工装备以及产品的运行环境、装备本体以及传动系统、加工单元、数控单元、辅助单元、调试和测试单元的数据,采集方法主要有以下几种:
(1)直接与数控系统进行通讯,采集数据;
(2)利用网关采集装备PLC数据;
(3)加装传感器;
(4)利用可移动的二级终端采集。
在车间数据采集系统建设中,可根据车间已有的加工设备类型和要接入的终端类型来确定。往往是多种多种采集方式的结合,因此由于这些数据是多源异构数据。下面讨论几种关键模式:
2.4.1 PLC采集方式
(1)对于现场PLC数量较少的环境,可采用OPC UA sdk开发读取模块,直接连接PLC,将其数据读出,然后发送到云端。
(2)对于现场PLC数量较多的环境,可采用部署OPC UA服务器,各PLC连接到OPC UA服务器,由服务器收集数据后,统一发送数据到采集中心,其拓扑图见图7。
图7 拓扑图
2.4.2 ModBus
传感器等设备多数采用Modbus协议传输数据,与PLC方案类似,如果现场传感设备较少,可以采用简单采集程序直接点对点;如果数量较多,采用OPC UA服务器统一采集后,打包发送到采集中心。
2.4.3 数据库
现场使用的采集系统可能由第三方提供,并不提供直接访问设备的SDK,因此可以采用从数据库读出数据,并将其发送到采集中心的方式。
2.4.4 异构数据的协议转换
在数字化车间构建过程中,要将现场的多个终端(加工设备,手持设备,工位机)接入系统,而这些系统都运行着各自的协议,将这些协议转换并汇聚成OPC UA协议,统一对外提供服务。
2.4.5 OPC UA客户端和OPC UA服务器的交互方式
(1)客户端直接请求。客户端发送请求给服务器,OPC UA服务器接收请求后,在服务器地址空间查询OPC UA模型并执行相应处理代码,执行后给调用者返回响应消息,响应信息中包含调用者所期望的结果,这种调用方式属于同步调用。
(2)订阅请求模式。OPC UA服务器对外发布订阅通知,客户端可通过订阅列表查询所有订阅,并根据需要选择订阅。一旦订阅服务有数据产生,会自动通知所有已订阅该服务的客户端获取数据,这种调用方式属于异步调用。
2.5 采集数据的可靠传输
采用成熟协议和组件,实现采集数据的可靠传输。
机加车间生产过程中会产生大量数据,终端设备采集的数据汇聚到OPC UA服务器后,采用可靠、稳妥、简便的方式将其传输到云端上的数据库服务器,才能供其他应用系统使用。选择能满足该要求的MQTT协议。MQTT是即时轻量级通讯协议,可在低带宽、高延时、不稳定的网络实现可靠有效通讯服务。它可以保证从采集服务器到云端服务器的可靠性,从PLC到OPC UA服务器的传输采用Log4Net组件进行实现。将从PLC中读取出来的数据,打包成Log4Net格式,然后使用多线程传输能力,将其传输到OPC UA服务器。
2.6 开发工具的选择
使用Unified Automation的OPC UA开发包SDK,开发OPC UA调用客户端。该开发包是基于.NET的OPC UA Server/Client SDK,适用于Windows环境下OPC UA应用的开发,支持32位和64位Windows操作系统以及多个版本的NET Framework。
基于OPC UA提供的SDK进行二次封装,基于net 4.6.1创建跨平台库,实现和OPC UA Server进行数据交互。
2.7 多源异构数据采集技术的实际运用
为验证以上方案的可操作性,选择某重型装备制造企业的一个机加车间。该车间有各种加工设备25台,这些加工设备基本都是数控系统,都具有网络接口,可以从网络接口直接采集数据。部分设备加装有传感器,采用特殊值采集。已经信息化的系统有:
(1)MES系统。开发了车间零部件交接、业务联系单流转、作业施工大票管理、工序小票管理等模块。
(2)QM系统。完成工序级的质量检验。
(3)OPC UA服务器。使用UaModeler对该车间加工设备建立信息模型,将多设备通过协议转换并进行汇集,将数据保存到MySql数据库,数据从MySql数据库读出后向OPC UA服务器信息模型地址空间进行映射,完成模型实例化。
(4)在MES系统内扩充开发OPC UA客户端,调用OPC UA服务器中的模型数据,并在前端采用可视化控件形象地显示模型数据。
(5)开发手机APP,使用同样的OPC UA模型,由于OPC UA模型本身具备层次化数据结构,可以使开发人员很容易实现多个加工设备数据采集的集成显示,以及与ERP软件的信息互通。
3 结论
通过分析重型装备机加车间企业特点、业务板块、生产特点、数据采集特点,提出了数据采集信息模型的要求。并按照面向对象语言的逻辑,提出按照静态数据、动态数据、过程方法构建OPC UA模型对象的方案,同时对该机加车间数据采集的具体特点进行分析,对可能碰到的难点和要点提出针对性的技术解决方案。
采用OPC UA技术进行数据建模,并在OPC UA服务器完成模型实例化。通过搭建一个数据采集平台,实现多源异构数据的采集、汇聚、转换和OPC UA地址空间的映射。同时验证了本文提出的按照面向对象的逻辑建立的OPC UA模型具备很强的适用性。对指导其他车间建立数字化采集平台信息模型的建模、集成和传输具有参考价值,对建设数字化车间具有一定的参考价值。