李曉昌 ,徐哲壯 ,謝仁栩 ,王 毅 ,劉 興 ,王宏飛 ,夏玉雄
(1.福州大學(xué) 電氣工程與自動(dòng)化學(xué)院,福建 福州 350108;2.福建華鼎智造技術(shù)有限公司,福建 福州350003)
工業(yè)設(shè)備的健康狀態(tài)對(duì)于生產(chǎn)流程的穩(wěn)定性與可靠性具有重要作用,單個(gè)設(shè)備故障會(huì)導(dǎo)致整條生產(chǎn)線停產(chǎn),造成巨大的經(jīng)濟(jì)損失。 因此,基于運(yùn)行數(shù)據(jù)對(duì)工業(yè)設(shè)備健康狀態(tài)進(jìn)行分析,對(duì)于降低設(shè)備故障率、提升產(chǎn)品質(zhì)量具有重要意義[1-3]。目前我國(guó)壓磚產(chǎn)業(yè)已具備較大規(guī)模,新型壓磚設(shè)備已能夠通過(guò)工業(yè)物聯(lián)網(wǎng)模塊采集設(shè)備運(yùn)行數(shù)據(jù)。但現(xiàn)有數(shù)據(jù)主要限于售后維護(hù)時(shí)使用,大量實(shí)時(shí)累計(jì)的運(yùn)行數(shù)據(jù)并沒有得到有效利用。 另一方面, 現(xiàn)有數(shù)據(jù)分析方案大多仍局限于離線人工分析,實(shí)時(shí)性差且推廣效率低。 因此,利用云平臺(tái)[4-5]和機(jī)器學(xué)習(xí)技術(shù)[6-7]對(duì)設(shè)備健康狀態(tài)進(jìn)行在線分析已成為迫切需求[8]。
針對(duì)上述需求,本文基于阿里云機(jī)器學(xué)習(xí)平臺(tái)設(shè)計(jì)了壓磚設(shè)備健康狀態(tài)分析方法,構(gòu)建了壓磚設(shè)備數(shù)據(jù)聚類分析模型,在無(wú)需專家先驗(yàn)知識(shí)的情況下,完成了壓磚設(shè)備的工作、待機(jī)、異常等健康狀態(tài)的建模。 進(jìn)一步地,通過(guò)將訓(xùn)練好的壓磚設(shè)備健康狀態(tài)模型部署至 DataWorks 平臺(tái), 同時(shí)周期性地從保存壓磚設(shè)備實(shí)時(shí)運(yùn)行數(shù)據(jù)的MySQL 數(shù)據(jù)庫(kù)導(dǎo)出數(shù)據(jù)至該平臺(tái)進(jìn)行分析計(jì)算,實(shí)現(xiàn)了對(duì)壓磚設(shè)備健康狀態(tài)的在線分析。 最后,本文通過(guò)實(shí)例證明了該方法的有效性。
壓磚設(shè)備數(shù)據(jù)來(lái)自福建某壓磚設(shè)備公司的設(shè)備監(jiān)測(cè)平臺(tái),該平臺(tái)通過(guò)工業(yè)物聯(lián)網(wǎng)模塊連接壓磚設(shè)備生產(chǎn)線與本地服務(wù)器,實(shí)時(shí)采集壓磚設(shè)備的數(shù)據(jù)至 MySQL 數(shù)據(jù)庫(kù)中。 每個(gè)制磚周期中都包含啟動(dòng)、振動(dòng)壓磚、待機(jī)等過(guò)程。 在壓磚過(guò)程中,需要通過(guò)兩臺(tái)振動(dòng)電機(jī)的同步振動(dòng),才能保證壓磚過(guò)程完成后磚塊密度緊實(shí)。 如果頻繁出現(xiàn)振動(dòng)電機(jī)振動(dòng)不同步,則會(huì)導(dǎo)致電機(jī)故障、設(shè)備損壞、壓磚成品均為無(wú)效等問題。
MySQL 數(shù)據(jù)庫(kù)上存儲(chǔ)的壓磚設(shè)備數(shù)據(jù)中包含多個(gè)變量,涵蓋了壓磚設(shè)備振動(dòng)電機(jī)1 電流、振動(dòng)電機(jī)2 電流、油泵電流、三相電壓等多個(gè)維度。本文分析所用數(shù)據(jù)的時(shí)間跨度從2017 年12 月初到2018 年10 月中旬,包含有近 600 萬(wàn)條壓磚設(shè)備的運(yùn)行狀態(tài)記錄。
本文采用阿里云機(jī)器學(xué)習(xí)平臺(tái)PAI(Platform of Artificial Intelligence)對(duì)壓磚設(shè)備數(shù)據(jù)進(jìn)行分析。 壓磚設(shè)備健康狀態(tài)的數(shù)據(jù)分析流程主要由導(dǎo)入數(shù)據(jù)、數(shù)據(jù)預(yù)處理、特征分析、聚類分析和模型評(píng)估5 個(gè)步驟組成,具體內(nèi)容如下。
在進(jìn)入PAI 平臺(tái)并選擇新建試驗(yàn)后,可以通過(guò)讀數(shù)據(jù)表插件將離線數(shù)據(jù)加載到數(shù)據(jù)分析模塊中。實(shí)時(shí)在線導(dǎo)入數(shù)據(jù)將在下文第3.2 節(jié)詳細(xì)介紹。
數(shù)據(jù)預(yù)處理主要分為刪除缺失值、異常值處理、數(shù)據(jù)離散化、歸一化處理等。 在本文所獲取的壓磚設(shè)備數(shù)據(jù)中,存在數(shù)據(jù)的畸變值、缺失值等問題,會(huì)增加算法模型的復(fù)雜度,嚴(yán)重影響數(shù)據(jù)分析的精準(zhǔn)性。 本文采用了PAI 平臺(tái)的過(guò)濾與映射組件、缺失值填充組件,能夠根據(jù)設(shè)置參數(shù)自動(dòng)對(duì)數(shù)據(jù)集的成分進(jìn)行篩選,處理掉缺失值與異常值。
將數(shù)據(jù)導(dǎo)入平臺(tái)的數(shù)據(jù)集中,包含有振動(dòng)電機(jī)電流、三相電壓、油泵電流等各種特征量。 利用PAI平臺(tái)的統(tǒng)計(jì)分析模塊先對(duì)輸入數(shù)據(jù)集中數(shù)據(jù)情況進(jìn)行簡(jiǎn)單的統(tǒng)計(jì)分析,利用皮爾森系數(shù)分析各特征之間的相關(guān)性,在保證數(shù)據(jù)具有完整解釋性的情況下,再對(duì)數(shù)據(jù)特征量進(jìn)行篩選,有助于降低分析的復(fù)雜度。
(1)統(tǒng)計(jì)分析
數(shù)據(jù)預(yù)處理完成后,通過(guò)全表統(tǒng)計(jì)組件對(duì)壓磚設(shè)備數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,得到了初始數(shù)據(jù)量為1 437 148(行)×6(列)的矩陣。具體各變量統(tǒng)計(jì)區(qū)間如下:時(shí)間跨度(time)從 2017 年 12 月初到 2018 年10 月中旬;振動(dòng)電機(jī) 1 電流(i1,單位 A)的范圍為[0,38.7];振動(dòng)電機(jī)2電流 (i2, 單 位 A) 的 范 圍 為[0,39.1];油泵電流(oil_pump,單位 A)的范圍為[0.1,114.4];三相電壓(voltage,單位 V)的范圍為[2,816]。
(2)皮爾森相關(guān)性分析
通過(guò)給定壓磚設(shè)備數(shù)據(jù)矩陣X,計(jì)算X 中兩個(gè)特征列 i 和 j 的皮爾遜積矩(樣本)相關(guān)系數(shù)的公式如式(1)所示:
其中,k為變量,n為X的總行數(shù) ,μxi為 i 列數(shù)據(jù)的標(biāo)準(zhǔn)差,μxj
為j列數(shù)據(jù)的標(biāo)準(zhǔn)差。Ri,j值的范圍為[1,-1]。其中,1表示具有強(qiáng)的正線性關(guān)系,-1表示具有強(qiáng)的負(fù)線性相關(guān),0 表示兩變量之間沒有線性關(guān)系。 系數(shù)絕對(duì)值越趨于1,相關(guān)性越大。
對(duì)壓磚設(shè)備數(shù)據(jù)集i1、i2、oil_pump、voltage 四 個(gè)特征列進(jìn)行相關(guān)性分析,得到如表1 所示結(jié)果。 由此可知,振動(dòng)電機(jī) 1 電流變化情況與振動(dòng)電機(jī) 2 電流變化情況基本一致,其相關(guān)系數(shù)約為0.998,結(jié)合壓磚設(shè)備的工藝特性可知,設(shè)備在制磚過(guò)程中需要兩臺(tái)振動(dòng)電機(jī)的振動(dòng)情況保持一致,這也是兩者相關(guān)性大的主要原因。
表1 原始數(shù)據(jù)的皮爾森相關(guān)系數(shù)
根 據(jù) |Ri,j|>0.8確定兩數(shù)據(jù)量為強(qiáng)相關(guān)性的規(guī)則,結(jié)合磚機(jī)特征量的皮爾森相關(guān)系數(shù)表將線性相關(guān)性較強(qiáng)的數(shù)據(jù)特征量進(jìn)行剔除,只保留i1,但是又因?yàn)橐ㄟ^(guò)振動(dòng)電流的變化情況來(lái)判斷電機(jī)的運(yùn)行情況,因此本文通過(guò)特征之間的變換來(lái)創(chuàng)造特征量。
通過(guò)以上分析,最終確定了振動(dòng)電機(jī)1 電流(i1)、電流差(i_dif)、三相電壓(voltage)三個(gè)特征量來(lái)進(jìn)行模型訓(xùn)練。
由于缺乏先驗(yàn)知識(shí),在壓磚設(shè)備上獲取的數(shù)據(jù)是無(wú)標(biāo)簽的數(shù)據(jù),因此本文采用K-means 聚類算法對(duì)其進(jìn)行分析處理[9-10]。 PAI 平臺(tái)提供以多種距離的遠(yuǎn)近作為相似度測(cè)量值,包括euclidean 距離、cosine距離、cityblock 距離等,它通過(guò)不斷迭代求得與初始聚類中心點(diǎn)的最優(yōu)分類,使得評(píng)價(jià)指標(biāo)達(dá)到預(yù)期。
本文采用歐式距離(euclidean 距離)算法,計(jì)算各特征量與中心點(diǎn)之間的距離:
設(shè) D={x1,x2,…,xm}為壓磚設(shè)備數(shù)據(jù)樣本集,其中包含m 個(gè)未知運(yùn)行狀態(tài)的壓磚設(shè)備數(shù)據(jù)特征。每個(gè)壓磚數(shù)據(jù)樣本 xi=(xi1,xi2,…,xin)是一個(gè) n 維特征向量, 則聚類樣本集 D 劃分為 k 個(gè)不相交的類別{Cl|l=1,2,…,k},其 中 Cl′∩l′≠lCl=? 且相應(yīng)地,用λi∈{1,2,…,k}表 示 樣 本 xi的 “ 類 標(biāo)記”,即 xi∈Cλi。 于是聚類的結(jié)果可用包含 m 個(gè)元素的類標(biāo)記向量 λ=(λ1;λ2;…;λm)表示。 聚類完成后可保存模型,加載至DataWorks 中的算法節(jié)點(diǎn)實(shí)現(xiàn)在線數(shù)據(jù)分析,具體將在第3 節(jié)進(jìn)行介紹。
本文采用Calinski-Harabasz(CH)指標(biāo)作為聚類模型的評(píng)估指標(biāo)。 CH 指標(biāo)又稱方差比率準(zhǔn)則(Variance Ratio Criterion,VRC),其定義為:
其中,SSB是整個(gè)聚類間的方差,SSW是整個(gè)聚類內(nèi)的方差,N 是記錄總數(shù),k 是聚類中心點(diǎn)個(gè)數(shù),mi是聚類 i 的中心點(diǎn),m 是輸入數(shù)據(jù)的均值,x 是數(shù)據(jù)點(diǎn),ci是第 i 個(gè)聚類。
由式(3)可得,聚類簇間區(qū)分度大,聚類簇內(nèi)區(qū)分度小,因此可得 VRC 的值應(yīng)越大越好。 通過(guò)設(shè)定不同 k 值(聚類簇的數(shù)目)進(jìn)行實(shí)驗(yàn),得到了不同 k值下的 CH 指標(biāo)值,如圖1 所示。 可以看到,不同 k值下CH 指標(biāo)值變化波動(dòng)性較大,不容易確定k 的具體取值。 因此將 CH 指標(biāo)值較大對(duì)應(yīng) k 值(k=12,16,21)的特征中心點(diǎn)結(jié)果導(dǎo)出,并結(jié)合壓磚設(shè)備的工藝特性與 k 值盡可能小的原則,最終選定 k=16 作為聚類數(shù)量。
圖1 CH 值與聚類簇?cái)?shù)變化情況
本節(jié)根據(jù)聚類算法所獲得的壓磚設(shè)備聚類簇中心點(diǎn)模型(表2),結(jié)合壓磚設(shè)備的工藝特征,對(duì)壓磚設(shè)備的健康狀態(tài)進(jìn)行估計(jì)。
基于表2 所示聚類簇中心點(diǎn)數(shù)據(jù),可將設(shè)備健康狀態(tài)歸類和分析如下:
(1)嚴(yán)重異常:類別 0、類別 1、類別 14 聚類簇中心點(diǎn)的i_dif 絕對(duì)值超過(guò)了10 A,兩臺(tái)電機(jī)的振動(dòng)處于嚴(yán)重不同步的狀態(tài),將其定義為嚴(yán)重異常狀態(tài)。在壓磚過(guò)程中兩臺(tái)振動(dòng)電機(jī)振動(dòng)不同步,會(huì)影響壓磚設(shè)備受力結(jié)構(gòu),并影響壓磚成品質(zhì)量。 在這組數(shù)據(jù)中,此類數(shù)據(jù)總數(shù)很少,說(shuō)明該設(shè)備仍處于正常狀態(tài)。
(2) 異常: 類別 2 和類別 13 聚類簇中心點(diǎn)的i_dif 絕對(duì)值小于 10 A,但超過(guò)了 2 A,將其定義為異常狀態(tài)。
表2 壓磚設(shè)備健康狀態(tài)分析
(3)工況:類別 5、類別 6、類別 7、類別 8、類別9、類別 10、類別 11、類別 12、類別 15 聚類簇中心點(diǎn)的 i_dif 絕對(duì)值不超過(guò) 2 A,i1的值大于 5 A,判斷兩臺(tái)電機(jī)處于振動(dòng)狀態(tài),且同時(shí)性較好,可定義其為工況狀態(tài)。
(4)停機(jī):類別 3 聚類簇中心點(diǎn) i1和 i_dif 的值都幾乎為0,且總數(shù)很多,可定義其為停機(jī)狀態(tài)。
(5)待機(jī):類別 4 聚類簇中心點(diǎn) i_dif 的值很小,但i1在 5 A 左右,可定義其為待機(jī)狀態(tài)。
在通過(guò)聚類算法得到設(shè)備健康狀態(tài)模型的基礎(chǔ)上,可以進(jìn)一步實(shí)現(xiàn)對(duì)壓磚設(shè)備的在線健康狀態(tài)分析。 本文通過(guò)阿里云 DataWorks 平臺(tái),以設(shè)定的調(diào)度周期將實(shí)時(shí)采集至MySQL 中的壓磚設(shè)備數(shù)據(jù)同步至 MaxCompute 計(jì)算平臺(tái)。 DataWorks 平臺(tái)與 PAI平臺(tái)互通,將PAI 平臺(tái)上訓(xùn)練的模型部署至DataWorks平臺(tái),對(duì)在線數(shù)據(jù)進(jìn)行健康狀態(tài)分析,最后將分析結(jié)果導(dǎo)出至MySQL,用于顯示設(shè)備健康狀態(tài)分析結(jié)果。 完整工作流程如圖2 所示。
阿里云DataWorks 支持多種數(shù)據(jù)源的接入,包括云數(shù)據(jù)庫(kù) RDS,對(duì)象存儲(chǔ) OSS、MySQL、Oracle 等。本文所用壓磚設(shè)備數(shù)據(jù)存儲(chǔ)在MySQL 數(shù)據(jù)庫(kù)中并且提供了公網(wǎng)可達(dá)的數(shù)據(jù)接口,在DataWorks 工作空間的數(shù)據(jù)集成模塊中添加MySQL 數(shù)據(jù)源,通過(guò)JDBC 連接串模式進(jìn)行連接訪問。 本文將壓磚設(shè)備數(shù)據(jù)的分析結(jié)果也存儲(chǔ)在該MySQL 數(shù)據(jù)庫(kù)中。
圖2 基于DataWorks 平臺(tái)的在線健康數(shù)據(jù)處理流程
將數(shù)據(jù)從MySQL 數(shù)據(jù)庫(kù)接入MaxCompute 計(jì)算平臺(tái)有兩種方式,即離線接入和實(shí)時(shí)接入,本文采取離線接入的方式將壓磚設(shè)備數(shù)據(jù)接入MaxCompute。MaxCompute 是一種快速、完全托管的EB 級(jí)數(shù)據(jù)倉(cāng)庫(kù)解決方案,以數(shù)據(jù)為中心,內(nèi)建多種計(jì)算模型和服務(wù)接口,可以滿足廣泛的數(shù)據(jù)分析需求[11]。
在DataWorks 工作空間的數(shù)據(jù)開發(fā)模塊中新建數(shù)據(jù)導(dǎo)入的數(shù)據(jù)同步節(jié)點(diǎn),在MySQL 數(shù)據(jù)庫(kù)選擇存儲(chǔ)壓磚機(jī)設(shè)備數(shù)據(jù)的數(shù)據(jù)表,將其與MaxCompute 中接收接入數(shù)據(jù)的數(shù)據(jù)表對(duì)應(yīng)起來(lái),并將兩個(gè)數(shù)據(jù)表的列逐一對(duì)應(yīng)。 設(shè)置數(shù)據(jù)接入時(shí)的過(guò)濾條件,模型訓(xùn)練完成后,過(guò)濾條件可根據(jù)調(diào)度周期來(lái)設(shè)定,確保新數(shù)據(jù)接入。
數(shù)據(jù)同步節(jié)點(diǎn)支持的調(diào)度周期包括分鐘、小時(shí)、日、周和月。本文實(shí)驗(yàn)所采用的調(diào)度周期設(shè)置為5 min。 調(diào)度時(shí)間段可以根據(jù)實(shí)際工作時(shí)間設(shè)置,本文將其設(shè)置為全天24 h。 配置好之后,每 5 min 內(nèi)實(shí)時(shí)采集的壓磚設(shè)備數(shù)據(jù)將從MySQL 數(shù)據(jù)庫(kù)導(dǎo)入MaxCompute 進(jìn)行分析計(jì)算。
阿里云 DataWorks 平臺(tái)與 PAI 平臺(tái)互通,在 PAI平臺(tái)上訓(xùn)練模型,生成的模型可以發(fā)布到DataWorks使用,實(shí)現(xiàn)對(duì)機(jī)器學(xué)習(xí)實(shí)驗(yàn)的周期性調(diào)度。 在DataWorks 工作空間的數(shù)據(jù)開發(fā)模塊中新建壓磚設(shè)備健康狀態(tài)分析算法節(jié)點(diǎn),將訓(xùn)練的壓磚設(shè)備數(shù)據(jù)模型離線部署至該算法節(jié)點(diǎn),模型的訓(xùn)練過(guò)程在第2 節(jié)已詳細(xì)介紹。 壓磚設(shè)備健康狀態(tài)分析算法節(jié)點(diǎn)的調(diào)度周期配置與數(shù)據(jù)接入節(jié)點(diǎn)的調(diào)度周期配置相同,確保及時(shí)對(duì)新接入的數(shù)據(jù)進(jìn)行預(yù)測(cè)。
本文將壓磚設(shè)備的健康狀態(tài)分析結(jié)果也存儲(chǔ)在 MySQL 數(shù)據(jù)庫(kù)中,在 DataWorks 工作空間的數(shù)據(jù)開發(fā)模塊中新建分析結(jié)果導(dǎo)出數(shù)據(jù)同步節(jié)點(diǎn),將分析結(jié)果從 MaxCompute 的數(shù)據(jù)表導(dǎo)入至 MySQL 的數(shù)據(jù)表中,該節(jié)點(diǎn)的調(diào)度周期配置與前兩個(gè)節(jié)點(diǎn)一致,以確保預(yù)測(cè)結(jié)果及時(shí)導(dǎo)出。
需要說(shuō)明的是,雖然數(shù)據(jù)導(dǎo)入節(jié)點(diǎn)、壓磚設(shè)備健康狀態(tài)分析算法節(jié)點(diǎn)、分析結(jié)果導(dǎo)出節(jié)點(diǎn)三者的調(diào)度周期都為5 min,但是根據(jù)需求,三個(gè)節(jié)點(diǎn)并不是同時(shí)開始執(zhí)行,而應(yīng)該按數(shù)據(jù)導(dǎo)入→壓磚設(shè)備健康狀態(tài)分析→分析結(jié)果導(dǎo)出的順序來(lái)依次執(zhí)行。 因此,將三個(gè)節(jié)點(diǎn)之間調(diào)度依賴的關(guān)系設(shè)置為:數(shù)據(jù)導(dǎo)入節(jié)點(diǎn)的輸入為工作空間根節(jié)點(diǎn),數(shù)據(jù)導(dǎo)入節(jié)點(diǎn)的輸出為壓磚設(shè)備健康狀態(tài)分析算法節(jié)點(diǎn)的輸入,壓磚設(shè)備健康狀態(tài)分析算法節(jié)點(diǎn)的輸出為分析結(jié)果導(dǎo)出節(jié)點(diǎn)的輸入。
基于上述方法,連續(xù)讀取某壓磚設(shè)備1 h 內(nèi)的運(yùn)行數(shù)據(jù)進(jìn)行健康狀態(tài)分析, 結(jié)果如圖3 所示。 圖3顯示了振動(dòng)電機(jī) 1 電流 i1和電流差 i_dif 的數(shù)據(jù),同時(shí)每個(gè)數(shù)據(jù)所屬的類別也進(jìn)行了標(biāo)記。 可以看出壓磚設(shè)備在前半小時(shí)不間斷地進(jìn)行周期性壓磚,且基本處于正常工況狀態(tài)。 后半小時(shí)有部分時(shí)間段處于待機(jī)和停機(jī)狀態(tài)。 監(jiān)測(cè)期間出現(xiàn)了1 次嚴(yán)重異常記錄,電流差i_dif 值很大,但很快就恢復(fù)了正常值。運(yùn)維人員可以根據(jù)嚴(yán)重異常記錄的統(tǒng)計(jì)頻次,判斷設(shè)備的健康狀態(tài)。 在本實(shí)例中,此臺(tái)壓磚設(shè)備可判斷為健康狀態(tài)良好。
本文基于阿里云機(jī)器學(xué)習(xí)平臺(tái)設(shè)計(jì)了壓磚設(shè)備健康狀態(tài)分析方法,使用K-means 聚類分析方法構(gòu)建了壓磚設(shè)備數(shù)據(jù)聚類分析模型,在無(wú)需專家先驗(yàn)知識(shí)的情況下,完成了壓磚設(shè)備的工作、待機(jī)、異常等健康狀態(tài)的建模。 隨后通過(guò)將訓(xùn)練好的壓磚設(shè)備健康狀態(tài)模型部署至DataWorks 平臺(tái),同時(shí)周期性地從保存壓磚設(shè)備實(shí)時(shí)運(yùn)行數(shù)據(jù)的MySQL 數(shù)據(jù)庫(kù)導(dǎo)出數(shù)據(jù)至該平臺(tái)進(jìn)行分析計(jì)算,實(shí)現(xiàn)了對(duì)壓磚設(shè)備健康狀態(tài)的在線分析。 最后,本文通過(guò)實(shí)例證明了方法的有效性。
圖3 某壓磚設(shè)備1 h 內(nèi)健康狀態(tài)分析結(jié)果