CN110347116B - 一种基于运行数据流的机床状态监测***与监测方法 - Google Patents
一种基于运行数据流的机床状态监测***与监测方法 Download PDFInfo
- Publication number
- CN110347116B CN110347116B CN201910646446.4A CN201910646446A CN110347116B CN 110347116 B CN110347116 B CN 110347116B CN 201910646446 A CN201910646446 A CN 201910646446A CN 110347116 B CN110347116 B CN 110347116B
- Authority
- CN
- China
- Prior art keywords
- data
- machine tool
- layer
- operation data
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B23—MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
- B23Q—DETAILS, COMPONENTS, OR ACCESSORIES FOR MACHINE TOOLS, e.g. ARRANGEMENTS FOR COPYING OR CONTROLLING; MACHINE TOOLS IN GENERAL CHARACTERISED BY THE CONSTRUCTION OF PARTICULAR DETAILS OR COMPONENTS; COMBINATIONS OR ASSOCIATIONS OF METAL-WORKING MACHINES, NOT DIRECTED TO A PARTICULAR RESULT
- B23Q17/00—Arrangements for observing, indicating or measuring on machine tools
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/406—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Mechanical Engineering (AREA)
- Testing And Monitoring For Control Systems (AREA)
- Numerical Control (AREA)
Abstract
本发明公开了一种基于运行数据流的机床状态监测***,包括用于采集机床运行数据的数据采集层,数据采集层通过数据接入层连接有数据处理层;数据处理层连接有数据存储层;数据处理层包括用于对机床运行数据进行流处理的流处理层。所述数据处理层采用分布式集群架构,数据接入层通过分布式消息队列将机床运行数据分发至数据处理层中;数据处理层还包括用于对机床运行数据进行批量处理的批处理层;流处理层与批处理层通过共用数据存储层进行集成。还公开了一种基于运行数据流的机床状态监测***的监测方法,采用本发明的基于运行数据流的机床状态监测***。本发明能够适用于具有大数据特性的运行数据流的采集、处理、存储、分析和可视化。
Description
技术领域
本发明涉及机床状态监测、数据处理、工业控制技术等领域,尤其涉及一种基于运行数据流的机床状态监测***与监测方法。
背景技术
工业制造能力的发展直接影响国家经济发展和社会进步。机床是制造业中重要的组成部分,实现机床异常状态监测能够确保机床稳定、安全和高效运行,为提高工业制造能力垫定了基础。通过对各类机床运行数据的特点进行分析,总结出机床运行数据的特性如下:高时效性、高动态响应性、高传输速率以及海量特性。最为显著的是机床运行数据兼具流特性与海量特性,数据采集***以高采集频率对运行数据进行监测,并且监测时间长,因此使得运行过程产生的数据既有实时数据的“流”的特性,同时也具有的大数据的海量特性,要求监测***能够完成海量数控机床运行数据的有效分析。
机床运行数据流是机床状态的载体,其实时、准确、动态的反映机床运行状态,对机床运行数据流进行采集、处理和分析能够实现机床异常状态的在线监测,同时也是实现机床健康预警和故障诊断的重要基础。
运行数据流的数据总量和数据价值分别随时间的推移迅速增加和丢失,运行数据流的总量和挖掘运行数据流的价值的难度已经超出了传统数据处理与数据存储技术的计算能力,给现有基于机床运行数据的异常状态监测***带来海量运行数据流实时处理、海量数据存储、数据实时可视化分析等挑战,目前的研究仍未有成熟的解决方案,因此,如何对机床运行数据流进行有效的处理与分析、实现机床异常状态监测显得尤为重要。
发明内容
针对上述现有技术的不足,本发明提供一种基于运行数据流的机床状态监测***,解决现有技术中对机床运行数据的处理能力不足的技术问题。
为解决上述技术问题,本发明的技术方案如下:一种基于运行数据流的机床状态监测***,包括用于采集机床运行数据的数据采集层,数据采集层通过数据接入层连接有数据处理层;数据处理层连接有数据存储层;所述数据处理层包括用于对机床运行数据进行流处理的流处理层。
进一步的,所述数据处理层采用分布式集群架构,所述数据接入层通过分布式消息队列将机床运行数据分发至数据处理层中。
进一步的,所述数据处理层还包括用于对机床运行数据进行批量处理的批处理层;流处理层与批处理层通过共用数据存储层进行集成,从而使得批处理层能够从数据存储层中获取经流处理层处理后的数据。
进一步的,还包括用于对机床运行状态与数据处理结果进行可视化显示以及支持用户对机床状态监测***进行访问的数据应用层。
进一步的,流处理层包括以下数据处理单元:
数据预处理单元:用于根据数据预处理程序对数据进行预处理;
数据统计与异常检测单元:基于滑动时间窗对预处理后的数据进行分析,以获得统计结果与异常检测结果;
机床运行状态判断单元:用于根据聚类算法判断机床运行数据所属机床运行状态分类。
进一步的,批处理层中配置有机床异常状态诊断库,所述异常状态诊断库中存储有机床异常类型与运行数据特征的映射关系表;所述批处理层中还配置有机床异常状态诊断程序,用于从机床运行数据中提取运行数据特征并根据机床异常类型与运行数据特征的映射关系诊断机床异常状态类型。
本发明还提供一种基于运行数据流的机床状态监测方法,采用本发明的基于运行数据流的机床状态监测***,并包括以下步骤:
步骤1:数据采集层采集原始机床运行数据并上传至数据接入层;
步骤2:数据接入层将原始机床运行数据分别发送给流处理层与数据存储层;
步骤3:数据存储层对原始机床运行数据进行存储,并与步骤4同时进行;
步骤4:流处理层对原始机床运行数据进行流处理,并将处理后的结果存储至数据存储层中;
步骤5:批处理层从数据存储层中调取原始机床运行数据或经流处理的机床运行数据进行机床异常状态诊断。
进一步的,流处理包括以下步骤:
步骤4.1:对原始机床运行数据进行预处理,包括依次进行的数据清洗、数据格式化以及对预处理后的机床运行数据是否需要存储进行判断,将需要存储的预处理后的机床运行数据存储至数据存储层中,对于不需要存储的预处理后的机床运行数据,则进行步骤4.2;
步骤4.2:基于滑动时间窗对机床运行数据进行分析,以获得统计结果与异常检测结果;统计结果包括机床运行数据的最大值、最小值、平均值与超过报警阈值的频次;
步骤4.3:采用聚类算法判断机床运行数据所属机床运行状态分类,机床运行状态分类包括开机状态、待机状态、空载状态、满载状态与异常状态。
更进一步的,步骤4.2包括以下步骤:
步骤4.2.1:设置滑动时间窗的参数,包括基本时间窗口长度、滑动时间窗口长度与数据发送时间间隔;
步骤4.2.2:将接收的机床运行数据按照种类进行拆分,根据数据发送时间间隔将同一类的机床运行数据下发至下一级的数据统计与异常检测单元;
步骤4.2.3:在基本时间窗口内实现机床运行数据的最大值、最小值、平均值与超过报警阈值的频次计算;
步骤4.2.4:根据超过报警阈值的频次与基本时间窗口内的数据总数,统计机床运行数据超过报警阈值的概率,当机床运行数据超过报警阈值的概率超过概率阈值时,则说明发生异常,进行报警;
步骤4.2.5:合并滑动时间窗口内所有基本时间窗口,使用全局汇总的数据聚合方式统计滑动时间窗口内的计算结果。
进一步的,所述数据存储层包括于实时存储和查询的分布式实时数据库与用于离线统计与分析的分布式数据仓库;流处理层根据机床运行数据的类型将处理结果分别存储在分布式实时数据库与分布式数据仓库;
所述数据处理层采用分布式集群架构,所述数据接入层通过分布式消息队列将机床运行数据分发至数据处理层中的流处理层中;在流处理过程或批处理过程中对同类机床运行数据进行分布式集群计算。
与现有技术相比,本发明具有以下有益效果:
1、针对机床运行数据流高时效、动态响应、高传输速率、海量等大数据特性,本发明提供了一种基于机床运行数据流的状态监测方法,能够适用于具有大数据特性的运行数据流的采集、处理、存储、分析和可视化。
2、在本发明中,提出了一种基于大数据流处理技术的运行数据实时处理方法,用于机床运行实时处理和运行状态的在线判断。相对于传统的数据处理方式,基于大数据流处理技术具有更低的时间延迟和更大的数据吞吐量。因此本发明方法更适用于当前实际应用情况,能够适用海量数据的机床实时状态监测,从而发现机床异常状态。
3、在本发明中,设计了一种面向运行数据的存储和批处理方法,用来实现海量运行数据的存储和机床异常状态的识别。首先,设计传统数据库与分布式数据库集成存储模式,对海量运行数据进行存储;在实现数据存储基础上,通过大数据实时批处理技术,结合异常状态诊断库对机床异常状态进行在线识别。并且设计的数据存储和大数据实时批处理方式都支持分布式计算,支持存储和计算的横向扩展,因此本发明更具有扩展性。
4、本发明方法中采集的机床运行数据流,如功率、振动、切削力、电流等,都通过机床技术说明书和传感器即可获得,获取方法简单,提高了本发明方法的可操作性。
5、本发明方法的应用对象为机床尤其是功能复杂、机床组件多的机床,因此,本发明具有较好的通用性。
附图说明
图1是基于运行数据流的机床状态监测***的总体架构图;
图2是用于数控机床的数据采集层;
图3是机床运行数据流处理拓扑设计图;
图4是基于Spark框架的运行数据批处理层;
图5是流处理层与批处理层的集成架构示意图;
图6是数据存储层架构设计图;
图7是数据应用层设计示意图;
图8是基于流处理的运行数据实时监测流程图;
图9是数据预处理流程图;
图10是基于滑动时间窗的数据分析原理图;
图11是基于滑动时间窗的运行数据统计与异常检测的流程图;
图12是基于聚类算法的机床运行状态判断流程图;
图13是基于实时批处理的异常识别流程图;
图14是机床运行数据流处理拓扑图;
图15是机床运行状态判断的显示页面;
图16是异常信息显示页面;
图17是单机和集群环境下的对比结果示意图;
图18是集群环境下不同计算的对比结果示意图;
图19是异常状态识别技术功能测试图。
具体实施方式
一、基于运行数据流的机床状态监测***的总体设计
参考图1所示,一种基于运行数据流的机床状态监测***,包括用于采集机床运行数据的数据采集层,数据采集层通过数据接入层连接有数据处理层;数据处理层连接有数据存储层;所述数据处理层包括用于对机床运行数据进行流处理的流处理层。
流处理的计算方式能够有效实时处理机床运行数据,主要解决的是“数据先处理再存储”的问题。然而机床异常状态监测***同时有“数据先存储再计算”的离线批处理的计算需求,如机床异常识别等,都需要依赖存储平台保存海量数据作为计算支撑。单一的流处理的计算方式无法完全满足机床异常状态监测***的需求,因此同时也需要大数据批处理计算方式作数据的离线分析。
为了满足离线分析需求,数据处理层中除流处理层外,还包括用于对机床运行数据进行批处理的批处理层;流处理层与批处理层通过共用数据存储层进行集成,从而使得批处理层能够从数据存储层中获取经流处理层处理后的数据。
在满足对机床状态进行监测的基础上,还增加数据应用层,用于对机床运行状态与数据处理结果进行可视化显示以及支持用户对机床状态监测***进行访问。
下面分别对机床状态监测***中的数据采集层、数据处理层、数据存储层以及数据应用层进行详细说明。
1.1数据采集层设计
机床运行数据种类多、信号源不同,因此各类型数据采集方法也不相同。针对各类信号源和信号特点进行分析,对运行数据采用不同的数据采集方法,可分为基于数控***和基于传感器的数据采集,具体信号采集方式如图2所示:首先根据通过数控***获取机床信息,并且根据数控***的不同厂家和型号选择不同的通讯方式获取数控***数据。而对于加工过程中无法通过数控***获取的监测数据,可通过在机床各个关键部件上安装各类传感器,通过数据采集***获取机床监测数据。如在刀座上安装力传感器获取切削力数据,在机床电气柜中安装电流、功率传感器获取机床电流、功率信号,在机床床身上安装加速度传感器获取机床床身振动等。
1.2数据接入层设计
由于实际生产环境中,机床监测信息数据通量大,传输速度快,数据采集的频率往往能在1000HZ-50000Hz的范围,而后端处理速度需要结合监测需求进行计算,因此数据传入速度与后端处理的速度经常存在不同步的问题,各通道采集的运行数据需要保证同步、高稳定性、实时性,因此需要消息队列作为数据中间层,协调运行数据的传入与传出。
1.3数据处理层设计
①机床运行数据流处理层设计
数据流处理指对无尽数据流先不存储,而直接进行持续不断的处理、关联、聚合分析等,从流动的数据中获取有价值的信息的处理方法。不同于批量处理,数据流处理具有高实时计算能力、持续计算等特性。
机床运行数据流处理拓扑实现如图3所示。为确保运行数据流能够被实时处理,通过分布式消息队列进行数据接入获取运行数据流,结合具体的运行数据监测需求,分别定义数据流处理的操作,如数据统计、数据异常检测等,对每类数据流进行单独处理,以得到不同处理的中间结果。最后再定义中间计算结果的汇总策略,如按字段分组,全局分组等,完成运行数据流处理结果的汇总和聚合。
②机床运行数据批处理层设计
流处理的计算方式能够有效实时处理运行数据,主要解决的是“数据先处理再存储”的问题。然而机床异常状态监测***同时有“数据先存储再计算”的离线批处理的计算需求,如机床异常识别等,都需要依赖存储平台保存海量数据作为计算支撑。单一的流处理的计算方式无法满足机床异常状态监测***的需求,因此同时也需要大数据批处理计算方式作数据的离线分析。
设计大数据批处理层实现对海量运行数据流的批处理。首先在将运行数据流存储的基础上,将数据导入运行数据批处理框架中,建立异常状态诊断库,根据在批处理框架上结合机器学习算法实现对机床异常状态的识别。数据批处理流程参考图4所示。
③运行数据批处理与流处理的集成方式设计
将流处理定位为“先计算再存储”,批处理定位为“先存储再计算”。参考图5所示,使用资源管理框架进行集群资源的统一协调、调度与管理,使运行数据流处理层与批处理层共享同一个数据存储层(数据存储层中的分布式数据库),并且共用同一个计算集群的资源,降低多***集成的运维难度和成本。
1.4数据存储层设计
结合不同数据库的存储特性以及监测***功能分析,监测***运行数据存储层架构设计示意图参考图6所示,数据存储层包括用于实时存储和查询的分布式实时数据库与用于离线统计与分析的分布式数据仓库,分别对应图6中的非关系型分布式实时数据库与分布式数据仓库。
监测***的运行数据经过实时处理后,在流处理架构中根据不同数据类型(如整数型:数控程序状态;浮点型:各轴的电流、转速,各电机温度,各传感器值等;字符串:如报警故障代码;日期类型:如报警事件记录;时间类型:如开机时间、上电时间、运行时间等)、特点以及数据功能分析需求,确定运行数据的存储方式,分别存储在分布式实时数据库和数据仓库中。其中有实时查询以及原始数据存储需求的运行数据,如采集的切削力、振动、功率、电压、电流等运行数据,设计为基于分布式实时数据库的存储方式使其满足实时随机存储的需求;其中检测为异常类型的数据、以及后续需要统计、离线分析的数据存储在数据仓库中。
1.5数据应用层设计
采用基于B/S的架构设计前端异常监测***。将复杂的数据计算、业务逻辑都放在服务器端,并且服务器端能够易于实现计算能力的扩展与负载均衡。在浏览器端实现运行数据的可视化,并通过外部程序访问数据库,进行监测信息数据可视化展示即可,采用可视化组件ECharts实时读取数据库中的计算结果。
浏览器和客户端通过请求/响应(Request/Response)的方式实现前后端数据交互。通过网络的支撑,前端页面需要不断地进行动态刷新数据。因此需要设计合适的数据刷新方式。结合数据刷新技术的特点以及监测***的需求,选择AJAX来实现数据的局部刷新。
图7为机床运行数据应用层设计示意图。如图所示,用户直接通过浏览器访问监测***,通过点击浏览器上可视化组件完成请求的发送,Web端服务器接受请求后,根据不同业务需求对数据库进行数据查询、处理操作,将计算结果响应至浏览器,完成一次完整的请求/响应过程。通过编写Html5文本和CSS(层叠式样式表)完成静态界面的加载,使用JavaScript和JQuery脚本完成动态加载,采用ECharts完成运行数据图表的可视化展示。使用Bootstrap前端框架使得前端页面的样式更加人性化。
二、基于运行数据流的机床状态监测方法
一种基于运行数据流的机床状态监测方法,采用上述的基于运行数据流的机床状态监测***,并包括以下步骤:
步骤1:数据采集层采集原始机床运行数据并上传至数据接入层;
步骤2:数据接入层将原始机床运行数据分别发送给流处理层与数据存储层;
步骤3:数据存储层对原始机床运行数据进行存储,并与步骤4同时进行;
步骤4:流处理层对原始机床运行数据进行流处理,并将处理后的结果存储至数据存储层中;
步骤5:批处理层从数据存储层中调取原始机床运行数据或经流处理的机床运行数据进行机床异常状态诊断。
下面分别对流处理与批处理进行说明。
2.1流处理
运行数据流通过数据接入层后进入流处理层进行处理,在流处理层中主要实现运行数据预处理、数据统计、数据异常检测和运行状态判断等实时监测功能。同时搭建流处理计算集群和部署计算环境为运行数据流实时监测提供支撑。基于流处理的机床运行数据流实时监测流程如图8所示。
流处理包括以下步骤:
步骤4.1:对机床运行数据进行预处理,包括依次进行的数据清洗、数据格式化以及对机床运行数据是否需要存储进行判断,将需要存储的机床运行数据存储至数据存储层中,对于不需要存储的机床运行数据,则进行步骤4.2。
步骤4.2:基于滑动时间窗对机床运行数据进行分析,以获得统计结果与异常检测结果;统计结果包括机床运行数据的最大值、最小值、平均值与超过报警阈值的频次;
步骤4.3:采用聚类算法判断机床运行数据所属机床运行状态分类,机床运行状态分类包括开机状态、空载状态、满载状态与异常状态。
2.1.1数据预处理
由于数据采集获取的来源不同,且在实际生产运行过程中,传感器与数据采集设备会受到外界的电磁干扰、噪声干扰,或者由于监测设备停机、故障等异常状态的影响,导致监测的机床运行数据存在明显的错误问题,如数据存在空值、异常值、冗余数据、格式不正确等问题,这些错误数据并不能真实反映机床运行状态,因此并不能直接被监测***用于后续的处理与分析。针对运行数据的数据采集方式与数据特点需要进行数据预处理操作。图9为数据预处理流程图。
①数据清洗。
首先对采集上的数据进行检查是否合格,如果合格就直接进行后续的数据处理。如果数据不合格,则进行数据清洗过滤操作,去除监测数据中的空值、中文字符以及有明显错误信息的数据。
②数据格式化。
数据格式化包括数据标定以及去除冗余值。由于各个传感器的型号不同,其上传的电信号与实际的数据存在的映射关系也不相同,因此需要对数据进行标定与格式化,将电信号转化为实际的监测信号值。同时,传感器以及采集***保存的数据会包括大量的冗余信息,以提供数据说明,便于用户理解,如数据标题、表头等字段。这些冗余信号对于监测***都是无用数据,在预处理过程中将其精简,以提高数据处理性能。
③判断数据是否需要存储
采集上的部分原始数据需要直接保存到数据库,而有些数据需要进行数据处理之后才能进行保存,因此在数据预处理阶段需要判断数据是否需要存储,并且生成记录文件。
2.1.2基于滑动时间窗对机床运行数据进行分析
机床运行数据实时反映机床的运行信息,对运行数据进行实时统计与分析能够更加直观的判断机床运行过程中状况。流处理实质上是将运行数据看成持续不断的数据流,针对数据的计算都是对单个数据点进行计算,即“新到一个数据就处理一次”,这种方式虽然能够保证运行数据处理的时效性,但是在一定程度上割裂了相连数据的关联性,而这种运行数据的关联性对机床状态的预测与分析都非常重要,因此引入滑动时间窗的处理方式对运行数据进行处理是十分有必要的。
参考图10所示,设计基于滑动时间窗的运行数据统计与异常检测技术,将滑动时间窗口长度设置为1min,基本时间窗口长度为10s,在每个基本时间窗口下都进行独立的计算任务,因此计算任务将以10s的滑动窗口在1分钟内进行滑动,最后再合并基本时间窗口,统计整个计算窗口(1min)的计算结果。
基于滑动时间窗的数据计算主要包括运行数据统计与运行数据的异常检测。运行数据统计指统计运行数据的最大值、最小值、平均值、出现的频次、能量利用率等指标。基于运行数据的异常检测主要包括实时临界检测和基于滑动时间窗的异常监测。
以机床的刀盘温度为例介绍基于滑动时间窗的异常监测技术,设定统计在一个时间窗口内对比采集的温度与报警阈值存在差异的频次,以此提供温度预警信息。如果温度数据的实际值超过报警阈值的概率大于80%,则进行温度报警。基于滑动时间窗的运行数据统计与异常检测的实现流程如图11所示:
将数据预处理的结果作为数据处理的输入,然后依次按照以下几个步骤进行实现:
①滑动窗口处理单元
首先设置滑动窗口所需的参数,主要包括单元窗口长度和滑动窗口长度。同时,还需要设定发送数据的时间。
②字段拆分处理单元
将接收的运行数据按照监测信号的种类进行拆分,将同一类的运行数据下发至下一级数据处理单元。
③数据统计处理单元
在基本时间窗口内实现数据的最值、平均值等数据指标的计算,并将计算结果发给下一级数据处理单元进行整个时间窗口的数据聚合。
④频数计算处理单元
此计算单元主要为实现需要进行频数统计的运行数据服务,如温度数据,计算其在基本窗口单元大于阈值的次数,并下发给阈值判断处理单元。
⑤阈值判断处理单元
在此处理单元上主要根据各个监测数据的类型,结合数据特点以及相关研究,制定阈值判断的策略。如温度数据,认为如果温度数据的实际值超过报警阈值的概率大于80%,则进行温度报警。
⑥汇总计算处理单元
在此处理单元上合并统计所有基本时间窗口的数据,使用全局汇总的数据聚合方式,即将所有的数据都发送到同一个处理单元进行最终的计算。
2.1.3采用聚类算法判断机床运行数据所属机床运行状态分类
首先将训练数据进行特征提取,转化为聚类算法需求的数据;然后将处理后的数据转化为无限数据流的实例(数据集合);再以实例的形式传入至流处理计算单元中进行聚类计算,并保存和更新内存状态,再更新聚类模型状态,以此完成运行数据的训练过程;数据预测过程首先将需要预测的参数提交给分布式远程调用协议,再执行特征提取,再将模型预测参数转化为实例(数据集合),并查询聚类的结果。以此实现运行数据的预测过程,完成机床异常状态的判断。实现流程如12图所示。
2.2批处理
基于批处理的异常识别流程如图13所示:首先离线采集典型的设备异常状态的数据,通过时域、频域、时频域分析等方法建立异常类型与运行数据特征参数的映射关系,构建机床异常状态诊断库。其次,在线采集的异常状态数据,经过特征提取和标准化处理后,根据在批处理框架上结合机器学习算法实现对机床异常状态的识别。
三、案例测试与分析
3.1案例测试环境
以某机床的切削实验为例,采集基于外接传感器感知的机床高速运行数据进行实验测试和离线分析,验证所提出基于运行数据流的机床异常状态监测***的有效性。
数据采集***采用NI高速采集卡,通过机箱连接数据采集卡与上位机,保证数据传输的实时性与采集卡的扩展性。并基于LabVIEW编写数据采集程序,将数据采集结果接入Kafka消息队列,部分数据采集装置的型号如下表1所示。
表1 部分传感器与数据采集设备型号
监测机床运行过程的主轴功率、机床总功率、刀盘X/Y/Z三向振动信号、机床床身单向振动、刀具三向切削力、温度等值,并通过更改采样频率来实现不同的数据通量。
机床的各电机的电流、电压、功率等电信号分别在机床电气柜中对照布线图进行获取,其中电流信号通过霍尔效应的互感器进行获取,以便于操作者的接线安全;机床的振动信号通过加速度传感器进行采集,其中振动传感器可选择磁吸式或粘连式的方式固定在监测部位上;
在8台配置相同的PC机安装相应软件,搭建分布式集群环境。在分布式集群无其他任务的条件下对采集的数据进行计算,分析运行结果。其中使用Kafka作为消息队列;使用Storm作为运行数据流处理框架,使用Trident-ML作为运行数据流处理的机器学习算法库;使用Spark作为运行数据批处理框架,使用MLlib作为批处理的机器学习库;使用 HadoopYarn作为资源管理***。
数控机床运行数据流处理拓扑实现如14图所示。通过在分布式服务器管理***ZooKeeper上分别生成Kafka和Storm的节点,并对Kafka和Storm的服务器节点统一管理。为确保监测数据能够被实时处理,通过Kafka分布式消息队列进行数据缓存,将部署 Storm的实时大数据计算平台作为Kafka的数据消费端(Consumer),采用Kafka与Storm 的集成KafkaSpout作为消息队列和大数据平台衔接的数据源,并以数据载体(Tuple)的形式传递至下一级Bolt进行分析处理。当数据源Kafkaspout接收到运行数据后,首先通过数据拆分Bolt,获取不同运行数据在不同采集通道上数据,在结合具体的运行数据监测需求,单独在Bolt中进行编程实现,如实现运行数据的预处理、基于滑动时间窗的数据统计和数据异常监测、在线实时聚类等。完成各个Spout和Bolt的逻辑编写后,在Storm 的Topology设定各个组件的数据流向和分组方式。
3.2流处理技术功能测试
基于流处理的机床运行数据实时处理技术在监测***中主要实现数据预处理、数据统计、数据异常检测、实时运行状态判断。其中数据预处理和数据统计主要在后台完成数据处理,在前端界面中主要显示数据异常检测和运行状态判断结果,并在异常管理模块中进行显示。根据当前工艺参数下的多次切削实验与工人经验,分别设定X、Y、Z向切削力的临界值分别为80N、20N和90N。由于切削力信号易受干扰,瞬时变化特性大,直接进行阈值监测容易产生误报现象,因此根据基于滑动时间窗的数据临界异常检测策略,每秒统计最近10秒的异常次数,若切削力的实际值超过报警阈值的概率大于80%,则输出“临界异常”,并将结果显示在前端界面中,并在实时监测界面中指示为异常状态;实时运行状态判断根据实时聚类算法在线判断机床运行状态,其中0代表停机状态,1代表开机状态,2代表空载状态,3代表满载状态,4代表异常状态。测试过程中截取异常状态的实时状态截图和异常数据记录分别为图15和图16所示。
在图15中机床实时异常状态中指针指向红色(最右端),即表示异常状态,产生报警信息。根据在异常管理模块中可以发现,机床在运行时间段“17:52:54”-“17:52:56”中都显示异常信息,其中X、Y、Z三个方向的切削力都显示“临界异常”的原因,数据值分别为81.0N、22.0N和92.0N。超出了设定的临界值80N、20N和90N。并且聚类结果为“4”,显示机床为异常状态。以上前端显示界面直接与操作人员交互,因此基于此结果,操作人员可得知以下信息:在“17:52:54”-“17:52:56”时间段中,机床可能存在故障信息,致使机床的运行数据发生变化,监测***提示异常状态。因此操作人员可根据实际加工情况,对机床进行重点关注,以继续观测机床运行状态,或者通过本监测***的“异常状态识别”模块,导入异常的数据,进行机床异常状态的识别。
对于管理员可观测到后台测试信息如下:其中在测试过程中,打开Eclipse的后台界面,可查看在线聚类算法中对无标记的功率数据的标准差和平均值作为算法输入样本,运行实时流聚类算法。得到样本聚类中心如下表2:
表2 样本聚类中心
3.3流处理技术性能测试
基于Storm流处理技术对机床运行数据处理能够实现更低的计算延迟,支持分布式的计算方式能够支持计算集群的横向扩展。由于基于运行数据的实时监测技术涉及的业务逻辑比较简单,且流处理***的设计主要为解决运行数据的高时效特性,因此在本运行实例中主要对比处理不同数据量、以及不同业务的时间延迟。选择功率信号计算机床能量效率以及基于滑动时间窗的数据异常检测(阈值判断)作为测试对象。得出测试结果如下:
3.3.1单机和集群环境下的对比
分别对不同采样频率下、集群和单机模式下进行功率信号的能效计算,对程序执行时间进行测试,测试结果如图17所示。由图17可以发现,随着机床运行数据采集***的采样频率不断增加,即数据总量的不断增大,单机模式和集群模式对于业务处理的执行时间差距越来越明显,反映出在数据量多的生产环境中,基于Storm的分布式流处理框架实时处理效果更优。但是在低采样频率的状态下,单机模式的处理时间略低于集群模式,出现该问题的原因在于Topology的上传、任务的分发、ZooKeeper的选举协调等都需要占用一定的时间。
3.3.2集群环境下不同计算的对比
分别对不同集群数量下、机床能效计算和基于滑动时间窗的数据异常检测进行程序执行时间进行测试,测试结果如图18所示。
由图18可以发现随集群规模的增大,大数据流式处理***的处理能力逐渐增强,程序的执行时间越来越短。与此同时,由能效计算与异常监测的曲线斜率对比可发现,基于滑动时间窗的数据异常检测的业务随集群数量的增加,时间减少的越明显(曲线斜率绝对值大),这是由于基于滑动时间窗的异常检测与能效计算相比,处理过程相对复杂,所需计算量略大。因此增加集群规模对实时计算的收益越大。与此同时,可观察到运行数据统计业务在集群数量5和7的时候,程序运行时间减少的速度变缓,这是由于本次测试所采集的数据基本都为结构化数据,数据之间的关联性低,数据模式简单,因此增加集群数量对程序运行时间的影响比较小。
3.4批处理测试
3.4.1异常状态识别技术功能测试
理论上,针对机床不同异常状态,确定各个异常或故障的特征向量,建立运行数据与异常状态的特征关系,构建异常模式库,都可以通过本文所提出的运行状态监测***实现异常状态的在线识别。但为了更直观的测试识别模型的准确性以及监测***的实用性,在本节中使用刀具磨损测试数据集验证监测***用于识别机床异常状态的准确性。参照刀具极限磨损理论和国家标准ISO,以刀具后刀面背吃刀量1/2处磨损带宽度设定刀具后刀面磨钝标准。刀具磨损的分类标准可以根据实际加工进行灵活选择,在此对刀具磨损的状态与标准分为三类:轻微磨损(VB=0-0.1mm)、中度磨损(VB=0.1-0.3mm)、重度磨损 (VB≥0.3mm)。
根据相关研究,切削力与振动信号时域特征对铣削刀具磨损的敏感度最高,因此在本小节仅选择切削力、振动信号时域特征作为特征参数作为测试。选择的特征参数后使用支持向量机对铣削刀具磨损监测。在本文选择三向切削力的均值、标准差、峰值、机床Y向振动均值、标准差、峰值、偏度指标共13组特征参数作为刀具磨损特征参数,并将有量纲的均值、峰值、标准差按照线性函数的方式进行归一化,转换为[0,1]区间的值。选择的部分特征参数如下表3所示:
表3 部分特征参数
Table 3 Partial Characteristic Parameters
如图19所示,操作者在监测***上输入需要识别的时间段,如在本案例中,输入开始时间“18:03:55”,结束时间“18:03:50”,在界面上分别点击“查询数据”和“显示特征参数并归一化”按钮,再点击“执行运行状态判断”按钮,操作者即可在监测***上观察到当前刀具磨损状态的分类状态,监测***上异常识别的结果显示为“中度磨损”,操作者可以通过异常识别的结果决定是否需要更换刀具,如异常识别为“严重磨损”状态时,操作者可以立即换刀,以免因为刀具磨损而影响工件的加工质量。
3.4.2异常状态识别算法准确度对比分析
通过Spark MLlib上的支持向量机算法对刀具磨损状态进行识别,测试准确度如下表 4所示:
表4 基于SVM的的刀具磨损状态识别准确度
由上述分析结果可知,选择的特征参数比较合理,基于Spark MLlib上的支持向量机算法实现的算法都能够得到较高的准确度,验证了基于运行数据批处理的机床异常状态识别技术的可行性与实用性。并且批处理的优点在于处理速度快,能够快速处理大样本数据、高维特征参数的数据集,并且支持分布式横向扩展,在处理大数据样本时优势更加显著。
Claims (8)
1.一种基于运行数据流的机床状态监测***,其特征在于:包括用于采集机床运行数据的数据采集层,数据采集层通过数据接入层连接有数据处理层;数据处理层连接有数据存储层;数据存储层包括用于实时存储和查询的非关系型分布式实时数据库与用于离线统计与分析的分布式数据仓库;
所述数据处理层包括用于对机床运行数据进行流处理的流处理层以及进行批量处理的批处理层;
流处理层与批处理层通过共用数据存储层进行集成,从而使得批处理层能够从数据存储层中获取经流处理层处理后的数据:在流处理架构中根据不同数据类型特点以及数据功能分析需求,确定运行数据的存储方式,其中,有实时查询以及原始数据存储需求的运行数据存储到非关系型分布式实时数据库中,检测为异常类型的数据以及后续需要统计、离线分析的数据存储在分布式数据仓库中;
批处理层根据所述分布式数据仓库中离线的典型设备异常状态数据,通过时域、频域、时频域分析方法建立异常类型与运行数据特征参数的映射关系,构建机床异常状态诊断库;在线采集的异常状态数据,经过特征提取和标准化处理后,根据在批处理框架上结合机器学习算法实现对机床异常状态的识别。
2.根据权利要求1所述的基于运行数据流的机床状态监测***,其特征在于:所述数据处理层采用分布式集群架构,所述数据接入层通过分布式消息队列将机床运行数据分发至数据处理层中。
3.根据权利要求1所述的基于运行数据流的机床状态监测***,其特征在于:还包括用于对机床运行状态与数据处理结果进行可视化显示以及支持用户对机床状态监测***进行访问的数据应用层。
4.根据权利要求1所述的基于运行数据流的机床状态监测***,其特征在于:流处理层包括以下数据处理单元:
数据预处理单元:用于根据数据预处理程序对数据流进行预处理;
数据统计与异常检测单元:基于滑动时间窗对预处理后的数据流进行分析,以获得统计结果与异常检测结果;
机床运行状态判断单元:用于根据聚类算法判断机床运行数据所属机床运行状态的分类。
5.一种基于运行数据流的机床状态监测方法,其特征在于:采用如权利要求1所述的基于运行数据流的机床状态监测***,并包括以下步骤:
步骤1:数据采集层采集原始机床运行数据并上传至数据接入层;
步骤2:数据接入层将原始机床运行数据分别发送给流处理层与数据存储层;
步骤3:数据存储层对原始机床运行数据进行存储,并与步骤4同时进行;
步骤4:流处理层对原始机床运行数据进行流处理,并将处理后的结果存储至数据存储层中;
步骤5:批处理层从数据存储层中调取经流处理的机床运行数据进行机床异常状态诊断。
6.根据权利要求5所述的基于运行数据流的机床状态监测方法,其特征在于:流处理包括以下步骤:
步骤4.1:对原始机床运行数据进行预处理,包括依次进行的数据清洗、数据格式化以及对预处理后的机床运行数据是否需要存储进行判断,将需要存储的预处理后的机床运行数据存储至数据存储层中,对于不需要存储的预处理后的机床运行数据,则进行步骤4.2;
步骤4.2:基于滑动时间窗对机床运行数据进行分析,以获得统计结果与异常检测结果;统计结果包括机床运行数据的最大值、最小值、平均值与超过报警阈值的频次;
步骤4.3:采用聚类算法判断机床运行数据所属机床运行状态分类,机床运行状态分类包括开机状态、待机状态、空载状态、满载状态与异常状态。
7.根据权利要求6所述的基于运行数据流的机床状态监测方法,其特征在于:步骤4.2包括以下步骤:
步骤4.2.1:设置滑动时间窗的参数,包括基本时间窗口长度、滑动时间窗口长度与数据发送时间间隔;
步骤4.2.2:将接收的机床运行数据按照种类进行拆分,根据数据发送时间间隔将同一类的机床运行数据下发至下一级的数据统计与异常检测单元;
步骤4.2.3:在基本时间窗口内实现机床运行数据的最大值、最小值、平均值与超过报警阈值的频次计算;
步骤4.2.4:根据超过报警阈值的频次与基本时间窗口内的数据总数,统计机床运行数据超过报警阈值的概率,当机床运行数据超过报警阈值的概率超过概率阈值时,则说明发生异常,进行报警;
步骤4.2.5:合并滑动时间窗口内所有基本时间窗口,使用全局汇总的数据聚合方式统计滑动时间窗口内的计算结果。
8.根据权利要求5所述的基于运行数据流的机床状态监测方法,其特征在于:所述数据存储层包括用于实时存储和查询的分布式实时数据库与用于离线统计与分析的分布式数据仓库;流处理层根据机床运行数据的类型将处理结果分别存储在分布式实时数据库与分布式数据仓库;
所述数据处理层采用分布式集群架构,所述数据接入层通过分布式消息队列将机床运行数据分发至数据处理层中的流处理层中;在流处理过程或批处理过程中对同类机床运行数据进行分布式集群计算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910646446.4A CN110347116B (zh) | 2019-07-17 | 2019-07-17 | 一种基于运行数据流的机床状态监测***与监测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910646446.4A CN110347116B (zh) | 2019-07-17 | 2019-07-17 | 一种基于运行数据流的机床状态监测***与监测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110347116A CN110347116A (zh) | 2019-10-18 |
CN110347116B true CN110347116B (zh) | 2021-06-29 |
Family
ID=68176691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910646446.4A Active CN110347116B (zh) | 2019-07-17 | 2019-07-17 | 一种基于运行数据流的机床状态监测***与监测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110347116B (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7208083B2 (ja) * | 2019-03-29 | 2023-01-18 | 株式会社リコー | 診断装置、診断システムおよびプログラム |
CN110737243B (zh) * | 2019-10-23 | 2022-02-15 | 南京理工大学 | 一种基于nc代码触发的机床多源数据采集***及方法 |
CN111027861A (zh) * | 2019-12-11 | 2020-04-17 | 镇江新一代信息技术产业研究院有限公司 | 一种大数据分析***及方法 |
CN111143438B (zh) * | 2019-12-30 | 2023-09-12 | 江苏安控鼎睿智能科技有限公司 | 一种基于流处理的车间现场数据实时监测与异常检测方法 |
CN111123873B (zh) * | 2019-12-30 | 2021-09-17 | 江苏安控鼎睿智能科技有限公司 | 一种基于流处理技术的生产数据采集方法及*** |
CN111103847B (zh) * | 2019-12-31 | 2023-01-24 | 中国兵器装备集团自动化研究所 | 一种用于数控机床实时数据流的分析***和分析方法 |
CN111626542B (zh) * | 2020-04-01 | 2023-08-01 | 广州擎天实业有限公司 | 一种用于发电机励磁***的基于大数据的检测方法 |
CN113495528A (zh) * | 2020-04-07 | 2021-10-12 | 沈机(上海)智能***研发设计有限公司 | 非侵入式机床动态性能检测方法、***、终端及装置 |
CN111815449B (zh) * | 2020-07-13 | 2023-12-19 | 上证所信息网络有限公司 | 一种基于流计算的多主机行情***的异常检测方法及*** |
CN112171376B (zh) * | 2020-08-21 | 2022-05-10 | 杭州玖欣物联科技有限公司 | 一种基于电流信号分割的机床工件实时统计方法 |
CN112099438B (zh) * | 2020-09-14 | 2021-10-29 | 南京简睿捷软件开发有限公司 | 一种基于电流信号的机床节能控制方法及装置 |
CN114619104A (zh) * | 2020-12-10 | 2022-06-14 | 北京福田康明斯发动机有限公司 | 断刀监测***和监测方法 |
CN112859740B (zh) * | 2021-01-11 | 2022-12-13 | 成都耐视特科技有限公司 | 一种数控机床数据采集装置 |
CN113325824B (zh) * | 2021-06-02 | 2022-10-25 | 三门核电有限公司 | 一种基于阈值监测的调节阀异常识别方法及*** |
CN113325797B (zh) * | 2021-06-11 | 2022-07-12 | 中山凯旋真空科技股份有限公司 | 控制设备的数据采集方法、装置、存储介质和电子设备 |
CN113848806B (zh) * | 2021-10-12 | 2023-05-23 | 中国石油大学(华东) | 数字孪生驱动的高效放电脉冲电弧铣削加工故障诊断方法及*** |
CN114070718B (zh) * | 2021-10-19 | 2023-11-21 | 深圳市有方科技股份有限公司 | 一种告警方法、装置和存储介质 |
CN114330500B (zh) * | 2021-11-30 | 2024-04-26 | 南京国电南自电网自动化有限公司 | 基于storm平台的电网电力设备在线并行诊断方法及*** |
CN114580268B (zh) * | 2022-01-27 | 2024-05-28 | 北京航空航天大学 | 一种基于支持向量回归和t检验的机床加工能效建模***及方法 |
CN115373360B (zh) * | 2022-10-20 | 2023-03-03 | 山东芯合机器人科技有限公司 | 一种基于工业机器人加工过程质量监控*** |
CN117697464B (zh) * | 2024-01-03 | 2024-06-11 | 广东德力星智能装备有限公司 | 一种高精度数控机床的控制方法及*** |
CN117555287B (zh) * | 2024-01-12 | 2024-04-09 | 中国机械总院集团云南分院有限公司 | 一种基于cae的数控机床加工动态性能监控方法及*** |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107391719A (zh) * | 2017-07-31 | 2017-11-24 | 南京邮电大学 | 一种云环境中分布式流数据处理方法及*** |
CN108874982A (zh) * | 2018-06-11 | 2018-11-23 | 华南理工大学 | 一种基于Spark大数据框架离线实时处理数据的方法 |
-
2019
- 2019-07-17 CN CN201910646446.4A patent/CN110347116B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110347116A (zh) | 2019-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110347116B (zh) | 一种基于运行数据流的机床状态监测***与监测方法 | |
CN107577588B (zh) | 一种海量日志数据智能运维*** | |
CN111984499B (zh) | 一种大数据集群的故障检测方法和装置 | |
CN108038553B (zh) | 轧机设备状态在线监测与诊断***及监测诊断方法 | |
CN110928718B (zh) | 一种基于关联分析的异常处理方法、***、终端及介质 | |
CN111143438B (zh) | 一种基于流处理的车间现场数据实时监测与异常检测方法 | |
CN109298680A (zh) | 一种数控机床刀具检测的数据采集*** | |
CN111259073A (zh) | 基于日志、流量和业务访问的业务***运行状态智能研判*** | |
CN115186883A (zh) | 基于边云协同计算的工业设备健康状态监测***及方法 | |
CN112987696A (zh) | 一种区域配电网设备管理平台及其运行方法 | |
CN115033463B (zh) | 一种***异常类型确定方法、装置、设备和存储介质 | |
Godreau et al. | Continuous improvement of HSM process by data mining | |
CN111123873B (zh) | 一种基于流处理技术的生产数据采集方法及*** | |
CN111159487A (zh) | 一种汽车发动机主轴预测性维护智能*** | |
CN115730962A (zh) | 一种基于大数据的电力营销稽查分析***及方法 | |
CN116859838B (zh) | 一种设备运行情况监测的预警*** | |
CN116862194A (zh) | 一种基于电网业务数据分析运检*** | |
CN115469585B (zh) | 一种基于大数据的水电机组状态监测方法及*** | |
CN114387123B (zh) | 数据采集管理方法 | |
CN115357637A (zh) | 一种工业设备特定工况样本数据抽取的方法 | |
CN112433909A (zh) | 一种基于kafka的实时监控数据的处理方法 | |
CN112621381A (zh) | 机床进给***健康状态智能评估方法及装置 | |
Crespino et al. | Anomaly detection in aerospace product manufacturing: Initial remarks | |
CN117435294B (zh) | 一种智慧石化生产的可视化展示方法及*** | |
CN117215258A (zh) | 一种基于Flink的数控机床实时状态监控***及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |