不論是開發(fā)預(yù)測性維護(hù)演算法或是要佈署在任何資產(chǎn),都具有相當(dāng)程度的挑戰(zhàn)性。本文透過一個包裝機(jī)的範(fàn)例,說明如何利用MATLAB來開發(fā)預(yù)測性維護(hù)演算法並將之佈署在一個生產(chǎn)系統(tǒng)中,協(xié)助掌控設(shè)計的複雜性。
對於生產(chǎn)製造或操作工業(yè)機(jī)械的企業(yè)來說,預(yù)測性維護(hù)項目是提升營運(yùn)效率並且降低維護(hù)成本的關(guān)鍵。
然而,不論是開發(fā)預(yù)測性維護(hù)演算法,還是要佈署在可能是飛行器、MRI機(jī)臺、風(fēng)力渦輪、還是組裝產(chǎn)線等任何資產(chǎn),都具有相當(dāng)程度的挑戰(zhàn)性。演算法開發(fā)不僅需要廣泛使用機(jī)器學(xué)習(xí)技巧的經(jīng)驗(yàn),還需要對於系統(tǒng)行為的深入了解,兼具這兩項技能的工程師難以求得。
同時,佈署也牽涉到一系列複雜的步驟和相互連結(jié)。演算法必須實(shí)現(xiàn)於多個資產(chǎn)設(shè)備(assets)上,那些資產(chǎn)會和多個邊緣裝置相連結(jié),邊緣裝置再連結(jié)到基於雲(yún)端、機(jī)房、或兩者並行的IT/OT系統(tǒng)。單一個演算法可能會分成幾個部分存在於架構(gòu)中的不同元件,又再增添了複雜度(圖1)。

圖1 : 預(yù)測性維護(hù)系統(tǒng)佈署的要件。 |
|
本文透過一個包裝機(jī)的範(fàn)例,說明如何利用MATLAB來開發(fā)預(yù)測性維護(hù)演算法,並將之佈署在一個生產(chǎn)系統(tǒng)中,協(xié)助掌控設(shè)計的複雜性。
包裝機(jī)的維護(hù)系統(tǒng)
@內(nèi)文;這臺包裝機(jī)包括好幾隻機(jī)器手臂(圖2左),這些手臂以高速來回移動,將物體搬運(yùn)到組裝產(chǎn)線以進(jìn)行包裝。這些手臂是透過以Microsoft Azure為基礎(chǔ)的IT/OT系統(tǒng)相互溝通的可程式化邏輯控制器(programmable logic controller;PLC)互相連結(jié)。該IT/OT系統(tǒng)是從連結(jié)到機(jī)器手臂的邊緣裝置來收集串流資料,並且依據(jù)這些資料的分析結(jié)果進(jìn)行預(yù)測性維護(hù),以偵測其中的異常與預(yù)測手臂可能故障的時間,再將預(yù)測結(jié)果回報給工程師和操作人員使用的控制儀表(dashboard)工具。

圖2 : 包裝機(jī)的預(yù)測性維護(hù)系統(tǒng)。 |
|
預(yù)測性維護(hù)演算法
這個系統(tǒng)的預(yù)測性維護(hù)演算法有兩個要件。第一個實(shí)現(xiàn)在邊緣裝置並利用特徵擷取技巧來執(zhí)行資料減量。第二個實(shí)現(xiàn)在雲(yún)端,使用這些特徵值與機(jī)器學(xué)習(xí)模型來預(yù)測故障何時會發(fā)生,並估計機(jī)器的剩餘使用壽命(remaining useful life;RUL)。預(yù)測演算法產(chǎn)生的結(jié)果會接近即時地被串流到我們的控制儀表。
開發(fā)資料減量演算法
預(yù)測性維護(hù)演算法的第一個部分是以機(jī)器手臂所產(chǎn)生的原始感測器資料來運(yùn)作,進(jìn)而追蹤驅(qū)動每一隻手臂的馬達(dá)的速度和電流。
使用在這類機(jī)器的感測器能夠以相當(dāng)高的頻率來擷取樣本資料。要儲存像這樣大量的感測器資料可能很昂貴,且資料分析起來非常耗時,也因此難以從完整的資料量來辨識出值得注意的部分。我們可以透過特徵擷取來解決這個問題。
特徵擷取技巧接受原始感測器資料的串流,並且傳送回一個捕捉了關(guān)鍵動態(tài),卻比較小的特徵資料集,大幅減低資料儲存與傳遞的需求。裝置在機(jī)器手臂的感測器以1 KHz的頻率捕捉資料-也就是說,每秒會有1000筆樣本資料。如果把一秒之內(nèi)收集到的資料轉(zhuǎn)換為五個特徵,可以使資料儲存與傳遞的需求減少了200倍。
使用MATLAB產(chǎn)品預(yù)測性維護(hù)工具箱中的Diagnostic Feature Designer App,匯入感測器資料,且利用以訊號為基礎(chǔ)的動態(tài)建模技巧來擷取特徵,再將特徵依照其分辨由健康的機(jī)器產(chǎn)生的資料和由故障機(jī)器產(chǎn)生的資料的能力好壞來排序(圖3)。

