王 伟,张振族,黄 璞,范 磊,李 海,曹 雪,杨 平
(1. 电子科技大学机械与电气工程学院,四川成都 611731;2. 电子科技大学广西智能制造产业技术研究院,广西柳州 545003;3. 深圳天盈德科技有限公司,广东深圳 518052)
中国作为制造大国,制造加工是其经济发展的支柱性产业。在全球数字化、智能化的技术发展趋势下,中国传统制造企业也面临着升级转型的一个新时期。继德国政府在《德国2020高技术战略》中提出了“工业4.0”[1]的转型发展后,我国也提出了“中国制造2025”的发展纲领,指出要优先发展高端制造装备重点领域的关键性技术,在2025年迈入世界制造强国,实现传统国防制造和民用制造的数字化、智能化转型[2]。
数控机床为“工业母机”,其技术水平的高低标志着一个国家制造业的发展水平。相对于工业发达国家,国产数控机床的研制起步较晚,且面临着工业发达国家和企业的技术封锁。随着我国对制造加工领域的要求不断提高,国产数控机床在克服了众多外来因素后,在精度、速度、多轴联动和复合加工等方面取得了明显的进展[3]。
世界的制造加工正呈现数字化、智能化的发展趋势,作为关键核心的加工设备,数控机床也向着“智能化”、“无人化”和“数字化”升级转型。本文对近年来团队在数控机床数字化方面的研究进展进行了综合论述,主要包括数控机床的数据采集、数据传输、状态预测与故障预警系统以及车间级设备三维仿真监控等,指出了研究工作存在的问题与不足,并对未来的数控机床智能化发展与研究进行了展望。
目前,国内的研究都集中在外接硬件、宏程序、OEM接口开发等采集方法方面,而对国产数控机床的采集方法研究较少。本文结合目前国内企业的现场硬件条件和项目的实际需求,基于OPC协议[4-5]和第三方接口分别开发了西门子数控系统和华中-8数控系统的数据采集软件。
西门子840D系列数控系统是当前我国数控机床的主要系统,它提供了丰富的开放式接口,可满足用户的第三方自主开发,也支持OPC/COM组件技术访问NCK中的数据服务器,因此本文基于OPC协议开发采集软件。
OPC采集客户端的实现过程包括对OPC Server的扫描、添加、连接等,对OPC Items的添加、更新,采样频率的设置和数据的存储等功能。该采集客户端后台程序的实现和运行过程如图1所示。
图1 西门子840D OPC采集软件的运行流程
以上运行流程的实现在于编写DChange方法,当OPC Server中缓存区的数据值发生变化时,通过反射的形式周期性地触发委托事件,返回变化的变量句柄和数值。通过对更新后的参数数组的队列处理和利用WCF服务通信传输,可实现其在主界面的显示、PC端的存储以及与故障预警客户端的通讯。
华中-8 数控系统提供了操作系统数控(Numerical Control, NC)变量对应寄存器的开发标准,用户只需调用操作数据的第三方接口和方法,便可实现NC变量中的参数读取和写入。其数据采集软件主要包括机床IP配置、实时坐标值采集、参数显示、报警信息读取等功能,基本的运行流程如图2所示。
图2 华中-8数控采集软件实现过程
通过初始化网络配置实现与机床数控系统的连接,然后调用参数接口实现数据的采集,再通过添加Timer(定时器)插件以及设置定时器Timer1_Tick改变界面整体的更新频率,从而实现不同参数的采集。在这种采集模式下,集成接口的输入参数更加简便,采集模式也更加稳定,通过设置接口参数的更新频率,实现采集参数的不断更新。
数据传输技术是保障采集数据的实时性和有效性的有效手段,更是保证数据采集过程的稳定以及数据采集与传输安全的关键模块。数据采集、传输及分析过程还涉及到海量过程数据,因此如何保障海量数据的存储也成了目前研究的热点。
2.1.1 基于WCF的数据传输
在对数控机床的状态预测及故障预警的研究过程中,针对中小规模的应用场景提出了基于安全局域网下WCF技术[6-8]与Web服务技术的局域网通信。它能够保证机床参数采集过程的稳定、实时以及安全传输。通过连接数据采集层、数据处理层以及远程控制端,最终实现数据的实时传输与共享,其具体流程如图3所示。系统运行时各部分协同工作,需要保持数据的交换和同步。系统涉及的主要通信过程如图4所示。
该通信系统保证了系统采集参数种类的同步,实现了采集数据在系统各部分之间的传递,而这一过程各部分的协同是通过WCF通信服务实现的。WCF实现的核心是创建统一的服务契约接口,通过声明操作契约,依靠Access类去实例化接口中操作契约的具体功能,最终通过添加机床旁PC机的IP地址信息引用Windows Service程序提供的WCF服务。Windows Service程序以Windows服务的形式安装于机床旁的PC电脑并设置自启动,因此预警客户端、采集客户端和网页前端的数据都会保持统一性和实时性。基于WCF的数据传输具有快速、安全、开发简便的优点,适用于工厂监控。
图3 WCF数据传输架构
图4 主要通信过程
2.1.2 基于Kafka消息中间件的数据传输
为适应大规模应用场景的数据传输,提出了基于Kafka消息中间件的数据传输方案。在大规模应用场景下,首要任务是保证软硬件的高可用性,即系统具有较强的容错性,在故障发生时具有一定的缓冲能力;其次是系统要具有良好的可拓展性,保证业务逻辑或业务容量增加时,可以在不影响系统正常运作的情况下,动态拓展系统的功能或性能。根据以上要求,最终实现数据传输架构,如图5所示。
基于Kafka消息中间件的数据传输平台的实现,主要体现在以下2个方面:
图5 Kafka数据传输架构
1)物理连接。整体网络架构以以太网为基础,通过工业转换器可以实现新老设备的数据传输,采用六类屏蔽线,用以提供上限为千兆的传输速率,保证海量数据的传输速度以及恶劣环境下传输信号的稳定。采用工业交换机的连接方式,更加便于管理,并且将用户与机床物理隔离,保证加工设备不被非法访问,从而保证加工安全。
2)软件配置。服务层作为数据传输架构的核心,主要包括Web服务器、Kafka消息中间件集群以及运算集群3个部分。整个系统的关键在于Kafka消息中间件集群,它实现了消息发送方与接收方(即客户端与服务端)的解耦,且能够保证信息传递的可靠性、实时性与时序性,为处理实时数据提供一个统一、高吞吐、低延迟并具有消息持久化功能的平台。
Kafka的基本运作原理为接收来自所有机床的数据,并将其作为消息存储在本地,Web服务器与运算机器可通过Kafka实时或延时获取机床数据。Kafka可以保证消息不重不漏,严格遵守时序。Kafka运行在一个由一台或多台服务器组成的集群上,并且存储分区可以跨集群结点分布,保证不存在单点故障,可提高系统的可用性。
运算集群通过连接多台计算机提供统一的计算平台,可根据算法复杂度确定计算机硬件配置与集群规模,具备一定的拓展性,可在动态拓展集群规模的同时不影响现有的运行效果。
数控机床的数据采集、数据分析以及预警结果涉及到海量的过程数据,如何解决海量数据的储存问题是目前数据存储技术发展的关键问题。基于Oracle数据库的设计开发,可以实现故障预警系统中数据采集与分析结果和状态预测结果的存储以及控制层后台逻辑的控制交互。系统数据库的设计实际上是对数据表的设计,是对系统间数据关系的一种抽象。
考虑系统中机床相关数据的关系,将其分为2大类:机床信息和其他信息。二者属于父子实体表,其他信息表通过机床信息表中的机床标号(Machine code)与各机床同步匹配。机床信息和其他信息的基本关系如图6所示。
系统与数据库的交互均通过ADO.Net访问技术实现。通过ADO.Net技术提供的Connection,Command,Data Reader,Data Adapter和Data Table五个对象类,实现对象与数据库的连接、数据元素的SQL语句命令操作、数据流返回、数据表的缓存及与数据库的同步。
图6 系统数据库设计图
数控机床完成智能化升级转型的关键是实现对采集数据的分析,实现对机床运行状态的实时监测,进而根据数据分析的结果实现对数控机床的状态预测,并在此基础之上完成数控机床故障预警系统的开发,以此来有效解决机床运行不稳定、故障排除困难等问题,延长机床稳定运行的周期。
数控机床的工作环境复杂,产生故障的几率也较高。采用有效的故障预警方法,能够快速诊断出机床故障的隐患,减少机床故障的概率与时间。其关键在于在实现状态预测的基础上,通过预测结果对数控机床进行故障诊断,进一步开展故障预警工作,指导维修人员的相关工作。
3.1.1 状态预测方法
随着数控机床结构复杂化以及运行状态数据呈现多样性、时序性的特点,为了有效解决数控机床未来状态难以准确获取的难题,提出了基于时间长短记忆方法和基于多维时间序列的多重匹配技术的数控机床状态预测方法。
(1)基于多维时间序列的多重匹配技术
通过建立时间窗口滑动模型,利用时间窗口长度和滑动时长获取数控机床历史状态集合。其具体建模过程如图7所示。
图7 滑动时间窗口模型
基于窗口滑动模型进一步提出多重匹配[9]技术,利用耦合相似度标准寻找与当前状态矩阵相似度最大的历史状态集合,并根据相似性阈值得到最优滑动时长和预测时长。其关键在于在历史状态集合X中寻找与当前状态矩阵Xn相关性最大(即相似度最高)的某一历史状态Xk,且状态Xk的跟随状态具有与Xn+1相同的变化趋势和规律,被视为Xn+1的预测值,如图8所示。矩阵Xk和以及矩阵Xn和Xn+1分别构成图8中时间跨度为N的一个完整机床状态。多重匹配即在寻找历史状态Xn的过程中,利用相似性分析和聚类分析完成初始寻找和精确匹配。
图8 多重匹配预测模型
(2)时间长短记忆方法
长短期记忆(Long-Short Term Memory, LSTM)人工神经网络是一种时间递归神经网络,其优势在于能够较好地处理和预测时间序列中间隔和延迟非常长的重要事件[10-12]。
由于设备及工作环境的复杂性,数控机床产生的振动信号是线性与非线性的。时间长短记忆方法用于捕捉机床中的非线性动态信号,并克服通过存储块反向传播误差衰减的问题。该方法具备优异的对间隔时间长的时间序列的预测性能,能自动确定最佳的滞后时间,实现精度和稳定性方面的最佳预测。
3.1.2 故障诊断方法
故障诊断技术是一种利用设备当前状态信息和历史状况,通过一定分析方法对设备状态进行评价的状态识别技术。目前,在故障诊断方面,基于人工神经网络、模糊理论、粗糙集理论、故障树、案例推理的方法都得到了很好的运用。本文着重介绍加权模糊Petri网和卷积神经网络在故障诊断方面的应用。
(1)加权模糊Petri网
Petri网[13]和模糊Petri网(Fuzzy Petri Net, FPN)在故障诊断中引起了很大的关注[14-15]。Petri网可以有效分析并行触发系统,其意义在于知识通过产生式规则表达后,需要转化为相应的故障推理模型,从而便于系统的集成和知识库的更新。FPN可以很好地处理信息不确定性和数据不完整的问题[16-17],但当网络拓扑发生变化时,无法调整权重和置信度,无法应对潜在的故障规律变化。
文中提出了一种加权模糊Petri 网(Weighted Fuzzy Petri Net, WFPN),应用于机床的故障诊断。定义WFPN中各元组与机床故障产生规则的对应关系,是构建WFPN的核心,然后通过算法将规则转化为WFPN的形式。
模糊故障规则被转化为WFPN模型后,为了实现预警和故障原因识别,提出了一种WFPN的故障推理算法,将以WFPN为基础开发的故障诊断模型应用于主轴与进给轴的故障原因分析,并进行试验验证,如图9所示。
图9 数控机床加权模糊Petri网
结果表明,WFPN的故障推理模型能够实现故障原因识别以及出现故障的概率分析。为优化WFPN的结构参数,首次提出了基于仿生学的鱼群优化算法[18],利用生物仿型活动,寻找目标函数的局部最优值,实现了WFPN参数自学习、不断优化更新的功能。
(2)卷积神经网络
卷积神经网络(Convolutional Neural Network,CNN)是一种前馈神经网络[19-22],主要用于大型图像的处理。该网络因避免了对图像的复杂前期预处理,可以直接输入原始图像,因而得到了广泛的应用。
数控机床复杂的工作环境,使其容易出现机电系统故障。基于信号的特征提取故障诊断方法较复杂,且设计成本高,难以实现诊断的实时性。针对这些问题,提出了一种基于机床原始信号的CNN故障诊断方法,可用于滚动轴承故障原因诊断。
基于机床的原始信号(振动信号等),利用CNN进行信号特征的提取与学习,避免了手动特征提取或选择的过程,实现了故障特征自动学习,并根据不同的信号特征,通过改进遗传算法自动确定模型中的主要参数,提高了故障诊断的准确性,减少了对人工经验和先验知识的依赖。
开发状态预测及故障预警系统主要是为了实现对企业的智能化改造,利用海量的过程数据监控、预测机床的状态,并产生预警信息供维修人员参考。在考虑企业加工性质的特殊性、现场的硬件条件和现有通信结构后提出的数控机床故障预警系统主要包括实时数据采集、数据网络传输、机床状态预测处理、实时存储、预警结果显示等模块。下面主要论述故障预警客户端和网页客户端的设计开发。
3.2.1 故障预警客户端设计开发
为了便于预警系统的实现,需要将过程数据的状态预测方法和故障推理模型整合到故障预警客户端。该客户端主要包括机床故障实时预警、WFPN模型优化、故障规则收集、结果存储、通信链接等功能,归纳为数据处理、参数设置和规则回收3个模块,其基本结构如图10所示。
图10 故障预警客户端软件开发框图
该客户端能够实现关键参数设置,并通过不同算法优化参数及更新Petri网模型,实现对实时数据的相似性分析、DBSCAN聚类分析、AR自回归分析和Petri网推理分析,实现软件与采集客户端、网页端的实时通信,显示参数预测结果和故障概率最大值的变化曲线,显示机床预警结果和维修意见等,并能实现数据结果的存储。其客户端界面如图11所示。其关键在于实现了C#数据输入与MATLAB函数之间的数据格式的相互转化,能够通过多线程编程技术和队列数据结构,实现对已满足预测时长的队列数据的处理,保证数据的实时性。
图11 故障预警客户端主界面
3.2.2 网页客户端设计开发
故障预警的网页客户端是在原有监控系统的基础上扩充故障预警信息和故障规则回收显示模块。为了便于项目各部分的集成,采用统一开发语言,选择经典的三层框架模型MVC.Net来实现开发过程。系统各模块的运行关系如图12所示。
图12 MVC框架及运行流程
以MVC的三层框架结构实现底层数据库的交互、网页页面的呈现、外观控制以及网页数据的格式化输出等功能。其中控制模块是整个框架的核心,能够处理逻辑请求,完成模块间的交互,并实现返回数据的显示。机床故障规则回收界面是网页客户端的另一功能项,能够实现故障规则回收配置等功能。最终的客户端显示界面如图13所示。
图13 单台机床故障预警结果显示界面
数字化生产车间为制造加工企业最基本的制造加工生产单元,其数字化、智能化的转型升级意味着整体制造加工工厂的全面升级与突破,而实现对该制造过程的远程及多维度可视化监控,是保障整个加工制造环节最有效的措施。
开发车间级三维可视化实时监控系统的主要目的是为了实现对工厂生产过程以及设备运行状态的三维监控。其主要功能包括:1)读取与载入设备模型;2)通过分析设备各个部件的运动约束关系,创建设备运动链;3)处理车间设备运行数据并驱动虚拟机床进行运动仿真;4)利用剔除算法以及图形处理器(Graphic Processing Unit, GPU)技术提高场景在实时数据驱动下的绘制速度;5)保证场景的运行流畅度;6)结合虚拟漫游技术,实现仿真系统的交互操作。
仿真系统实现车间设备运行状态的模拟,数据采集系统完成车间设备运行信息的采集、存储与分析,它所采集的设备信息一部分用于驱动虚拟设备运动,另一部分经处理后在仿真系统界面进行展示。将仿真系统和数据采集系统集成到车间的三维远程监控系统中。远程监控系统的运行界面如图14所示。
图14 生产线可视化远程监控系统
上述车间级三维可视化实时监控平台的成功开发基于2个技术要点:一是采用了剔除算法,通过剔除视角内不可见物体来降低仿真过程的数据计算量;二是采用了GPU并行运算技术,中央处理器(Central Processing Unit, CPU)用来解包分配驱动数据,GPU负责场景的运算与绘制,通过合理地分配数据来提高程序的运行速度。
近年来团队在数控机床领域的研究重点转向了国产数控机床的智能化转型,并取得了一定的技术突破和科研成果。在数据采集技术方面,实现了目前国内主要数控机床机型的数据采集方法的设计与开发(不再布置外传感器),实现了不同频率多种参数的采集以及单机版、远程版采集端的设计开发;在数据传输方面,实现了传输方法的快速开发,在现有功能基础上,实现了大小规模应用场景的数据传输以及系统的功能或性能动态拓展;在数据存储技术上,实现了海量数据的快速存储以及系统间数据交互的同步;在状态预测与故障预警方面,实现了机床过程数据的利用,克服现有算法与模型的不足,通过算法与方法改进,实现了时间序列数据的精确匹配和机床状态预测;通过集成数据采集、数据传输与存储以及状态预测与故障诊断方面的科研成果,最终设计开发了数字化生产车间的三维实时监控系统。团队的科研成果与技术突破,有效加快了机床智能化发展的进度,促进了机床由数字化向智能化的转型。
但要真正实现机床由数字化到智能化的转型,必须在现有数控机床基础上,加强我国人工智能技术领域的科研投入,注重智能化等前沿科学技术领域的人才教育与培养。在机床未来发展过程中还需要注重以下技术的发展:1)机床加工的自适应控制技术。注重机床加工过程监测技术的发展,实现机床加工过程运行参数与状态的自主分析与控制,保持机床的最佳运行状态,保证机床加工效率和加工质量。2)机床状态预测与故障诊断模型的参数智能优化与选择技术。目前,机床的状态预测与故障诊断领域的研究主要集中在算法和参数优化方面。实现模型和算法参数智能优化和选择,将有效提高状态预测与故障诊断的准确性。3)机床故障智能诊断与自修复技术。故障智能诊断与自修复技术是建立在机床智能化基础上的发展技术。在故障隐患的智能结果基础上实现机床故障隐患的自处理,对机床智能化转型有着重要的推进作用。