宋 丹,梁睿君,李 偉,陳蔚芳
(南京航空航天大學(xué)機電學(xué)院,南京,210016)
隨著對機械零件加工精度要求不斷提高,加工強度不斷增大,疲勞現(xiàn)象更加容易出現(xiàn)在機床部件,導(dǎo)致機床故障發(fā)生頻率提高。一旦故障發(fā)生可能導(dǎo)致零件的報廢、生產(chǎn)的停滯,造成企業(yè)的經(jīng)濟損失等問題[1-3]。因此對機床故障實時診斷已成為機床應(yīng)用中的一個重要需求。
20世紀(jì)90年代德國亞琛工業(yè)大學(xué)研究了切削過程遠(yuǎn)程監(jiān)控技術(shù)并建立了演示監(jiān)控系統(tǒng)[4]。美國斯坦福大學(xué)和麻省理工學(xué)院合作研發(fā)了基于Internet下一代遠(yuǎn)程診斷示范系統(tǒng)Testbed,該系統(tǒng)能對多臺設(shè)備同時在線監(jiān)測,診斷多種典型故障,并能與企業(yè)的管理和控制系統(tǒng)聯(lián)網(wǎng)通信,對不同地域、不同企業(yè)的設(shè)備進行預(yù)測和診斷[5]。日本山崎馬扎克公司在EMO2001展中展出的智能生產(chǎn)控制中心(Cyber production center,CPC)包括智能刀具壽命管理系統(tǒng),智能生產(chǎn)管理與調(diào)度系統(tǒng)、智能監(jiān)控系統(tǒng)等現(xiàn)代化生產(chǎn)數(shù)字控制系統(tǒng),在遠(yuǎn)程故障診斷和監(jiān)測方面有很大影響力。
國內(nèi)許多大學(xué)和研究所也在從事設(shè)備故障遠(yuǎn)程診斷方面的研究,比如同濟大學(xué)、上海交通大學(xué)等[6-7]。同濟大學(xué)CIMS研究中心在上海大眾汽車有限公司建立了以多媒體遠(yuǎn)程服務(wù)為基礎(chǔ)的遠(yuǎn)程故障維修系統(tǒng)[8];北京機電研究所設(shè)計的BMEI-AMS-1先進制造系統(tǒng)易于與Internet相連,可實現(xiàn)遠(yuǎn)程診斷、遠(yuǎn)程服務(wù)和實時監(jiān)控。此外,北京理工大學(xué)和南京航空航天大學(xué)等也開展了基于Internet的FMS遠(yuǎn)程故障診斷的研究[5,9]。
目前,機床故障診斷大多采用通過設(shè)備層增加PC機進行有線組網(wǎng)的方法,存在著布線復(fù)雜、妨礙機床部件運動、妨礙機床操作、電磁干擾造成信號丟失和增大設(shè)備投入等缺點?;谖锫?lián)網(wǎng)、大數(shù)據(jù)以及云平臺技術(shù)的發(fā)展,將故障診斷技術(shù)與其結(jié)合,可以提高機床遠(yuǎn)程故障診斷的智能化程度。常用的物聯(lián)網(wǎng)無線通信技術(shù)主要有藍(lán)牙、ZigBee、窄帶物聯(lián)網(wǎng)(Narrow band internet of things,NB-IoT)技術(shù)等,均已廣泛應(yīng)用于智慧城市建設(shè)中[10-13]。與ZigBee等短距離傳輸技術(shù)相比,NB-IoT技術(shù)具有可移動和連接數(shù)量多等優(yōu)點[14],可以滿足機床大數(shù)據(jù)傳輸?shù)囊??;诰W(wǎng)絡(luò)的遠(yuǎn)程診斷技術(shù)需要解決如何獲得信息、分析信息以及進行診斷的問題。本文采用基于應(yīng)用過程的對象連接與嵌入(Object linking and embedding for process control,OPC)及多傳感器融合的數(shù)據(jù)采集方法獲取信息,采用BP神經(jīng)網(wǎng)絡(luò)和專家系統(tǒng)相結(jié)合的智能故障診斷方法[15-19]分析故障信息,獲得診斷結(jié)果,實現(xiàn)機床遠(yuǎn)程智能故障診斷。
本文建立了基于NB-IoT的遠(yuǎn)程智能故障診斷系統(tǒng)模型,其功能模塊包括:數(shù)據(jù)采集模塊、無線通信模塊、數(shù)據(jù)處理及故障診斷平臺和遠(yuǎn)程人機界面。根據(jù)功能運行劃分出系統(tǒng)邏輯結(jié)構(gòu),如圖1所示,其中箭頭方向為數(shù)據(jù)流動方向。采集層通過安裝在機床內(nèi)的傳感器和OPC接口讀取機床運行信息和機床基本參數(shù),如力、熱、振動、電流、程序段、軸坐標(biāo)位置和進給方向等,并輸入所建立的機床運行信息數(shù)據(jù)庫由本地故障診斷專家系統(tǒng)進行故障診斷;如果本地故障診斷專家系統(tǒng)不能診斷出系統(tǒng)故障原因,則機床運行信息數(shù)據(jù)庫中的信息通過串口輸入傳輸層的IoT模塊,通過NB-IoT無線通信網(wǎng)絡(luò)傳輸給IoT云平臺,運算層讀取云平臺數(shù)據(jù),通過遠(yuǎn)程故障診斷模塊獲得診斷結(jié)果,并將診斷結(jié)果返回云平臺,遠(yuǎn)程人機界面APP可向云平臺請求讀取診斷結(jié)果。
圖1 系統(tǒng)邏輯結(jié)構(gòu)圖Fig.1 Diagram of systematic logical structure
運算層數(shù)據(jù)處理與故障診斷平臺的診斷流程如圖2所示。若由于信息缺失不能得出診斷結(jié)果,故障診斷模塊將通過IoT云平臺向本地發(fā)送補充信息申請,若仍無法解決故障,則啟用異地專家診斷咨詢進入人工干預(yù)診斷。
圖2 故障診斷流程Fig.2 Fault diagnosis process
OPC以組態(tài)對象模型技術(shù)為基礎(chǔ),采用客戶端/服務(wù)器模式,包含OPC服務(wù)器(Server)、OPC組(Group)和OPC項(Item)3種對象,采用異步訪問方式實時采集機床的大量數(shù)據(jù)變量,如機床運行模式、運行程序段名稱、開機時間和運行時間等。OPC項變量的讀取路徑可以在機床參數(shù)手冊中查詢到,其中對變量名稱、數(shù)值單位、值域范圍、讀寫權(quán)限和數(shù)據(jù)類型等有著詳細(xì)的規(guī)定。利用微軟基礎(chǔ)類庫編寫數(shù)據(jù)采集程序和界面,根據(jù)OPC項路徑進行數(shù)據(jù)讀寫的主界面如圖3所示。
選用356A16三向加速度傳感器、378B02聲音傳感器、Pt100熱電阻溫度傳感器及APAQ-3HPT溫度變送器分別測振動、噪聲和溫度信號。上位機利用基于LabVIEW的采集軟件采集振動、噪聲和溫度信號;利用小波包分析處理信號,實現(xiàn)信號的讀取、顯示實時保存。
通信模塊需要實現(xiàn)不同協(xié)議間的相互通信、多源數(shù)據(jù)的融合與共享傳輸。NB-IoT構(gòu)建于蜂窩網(wǎng)絡(luò),可直接部署于GSM網(wǎng)絡(luò)、UMTS網(wǎng)絡(luò)或LTE網(wǎng)絡(luò),具有覆蓋廣、支持海量連接、低功耗和模塊成本低的特點[8]。
系統(tǒng)選用BC95無線通信IoT模塊,該模塊尺寸緊湊,采用無鉛芯片載體封裝可給機床提供可靠的連接方式,且功耗低、工作溫度范圍寬,在機床工作環(huán)境下可靠性高。NB-IoT的基本應(yīng)用架構(gòu)如圖4所示。IoT云平臺具有海量數(shù)據(jù)接收和存儲能力,適合機床大數(shù)據(jù)量;支持多樣化的設(shè)備和多種接入方式,能夠保證數(shù)據(jù)處理與故障診斷平臺多樣數(shù)據(jù)輸入的需求;提供統(tǒng)一的訪問控制和權(quán)限管理系統(tǒng),利于機床數(shù)據(jù)統(tǒng)一管理。
圖3 OPC數(shù)據(jù)采集系統(tǒng)主界面Fig.3 Main interface of OPC data acquisition system
圖4 NB-IoT的基本應(yīng)用架構(gòu)Fig.4 Basic application architecture of NB-IoT
常見的人工智能診斷算法主要有故障樹法、專家系統(tǒng)、人工神經(jīng)網(wǎng)絡(luò)法、模糊推理法等。故障樹法雖包含系統(tǒng)所有故障模式,但建樹過程復(fù)雜,易遺漏信息。模糊推理法建立模糊關(guān)系矩陣?yán)щy且自學(xué)習(xí)和自適應(yīng)能力差。BP神經(jīng)網(wǎng)絡(luò)有較強的學(xué)習(xí)和并行計算能力,可實現(xiàn)分類、非線性優(yōu)化和聯(lián)想記憶等功能,但存在診斷推理過程缺乏透明度等問題。實際加工過程中機床數(shù)據(jù)狀態(tài)信息量大,故障多,分類復(fù)雜,因此選用BP神經(jīng)系統(tǒng)在前、專家系統(tǒng)在后的串行方式建立故障診斷算法模型,如圖5所示??梢钥朔<蚁到y(tǒng)知識獲取難、推理效率低等問題,并利用專家系統(tǒng)解釋神經(jīng)網(wǎng)絡(luò)推導(dǎo)機床故障。
特征信息提取模塊對濾波、去噪等規(guī)范化處理后的數(shù)據(jù)提取其特征信息。BP神經(jīng)網(wǎng)絡(luò)采用3層并行拓?fù)浣Y(jié)構(gòu),輸入節(jié)點與故障現(xiàn)象(由特征信息獲得)相對應(yīng),輸出節(jié)點與故障原因相對應(yīng)。推導(dǎo)出的診斷結(jié)果即系統(tǒng)故障類型及故障原因。若神經(jīng)網(wǎng)絡(luò)的調(diào)整次數(shù)大于設(shè)定次數(shù),診斷結(jié)果仍不準(zhǔn)確,則需要IoT云平臺輸入補充信息;若小于設(shè)定次數(shù),則診斷結(jié)果進入專家系統(tǒng)進行推理驗證和解釋。若符合知識庫規(guī)則,則將診斷結(jié)果輸出到云平臺,否則神經(jīng)網(wǎng)絡(luò)根據(jù)專家系統(tǒng)給出的修改建議調(diào)整參數(shù)(權(quán)值、閾值等)重新進行網(wǎng)絡(luò)訓(xùn)練。
以機床的主軸伺服系統(tǒng)為實例,主軸伺服系統(tǒng)常見的故障現(xiàn)象和類型如表1所示,應(yīng)用第3節(jié)故障診斷算法模型分析其故障現(xiàn)象,獲得故障樣本,通過仿真驗證了算法模型。
圖5 神經(jīng)網(wǎng)絡(luò)專家系統(tǒng)串行方式Fig.5 Serial mode of neural network expert system
表1 數(shù)控機床主軸伺服系統(tǒng)常見故障類型及可能原因Table 1 Common fault types and possible causes of spindle servo system of NC machine tool
BP神經(jīng)網(wǎng)絡(luò)隱含層神經(jīng)元的數(shù)目由設(shè)計者的經(jīng)驗和多次試驗決定。根據(jù)Kolmogorov定理和經(jīng)驗公式(其中q為隱含層神經(jīng)元數(shù),n為輸入神經(jīng)元數(shù),m為輸出神經(jīng)元數(shù),λ為[1,10]之間的常數(shù))增加q可以減少訓(xùn)練誤差,但當(dāng)節(jié)點q超過10時,測試誤差產(chǎn)生波動。本例中q取10,因此構(gòu)成7×10×7的BP神經(jīng)網(wǎng)絡(luò)。
令學(xué)習(xí)樣本為P=(X,Y),輸入向量為X=(X1,X2,X3,X4,X5,X6,X7),輸出向量為Y=(Y1,Y2,Y3,Y4,Y5,Y6,Y7)。Xk∈X(k=1,2,3,4,5,6,7),當(dāng)Xk=0、Xk=1 時,分別表示無故障、有故障;Yk∈Y(k=1,2,3,4,5,6,7),當(dāng)Yk=0,Yk=1分別表示不存在、存在該故障原因。本例中部分故障樣本如表2所示。其中1~15為訓(xùn)練樣本舉例,16~18為測試樣本舉例。本例共有64個樣本,選取其中54個作為訓(xùn)練樣本進行BP算法網(wǎng)絡(luò)訓(xùn)練,隱含層和輸出層之間選擇Sigmoid激勵函數(shù),網(wǎng)絡(luò)訓(xùn)練函數(shù)選擇Traingdm函數(shù),運用MATLAB軟件的神經(jīng)網(wǎng)絡(luò)工具箱進行仿真訓(xùn)練,設(shè)置學(xué)習(xí)效率η=0.01,訓(xùn)練步長為4 000,訓(xùn)練目標(biāo)誤差為0.001,動量因子為mc=0.9。圖6表示了該網(wǎng)絡(luò)模型訓(xùn)練誤差的變化曲線,經(jīng)過3 680次訓(xùn)練,網(wǎng)絡(luò)訓(xùn)練模型達(dá)到目標(biāo)精度,滿足訓(xùn)練要求。
調(diào)用模型中訓(xùn)練好的各層的權(quán)值,將表2中第16~18輸入向量輸入模型進行計算,得到輸出層的結(jié)果如表3所示。由表3可以看出,輸出結(jié)果與目標(biāo)結(jié)果相符合,驗證了算法模型的有效性。
圖6 BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練誤差變化曲線Fig.6 Variation curve of training error of BP neural network
表2 數(shù)控機床主軸伺服系統(tǒng)部分故障樣本Table 2 Partial fault samples of spindle servo system of NC machine tool
表3 輸入向量與輸出結(jié)果Table 3 Input vector and output results
系統(tǒng)選擇Windows 2013 Professional操作系統(tǒng)下Visual Studio 2017為軟件開發(fā)平臺,采用Microsoft Visual C++為軟件開發(fā)工具。機床診斷軟件系統(tǒng)主要分為用戶故障診斷子系統(tǒng)和信息管理子系統(tǒng)。用戶故障診斷子系統(tǒng)包括用戶的注冊、登錄及向遠(yuǎn)程診斷中心發(fā)出在線診斷請求,接受診斷反饋等功能;信息管理子系統(tǒng)運行在后臺實現(xiàn)可視化管理系統(tǒng)中數(shù)據(jù)進行的工具,具有數(shù)據(jù)庫的刪除、添加、更新功能、故障管理查詢及用戶留言、管理等功能。
本文給出機床故障診斷的遠(yuǎn)程智能實現(xiàn)方法,采用該方法設(shè)計的系統(tǒng)智能性和先進性體現(xiàn)在3方面:(1)運用新興的NB-IoT技術(shù)進行無線傳輸,相比有線網(wǎng)絡(luò),提高了網(wǎng)絡(luò)覆蓋能力,降低設(shè)備的復(fù)雜度和成本。(2)運算層采用BP神經(jīng)網(wǎng)絡(luò)和專家系統(tǒng)相結(jié)合的智能故障診斷方法,通過BP網(wǎng)絡(luò)解釋推導(dǎo)故障的過程,獲得多種故障類型的推導(dǎo)結(jié)果。專家系統(tǒng)對BP網(wǎng)絡(luò)得出的診斷結(jié)果進行驗證,判斷是否符合知識庫的規(guī)則,若不符合,專家系統(tǒng)根據(jù)知識庫規(guī)則,將需要調(diào)整的參數(shù)反饋給神經(jīng)網(wǎng)絡(luò),繼續(xù)進行網(wǎng)絡(luò)訓(xùn)練。(3)若神經(jīng)網(wǎng)絡(luò)的調(diào)整次數(shù)大于設(shè)定次數(shù),則運算層將發(fā)送補充信息申請給IoT云平臺,根據(jù)本地機床運行信息數(shù)據(jù)庫提供的補充信息重新進行診斷。