圖3 : MATLAB產(chǎn)品預(yù)測性維護(hù)工具箱中的Diagnostic Feature Designer App。 |
|
當(dāng)希望擷取的特徵已被挑選出來時,我們便準(zhǔn)備好在作為邊緣裝置的PLC上實(shí)現(xiàn)和測試資料減量演算法了。在真實(shí)的機(jī)器上測試演算法可能會造成機(jī)器的損害,因此將PLC連接到執(zhí)行在Speedgoat即時電腦上的機(jī)器手臂Simscape模型。
這臺即時的電腦可以藉由傳送和接收資料與PLC溝通,就像是一臺真正的機(jī)器一樣。從利用Simulink-C轉(zhuǎn)碼器(Simulink Coder)產(chǎn)生資料減量演算法的C程式碼開始,並將程式碼佈署至PLC。接下來,將包裝機(jī)模型部署至Speedgoat系統(tǒng),且在不同的故障條件下執(zhí)行模擬,以確保演算法可在真實(shí)世界環(huán)境正確地運(yùn)作(圖4)。

圖4 : 佈署至PLC並使用Speedgoat硬體進(jìn)行即時測試。 |
|
開發(fā)預(yù)測演算法
現(xiàn)在有一個邊緣裝置,它可以從資料擷取出有意義的特徵以縮減傳送出去的資料量。並可以使用一個執(zhí)行於Azure雲(yún)端的開源串流處理平臺-Apache Kafka,將這些經(jīng)過減量的資料集串流至IT/OT系統(tǒng)。我們使用這些串流資料來估計包裝機(jī)馬達(dá)的RUL。
當(dāng)馬達(dá)的狀態(tài)隨著時間退化,擷取的特徵值會以線性或指數(shù)型比率穩(wěn)定地增加或減少(圖5)。依據(jù)這樣的趨勢,選擇了預(yù)測性維護(hù)工具箱的指數(shù)退化模型來預(yù)測機(jī)器未來的健康狀態(tài)。
為了使演算法能夠相容於以雲(yún)端為基礎(chǔ)的系統(tǒng),使用MATLAB編譯器增益集SDK來建立一個執(zhí)行檔,接下來,再利用MATLAB生產(chǎn)伺服器將這個執(zhí)行檔整合到IT/OT系統(tǒng)(圖6)。
現(xiàn)在有了可以利用由連接於個別機(jī)器手臂的邊緣裝置取得的原始資料擷取的特徵來預(yù)測包裝機(jī)故障的機(jī)器學(xué)習(xí)演算法,也有一個可提供立即的預(yù)測結(jié)果、以網(wǎng)路為基礎(chǔ)的控制儀表(圖7)。
實(shí)際應(yīng)用案例:IMA Active

圖8 : IMA Active設(shè)計並生產(chǎn)製藥產(chǎn)業(yè)的自動處理與包裝機(jī)臺。 |
|
IMA Active設(shè)計並生產(chǎn)製藥產(chǎn)業(yè)的自動處理與包裝機(jī)臺。這間公司希望開發(fā)一個可以監(jiān)控打錠生產(chǎn)機(jī)(tablet press production machine)健康狀態(tài)的預(yù)測性維護(hù)系統(tǒng)。該機(jī)器上有相當(dāng)關(guān)鍵的移動零件,使用在這些零件的潤滑劑量必須非常精確。潤滑劑量過少會導(dǎo)致壓力和故障,過多又溢漏到最終產(chǎn)品。
這個預(yù)測性維護(hù)系統(tǒng)使用從機(jī)器上既有的兩個感測器取得的資料,而且會自主學(xué)習(xí),不需要外部的干預(yù)。
IMA Active的工程師使用預(yù)測性維護(hù)工具箱開發(fā)此系統(tǒng)的演算法。他們從擷取兩個感測器資料的特徵開始—總共有36組特徵。

圖9 : IMA Active的工程師使用預(yù)測性維護(hù)工具箱開發(fā)此系統(tǒng)的演算法。 |
|
「使用MATLAB工具,我們有辦法擷取並選出最適合用來建立分類模型的特徵。最有潛力的演算法使用了五組特徵,可以達(dá)到89%的準(zhǔn)確度。」
他們利用預(yù)測性維護(hù)工具箱內(nèi)的Diagnostic Feature Designer app從感測器資料擷取特徵、進(jìn)行特徵的視覺化及排序。透過這些特徵,使用機(jī)器學(xué)習(xí)技巧訓(xùn)練了一個能夠估計打錠機(jī)重要移動零件健康狀態(tài)的故障分類模型。
這個預(yù)測性維護(hù)系統(tǒng)讓機(jī)器作業(yè)員能夠?qū)①Y源的利用最佳化,並且依據(jù)生產(chǎn)需求來安排維護(hù)工作。
(作者Aditya Baru任職於MathWorks公司;本文由鈦思科技提供)