关 闭

新闻中心

EEPW首页 > 工控自动化 > 业界动态 > 电动马达预测性维护:企业部署算法集中管理、保护与扩充

电动马达预测性维护:企业部署算法集中管理、保护与扩充

作者:Peter Webb时间:2021-11-29来源:CTIMES收藏

为了提升生产力,企业级规模的应用架构工程部署项目通常会采用主-从式软件开发模型,确认在足够数量的机台上所安装的函式能满足使用量。本文以一个估测健康的应用来说明上述所需的功能。
如果你想把MATLAB函式分享给另一位同事,只要简单地透过Email就可以达成,不过这种方式可能不太适合较大的团队。举例来说,你没有办法确保每一个人都使用最新版本的函式,你也没有办法限制他人存取这些具有所有权的程序代码。而且如果为了满足高峰期间的使用量而在足够数量的机台上安装了函式,离峰期间则会有机台处在闲置状态。为了处理这样的问题,企业级规模的应用架构工程部署项目通常会采用主-从式软件开发模型(client-server software development model)来解决。
MATLAB Client for MATLAB Production Server这组支持套件,可为桌上型MATLAB提供了主-从式运算(client-server computing)带来好处。它的作法是将算法集中在一个位置存放,这可确保所有客户端使用的版本都相同;由远程执行并加密,则可以保护智慧财产(intellectual property;IP):终端用户可以呼叫算法,但不能存取源代码。
为了提升生产力,可以增加用户端的workers,或者将MATLAB Production Server的范例部署在云端计算,如Microsoft Azure和Amazon Web Services等环境中。本文将以一个估测健康的应用来说明这些功能。

应用:以方法评估马达健康状态
透过预测性维护系统来监测设备的健康状态可预防意外的故障。举例来说,估计马达的剩余使用寿命(remaining useful life;RUL)以判断何时该替换马达,以及侦测异常行为来决定是否需要进行马达检验。
我们的应用范例是把马达传感器收集来的时间序列数据发送到预测性维护算法,而该算法则使用机器学习来估计RUL和检查异常行为(图1)。

图片.png 
图1 : 马达健康应用范例的架构。

这个应用包含了两部分:一是MATLAB马达健康状态app,它展示特定马达的状态,另一部分是MATLAB Production Server预测性维护的解析应用,内含两组预测性维护算法。这个主从式架构把功能性的责任归属分为:使用者(client)端的app,用来管理数据存取与显示,而服务器(server)端的算法则负责分析这些资料。使用者需仰赖服务器端提供的应用程序编程接口(application programming interface;API)连结,不需要、也不能存取执行结果。

服务器端:算法与接口
对马达传感器产生的时间序列数据,每一组算法采用不同的机器学习技术来进行判定。RUL算法是使用一个线性回归模型来估计故障发生的时间,此模型是由「预测性维护工具箱」(Predictive Maintenance Toolbox)的predict函式所提供。异常行为侦测算法则使用一个客制的单类(one-class)支援向量机(support vector machine;SVM)和一个线性求解器,将传感器事件分类为正常或异常,这些函式是来自于「统计与机器学习工具箱」(Statistics and Machine Learning Toolbox)。

这两组算法都使用渐进式的学习来持续更新它们的模型,同时也考虑到因为马达磨损退化导致的传感器数据偏移,因此,两个模型都不需要在部署之前先经过训练。
由于终端使用者都会把同样的数据流跑在这两组算法上,服务器就提供一个入口点,所以透过processMotorData函式,针对时间序列数据上每一个元素,processMotorData就会送回一个RUL估计结果以及一个是否出现异常的标帜。
在处理数据流时使用者端通常会呼叫processMotorData好几次,然后把数据流分割为依时间排序的窗口,并且在每个窗口完成时送出。MATLAB Production Server有一个无状态(stateless)的架构:它会在每一次呼叫之后重置执行状态,以避免数据在用户之间泄漏。
由于算法使用渐进式学习,它们会透过处理每一个窗口之后的模型更新来改善。不过,执行状态的重置功能会从MATLAB Production Server的内存清除掉这些变更。
为了让变更保留到下一次的呼叫,将它们储存在透过mps.cache.connect函式所建立的外部数据高速缓存中,完成部署的算法就会将数据流依马达编号ID来分组,并且为每一个马达保留一个数据高速缓存和机器学习的模型。

