姜寅,任葒葳,陳凱,朱長江
(1.浙江運達風(fēng)電股份有限公司,杭州310012;2.浙江省風(fēng)力發(fā)電技術(shù)重點實驗室,杭州310012)
風(fēng)電控制系統(tǒng)輸入/輸出(I/O)信號通道(以下簡稱I/O 信道)硬件眾多,其質(zhì)量和高損耗問題較為集中,常以個別異常的故障形式出現(xiàn)。該問題在庫存階段無法察覺,在后續(xù)整機生產(chǎn)或風(fēng)機故障排除及更換備件時產(chǎn)生故障隱患,影響產(chǎn)能效率。另外,若用戶明確I/O 硬件的故障問題,也可更好地進行返修追溯。
重工業(yè)大型控制系統(tǒng)自帶完備的診斷功能,通過使用專用指令庫和軟、硬件組態(tài),依靠校驗算法實現(xiàn)工業(yè)網(wǎng)絡(luò)內(nèi)遠程I/O 軟、硬件在線故障診斷監(jiān)測[1-3]和日志記錄。然而其他定制型控制器和小型可編程邏輯控制器(PLC)不具備上述大型控制系統(tǒng)的硬件配置和網(wǎng)絡(luò)環(huán)境,其I/O 硬件故障尚無標準的診斷方法。傳統(tǒng)的PLC 故障診斷方法是結(jié)合故障指示對I/O 信道逐一進行排查和信號測量[4-5]。這種診斷方法對故障發(fā)掘雖然行之有效,但是依靠人工在大批量模塊中去發(fā)掘零星的故障難免疏忽遺漏,且效率低下;使用控制器制造商提供的專用硬件檢測設(shè)備又有成本高、功能冗余,且存在技術(shù)服務(wù)響應(yīng)周期長等問題,對于在有時效性要求的風(fēng)電場和風(fēng)機整機制造場所推廣可行性不佳;通過控制輸出信道對輸入信道反饋自檢的方式具有較高的可行性[6],但若輸出信道發(fā)生故障則無法有效查驗對應(yīng)輸入信道的狀態(tài)。通過對比外接設(shè)備在參考I/O硬件和待測I/O硬件中的反饋信號的診斷方法可以快速、準確地進行診斷[7],但對外接設(shè)備和參考I/O 硬件的依賴,會限制其在備件缺乏的風(fēng)電場應(yīng)用。
隨著近年來人工智能技術(shù)的發(fā)展,反向傳播(BP)神經(jīng)網(wǎng)絡(luò)模型在故障診斷領(lǐng)域的應(yīng)用逐漸增多[8-13]。文獻[8]將基于神經(jīng)網(wǎng)絡(luò)的診斷模型移植到控制單元,實現(xiàn)了控制系統(tǒng)故障監(jiān)測功能,提高了系統(tǒng)整體的安全性和可靠性,且用戶無須專業(yè)知識便可快速定位故障。文獻[9]在沒有額外設(shè)備支持的條件下實現(xiàn)了低成本、便捷的光伏陣列故障診斷方法。文獻[10]提出的BP 神經(jīng)網(wǎng)絡(luò)模型實現(xiàn)了變壓器遠程故障診斷,并較傳統(tǒng)變壓器故障分析法有更高的準確率和更廣的測試范圍?;谏鲜龇治觯Y(jié)合風(fēng)電控制系統(tǒng)I/O 硬件用戶檢測的實際應(yīng)用需求,本文提出了一種基于BP神經(jīng)網(wǎng)絡(luò)算法的診斷模型,輔以常用的中間繼電器,在風(fēng)電控制系統(tǒng)上構(gòu)建一個I/O 故障自診斷系統(tǒng)。實現(xiàn)了一種低成本,不依賴特殊備件和專用診斷設(shè)備,易于風(fēng)電生產(chǎn)和運維場合使用的控制系統(tǒng)I/O 硬件自診斷方法。
自診斷系統(tǒng)由風(fēng)電控制系統(tǒng)和自診斷電路2大部分構(gòu)成。風(fēng)電控制系統(tǒng)由控制器硬件和I/O 信道硬件組成,其中I/O 信道硬件上的待測信道與自診斷電路相連接??刂破骷虞d程序后,采集自診斷電路的信號,并將其數(shù)據(jù)處理后,輸入診斷程序進行分類運算,并輸出相應(yīng)的參考結(jié)果,進而實現(xiàn)故障診斷。自診斷系統(tǒng)示意圖如圖1所示。
自診斷電路由5 個輸出信道(SO1—SO5)、5 個輸入信道(SI1—SI5),以及中間繼電器組成,其原理如圖2 所示。各輸出信道分別連接所有輸入信道。診斷運行時,程序控制各輸出信道依序分別單獨輸出片刻,在此期間,5 個輸入信道通過反饋回路同時對當(dāng)前受控輸出的輸出信道進行采樣處理,形成一組控制系統(tǒng)自反饋信號。未受控輸出的輸出信道所在回路在繼電器的常閉觸點互鎖保護下保持開路,避免硬件被干擾或損壞。例如當(dāng)輸出信道SO1有輸出時,其余SO2—SO5 回路開路,此時輸入信道SI1—SI5可對SO1的輸出情況實現(xiàn)多重采集。
圖1 自診斷系統(tǒng)示意Fig.1 Fault self-detecting system
在個別信道故障的情況下,診斷電路可以依靠多重自反饋信號的相補和復(fù)核以識別故障特征。當(dāng)某輸出信道故障時,SI1—SI5 仍可依靠其他正常的輸出信道的反饋信號進行自診斷。
圖2 自診斷電路原理Fig.2 Sketch of fault self-detecting circuit
本文設(shè)計特征矩陣來描述信道故障時診斷電路的狀態(tài),并作為診斷程序的輸入。將處理后的自反饋信號數(shù)據(jù)依序記錄排列,可構(gòu)成特征矩陣,見表1。反饋信號正常時特征值用1表示,異常時特征值用0 表示。當(dāng)某輸入信道SIi有故障時,其所在列的特征值都為0;同理,當(dāng)某輸出信道SOj有故障時,則所在行的特征值都為0;其余正常信道的特征值都為1。
診斷程序依次按照初始化、采樣處理、自診斷模型,以及輸出參考結(jié)果流程運行,如圖3所示。
初始化階段,程序為自診斷模型中的BP神經(jīng)網(wǎng)絡(luò)算法進行參數(shù)賦值,并讀取預(yù)設(shè)的訓(xùn)練數(shù)據(jù)集進行訓(xùn)練;采樣處理階段,程序控制各輸出信道逐一向自診斷電路輸出高電平1 s。在此時段內(nèi),各輸入信道分別對當(dāng)前有高電平的輸出信道采樣處理,形成表1 中的一行特征值,各特征值為采樣周期內(nèi)自反饋信號的平均值。當(dāng)數(shù)據(jù)采樣處理完成后,自診斷模型遂獲得特征矩陣數(shù)據(jù),并輸入BP神經(jīng)網(wǎng)絡(luò)算法進行計算,形成參考結(jié)果,最后在人機界面上顯示。
表1 特征矩陣數(shù)據(jù)Tab.1 Data in a characteristic matrix
圖3 診斷程序執(zhí)行流程Fig.3 Executive process of the diagnostic procedure
根據(jù)采樣處理階段獲取信道特征值的方式,當(dāng)某信道的自反饋信號在各周期中均為低電平,按采樣周期取平均值,即獲得特征矩陣中最小特征值0;反之,若各周期自反饋信號均為高電平,取均值后獲得特征矩陣中最大特征值1。其余情況下,采樣獲得的特征值介于0~1之間。
為防止神經(jīng)網(wǎng)絡(luò)模型收斂慢、訓(xùn)練時間長和數(shù)據(jù)值偏小或超限的問題,結(jié)合激活函數(shù)值域有限的特點,本文采用線性轉(zhuǎn)換算法[14],對上述采樣處理階段獲得的各特征值進行處理
式中:x為實際采樣獲得特征值,且x∈[0,1]。xMin和xMax分別為最小特征值0 和最大特征值1,因此歸一化的特征值x*∈[0,1]。
進一步處理x*,為防止特征值0 輸入神經(jīng)網(wǎng)絡(luò)模型造成診斷失敗,將x*轉(zhuǎn)化為i,令其落在[0.01,1]區(qū)間內(nèi):
使用各特征值i作為元素構(gòu)造特征矩陣I,
其中,特征值元素ijk∈[0.01,1],j∈[1,5],k∈[1,5]。
本文設(shè)計的自診斷模型基于3 層BP 神經(jīng)網(wǎng)絡(luò)。根據(jù)自診斷電路5路I/O 信道的數(shù)量,特征矩陣應(yīng)含有25 個特征值,利用25 個特征值構(gòu)建輸入矩陣,即設(shè)置輸入層為25個節(jié)點,對應(yīng)的輸入矩陣為
輸出層為10 個節(jié)點,分別表示5 個輸入信道和5 個輸出信道的狀態(tài)。參考隱含層單元數(shù)確認方法[15],經(jīng)過多次試驗,設(shè)置效果最佳的隱含層節(jié)點數(shù)為10,其網(wǎng)絡(luò)模型如圖4所示。
圖4 神經(jīng)網(wǎng)絡(luò)模型Fig.4 Neural network model
為訓(xùn)練神經(jīng)網(wǎng)絡(luò)調(diào)整權(quán)值,還需構(gòu)造出用于計算輸出誤差的目標矩陣
式中:t1—t5分別對應(yīng)SO1—SO5 的目標值,t6—t10分別對應(yīng)SI1—SI5的目標值。
自診斷應(yīng)用程序執(zhí)行初始化時,神經(jīng)網(wǎng)絡(luò)模型讀取訓(xùn)練數(shù)據(jù)集,按照指定的訓(xùn)練次數(shù)調(diào)整權(quán)值。
單次訓(xùn)練輸出時,輸出層獲得各節(jié)點的輸出值與目標值的誤差后反向傳播回神經(jīng)網(wǎng)絡(luò),使用梯度下降法,根據(jù)隱含層和輸出層之間已有各權(quán)值的大小,進行一次校準[16]。以連接當(dāng)前節(jié)點j前一級節(jié)點i的權(quán)值wij的一次反向傳播校準為例,新的權(quán)值wnew為
式中:oi為前一級節(jié)點i的輸出值;Oij為節(jié)點j的輸出函數(shù);ej為節(jié)點j的誤差函數(shù)的值,滿足
式中:tj∈T,為輸出節(jié)點j的目標值。
鑒于本文采用Sigmoid激活函數(shù)
節(jié)點j的輸出函數(shù)表達式為
將式(8)和式(10)代入式(7),可得
最終,將式(11)代入式(6)可完成權(quán)值wij的一次校準。
自診斷應(yīng)用程序初始化階段,診斷模型讀取訓(xùn)練數(shù)據(jù)集,并按照指定的訓(xùn)練次數(shù),逐次調(diào)整神經(jīng)網(wǎng)絡(luò)的權(quán)值,使其具備故障數(shù)據(jù)分類能力。
構(gòu)造各信道單獨故障時的理想特征矩陣和目標矩陣的數(shù)據(jù)作為神經(jīng)網(wǎng)絡(luò)的訓(xùn)練數(shù)據(jù)集。例如SO1故障時理想特征矩陣的數(shù)據(jù)樣本見表2。
表2 SO1故障時理想特征矩陣的數(shù)據(jù)樣本Tab.2 Sample of training data in the characteristic matrix during SO1 fault
鑒于激活函數(shù)Sigmoid(x)∈(0,1),為防止權(quán)值飽和,調(diào)整對應(yīng)目標矩陣的異常和正常特征值分別為0.01 和0.99。SO1 故障時目標矩陣數(shù)據(jù)樣本見表3。
表3 SO1故障時目標矩陣數(shù)據(jù)樣本Tab.3 Sample of training data in the targeted matrix during SO1 fault
整合表2 和表3 可知SO1 單獨故障的訓(xùn)練數(shù)據(jù)集。結(jié)合1.1 節(jié)自診斷電路,以此類推構(gòu)造其他被測信道單獨故障的訓(xùn)練數(shù)據(jù)集,由此整合獲得5 輸出和5輸入信道的自診斷訓(xùn)練數(shù)據(jù)總集。使用服從標準正態(tài)分布的初始權(quán)值參與訓(xùn)練,提高訓(xùn)練效率??紤]到BP 神經(jīng)網(wǎng)絡(luò)有“訓(xùn)練樣本順序敏感性”的特點[17],各訓(xùn)練數(shù)據(jù)集按隨機順序輸入訓(xùn)練。經(jīng)過驗證,設(shè)定學(xué)習(xí)率l為0.3,總訓(xùn)練次數(shù)達到50 000 次,可令自診斷模型獲得有效的故障分類能力。
使用訓(xùn)練好的自診斷模型對歸一化處理后的輸入數(shù)據(jù)進行計算分類,參考結(jié)果輸出在風(fēng)電控制系統(tǒng)人機界面上。用戶可按照常規(guī)方式登錄人機界面,并瀏覽指定菜單位置的自診斷參考結(jié)果。人機界面顯示的數(shù)據(jù)結(jié)果如圖5 所示,“DETECTING OUTPUT”欄顯示SO1—SI5 信道自診斷后的故障可能性數(shù)據(jù)。通常數(shù)量級為10-1且數(shù)值上接近1 的數(shù)據(jù)表明對應(yīng)信道具有很大的故障概率。
圖5 人機界面顯示的數(shù)據(jù)結(jié)果Fig.5 Detecting results on the user interface
以2個有故障的I/O 模塊為例驗證自診斷系統(tǒng)。驗證前對待測的I/O 信道逐一進行信號排查:單獨用萬用表測量各輸出信道的高電平輸出時的電壓值;使用標準24 V 直流高電平接入各輸入信道,查看其邏輯反饋狀態(tài)(true 或false)。記錄上述測量結(jié)果作為自診斷模型對照組。
經(jīng)過排查,模塊1 的“發(fā)電機加熱”輸出信道存在故障。使用文中的自診斷系統(tǒng)采樣處理獲取模塊1 的歸一化特征矩陣數(shù)據(jù),見表4。輸入診斷模型,判斷其中“偏航扭纜”接收“左偏航”的反饋信號受干擾,其數(shù)據(jù)值偏低(為0.67)。經(jīng)過自診斷模型運算后,輸出結(jié)果見表5。根據(jù)表5 可知“發(fā)電機加熱”信道診斷結(jié)果接近1,且其數(shù)量級明顯大于其他數(shù)據(jù),因此有較大的概率出現(xiàn)故障。該結(jié)果與“排查結(jié)果”列的數(shù)據(jù)相符。并且在測試中,通過自診斷電路與之相連的“機艙緊?!薄熬o急順槳控制(EFC)反饋”“過振動”“風(fēng)輪過速”和“偏航扭纜”輸入信道的診斷未受其故障的影響,且未對受信號干擾的信道造成誤診。
表4 模塊1的歸一化特征矩陣數(shù)據(jù)Tab.4 Normalized data in the characteristic matrix of No.1 module
表5 模塊1的故障診斷輸出結(jié)果Tab.5 Detected fault output from No.1 module
模塊2的排查結(jié)果顯示輸出信道“偏航斷電”和輸入信道“順槳到位”都有故障。自診斷系統(tǒng)采樣獲得其歸一化特征矩陣數(shù)據(jù)見表6。經(jīng)過自診斷模型運算后,輸出結(jié)果見表7。根據(jù)表7的“診斷結(jié)果”列可知“偏航斷電”和“順槳到位”2 個信道有很大概率出現(xiàn)故障,與“排查結(jié)果”列的數(shù)據(jù)相符。表6 中UPS表示不間斷電源。
表6 模塊2的歸一化特征矩陣數(shù)據(jù)Tab.6 Normalized data in the characteristic matrix of No.2 module
表7 模塊2的故障診斷輸出結(jié)果Tab.7 Detected fault output from No.2 module
本文提出了一種基于BP 神經(jīng)網(wǎng)絡(luò)算法的控制器I/O 硬件故障的自診斷方法,經(jīng)過試驗論證,結(jié)果表明:
(1)自診斷電路配件為常用的風(fēng)機備件,成本低,易獲取,特征電路連接搭建一次可反復(fù)使用,適用于批量檢測,無須依賴專用檢測設(shè)備??捎糜谌鄙賯浼⒊鲂芯S護等成本較高的場合;
(2)診斷電路一對多的連接結(jié)構(gòu)可靠性高,多重自反饋信號的設(shè)計可對待測信道的狀態(tài)形成復(fù)合校驗,具備了在個別信道故障的情況下仍可全面診斷的能力;診斷模型對個別干擾輸入不敏感,可以減少誤判,具備穩(wěn)定性;
(3)硬件搭建完備的條件下可快速診斷,實現(xiàn)短時間內(nèi)逐一、高效排查;
(4)參考結(jié)果展示簡潔,操作人員無須專業(yè)知識,可快速掌握參考結(jié)果查閱方法并定位故障。
此外,神經(jīng)網(wǎng)絡(luò)算法程序具有一定的泛化能力,通過完善信號采樣和數(shù)據(jù)處理方法,以及權(quán)值調(diào)整算法,可提升自診斷系統(tǒng)的性能,并拓展到其他控制器的功能診斷。因此,本方法具有良好的應(yīng)用前景。