張明琰,宋 震,方世杰
(1.河南中煙黃金葉生產(chǎn)制造中心,鄭州 450000; 2.杭州首域萬物互聯(lián)科技有限公司,杭州 311199)
常見的設(shè)備故障報警方法沒有故障診斷的功能:當傳感器測到某物理量的值出現(xiàn)過大偏差時,系統(tǒng)會顯示報警編號。用戶必須對照手冊,自行診斷導致故障的原因。隨著工業(yè)4.0和物聯(lián)網(wǎng)時代的來臨,這種基于經(jīng)驗和手冊的設(shè)備維修方式僅對于簡單的設(shè)備有效,但不能滿足對復雜設(shè)備的要求。本文以煙草行業(yè)的ZB45型卷包機為研究對象,基于故障樹和貝葉斯推理網(wǎng)絡(luò),旨在提出一種具有不斷自我學習能力的人機共融的新型故障診斷系統(tǒng)。
本文研究方法的關(guān)鍵思想是要結(jié)合人的因素,進行人機共融(Human Machine Integration)[1]的故障診斷,并在三方面嘗試創(chuàng)新的技術(shù)方案。首先,采用自然語言處理的方法,通過歷史工單和維修手冊,自動生成故障診斷用的貝葉斯網(wǎng)絡(luò)和故障搜索用的知識圖譜。對數(shù)千種故障的復雜系統(tǒng)而言,這樣不但可以大大節(jié)省人力,也可以減少人為錯誤的可能,并且可以快速處理新工單,融入知識庫。其次,基于貝葉斯網(wǎng)絡(luò),實現(xiàn)自學習功能。當工人確定故障源后,可以點擊“故障確認”按鈕,通知算法正確的結(jié)果。這樣,算法可以不斷改進診斷精度。最后,在故障處理中引入“人本傳感器”的新概念,讓工人點擊界面上的標簽,輸入工人所觀察到的現(xiàn)象。有效克服傳感器數(shù)量遠遠小于故障數(shù)量的問題。讓用戶作為傳感器,幫助算法盡量唯一地確定故障源,加速排錯過程。本文提出的人機共融的診斷系統(tǒng),不但可以在人為工單數(shù)據(jù)中挖掘信息,還可以通過在日常操作中學習工人經(jīng)驗,同時借助人本傳感器提高診斷效率。通過人機緊密合作,實現(xiàn)了在工業(yè)4.0場景下,新型故障診斷系統(tǒng)的范式。
煙草行業(yè)的ZB45型包裝機是用于煙支卷接和包裝的設(shè)備,具有結(jié)構(gòu)復雜、設(shè)備貴重、小故障停機次數(shù)多、連鎖質(zhì)量波動大、次生浪費較多的特點。其內(nèi)部有約10 000個零部件,約2 000種故障,約1 500個OPC故障報警代碼(OPC代碼)。故障和OPC代碼之間是多對多的對應(yīng)關(guān)系。有約1 300種可導致停機的故障沒有對應(yīng)的OPC故障報警代碼。ZB45包裝機在高速生產(chǎn)運行過程中,包裝機極易因各類原因產(chǎn)生短時高頻停機,根據(jù)對生產(chǎn)環(huán)境的統(tǒng)計,單班停機次數(shù)平均約為45次,會造成嚴重的生產(chǎn)效率損失。同時,包裝機的頻繁啟停會使多個關(guān)鍵工序存在加熱、升溫等不斷調(diào)整的狀態(tài),使包裝工藝的質(zhì)量穩(wěn)定性變差。同時包裝機在每次重啟后設(shè)備都需自動剔出固定數(shù)量的煙支,造成原、輔料浪費,產(chǎn)生巨大的成本損失。
包裝機產(chǎn)生故障的成因很多,往往會在任意時刻、任意部位產(chǎn)生不同類型的故障。以ZB45包裝機的鋁箔紙系統(tǒng)為例,可能產(chǎn)生的故障就有數(shù)十種,僅其中“鋁箔紙撕不開”這一種故障,又會有多種因素與其相關(guān)。由此可見,對包裝機的準確故障診斷難度極大。
在現(xiàn)階段,包裝機故障主要依靠維修人員的經(jīng)驗,對故障進行經(jīng)驗性的診斷,主要技術(shù)手段是以手工查找紙版手冊和維修記錄為主,故障診斷存在耗時長、具有主觀性的問題,極大依賴于人員經(jīng)驗,技術(shù)傳承性較差,往往會導致大量故障停機時間。特別是對于一個OPC代碼對應(yīng)多個可能故障的情況。而維修手冊只記錄各種故障可以導致的現(xiàn)象,并且手冊有幾千頁之多。不但查找困難,而且很多故障診斷的經(jīng)驗沒有書面記錄。有經(jīng)驗的工人要根據(jù)故障代碼,結(jié)合自己的觀察,及歷史故障頻次來判斷最有可能的故障。而這種被高頻“依賴”的經(jīng)驗常常沒有書面記錄,動輒需要五年、十年的經(jīng)驗積累。
隨著制造業(yè)信息化進程的推進,卷包機數(shù)據(jù)采集系統(tǒng)實現(xiàn)了從ZB45包裝機提取大量實時運行數(shù)據(jù),包括運行參數(shù)、故障統(tǒng)計、臺時產(chǎn)量、物料消耗等信息,同時也建立了基于EAM系統(tǒng)相關(guān)的設(shè)備故障維修記錄。但是兩個系統(tǒng)獨立運行,系統(tǒng)與系統(tǒng)間缺乏有效的關(guān)聯(lián)策略來實現(xiàn)數(shù)據(jù)和信息的融合,需要對獲取的數(shù)據(jù)進行更深層次的處理和分析,從各系統(tǒng)數(shù)據(jù)進行關(guān)聯(lián)挖掘,以得出有效、可固化傳承的故障診斷及設(shè)備維護類知識,并應(yīng)用到生產(chǎn)過程中。
1.3.1 常見的故障診斷方法
傳統(tǒng)的復雜設(shè)備故障的診斷主要包括如下方法:
1)故障樹:通過故障樹的方法[2-3]建立從傳感器可測的故障現(xiàn)象到故障的自動推理引擎。這種方法也常被稱做專家系統(tǒng)。如圖1所示的故障樹,不同的故障可以通過邏輯“與”、“或”、“非”的方式關(guān)聯(lián),共同決定下一級故障發(fā)生與否。故障樹方法可以用于系統(tǒng)可靠性分析,及單一故障情況下的故障診斷。
圖1 故障樹部分展示
2)貝葉斯網(wǎng)絡(luò):另一類方法是通過如貝葉斯網(wǎng)絡(luò)[2,4]的統(tǒng)計學方法,對多個故障及其故障概率進行自動推理。這類方法需要用戶構(gòu)建以故障和現(xiàn)象為節(jié)點的有向無環(huán)圖 (DAG,directed acyclic graph),并輸入條件概率表 (CPT, conditional probability table) 和先驗概率以表征不同節(jié)點之間的連接關(guān)系。如果有足夠歷史數(shù)據(jù),條件概率表和先驗概率都可以從數(shù)據(jù)中得出。這種方法比故障樹的表現(xiàn)力更強。故障樹可以轉(zhuǎn)換為貝葉斯網(wǎng)絡(luò)的形式[2],但反之則不一定成立。貝葉斯網(wǎng)絡(luò)的方法可用于大型生產(chǎn)制造系統(tǒng)[4]、樓宇空調(diào)[5]的故障診斷及故障冗余控制系統(tǒng)[6]?;镜臉闼刎惾~斯網(wǎng)絡(luò)假定故障之間獨立出現(xiàn),即故障出現(xiàn)的概率不會相互影響,同時,故障出現(xiàn)的概率不隨時間而變化。動態(tài)貝葉斯網(wǎng)絡(luò)擴展了樸素貝葉斯網(wǎng)絡(luò)的時間域上的表現(xiàn)力,從而允許出現(xiàn)時變的概率分布。
3)觀測器:如果要通過觀測模擬量來分析故障情況,可以采用觀測器的方法,并通過在線傳感器數(shù)據(jù)估計系統(tǒng)內(nèi)部狀態(tài)。例如:卡爾曼濾波器(Kalman filter)或粒子群濾波器(particle filter)是常見的基于模型的系統(tǒng)狀態(tài)觀測器。對于只有模型結(jié)構(gòu),但不了解參數(shù)的系統(tǒng),還可以采用在線模式識別的方法,例如在線ARIMA或N4SID的算法等[7]。
4)數(shù)字孿生:近年來,數(shù)字孿生(digital twin)[8-10]的概念得到研究者和工業(yè)界的重視,并從3D模型延展到在線監(jiān)測應(yīng)用。對于大型的工業(yè)控制系統(tǒng),如石化企業(yè)的分布控制系統(tǒng)(DCS, distributed control system)[10]及暖通空調(diào)系統(tǒng)[11],想要手動建立系統(tǒng)的動力學模型是非常困難的。對這類應(yīng)用,通過組合子系統(tǒng)的數(shù)字孿生而構(gòu)建全系統(tǒng)的動力學模型是個更好的方案。文獻[12]提出了采用在線數(shù)字孿生的方法,對暖通空調(diào)設(shè)備進行在線故障監(jiān)督和診斷。
1.3.2 自然語言處理技術(shù)和知識圖譜
近年來,以深度學習為基礎(chǔ)的自然語言處理得到了廣泛的工業(yè)應(yīng)用。對設(shè)備故障診斷而言,設(shè)備維修工單記錄和維修手冊是故障診斷系統(tǒng)建模和分析的重要數(shù)據(jù)來源,其描述形式基本上是自然語言。然而,直接通過閱讀自然語言,手工建模的方法成本高,時間長。利用自然語言處理技術(shù)是提高故障診斷系統(tǒng)建模的有效手段。早期的應(yīng)用主要以針對關(guān)鍵詞的統(tǒng)計為主[13]。美國海軍采用了自然語言處理的方法對V-22魚鷹飛機的維護資料進行了系統(tǒng)的分析整理[14]。通過基于Python的NLTK自然語言處理工具包[15]進行分詞, 該方法識別了維修記錄中的自然語言記號,并對核心詞進行了統(tǒng)計學分析。在此基礎(chǔ)上,可以對歷史上相似的故障維護工單進行聚類,并通過統(tǒng)計方法分析改進維修的手段。針對煙草機械維護的自然語言處理應(yīng)用還很少見。文獻[16]討論了煙草機械維護數(shù)據(jù)庫的自然語言處理方法,采用常規(guī)的TF-IDF及TextRank模型進行數(shù)據(jù)建模,然后通過權(quán)重矩陣比較實際故障記錄與故障數(shù)據(jù)庫中已有故障記錄的相似程度,由此進行對同類故障記錄的模糊查找,但是其本身并不直接用于故障診斷。當涉及到具體行業(yè)知識時,這種模糊查找方法效果不太理想。
知識圖譜[17]是一種描述實體之間語義關(guān)系的有向圖結(jié)構(gòu)。傳統(tǒng)的知識圖譜一般存于圖數(shù)據(jù)庫中,如Neo4J, Dgraph等。近年來,隨著人工智能和深度學習的興起, 出現(xiàn)了神經(jīng)網(wǎng)絡(luò)和知識圖譜相結(jié)合的流派。例如,DeepWalk[18]可以通過深度學習來學習網(wǎng)絡(luò)的結(jié)構(gòu)。通過深度圖卷積網(wǎng)絡(luò)(DGCN, deep graph convolution network)學習軸承的振動信號,文獻[19]提出了一種可以進行故障原因診斷的學習系統(tǒng)。 開源軟件Deep Graph Library (DGL)[20],可以把多種網(wǎng)絡(luò)結(jié)構(gòu)的數(shù)據(jù)向量化,并嵌入到神經(jīng)網(wǎng)絡(luò)中。 利用已有的知識圖譜構(gòu)建技術(shù)。我們通過維護手冊和工單數(shù)據(jù)構(gòu)建知識圖譜,并由此生成貝葉斯網(wǎng)絡(luò)模型,用于故障診斷。
人機共融被認為是工業(yè)4.0時代的重要場景之一[1]。關(guān)于工業(yè)機器人的人機共融[21]及離散生產(chǎn)線的人機共融[22]已經(jīng)有一些成功經(jīng)驗。但對于故障診斷系統(tǒng)的人機共融方式還未見相關(guān)報道。我們以ZB45卷包機為實驗對象,提出一種故障診斷系統(tǒng),旨在提高故障診斷效率、降低故障停機時間,并對故障的原因、部位與維護策略進行全面分析,進而實現(xiàn)增效、穩(wěn)質(zhì)和降本的效果。其核心思想是通過人機共融的有機合作引導工人監(jiān)督系統(tǒng)不斷學習,解決現(xiàn)有故障建模中缺乏文字描述經(jīng)驗的難點。本系統(tǒng)人機共融的特點主要體現(xiàn)在:1)建立基于貝葉斯網(wǎng)絡(luò)的可擴展故障診斷架構(gòu),可以利用OPC代碼、用戶標簽選擇、傳感器信號等多模態(tài)信息,進行自動故障診斷推理;2)通過人機共融的有機合作,向用戶提供標簽,并接收反饋;學習用戶潛在經(jīng)驗,不斷提高診斷精度;3)通過自然語言處理的方法,分析歷史工單數(shù)據(jù),自動構(gòu)建推理用的貝葉斯網(wǎng)絡(luò),減少手工建模時間。
系統(tǒng)的整體維護工作流程如圖 2所示,其中,機械設(shè)備的傳感器采集信號處理后產(chǎn)生各類報警信號,并利用相關(guān)事件檢測算法,觸發(fā)事件后傳送給貝葉斯網(wǎng)絡(luò)。事件監(jiān)測算法可以看作與內(nèi)置的OPC代碼報警相同,都是觸發(fā)事件的布爾量。而維修人員產(chǎn)生歷史工單,經(jīng)過自然語言處理模塊進行分析,以生成故障知識圖譜,并用于初始化貝葉斯網(wǎng)絡(luò)。工單的信息經(jīng)過自然語言處理,生成初選標簽,經(jīng)凸優(yōu)化過濾后,產(chǎn)生足夠的精選標簽,供維修人員選擇。標簽中一般包括維修人員可以看到或聽到的各種現(xiàn)象。作為對傳感器信號的有效補充,標簽可以看成另一種“人工”的傳感器。它們也可以觸發(fā)貝葉斯網(wǎng)絡(luò)的事件。
圖2 人機共融的卷包機故障診斷系統(tǒng)流程圖
下面將依次介紹診斷系統(tǒng)中核心的貝葉斯網(wǎng)絡(luò)推理運算、知識圖譜應(yīng)用和標簽選擇的凸優(yōu)化算法,然后給出診斷系統(tǒng)的整體界面功能。
目前在ZB45包裝機應(yīng)用中積累了維修工人師傅的大量維修記錄,但是記錄存在標準不一、記錄不全、故障重復等問題。在維修工人師傅經(jīng)驗的幫助下,從數(shù)十萬的維修數(shù)據(jù)中,清洗整理出1 751條完整的故障維修記錄,并將故障現(xiàn)象和機器位置相關(guān)聯(lián),形成故障樹,同時對每個故障所對應(yīng)的故障編碼進行對應(yīng),通過這種關(guān)聯(lián),實現(xiàn)對故障的推送。故障樹具體結(jié)構(gòu)參見圖1,故障樹與故障編碼的關(guān)聯(lián)如圖3所示。
圖3 故障樹與故障編碼關(guān)聯(lián)
因為OPC代碼和故障之間是復雜的多對多關(guān)系,難以用簡單的邏輯表達,所以本文采用貝葉斯網(wǎng)絡(luò)進行自動推理。首先,通過圖3說明其推理的機理。貝葉斯網(wǎng)絡(luò)的概念在圖4(a)和(b)中顯示。其中,貝葉斯網(wǎng)絡(luò)圖4 (a)表示了故障和故障現(xiàn)象的因果關(guān)系;而圖4(b)是條件概率表 (CPT, conditional probability table)。CPT表是對貝葉斯網(wǎng)絡(luò)圖中箭頭的定量注釋。如,從事件A到事件C的箭頭第一行表示當故障A、B出現(xiàn)的概率為0%時,現(xiàn)象C不出現(xiàn)的概率為100%,而C出現(xiàn)的概率顯然為0%。貝葉斯網(wǎng)絡(luò)圖中的每個節(jié)點是個事件,如故障或現(xiàn)象。圖中箭頭表示從原因到結(jié)果的相關(guān)關(guān)系。本文中,故障是指不能通過傳感器數(shù)據(jù)直接判斷的源頭故障,而現(xiàn)象是指可以通過傳感器數(shù)據(jù)直接測量的現(xiàn)象。對診斷系統(tǒng)而言,主要注意的是多個故障導致一個現(xiàn)象的網(wǎng)絡(luò),對這類網(wǎng)絡(luò)的診斷顯然需要一定經(jīng)驗。如圖4 (a)所示,如果只知道C發(fā)生了,顯然無法唯一地確定究竟是故障A,還是故障B發(fā)生了。但是算法可以利用貝葉斯定理分別估計兩種故障發(fā)生的概率。
圖4 貝葉斯網(wǎng)絡(luò)
假定故障A和故障B都可能引入事件C。其中事件是可檢測的,而故障是不能直接測量的。當事件C發(fā)生后,我們可以根據(jù)貝葉斯公式估計A出現(xiàn)故障的概率如公式(1):
(1)
其中:P(A),P(B)是故障的先驗概率,可以通過統(tǒng)計歷史上A和B發(fā)生的頻率計算;P(C|A),P(C|B)分別是A或B發(fā)生時C發(fā)生的條件概率。如果根據(jù)行業(yè)知識,當A發(fā)生時C一定出現(xiàn),則P(C|A)為100%。當缺少行業(yè)知識,或者希望通過大數(shù)據(jù)提高故障診斷的準確性時,可以從維護日志(工單)數(shù)據(jù)中生成CPT表,進而計算條件概率。統(tǒng)計一段時間內(nèi)各事件發(fā)生的次數(shù)后,則條件概率P(C|A)可以計算如公式(2):
(2)
其中:NAC是一段時間內(nèi)事件A、C同時發(fā)生的次數(shù),而NA是事件A發(fā)生的次數(shù)。類似的,可以計算CPT表內(nèi)其它條件概率,如P(C|B)可以計算如公式(3):
(3)
而NBC是事件B,C同時發(fā)生的次數(shù),而NB是事件B發(fā)生的次數(shù)。先驗概率P(A),P(B)的計算方法分別為公式(4)、公式(5):
(4)
(5)
其中:NA,NB,N分別為事件A, B和所有事件發(fā)生的次數(shù)。
上述的貝葉斯網(wǎng)絡(luò)有數(shù)千個節(jié)點,手動構(gòu)建網(wǎng)絡(luò)工作量大。我們引入知識圖譜來自動構(gòu)建大型貝葉斯網(wǎng)絡(luò)。知識圖譜的構(gòu)建需要獲知實體和實體之間的關(guān)系,即所謂的三元組信息。獲取三元組有兩種方式:1)從設(shè)備維修手冊中獲取結(jié)構(gòu)化的三元組關(guān)系;2)從工單記錄數(shù)據(jù)庫中描述故障原因的句子中提取三元組。第二種方法要用到自然語言處理中的依存句法分析。首先對句子做分詞和詞性標注,然后分析詞與詞之前的關(guān)系得到句法分析樹,然后遍歷句法分析樹,得到可能的三元組。綜上,可以從數(shù)據(jù)中得到了若干三元組,比如:(故障,發(fā)生,現(xiàn)象)、(部位,屬于,部位)等,其中,“故障”、“現(xiàn)象”等名詞作為實體,“發(fā)生”、“屬于”等動詞屬于關(guān)系。實體作為拓撲圖中的節(jié)點,而關(guān)系作為拓撲圖中的有向邊,構(gòu)建了一張有向圖,即我們的知識圖譜。之后,通過Python程序構(gòu)建知識圖譜。部分知識圖譜呈現(xiàn)于圖4(c)。
知識圖譜中有關(guān)故障和現(xiàn)象的三元組可以構(gòu)建貝葉斯網(wǎng)絡(luò)的結(jié)構(gòu)。其它的三元組可以用于模糊搜索類功能。我們采用pyArgum[23]實現(xiàn)貝葉斯網(wǎng)絡(luò)的構(gòu)建和推理。軟件包pyArgum的后端是由C++實現(xiàn),速度快。而其豐富的可視化功能可以很好地解釋推理的過程,利于開發(fā)調(diào)試。
根據(jù)圖2的流程圖,為了提高診斷效率,采用中文分詞工具“結(jié)巴分詞”[24],對如圖4(d)中的維修記錄進行自然語言分析。圖中observation和OPC string兩列分別表示維修開展前工人經(jīng)常觀察到的現(xiàn)象及維修結(jié)束后工人對故障的總結(jié)。Observation一列中可以由分詞方法生成初選標簽。結(jié)巴分詞主要是基于統(tǒng)計方法來實現(xiàn)分詞,如隱馬爾科夫模型(HMM, hidden markov model)。利用結(jié)巴分詞的用戶詞庫功能,我們建立了領(lǐng)域特有詞庫和停用詞庫,用于識別行業(yè)專業(yè)詞匯及可忽略的詞匯。經(jīng)過分詞,針對每個OPC代碼得到如表 1所示的初選標簽。表中每行對應(yīng)一個故障源,每一行的標簽組合都不同,意味著用戶只要在圖 7中選擇足夠的標簽,就可以唯一的確定故障源。但是如果有太多的標簽,會影響用戶的工作效率。因為故障總量數(shù)以千記,顯示需要自動化的算法。標簽選擇算法的目標是“盡量減少圖中總標簽個數(shù)”,同時“保持每行有獨立的標簽組合”。表 1是標簽選擇之后的效果。這些工單都對應(yīng)同一OPC代碼的9個不同故障。其中每行工單描述了一個不同的故障現(xiàn)象。初選標簽是由自然語言處理選擇的。而精選標簽是通過基于凸優(yōu)化的標簽選擇算法,在初選標簽組中選擇的。在初選標簽組中共有37個獨特標簽,而精選標簽組共有11個獨特標簽。
表1 標簽選擇例子
下面對標簽選擇算法進行數(shù)據(jù)建模。首先,需要用一個數(shù)學指標表示“保持每行有獨立的標簽組合”的思想。在此先通過比較簡單的例子說明其建模過程,再拓展概念。假設(shè)有3個標簽,X1,X2,X3,記X1=1為選擇此標簽,而X1=0為不選此標簽。顯然,所有標簽選擇的組合是如圖 5中單位立方體的每個頂點。頂點A的角度坐標為X1=0,X2=1,X3=0即[0,1,0]。說明當標簽數(shù)Nt=3時,最多可以表達8個獨立的故障源,記為Nf=2Nt=8。引入向量ai為第i個故障對應(yīng)的標簽組合, 矩陣A=[a1,a2,…]。于是每個ai對應(yīng)圖中一個頂點。如故障1對應(yīng)a1=[1,0,0]T,即點C。故障2,3分別對應(yīng)A和H。對應(yīng)單位立方體的體積:
圖5 標簽選擇算法的物理意義
當然,這樣定義的局限性在于A1只能是方陣。為了解決這一問題,我們嘗試引入統(tǒng)計學理論的費舍爾信息矩陣 (FIM, fisher information matrix)[25-26]M。 當M為A1A1T,費舍爾信息可理解為立方體體積的平方:|detM|=|detA1A1T|=1。當有兩個故障的標簽重復時,例如:
這時|detM|=|detA2A2T|= 0,表明M可以表征標簽出現(xiàn)重復。這樣,可以分析任意多個故障組合。例如,當M為所有頂點時,|detM|=|detAAT|=32。
下面,針對標簽選擇的應(yīng)用,重新定義M如下。
定義 1 (標簽選擇信息矩陣):
(6)
其中:ai是第i個故障的標簽選擇列向量;A=[a1,a2,…];Pi是個布爾量代表第i個標簽組合是否被選中。
為了保證線性變化后優(yōu)化解不受影響,在最優(yōu)實驗設(shè)計時一般用D-最優(yōu)(D-Optimality)做為目標函數(shù),記做ψ(M)=-logdet(M),這樣,可以基于以前的傳感器選擇算法,采用以下的凸優(yōu)化算法[25]求解:
pi∈[0,1]
pi∈R
(7)
基于上述原理,本文開發(fā)了完整的人機共融故障診斷及設(shè)備維護專家系統(tǒng)。首先,用戶可以通過圖 6的首頁大屏瀏覽車間情況。全車間的數(shù)據(jù)以圖文并茂的方式分別在左、中、右三列展示出來。其中左列顯示各線路設(shè)備運行情況,中列顯示設(shè)備作業(yè)效率,右列展示故障歷史數(shù)據(jù)。當設(shè)備出現(xiàn)新的故障時,右下角推送信息可以提醒用戶注意。當用戶在左側(cè)導航選擇一個正常工作狀態(tài)的設(shè)備時,可以看到如圖6的設(shè)備頁大屏。在中間即時地顯示了歷史故障記錄、OPC代碼、故障說明、故障時間、排查時間、停機時間、有效作業(yè)時間等信息。
圖6 可視化大屏
當某設(shè)備出現(xiàn)OPC報警時,用戶可以點擊左側(cè)導航條上相應(yīng)的設(shè)備圖標,并進入如圖7所示的自動診斷頁面。右側(cè)顯示了推薦的診斷結(jié)果,包括置信度、故障信息、維護方法、“故障確認”按鈕。一個OPC代碼可能對應(yīng)多個故障。為了減少右側(cè)診斷結(jié)果的數(shù)量,中間欄下方顯示了故障標簽。標簽是通過算法在維修記錄中里抽取的關(guān)鍵詞。其中很多是用戶可以直接觀察到的現(xiàn)象。用戶可以通過選擇合適的標簽,幫助系統(tǒng)更精準的診斷。當用戶經(jīng)過檢修,確認正在發(fā)生的故障后,可以點擊相應(yīng)的“故障確認”按鈕以通知系統(tǒng)。系統(tǒng)可以學習各故障出現(xiàn)的概率。這樣可以幫助系統(tǒng)未來再推薦更準確的診斷結(jié)果。因為傳感器數(shù)量有限,有時設(shè)備停機后沒有OPC代碼。這時,用戶需要通過如圖 7的手動診斷界面來定位故障。工人可以通過圖7(a)的下拉菜單選擇故障位置,之后用中間的標簽縮小推薦范圍,其過程和自動選擇類似。
圖7 診斷界面
通過對比系統(tǒng)部署前后月份的萬箱故障數(shù)據(jù),如表2和表3所示。從中可以看到,系統(tǒng)部署后一個月的故障次數(shù)為46次,萬箱故障次數(shù)為46/69 296.4*10 000=6.63,而部署前一個月的故障次數(shù)是64,萬箱故障次數(shù)為64/66 232.2*10 000=9.64,同比萬箱故障次數(shù)下降31.2%。
表2 系統(tǒng)部署后一個月的萬箱故障數(shù)據(jù)
表3 系統(tǒng)部署前一個月的萬箱故障數(shù)據(jù)
通過分析該時間段內(nèi)發(fā)生頻次最多的前20個故障數(shù)據(jù),得到部署后的故障維修時間平均降低了22.22%。故障統(tǒng)計匯總數(shù)據(jù)如表4所示。
表4 系統(tǒng)使用前與使用后故障處理情況對照表(頻次前20)
故障診斷系統(tǒng)的性能指標中,故障辨識的精確性是指對故障的大小機器事變特性估計的準確程度。我們通過統(tǒng)計故障確認位置在系統(tǒng)推薦的前三故障位比例,作為系統(tǒng)的故障辨識精確率,如式(8)所示。表5是OPC編號為10136的CH輸入阻塞故障確認位置的詳細數(shù)據(jù)。
(8)
如表5所示的故障辨識精確度為14÷15=93.33%。 表6列出了總共10個故障代碼及其對應(yīng)的辨識精確度統(tǒng)計情況。
表5 故障位置確認情況樣例(CH輸入阻塞故障)
表6 10個故障代碼的精確度統(tǒng)計結(jié)果
面向復雜設(shè)備的故障診斷問題,本文以ZB45包裝機故障診斷為考察目標,提出了一種實現(xiàn)人機共融的故障診斷系統(tǒng)。系統(tǒng)整合了自然語言處理技術(shù)、知識圖譜技術(shù)和貝葉斯網(wǎng)絡(luò)理論,主要創(chuàng)新點如下:1)通過對歷史工單的自然語言處理,自動生成知識圖譜和貝葉斯網(wǎng)絡(luò);2)針對故障代碼 (OPC 代碼)少于故障源的問題,鼓勵用戶通過選擇標簽的方式來提高診斷精度。同時,利用用戶反饋,提高貝葉斯網(wǎng)絡(luò)診斷精度;3)結(jié)合自然語言處理和凸優(yōu)化的方法,提供少而精的標簽。通過對歷史工單的自然語言處理,進行標簽初選。隨后采用凸優(yōu)化算法選擇恰好足夠的標簽給用戶選擇。通過系統(tǒng)實際運行測試,證明該系統(tǒng)能有效降低設(shè)備的萬箱故障次數(shù),有效減少故障維修時間,提高了設(shè)備故障診斷效率。