技术文章

使用数字孪生体进行预测性维护

作者 Steve Miller, MathWorks


当工业设备发生故障时,导致的问题往往不是更换设备的费用,而是被迫停机。一条生产线静止不动可能意味着每分钟损失数千美元。定期维护可以帮助避免计划外停机,但不能保证设备不会发生故障。

如果机器能显示出某个部件何时会发生故障呢?甚至如果机器能告诉您哪个部件需要更换呢?这样一来,计划外停机时间将大大减少。计划的维护只在必要时进行,而不是以固定的时间间隔进行。这便是预测性维护的目标:即通过使用传感器数据预测何时需要维护,以此来避免停机。

在任何预测性维护算法的开发过程中,核心都是传感器数据,传感器数据可以用来训练故障检测的分类算法。在预处理步骤中,将从这些数据中提取出有意义的特征,并使用这些特征训练用于预测性维护的机器学习算法。将该算法导出到Simulink®等模拟软件中进行验证,然后将代码部署到机器的控制单元中。

在典型的故障条件下,不可能总是从现场物理设备中获取数据。让现场发生故障可能会导致灾难性的后果,并致使设备损坏。在可控情况下故意制造故障可能会带来费时而昂贵的后果,甚至难以实现。

解决这一难题的方法是创建设备的数字孪生体,并通过模拟为各种故障情况生成传感器数据。这种方法使工程师能够生成预测性维护工作流所需的所有传感器数据,包括针对所有可能的故障组合和不同严重程度故障的测量数据。

本文讨论了如何使用MATLAB®、Simulink和Simscape™设计三缸泵的预测性维护算法(图1)。我们将在Simscape中创建实际泵体的一个数字孪生体,对其进行调优以匹配测量数据,然后使用机器学习创建预测性维护算法。该算法只需要出口泵压就能识别出哪些部件或部件组合可能会出现故障。

图1.预测性维护工作流。

图1.预测性维护工作流。

构建数字孪生体

三缸泵有曲轴驱动三个柱塞(图2)。与单活塞泵相比,柱塞的一个气室始终处于排气状态,使流动更平稳并减少压力变化,从而降低材料应变。这种泵的典型故障情况是曲轴轴承磨损、柱塞密封泄漏和进气口堵塞。

图2.三缸泵原理图和容积流率图。

图2.三缸泵原理图和容积流率图。

泵的CAD模型通常可从制造商处获得,可以导入Simulink中,用于建立泵的力学模型,进行三维多体仿真。为了模拟系统的动态行为,现在需要用液压和电动元件来补充泵。

在制造商的数据表中可以找到创建数字孪生体所需的一些参数,如镗孔、冲程和轴径,但是其他参数可能会丢失,或者仅在范围内说明。在本例中,我们需要让三个供给出口的止回阀在高压和低压下分别打开和关闭。我们没有这些压力的确切值,因为它们取决于所输送流体的温度。

图3中的图显示,用粗略估计(蓝色线)模拟的泵与现场数据(黑色线)不完全匹配。蓝线在一定程度上与实测曲线相似,但差异明显。

图3.使用实测数据预估参数。

图3.使用实测数据预估参数。

我们使用Simulink Design Optimization™自动调优参数值,以便模型生成与实测数据匹配的结果。所选优化参数见Simscape中的止回阀出口模块(图4)。Simulink Design Optimization选择参数值进行仿真,计算仿真曲线与实测曲线的差值。基于此结果,选择新的参数值进行新的仿真。计算参数值的梯度,确定参数应调整的方向。在本例中,由于只调优了两个参数,所以收敛速度很快。对于具有更多参数的更复杂场景,使用能够加速调优过程的功能非常重要。

图4.在Simscape中调优参数值。

图4.在Simscape中调优参数值。

创建预测模型

现在,我们拥有了一个泵的数字孪生体,下一步是将故障组件的行为添加到模型中。

有多种方法可以添加错误行为。许多Simulink模块具有下拉菜单,用于短路或开路等典型故障。改变参数值即可模拟摩擦或褪色等影响。在本例中,将考虑三种故障类型:轴承磨损导致摩擦增加、入口堵塞导致通道面积减少以及柱塞的密封泄漏。前两个故障需要调整模块参数。为了模拟泄漏,我们需要在液压系统中添加一条路径。

如图5所示,可以从用户界面或MATLAB命令行切换所选的故障条件。在本文给出的模型中,所有的故障条件都使用MATLAB命令进行切换。通过这种方式,整个过程可以使用脚本实现自动化。

图5.模拟三缸泵的泄漏。可以使用泵模块对话框(顶部)或命令行(底部)修改参数。

图5.模拟三缸泵的泄漏。可以使用泵模块对话框(顶部)或命令行(底部)修改参数。

