作者结合在欧洲大厂的具体实践经验分享工业4.0的理解和落地方案,希望对中国智能制造从业者有些帮助。如有错误之处,请批评指正;转载请指明出处。
智能的基础是智能决策,所有的决策都来自于分析。所以简单说所有的智能都是做好两件事:收集数据,使用数据。数据挖掘技术根据业务数据不同有不同的应用场景。在我以往工作中主要在以下领域有应用尝试:
需要指出的是,虽然目前有很多数据挖掘算法和案例,但是还是主要用于网络数据。这些算法在工业领域有明显的过拟合现象不能直接使用,需要作出一些优化调整。工业数据的一些特点:
下面我用一个实际工业数据挖掘的例子来展示数据挖掘在工业领域如何应用。
【背景介绍】这条生产线的大致工艺如下图所示:左边是生产线输入,右边是输出待检的成品,经过质检后产品又分为合格品和残次品。我们数据挖掘的目的是根据生产产品的实时质检数据动态调整机器参数以寻求产品质量的最优。
【数据采集】在这个案例中我收集三部分数据:
【数据分析】
简单的数据挖掘步骤包括数据收集,数据清洗,模型选取和训练,模型检验和实施预测。在工业数据领域,我们必须考虑到数据纬度太大。如果直接开始模型训练,必然出现过拟合现象。而且工业数据和互联网数据有个会很大的区别。比如电流,电压和功率本身就有物理相关性。并没有必要一起作为数据分析的特征。所以在模型训练之前,我们可以先做特征选取和特征增强,减少不必要的分析风险。
数据收集和清洗之后,我们先进行一轮数据基本展示:
横坐标是时间,纵坐标是模具编号。我们很容易的发现几个问题:
我们对机器主要参数性能也进行数据展示:
我们暂且不用计较两个参数的具体含义。但是从图上可以很容易看出来,两个参数的数据存在一些时间差。理论上各个参数应该在同一时间达到极值。虽然这样的推断并不严谨。但是我们有理由相信收集的不同机器的数据存在时间切片不对的问题。实际上,在工厂车间的很多机器都是不联网的,难免出现机器时间的不准确。
简单的根据极值,我们进行数据平移,然后得到时间极值相吻合的数据合集。
在得到合理且高质量的数据后,我们可以进行数据分析了。
首先,我们进行了降维操作。因为我们最终是要推荐每个机器参数的理想取值范围,所以有必要保留原始的数据维而不能使用PCA降维方法。好在我们的维度数目不算过于庞大。我么很容易用对比ROC的方式对每一个维度的影响进行了评估筛选。最终保留了以下维度。进而,我们用随机森林算法获得了每个维度的影响因子:
在此基础上,我们对质量缺陷的位置进行了汇总。
试着把机器参数和缺陷的位置进行了关系模拟。最终得出结论:对质量影响较大的是最后一道工艺的功率问题。
针对如何推荐每个参数的最佳取值范围,起初我们直接运行了随机森林算法进行模型训练和预测,发现该算法对部分产品模型过拟合程度过高,达不到要求。后来我们分别试验了SVM和决策树等不同算法。根据评选结果,最适合我们数据预测的算法是SVM。在进一步算法优化后,预测结果达到了很好的效果。
【结果验证】
我们在和现场工程师一起对数据挖掘算法的结果进行了理论验证。在一致通过后,我们进行了真机模拟。试验结果取得了较好的产品质量。
【下一步工作】
目前算法在推荐了每个机器参数的最佳取值范围后,还需要人为手动输入到机器控制板进行调整。这主要受限于PLC的安全保护,不能轻易允许数据写入。随着技术的演进,我们下一步将尝试如何让系统通过OPC把PLC的机器参数动态进行调整。
本案例中,我们只对本部分数据进行了定向性挖掘。过程中我们也尝试横向数据挖掘,比如我们注意到合格率和操作时间也有一定关系。不过这不是本次分析的重点,在我们分析中没有深入下去。