□ 金 希□ 张为民,2□ 费丽娜,4□Jürgen Fleischer□ 罗 亮
1.同济大学机械与能源工程学院 上海201804
2.同济大学中德学院 上海201804
3.同济大学中德先进制造技术中心 上海201804
4.卡尔蔡司(上海)管理有限公司 上海200131
5.卡尔斯鲁厄理工学院生产技术研究所 德国卡尔斯鲁厄76131
2013年4月在汉诺威工业博览会上,德国政府提出了“工业4.0”战略[1]。德国联邦教育研究部发布的《工业4.0战略计划实施建议》定义了工业4.0的本质特征是智能化,即以充分互联的智能工厂为核心,构建信息系统与工业生产技术高度融合的信息物理系统,建立起一整套定制化的产品设计、生产及服务模式,实现由制造向“智造”的转型升级[2]。在这种情况下,工业4.0给中国制造业提出了全新的要求,主要难点在于信息系统落后,未能借助互联网实现充分互联、信息快速交互共享。制造系统只有解决了信息系统落后的问题,同时增进制造设备间的信息数据交互,才能实现更高程度的智能制造和不同生产单元及环节间的高效协同工作。
为改善信息系统落后的现状,避免各系统间相互独立和信息数据缺乏共享,实现信息与物理系统的深度融合。首先必须有效解决对生产制造系统中必要信息数据的获取与集成,尤其是决定产品质量优劣的质量信息数据。笔者针对某工业4.0液压阀示范生产线,以以太网为数据传输通道,应用OPC UA(O/E for Process Control)技术规范设计并开发了OPC UA服务器作为质量数据采集终端,同时开发了OPC UA客户端并集成于ActiveCockpit智能动态生产管理系统中,最终实现基于OPC UA的可视化质量数据监测。
目前国内制造企业各个生产单元之间相互独立、数据交互困难,信息系统与物理系统严重分离,导致了一系列信息孤岛问题。不仅车间管理层无法及时有效地实施管理监控,而且严重制约了各个系统间的协调工作能力,整个生产系统效率低下。主要原因在于:工厂内的多个信息系统由于系统架构存在差异,没有实现信息的共享集成,各自独立工作,缺乏协调性;由于信息采集手段的落后,导致无法实时准确地采集制造过程的相关信息,无法为企业管理层及其它系统提供数据支持。
为解决上述问题,搭建了如图1所示的工业4.0液压阀示范生产线的系统流程。企业的生产质量管理大部分是基于质量数据进行的,在对图1中质量检测环节的相关信息数据的集成过程中,发现质量数据的集成仍存在诸多问题,仅利用现有的质量管理手段无法适应对产品质量管理效率的要求,主要体现在以下几个方面。
▲图1 工业4.0液压阀示范生产线系统流程图
(1)质量数据流通不畅。对质量信息的处理过程孤立于其它过程,不仅数据采集点分散,而且数据采集软件来自不同厂家,无统一软件接口,导致质量检测部门无法及时向生产计划和加工部门传递质量信息,生产管理部门也无法实时获取产品质量的最新数据。对于问题产品或问题工艺,无法及时做出调整,不利于提高生产率。
(2)缺乏高效的系统。无法对进入生产车间的物料质量及后续加工状况进行持续追踪,导致无法向决策层提供产品相关的质量决策依据[3]。
因此,统一质量数据与生产过程中其它数据的采集软件接口,并最终实现对产品质量数据的集成与监测就显得至关重要。
现有分布式系统大多采用服务器/客户端结构,但由于设备没有通用的接口标准,设备厂商分别使用自主开发的标准接口应用程序,系统开放性存在很大局限性。在控制现场的数据交互亟需优化的条件下,OPC技术的产生解决了一部分问题[4]。但原有OPC技术规范在技术上存在局限性,基于微软的COM(组件对象模型)/DCOM(分布式组件对象模型)只能在微软环境下应用,平台依赖性大且DCOM不能用于互联网通信。为解决上述问题,OPC基金会发布了新一代统一数据交互标准OPC UA[5]。
OPC UA技术使用消息传递机制,解决了传统OPC在跨平台方面的限制,可以在Linux、Unix和Mac等其它平台使用,具有平台无关性。基于TCP/IP和SOAP/HTTP两种与平台独立的传输协议进行消息传递,传输协议不仅与平台独立,而且能够跨越防火墙。客户端发送服务请求,服务器响应请求并返回客户端的请求结果。客户端无需了解复杂系统的整个模型,只要访问最小的一块数据即可。OPC UA集成了传统OPC DA(Data Access)、A&E(Alarm&Event)和HDA(Historical Data Access)的功能和信息,使用通用接口对外提供信息,可扩展性强,适用范围从嵌入式系统至企业资源管理软件,能够实现更好的工厂级数据采集与管理。此外,OPC UA还提供了一致、完整的地址空间和服务模型,系统可以统一访问一个集成的地址空间[6]。
OPC UA服务器提供给客户端的信息数据与服务器的地址空间息息相关,地址空间是一组通过引用形式关联的节点。利用OPC UA提出的具有一致性的地址空间和服务模型,用单个服务器即可将数据、报警与事件和历史信息统一至地址空间,并以统一服务形式向外提供接口。
OPC UA服务器的所有功能必须基于地址空间实现,因此构建地址空间是定义和开发服务器的关键。节点是地址空间的基本单位,由节点属性和节点引用组成。属性用于描述节点的数据元素,是节点类定义的一部分,可通过读写、查询和订阅监视等方式存取属性值;而引用是作为引用类型节点类定义,每个节点只能用一次相同引用类型引用其它节点[7]。
▲图2 OPC UA服务器地址空间的获取和监测数据
在构建OPC UA服务器的地址空间前,必须明确质量数据监测系统需要获取和监测的数据,可分为特征质量数据、检测可靠性数据和工件信息数据三大类,具体数据如图2所示。为了监控示范生产线上工件的加工质量情况,首先必须监控能够反映工件加工特征合格与否的测量数据。因此,需要为三坐标测量机开发能够采集工件特征质量数据的OPC UA服务器,特征质量数据包括被测工件的各个特征名、特征理论上下限、实际偏差值、特征名义值和实际测量值。其次,影响测量结果的因素主要有设备本身的误差、测量环境与测量人员及方法。由于三坐标测量机及其探针通常情况下都会对其进行定期校准,因此设备本身误差可以忽略不计。环境因素中影响较大的为外界温度和湿度,与温度、湿度相关的数据由设备自带的温度和湿度传感器自动采集,并实时将此数据上传至测量程序中;同时,测量人员在测量程序中输入自己的工号信息。测量方法是影响测量结果准确性的关键因素,指测量人员对每个特征选取的测量策略和测量评定方法[8]。因此,要确保检测程序针对每个特征选择的测量方案的可靠性,需要采集测量人员信息、检测时间、测量温湿度、测量策略和测量评定方法。最后,监控管理要实现对被测不合格工件的追踪与反馈,实时监控被测工件的基本信息数据。这些基本信息数据包括工件号、工件名称、产品订单号、工件测量结果和各加工工位设备号及工位上下线时间,它们均存储在工件所在托盘上安装的RFID(射频识别)芯片内,由三坐标测量机上的RFID读写头在测量前读取获得。
OPC UA客户端的主要功能是连接OPC UA服务器,查找与读取地址空间中变量存放的数据,并将这些数据存储至本地数据库中,同时订阅作为监控项的相关变量。读取数据时,OPC UA客户端在服务器地址空间中浏览,通过NodeId找到变量号并发送读取数据请求;服务器收到读取请求后,执行读取回调的函数,将缓存数据加载到地址空间的变量中,从而获得地址空间中的设备数据[9]。
OPC UA客户端和OPC UA服务器的架构如图3所示,包括OPC UA通信栈、OPC UA服务器/客户端接口和OPC UA服务器/客户端应用程序。由图3可知,其交互方式有两种:第一种是OPC UA客户端通过客户端接口发送服务请求,通信栈将其转化为请求消息后,通过底层通信实体发送至服务器通信栈,服务器接口调用对应的响应服务,至地址空间的指定节点,完成响应任务后返回一个响应消息;第二种是客户端通过客户端接口发送发布请求,通信栈将其转化为发布消息后,通过底层通信实体发送至服务器通信栈,服务器接口发送至订阅,一旦指定监测的节点项目产生变化,即由订阅发送至客户端[10]。
▲图3 OPC UA服务器与客户端架构
在Visual Studio 2017编译环境下,利用Open62541提供的Open62541 v0.3开源库,使用C++语言编写实现OPC UA服务器[11-12]。将开源库在CMake工具中编译生成库文件,并在解决方案中配置好编程环境的项目属性,向源文件中添加.h头文件,以完成开发服务器的准备工作。
构建地址空间时,首先,要定义地址空间节点管理类,使其能够实现对地址空间所有节点的有效管理。其次,将设备在服务器对象文件夹下建立设备实例,其类型继承基本对象类型,并创建各个实例对象的数据类别。最后,将监控变量依次添加到对应数据类别下的节点,定义其通用属性(见表1),并添加必要的节点引用。在UaExpert软件中,可查看所开发OPC UA服务器的部分地址空间,如图4所示。
表1 节点的通用属性
▲图4 测量设备的OPC UA服务器地址空间
OPC UA客户端在Node.js运行环境下进行开发[13],其工作流程如图5所示。由于编程过程需要调用特定模块,因此开发前使用npm命令安装node-opcua等相关必要模块。为了方便客户端调用,编写新建客户端函数,读写函数及订阅监控变量函数,并设置监控参数。在程序中载入安装的模块,调用新建客户端的函数,并将其所连接的服务器IP地址设置成对应设备的IP地址。调用订阅监控变量函数,监控相关变量,为工件测量结果变量设置订阅,一旦为不合格,则产生报警事件,并将超差特征的测量数据反馈至对应设备号处,由设备人员及时做出调整。
OPC UA服务器和客户端分别运行于三坐标测量机设备的计算机(PC端)与信息可视化集成系统端,或其它需要实时获取质量数据的相关部门PC端。针对测量设备开发出的OPC UA服务器及相应客户端,能够解决质量数据流通不畅的问题,实时集成质量数据与其它过程数据,实现企业管理层对质量数据的实时监控,使管理层能够及时做出调整,从而大大提高生产效率;同时,集成的工件信息数据能够及时追踪问题产品,有效帮助管理层进行决策。
工业4.0液压阀示范生产线的DuraMax三坐标测量机不提供OPC UA接口,只能使用生产商自带的数据采集与管理软件,工厂能获得的报告形式如图6所示,管理层与生产部门无法及时获取质量信息,与检测部门数据交互困难。
▲图5 OPC UA客户端工作流程图
▲图6 三坐标测量机原测量数据报告
将基于OPC UA的质量信息集成技术应用于工业4.0液压阀示范生产线,开发出Duramax三坐标测量机的OPC UA服务器与集成在ActiveCockpit智能动态可视化生产管理系统的OPC UA客户端。运行OPC UA服务器和客户端,智能动态可视化生产管理系统的液压阀阀体质量数据监测界面如图7所示,实现了对测量设备上被测加工工件的质量数据实时监测。由于整个工业4.0液压阀示范生产线都采用了OPC UA接口,因此,液压阀阀体的质量信息同时还能与制造示范线上的其它各类信息数据集成,构建了符合工业4.0理念的信息物理系统,管理层可以方便及时地实现对整个工业现场的管理与监控。
▲图7 ActiveCockpit液压阀阀体质量数据集成监控界面
通过深入研究OPC UA技术规范,基于OPC UA技术,使用C++编程语言和Node.js运行环境为测量设备开发了OPC UA服务器和OPC UA客户端,不仅统一了测量设备与其它生产设备、监控管理设备的数据交互接口,而且实时、有效地集成了质量数据与过程数据。基于OPC UA技术的质量数据监测系统,实现了对产品质量数据的实时监控,使管理层能够实时监测产品加工质量,并依据实际质量数据,管理和调整产品的生产制造,有效提高了生产效率。