在图6顶部所示泵的仿真中,启用了两个故障:一个是入口阻塞,另一个是柱塞3处的密封泄漏。这些故障用红色圆圈表示。图6中的图显示了出口压力的仿真结果,包括连续线(蓝色)和噪声采样(黄色)。仿真生成的数据必须包含量化效应噪声,因为我们需要用尽可能真实的数据来训练我们的故障检测算法。

图6.顶部:泵示意图,显示堵塞的入口和密封泄漏。底部:出口压力仿真图(蓝线)和噪声采样图(黄线)。

图6.顶部:泵示意图,显示堵塞的入口和密封泄漏。底部:出口压力仿真图(蓝线)和噪声采样图(黄线)。

图6中的绿色框表示出口压力的正常值范围。有明显偏离正常范围的峰值表明存在一些故障。工程师或操作人员仅凭此图即可确定泵发生故障,但仍无法准确判断具体故障。

我们使用这个仿真来生成泵在所有可能故障情况下的压力数据。为数字孪生体创建了约200个场景。必须对每个场景进行多次仿真,以说明传感器中的量化效应。由于此方法需要数千次仿真,我们希望能够加快数据生成过程。

一种典型方法是将仿真分布在多核机器上可用的线程上,或者分布在若干机器或计算机集群上。取决于问题的复杂性、时间限制和资源,Parallel Computing Toolbox™ 和MATLAB Parallel Server™支持这种方法。

另一种方法是使用Simulink中的快速重启功能,它利用了许多系统需要一定的建立时间才能达到稳定状态这一事实。随着快速重启,测试的这一部分只需要模拟一次。所有后续的仿真都将从系统达到稳态的点开始。在当前的例子中,建立时间约占单次测试所需模拟时间的70%(图7),因此,使用快速重启可以节省大约三分之二的仿真时间。由于可以从MATLAB命令行和脚本配置快速重启,因此它非常适合实现自动化训练过程。

图7.在Simulink中使用快速重启功能减少仿真时间。

图7.在Simulink中使用快速重启功能减少仿真时间。

下一步是利用仿真结果提取训练数据用于机器学习算法。Predictive Maintenance Toolbox™提供了提取训练数据的各种选项。因为我们在这里看到的信号具有周期性,所以FFT似乎最有希望。如图8所示,结果是单个故障以及故障组合的少量明显分离的不同大小的峰值。这是一种机器学习算法能够很好地处理的数据。

图8.使用快速傅立叶变换提取训练数据。

图8.使用快速傅立叶变换提取训练数据。

每个故障场景的FFT结果会提取到一个包含插入故障和观察到的信号频率和幅度的表中。因此,要考虑的参数数量相对较少。

现在,训练故障检测算法所需的所有数据都可用了,可以将其导入到Statistics and Machine Learning Toolbox™中。我们将使用生成的数据的一个子集来验证训练过的算法。

我们在Statistics and Machine Learning Toolbox中可视化训练过程的结果。这些可视化使我们能够比较不同算法的优缺点,并确定是否需要额外的训练数据。我们从实测数据中选取在确定泵的故障时精度最高的训练算法。我们将该算法导入到数字孪生体中,使用为此保存的七个测试用例进行验证(图9)。最后的结果表明,该分类算法能够可靠地检测出所有七种场景。现在可以在控制单元上进行部署。

图9.导出最精确的模型进行验证。

图9.导出最精确的模型进行验证。

这一工作流程的实际应用是工业设备,这些设备将在世界各地千差万别的环境条件下广泛使用。此类设备可能会发生变化:可能会选择新的密封或阀门供应商,泵可能使用各种流体运行,并在具有不同日常温度范围的新环境中使用。所有这些因素都会影响传感器所测得的压力,可能使故障检测算法变得不可靠,甚至无用。快速更新算法以适应新情况的能力对于在新市场中使用该设备至关重要。

所述工作流可以使用MATLAB中的脚本进行自动化,并且大部分工作可以重用。唯一需要重复的步骤是在相当于泵在现场所面临的条件下进行数据采集。

借助智能互联技术的最新发展成果,机器制造商甚至可以通过临时设置向客户交付设备,在现场实际条件下远程收集数据,训练故障检测算法,然后远程将其重新部署到机器上。这将为客户提供新的支持机会,包括对已在现场特定条件下使用了一段时间的设备进行故障检测的再训练。在众多机器上收集的见解将使客户和制造商都受益。

总结

预测性维护有助于工程师准确确定设备何时需要维护。它可以根据实际需要而不是预定的时间安排维护,从而减少停机时间并防止设备故障。通常,在实际机器上训练预测性维护算法所需的故障条件过于昂贵,甚至无法实现。解决这一难题的方法是使用全工作机器的现场数据来调优物理三维模型并创建数字孪生体。然后,使用数字孪生体来设计预测性维护检测算法,以部署到实际设备的控制器中。该过程可实现自动化,能够快速调整各种条件、所处理的材料和设备配置。

2019年发布