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