郑 良 苑明海 裴凤雀 顾文斌
(河海大学机电工程学院,江苏常州 213022)
新时代背景下,信息技术与制造的紧密融合是制造业迈向智能化的重要标志[1]。智能制造的实现需要制造资源转向智能化、信息化[2],而实现转变的重要基础就是车间现场多种类、多协议、多来源生产数据的互联互通[3]。目前,产品设计日益复杂,涉及工艺环节繁多,多设备多车间协同加工,车间数据来源复杂且结构不同,导致各加工过程数据难以及时获取,加上数据采集方法的滞后以及车间设备数据共享困难,使得车间在实现智能化、信息化的过程中面临窘境,企业难以快速高效完成生产需求。因此,有必要建立一套完整的数据采集和预处理框架,攻克车间制造过程中数据采集难、采集到的数据复杂等问题,实现制造车间生产数据标准化、智能化,提高智能制造企业的核心竞争力。
随着车间不断向智能化发展,传统制造车间中依靠人工采集数据的方式已经难以满足智能制造车间中对数据的要求[4]。OPC统一框架(OPC unified architecture, OPCUA),是一种机器对机器网络传输协议,被广泛用于监控系统[5]、制造执行系统[6-7]等领域中,促进各种类型网络之间的信息交换[8]。同时,射频识别技术(radio frequency identification,RFID)凭借其识别速度快、存储信息量大等特点常被应用于数据的采集[9]。数字孪生车间因其设备种类多、设备之间通信协议不统一,通过感知设备采集的数据往往不能直接用于分析计算,需要对其及进行处理。Lee J等使用Node-RED对智能工厂注塑过程中的数据进行采集、存储、监测和预处理[10]。Cho E等针对智能制造中数据缺失和不平衡等问题,采用生成式对抗网络(generative adversarial network,GAN),对数据进行预处理[11],但受限于数据集,并没有得到令人满意的结果。目前,国内对智能制造车间数据预处理的研究尚不成熟,没有形成完整统一的数据与处理方案。
综上所述,智能制造车间数据采集及预处理是实现车间智能化、信息化的前提,在制造过程中起着关键性作用。然而,目前对于智能制造车间数据采集、预处理方法研究较少,对于车间数据多源异构问题还没有成熟的解决方案。基于此,本文从车间数据采集出发,提出了智能制造车间设备数据采集框架和数据预处理方法。
传统制造车间数据采集方案大多采取以半人工半自动的方法,采集到的数据大多不具备实时性和共享性,难以互联互通。智能制造车间中的设备层及物料层存在大量智能感知设备,自动化智能化程度高,针对这两个层次提出了设备资源数据及物料资源数据的具体采集方案。
智能制造车间中存在大量工业机器人、数控加工中心及智能检测设备,设备种类繁多,设备间数据私有协议多样繁复。目前主流的工业设备通信协议有数控设备互联通讯协议(MTConnect)及OPCUA工控互联协议[12]。
本文基于OPCUA工控互联协议提出了一种智能工业设备数据采集方案,如图1所示。TCP/IP协议作为最基本的互联网协议[13],包含有多个用于物联网通信架构的基础协议簇。首先利用TCP/IP协议将设备层与协议转换模块相连接,给每个数控加工中心及工业机器人均配备独立的协议转换模块。接着,将采集来的私有协议数据输入进各自的协议转换模块中,建立数学模型并统一语义规范,然后连接到OPCUA服务器,在OPCUA服务器对应的缓存位置进行数据存储以备后续HTTP服务器的调用。最后,基于HTTP协议与客户层面进行交互,客户在交互界面下达指令给HTTP服务器,HTTP服务器寻址到对应的OPCUA服务器,调用相应缓存位置的数据呈现出来供客户参考使用。由此全过程实现基于OPCUA的智能工业设备数据采集,为后续数据预处理提供了强有力的基础。
图1 基于OPCUA的智能工业设备数据采集方案
除了智能工业设备,智能检测设备在智能制造车间中也占据了重要地位。如图2,针对智能检测设备提出了一种基于QIF 3.0的智能检测设备数据采集方案,根据检测设备的特点采用TCP/IP协议或USB端口将数据传输到检测数据采集端,随后通过格式转换模块将其转换为统一的QIF格式数据,使其能被XML同一框架处理,以备后续HTTP服务器对其进行调用。最后,基于HTTP协议与客户进行交互,在接口上与智能工业设备数据采集方案达成统一。
图2 基于QIF 3.0的智能检测设备数据采集方案
结合上述智能工业设备及智能检测设备的数据采集方案,提出了一种智能制造车间设备数据采集框架,如图3所示。采取设备-服务器-交换机-客户端的模式,利用OPCUA服务器与QIF服务器中的协议转换模块,将设备多种多样的私有协议数据统一规范化,完成智能制造车间数据的采集、封装、存储。客户端通过交换机对数据进行调用,实现了车间中各类设备数据的实时高效采集。
图3 智能制造车间设备数据采集框架
在新信息技术的发展过程中,射频识别技术因具有良好的性能逐渐应用到车间数据采集中[14-15]。依据车间物料的流动特征及RFID技术的工作原理,搭建了智能制造车间物料资源数据采集架构,如图4所示。该系统分为设备层、感知层、通信层和服务层。
图4 智能制造车间物料资源数据采集架构
(1)设备层为各门类物料资源相关设备,例如:智能仓储货架、AGV小车、各门类物料、三维桁架、自动堆垛机以及RFID标签(与物料及工装工具等绑定,跟随其移动)。
(2)感知层主要包括RFID读写器、条码扫描仪等智能感知设备,用来识别设备层的物料资源,传输射频识别数据到通信端,同时可将上层发送的指令数据写入到RFID卡内。该层通过RS232接口与通信层相连。
(3)通信层主要采用ZigBee通信主副模块。主副模块分别负责数据的读与写的操作,采用单步、防碰撞、单标签等方式对RFID进行识别。该层通过RS232接口或USB接口与服务层相连。
(4)服务层由数据库服务器、RFID中间件服务器、企业物料管理系统、交换机组成,共同构成车间局域网。读写RFID识别卡数据的具体功能封装于RFID中间件服务器内。
设备资源数据和物料资源数据采集完成之后,因车间智能感知设备采集的数据各自维度、种类不同,并且包含大量冗余及空值,因此,亟需提出一种数据预处理方法来保证采集数据的准确可用。如图5所示,提出了一种数据预处理方法。首先,通过预处理模块调用采集的数据;然后,通过改进散列表对车间异常以及重复进行清洗;接着,利用主成分分析法对清洗完成的数据进行降维,最后将数据存储在数据库中以备之后对其进行调用。
图5 数据预处理方法主要流程
采用智能制造车间传感器在采集方案对数据采集时,如果物料滞留,读写器频繁阅读此物料所带RFID标签,就会产生大量冗余数据;而当射频信号受到干扰或ZigBee主副模块的通讯不稳定时,就会产生漏读错读现象,最终得到的数据会产生大量空值。因此感知设备直接采集到的数据往往不能直接用于分析计算,需要对其处理将其中的“脏数据”去除,得到干净、可用的车间数据。如图6所示,散列表是基于键值对的数据表结构,类似指针映射通过散列函数来快速访问数据[16],很适合用于对车间数据进行初步处理。
图6 散列表结构原理图
本文研究了散列表结构提出了一种改进散列表的数据清洗算法。其具体操作流程如图7所示,包含有如下几个步骤:
图7 改进散列表数据清洗算法流程图
步骤1:利用链表作为底层存储结构,设计散列表的基本组成元素键值对Entry,Entry={TID,RID,C,P},TID为 数据标签的ID号,RID为数据采集器的ID号,C为数据采集器的时间戳,P为指针,P指向下一个Entry节点。
步骤2:设置散列表Table的长度Table.length,根据TID构建合适的散列函数。
步骤3:对初次传入的原始数据的数值进行散列运算,求解出数据标签Ex的TID对 应的散列值hash,利用“与运算”求出散列值hash对应散列表Table的位置下标index。
步骤4:对散列表Table的位置下标为index的链表进行检测,如果散列表Table的位置下标为index的链表为空,则表示散列表Table的位置下标index对应的TID数 据标签为新TID数据标签,将原始数据的这个数值直接传出并更新链表信息,即将原始数据的这个数值存入下标为index的链表;如果散列表Table的位置下标为index的链表不为空,则对散列表Table的位置下标为index的链表进行遍历操作:
(1)将原始数据作为一个数据标签,将原始数据依次输入链表进行数据清洗操作,构建一个辅助对象用于记录链表的尾节点,键值对Entry(k,v)e=Null。
(2)将散列表Table下标为index的链表录入下标为s的键值对。
(3)判断数据标签是否为新数据标签,若数据标签是新数据标签则将数据标签发出至原始数据。
(4)若数据标签不是新数据标签则判断此数据标签的TID与 当前TID是否相等,若此数据标签的TID与 当前TID不相等则转至(2)。
(5)若数据标签的TID与 当前TID相等则判断数据标签的TID与 当前TID的时间差是否大于阈值,若数据标签的TID与 当前TID的时间差不大于阈值则舍弃该数据标签并转至(2),阈值为常数。
(6)若数据标签的与当前TID的 时间差大于阈值则将数据标签发出至执行数据清洗操作的原始数据并更新标签事件的时间戳与更新原始数据。
步骤5:散列表的非空位占比达到75%,则散列表Table进行一次扩容操作,扩容操作长度为前一次散列表Table扩容操作长度的2倍,将前一次散列表Table中的原始数据传入扩容操作后的散列表 Table中,继续数据流的判定。
车间产生的数据经过清洗之后,去除了数据中的空值等情况,但此时的数据维度过高,各类数据的属性特征可能存在关联,从而影响最终的分析结果。因此,必须对数据进行处理,降低数据维度的同时保证低维数据与原数据特征的最大相似。采用主成分分析法对数据进行降维,具体步骤如下:
步骤0:首先将清洗后的实时车间数据建立原始数据矩阵X={x1,···,xn},X∈Rd×n,xi是一个列向量,矩阵的每一行代表车间资源的一个属性字段。
步骤4:计算原始数据的每个数值在新的r维主成分子空间中的坐标,得到降维后的数据矩阵A∈Rr×n,公式中, Rr×n代表r×n维 的实数矩阵,R为实数集合,A∈Rr×n是 降维后的数据矩阵是r×n维的实数矩阵。
经过以上步骤,就可以完成对数据样本库的清洗、降维,得到能够直接用于分析计算的数据,下面对提出的数据清洗和数据降维算法进行验证。
为了实现对本文数据预处理方法的应用,以某企业制造车间的关联数据挖掘过程为前提[17],通过是否在关联数据挖掘前运行本文预处理方法为变量进行3次试验。
图8为测试效率结果比较图,以规模增长度为变量,执行时间为评估指标,方案1为未进行预处理的关联规则数据挖掘,方案2为仅进行数据降维预处理后的关联规则数据挖掘,方案3为采用本文数据预处理方法的关联规则数据挖掘。从图8可以看出,在设定相同的最小支持度时,采用本文提出的预处理方法的数据挖掘方案的折线图始终位于其他两种方案的折线下方,从而说明采用本文提出预处理方法的数据挖掘方案运行速度快、挖掘能力强,验证了本文预处理方法的可行性。
图8 测试效率结果的比较图
在生成车间生产方案前,需要预先输入每台加工中心完成每道工序所需的加工时长。具体加工时长的预输入通常由工艺工程师依据经验预估,或少批量试制及仿真软件计算得出。
本文依托于某企业智能制造车间试验本文数据采集及预处理方法,连续采集该车间1个月内的工序预输入加工时长数据与实际加工时长数据(由采集到的各工序的开工时刻完工时刻计算差值得出)。鉴于样本数据的普适性,选定最大规模的样本段t∈[5,35] min,共获得3 012组对照数据,利用上述数据预处理手段对该样本库进行清洗去重。然后将样本库按t∈[5,15]、t∈[15,25]、t∈[25,35]进行简单分段,求取每个分段内预输入加工时长与实际加工时长各自的平均值,得到结果[11.2,20.8,29.6]与 [11.6,21.4,30.5],两者差值为[0.4,0.6,0.9]。
下面进行工序加工时长差值的拟合,方便后续车间资源调度时的预输入加工时长的补差调整。分别利用线性拟合及二次拟合进行对比,如图9所示。发现二次拟合的残差模更小,拟合效果更好,因此设置经补差调整后的预输入加工时长如下。
图9 加工时长差值拟合图
本文从智能制造车间数据采集方案出发,分别基于OPCUA和QIF提出了智能工业设备数据采集和智能检测设备采集方案,实现对智能制造车间智能多源感知设备数据的语义规范,完成了车间数据的采集、封装和存储,方便后续对数据的进一步加工。接着,本文采用散列表和主成分分析法完成对车间数据的清洗及降维,简化了后续数据分析的难度。最后,将提出的数据采集和预处理方法在智能制造车间中进行验证。试验结果表明,与传统数据降维和预处理方式相比,本文提出的数据处理方法运行速度更快、挖掘能力更强,具有可行性和优越性。