使用者端:执行算法和数据可视化
我们将processMotorData 部署到一个MATLAB Production Server范例、命名为 MotorAnalytics档案的中,让使用者端的开发人员可以使用它。如果要从MATLAB呼叫processMotorData ,可以使用MATLAB Client for MATLAB Production Server里,从MotorAnalytics安装MATLAB add-on套件。
安装这个add-on套件时,把processMotorData函式放置到MATLAB的路径中。呼叫processMotorData时,会有一条需求被传送给MATLAB Production Server主机上去执行预测性维护算法内的processMotorData函式,每一个安装了add-on的使用者端就能去执行这个相同的预测性维护算法,如图2所示。

图片.png
 
图2 : MATLAB桌上型使用者透过MATLAB Production Server存取processMotorDat。

使用者开发
当add-on套件被安装之后,这些终端使用者就可以从他们桌面端的MATLAB来跟 processMotorData函式进行互动。举例来说,MATLAB的help指令显示了来自原始函式的协助文字讯息,后记则标明processMotorData是在MATLAB Production Server上执行。
add-on套件上人类都可以读懂的全部内容,任何执行 processMotorData算法的IP智财会在MATLAB Production Server主机上以AES加密来确保安全性。
接着我们透过MATLAB App Designer来建立带有两个内嵌仪表板的MATLAB app应用程序,让用户可以选择一个马达数据集,并检视该数据执行预测性维护算法后所产生的结果。这个马达数据集是由48小时、一分钟取样一次的传感器读数所构成。该马达在这48小时期间内的RUL,会以距离到故障发生的估计分钟数的线性图表来呈现;当侦测到异常时,会以红色圆点标示在线性图表上。
图3呈现了第8号马达的状态。图表上标出了几个异常与一个估计RUL在跌入零之前的一段暂时性下降,这个在大约12小时内机器余命从72小时快速的下降到零,显示出有替换马达的急迫性。


图片.png 
图3 : 可视化呈现第8号马达的健康状态。

水平方向的扩充
接下来,把算法部署至MATLAB Production Server进行规模扩充:MATLAB Production Server可自动地加入容载量(在条件内)来响应增加的需求。每单一个MATLAB Production Server容纳案例可以最多有24个workers,每一个worker可独立地处理需求?如果主机有足够的CPU资源的话,还可以同时间进行。我们会建议每个worker分配一个核心。

为了说明需求导向的扩充,我们从三个分开的桌上型MATLAB单元开启predictive analytics app,先执行其中一个app副本,并等待它完成,接着让三个app全部同时执行。

图4为执行结果。在左边的图表可以看到每一个app副本的解析结果。右边的MATLAB Production Server仪表板展示了现行worker处理程序数量以及需求的处理量。在实时的截图上,仪表板显示有三个现行worker处理程序,以及每秒大约18笔讯息的处理量。
图片.png
 
图4 : 需求导向的水平扩充结果。

仪表板上的柱形图绘制了处理量的历史。每一组直条代表一段时间的活动。较短的直条捕捉到的是只有一个app传送需求至MATLAB Production Server的那段时间,当时的处理量大约为每秒6笔需求。较长的直条代表三组桌上型app都在传送需求的时候。在第二段时间,MATLAB Production Server自动地启动两个额外的workers,藉由需求来带动扩充,并且让处理量增加到每秒18笔讯息。

集中化管理、保护与扩充
藉由开发之后,processMotorData这个算法范例已经具备了安装于网络的一个位置、以AES加密机制保护、并且可动态扩展性的特点,已经是一项企业层级的服务。因此,可以利用MATLAB Compiler SDK和MATLAB Production Server即可建立如同本文所示范的MotorAnalytics可部署档案一样。不过,如果是要安装或使用 processMotorData等函式,只需要MATLAB和MATLAB Client for MATLAB Production Server支持套件就足够了。
(本文由钛思科技提供;作者Peter Webb任职于MathWorks公司)

本文引用地址://m.amcfsurvey.com/article/202111/429976.htm


评论


技术专区

关闭