王 碩, 賈 鋒, 周 全, 符 楊
[1.教育部海上風(fēng)電技術(shù)工程研究中心(上海電力大學(xué)), 上海 200090;2.國家電網(wǎng)上海市市南供電公司, 上海 200030]
我國風(fēng)電行業(yè)正逐漸從大規(guī)模建設(shè)過渡到大規(guī)模運行階段,受限于風(fēng)電機(jī)組(Wind Turbine,WT)可及性差、運行環(huán)境惡劣、故障率高等特點,故障發(fā)生會導(dǎo)致長時間停機(jī)和運維成本增加等問題[1]。WT由許多大部件組成,如發(fā)電機(jī)、齒輪箱、變頻器、偏航系統(tǒng)等。每個大部件又由許多子部件組成,而子部件往往是故障源頭所在,不及時發(fā)現(xiàn)和處理可能導(dǎo)致故障惡化。WT配備有監(jiān)控和數(shù)據(jù)采集(Suppervisory Control and Data Acquisition,SCADA)系統(tǒng),用于監(jiān)測運行狀態(tài),可報警故障和子部件故障代碼[2]。SCADA報警基于實時WT運行狀態(tài),即只要監(jiān)控值超過設(shè)定閾值就會發(fā)出報警信號[3]。由于SCADA故障報警相對于異常運行狀態(tài)的滯后性[4],所以報警時故障通常嚴(yán)重且不可恢復(fù)[5]?,F(xiàn)有WT故障預(yù)警方法分為非數(shù)據(jù)驅(qū)動和數(shù)據(jù)驅(qū)動兩大類。非數(shù)據(jù)驅(qū)動類故障預(yù)警主要包括模型分析法、經(jīng)驗知識分析法與剩余壽命分析法等[6]。該類預(yù)警由于難以適應(yīng)WT運行條件和成本效益問題,所以在實際應(yīng)用推廣中受限條件多。
隨著大數(shù)據(jù)的發(fā)展,數(shù)據(jù)驅(qū)動類故障預(yù)警被廣泛運用。文獻(xiàn)[7]采用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)和長短期網(wǎng)絡(luò)提取SCADA數(shù)據(jù)空間和時間特征,進(jìn)行基于特征融合的齒輪箱異常狀態(tài)早期預(yù)警。文獻(xiàn)[8]利用極限梯度提升算法,構(gòu)建變槳系統(tǒng)變頻器溫度殘差預(yù)警模型進(jìn)行故障預(yù)警。上述方法只能實現(xiàn)大部件預(yù)警且應(yīng)用于不同大部件時需重新建模,而故障代碼或子部件預(yù)警對運維決策更具價值。
在精細(xì)部件故障預(yù)警方面,文獻(xiàn)[9]使用門控循環(huán)單元神經(jīng)網(wǎng)絡(luò)獲得WT前軸承溫度殘差特征,并結(jié)合振動信號時域和頻域特征,建立基于極限梯度提升的特征融合前軸承故障辨識模型進(jìn)行故障預(yù)警,但該方法僅能預(yù)警單一部件且需要振動信號。文獻(xiàn)[10]使用麻雀搜索算法優(yōu)化支持向量機(jī)懲罰因子和核函數(shù)參數(shù),并使用優(yōu)化后算法診斷精細(xì)部件故障,但該方法只能根據(jù)當(dāng)前數(shù)據(jù)給出分類結(jié)果,嚴(yán)重依賴于核函數(shù)和懲罰函數(shù),無法識別故障趨勢在長時間內(nèi)的演變。文獻(xiàn)[11]使用多頭注意力機(jī)制網(wǎng)絡(luò)提取SCADA變量間相關(guān)性,用霍特林統(tǒng)計量進(jìn)行兩階段異常分解,并基于兩階段異常因素識別故障位置及故障原因,降低了SCADA的誤報率,但該方法并未就SCADA數(shù)據(jù)存在小樣本標(biāo)簽數(shù)據(jù)問題進(jìn)行研究。
針對直接預(yù)警WT故障代碼(反映精細(xì)故障類型)面臨的建模復(fù)雜、執(zhí)行效率低、標(biāo)簽故障代碼數(shù)據(jù)稀少等問題,本文提出了基于MTF-ResNet-ViT的兩級級聯(lián)故障預(yù)警方法。首先,為了在第1級實現(xiàn)多個大部件同時狀態(tài)監(jiān)測和故障預(yù)警,準(zhǔn)確區(qū)分故障發(fā)生前不同大部件在不同階段的早期故障特征,將SCADA數(shù)據(jù)轉(zhuǎn)換為馬爾可夫轉(zhuǎn)移場(Markov Transition Field,MTF)圖像,并通過殘差網(wǎng)絡(luò)(ResNet)挖掘潛在故障特征與大部件故障之間的聯(lián)系,建立大部件故障預(yù)警模型。然后,為了解決有標(biāo)簽故障代碼數(shù)據(jù)稀缺問題,第1級設(shè)有故障代碼數(shù)據(jù)標(biāo)簽與擴(kuò)充步驟。最后,為了充分挖掘有限數(shù)據(jù)量下不同維度SCADA數(shù)據(jù)時變特征,第2級利用數(shù)據(jù)灰度圖像法與視覺變換器(Vision Transformer,ViT)建立模型,實現(xiàn)故障代碼預(yù)警。
在WT運行過程中,大部分部件在正常和故障狀態(tài)之間還存在隨時間變化的潛在故障狀態(tài),即早期故障特征隱藏在SCADA數(shù)據(jù)中。二維圖像化數(shù)據(jù)處理方法可以建立SCADA數(shù)據(jù)不同時間點間的聯(lián)系,形成完整的圖像來顯示SCADA數(shù)據(jù)隨時間變化的特征分布,有利于機(jī)器學(xué)習(xí)挖掘SCADA數(shù)據(jù)中的隱藏信息,從而在SCADA報警前的亞健康狀態(tài)進(jìn)行故障預(yù)警。
MTF可在保留SCADA數(shù)據(jù)時間相關(guān)性的同時將其轉(zhuǎn)化成二維圖像[12]。對SCADA數(shù)據(jù)X={X1,X2,X3,…,Xn}按分位數(shù)Q劃分為Q個分位區(qū)后,用各分位區(qū)分位qj(j∈[1,Q])量化表示SCADA數(shù)據(jù),即為矩陣M。其中,mij=p(qi→qj),表示分位數(shù)qi轉(zhuǎn)移到分位數(shù)qj的轉(zhuǎn)移概率。M具體表示為
(1)
(2)
(3)
式中:f(x)——激活函數(shù);
Mj——l層中與l-1層特征圖相連接的第j個特征圖;
* ——卷積運算;
down(x)——采樣函數(shù)。
ResNet可以用于圖像分類,除了包括式(2)和式(3)的卷積與池化操作外,還可引入殘差塊解決CNN退化問題[13]?;贛TF-ResNet的SCADA數(shù)據(jù)特征提取如圖1所示。其中,x為輸入,H(x)為輸出,即理想映射,殘差F(x)表示H(x)與x之間的誤差,ReLU為max(0,x)的激活函數(shù),分位數(shù)Q為10。
圖1 基于MTF-ResNet的SCADA數(shù)據(jù)特征提取
在模型建立前,需要對SCADA數(shù)據(jù)進(jìn)行數(shù)據(jù)清洗,一般用風(fēng)速-功率曲線區(qū)分正常運行點、停機(jī)點、異常運行點等[14]。清洗前后數(shù)據(jù)如圖2所示。
圖2 數(shù)據(jù)清洗前后的風(fēng)速-功率曲線
基于MTF-ResNet的大部件故障預(yù)警與數(shù)據(jù)標(biāo)簽流程如圖3所示。圖3中,數(shù)據(jù)點采樣間隔為10 min。
圖3 基于MTF-ResNet的大部件故障預(yù)警與數(shù)據(jù)標(biāo)簽流程
故障預(yù)警離線部分將84維SCADA歷史故障數(shù)據(jù)轉(zhuǎn)換成MTF圖像輸入ResNet中,訓(xùn)練基于ResNet的故障預(yù)警模型。在實時故障預(yù)警部分,每產(chǎn)生新采樣點數(shù)據(jù)時,都將新產(chǎn)生數(shù)據(jù)與前方短時間的歷史數(shù)據(jù)轉(zhuǎn)化成實時MTF圖像輸入到已經(jīng)訓(xùn)練好的模型中,輸出故障概率圖。圖3中“其他狀態(tài)”表示所監(jiān)測故障狀態(tài)的其余狀態(tài),所有狀態(tài)概率之和總是等于1。
為了保證故障預(yù)警精度,設(shè)置故障告警時間點需滿足以下條件:一是當(dāng)故障狀態(tài)概率大于等于0.6時,此時間點可被選為故障告警起始觀測點(圖3中的A點),此時所監(jiān)測的狀態(tài)概率高于所有其他狀態(tài)(考慮到故障概率的波動);二是起始觀測點后12 h內(nèi)狀態(tài)概率增長應(yīng)大于0.1,則將滿足該條件第一個時間點選為故障告警點(圖3中的B點),如果不滿足第二個條件,則重復(fù)步驟,直至選出故障告警點為止。
對大部件預(yù)警后,結(jié)合風(fēng)電場SCADA報警日志可實現(xiàn)故障代碼數(shù)據(jù)標(biāo)簽與擴(kuò)充,即將告警點B之后且超過B點閾值的SCADA數(shù)據(jù)標(biāo)記為預(yù)警日志中該類型故障代碼,從而在準(zhǔn)確的前提下盡可能多地擴(kuò)充標(biāo)簽數(shù)據(jù)。這些數(shù)據(jù)將用于第2級故障代碼預(yù)警模型訓(xùn)練。
由于故障代碼特征隱藏于不同維度的SCADA數(shù)據(jù)中,因此先將數(shù)據(jù)轉(zhuǎn)換為時序灰度圖,計算公式為
(4)
式中:xgray——灰度值表示形式;
x——數(shù)據(jù)原始值;
xmax——樣本數(shù)據(jù)最大值;
xmin——樣本數(shù)據(jù)最小值。
將SCADA數(shù)據(jù)映射到[0,255]區(qū)間形成標(biāo)準(zhǔn)灰度圖像。ViT可通過圖像分塊處理、圖像塊嵌入與位置編碼、轉(zhuǎn)換編碼器和全連接神經(jīng)網(wǎng)絡(luò)分類處理環(huán)節(jié)完成圖像分類任務(wù)[15]。對于原始圖像分辨率為(H,W)、通道數(shù)為C的圖像x∈H×W×C,將其分成N個P×P×C圖像塊,此時圖像被轉(zhuǎn)化為序列輸入xp∈N×(P2×C),轉(zhuǎn)化后序列經(jīng)過嵌入層E∈(P2×C)*D映射到D維度空間,同時添加類別信息xclass和位置編碼Epos,構(gòu)成嵌入輸入向量z0。計算公式為
E∈(N+1)×D,Epos∈(N+1)×D
(5)
經(jīng)過包括多頭自注意力、跳躍連接和層規(guī)范化(Layer Normalization,LN)的多頭自注意力層(Multi-head Self-attention,MSA)(可以重復(fù)L個)。計算公式為
(6)
經(jīng)過包括多層感知器(Multilayer Perceptron,MP)、跳躍連接和層規(guī)范化的3個全連接神經(jīng)網(wǎng)絡(luò)。計算公式為
(7)
LN計算公式為
(8)
以一個分類頭輸出該時間點SCADA的故障代碼類型概率?;赩iT的故障代碼預(yù)警流程如圖4所示。
圖4 基于ViT的故障代碼預(yù)警流程
本文分級故障預(yù)警方法總體流程包括離線故障預(yù)警模型訓(xùn)練和實時故障預(yù)警。風(fēng)電機(jī)組精細(xì)級聯(lián)故障預(yù)警方法流程如圖5所示。
圖5 風(fēng)電機(jī)組精細(xì)級聯(lián)故障預(yù)警方法流程
離線部分將歷史數(shù)據(jù)轉(zhuǎn)化為MTF圖像后,訓(xùn)練基于ResNet兩大部件故障預(yù)警模型(模型1),然后結(jié)合模型1結(jié)果和風(fēng)電場報警日志以及1.2節(jié)數(shù)據(jù)篩選條件,進(jìn)行故障代碼標(biāo)簽與擴(kuò)充,繼而將標(biāo)簽后數(shù)據(jù)灰度圖像化后,訓(xùn)練基于ViT的故障代碼預(yù)警模型(模型2)。實時部分利用兩級級聯(lián)離線模型完成故障代碼預(yù)警。
本文選取國內(nèi)某海上風(fēng)電場實際SCADA數(shù)據(jù)及SCADA系統(tǒng)故障報警日志進(jìn)行驗證分析。SCADA采樣間隔為10 min,記錄監(jiān)測量共84維。將2012—2014年該海上風(fēng)電場SCADA數(shù)據(jù)用于MTF-ResNet-ViT方法訓(xùn)練。表1為2012—2014年運行故障頻次統(tǒng)計表。
表1 風(fēng)電場故障頻次統(tǒng)計
由表1可知,3年內(nèi)偏航系統(tǒng)和變頻器故障報警次數(shù)居前2位,且齒輪箱故障造成停機(jī)時間最長、影響最大[16]。為了驗證所提方法的通用性,算例分析選取上述3種大部件故障及其下屬故障代碼實際故障案例進(jìn)行驗證分析。
本文使用Windows10系統(tǒng)Pyhon3.7,Intel?CoreTMi7-9750H CPU@2.60GHZ及RTX2060配置。第1級故障預(yù)警使用文獻(xiàn)[17]的ResNet50算法,包含49個卷積層和1個全連接層[18]。第1級故障預(yù)警階段訓(xùn)練樣本為500個時間段,共42 000張圖片,訓(xùn)練及計算時間5~7 h。第2級故障預(yù)警采用文獻(xiàn)[15]的ViT-Base方法。第2級預(yù)警中故障代碼4689,4096,3803在3年內(nèi)初始有標(biāo)簽數(shù)據(jù)樣本47個,經(jīng)第1級故障預(yù)警對故障代碼數(shù)據(jù)擴(kuò)充及標(biāo)簽后,第2級故障代碼預(yù)警階段訓(xùn)練樣本8 021個,每個樣本包含84維度數(shù)據(jù),訓(xùn)練及計算時間約2 h。
2014年3月19日,SCADA系統(tǒng)對18號風(fēng)機(jī)變頻器第2級過電流故障(故障代碼4689)發(fā)出警報。變頻器故障預(yù)警算例如圖6所示。其中:圖6(a)為采用模型1中的第1級算法對變頻器故障進(jìn)行預(yù)警;圖6(b)為采用模型2中的第2級算法對變頻器故障進(jìn)行預(yù)警。第1次警報時間為5:50,即圖6(a)中的數(shù)據(jù)點641和圖6(b)中的數(shù)據(jù)點555。
圖6 變頻器故障預(yù)警算例分析
由圖6(a)可知,大約在數(shù)據(jù)點180左右,變頻器故障狀態(tài)概率持續(xù)增加。使用1.2節(jié)故障預(yù)警標(biāo)準(zhǔn)可知,數(shù)據(jù)點230處的變頻器故障概率達(dá)到0.6,在此后12 h故障概率增長超過0.1,因此可在數(shù)據(jù)點230處預(yù)警,即模型1相對于SCADA,提前約56.5 h預(yù)警變頻器故障。由圖6(b)可知,故障代碼5183代表變頻器存在錯誤狀態(tài),故障代碼3799代表變頻器未達(dá)到正常頻率。變頻器故障代碼4689的概率在大約數(shù)據(jù)點100處開始持續(xù)增加,從數(shù)據(jù)點150后領(lǐng)先于代碼5183、代碼3799和其他狀態(tài)。使用1.2節(jié)故障預(yù)警標(biāo)準(zhǔn)可知,數(shù)據(jù)點219處故障代碼4689的概率達(dá)到0.6,在此后12 h故障概率增長超過0.1,符合1.2節(jié)中的故障預(yù)警標(biāo)準(zhǔn),因此可在數(shù)據(jù)點291處告警故障代碼4689。此外,變頻器故障代碼類型可在變頻器故障預(yù)警后約12.5 h告警,即故障代碼類型相對于SCADA,報警時間提前了約44 h。
2015年5月5日,SCADA系統(tǒng)對23號風(fēng)機(jī)的齒輪箱軸承高于極限值(故障代碼4096)發(fā)出警報。齒輪箱故障預(yù)警算例分析如圖7所示。第1次警報時間為2:25,即圖7(a)中數(shù)據(jù)點562和圖7(b)中數(shù)據(jù)點785。
圖7 齒輪箱故障預(yù)警算例分析
由圖7(a)可知,數(shù)據(jù)點163處的齒輪箱故障概率達(dá)到0.6,在此后的12 h,故障概率增長超過0.1,因此可在數(shù)據(jù)點235處預(yù)警,即模型1可提前54.5 h實現(xiàn)齒輪箱故障預(yù)警。
由圖7(b)可知,圖中故障代碼4100代表齒輪箱的進(jìn)油壓力低于極限值,故障代碼4085代表齒輪箱冷卻扇高速反饋不匹配。齒輪箱故障代碼4096狀態(tài)概率在大約數(shù)據(jù)點100后持續(xù)增加,在約數(shù)據(jù)點150后領(lǐng)先于代碼4100、代碼4085和其他狀態(tài)。依據(jù)1.2節(jié)故障預(yù)警標(biāo)準(zhǔn)可知,數(shù)據(jù)點436處故障代碼4096的概率達(dá)到0.6,在此后的12 h,故障概率增長超過0.1,因此可在數(shù)據(jù)點508處告警故障代碼。此外,齒輪箱故障代碼類型可在齒輪箱故障告警后約8.2 h預(yù)警,即故障代碼類型相對于SCADA,報警時間提前了約46.3 h。
2015年12月9日,SCADA系統(tǒng)對7號風(fēng)機(jī)的偏行控制機(jī)艙旋轉(zhuǎn)超速事件(故障代碼3803)發(fā)出警報。偏航系統(tǒng)故障預(yù)警算例分析如圖8所示。第1次警報時間為11:30,即圖8(a)中數(shù)據(jù)點645和圖8(b)中數(shù)據(jù)點811。
圖8 偏航系統(tǒng)故障預(yù)警算例分析
由圖8(a)可知,在數(shù)據(jù)點150左右,偏航系統(tǒng)故障狀態(tài)概率持續(xù)增加,在數(shù)據(jù)點200后均領(lǐng)先于變頻器、齒輪箱和其他狀態(tài)。依據(jù)1.2節(jié)中的故障預(yù)警標(biāo)準(zhǔn)可知,數(shù)據(jù)點229處偏航系統(tǒng)故障的概率達(dá)到0.6,在此后的12 h,故障概率增長超過0.1,因此可在數(shù)據(jù)點301處告警故障,即模型1可提前約57.3 h實現(xiàn)偏航系統(tǒng)故障預(yù)警。
由圖8(b)可知,故障代碼3816代表液壓偏航剎車壓力冗余傳感器差異超出極限值,故障代碼5119代表偏航定位超時。在數(shù)據(jù)點100左右,偏航系統(tǒng)故障代碼3803狀態(tài)概率持續(xù)增加,數(shù)據(jù)點220后均領(lǐng)先于代碼3816、代碼5119和其他狀態(tài)。依據(jù)1.2節(jié)中的故障告警標(biāo)準(zhǔn)可知,數(shù)據(jù)點471處故障代碼3803的概率達(dá)到0.6,在此后的12 h,故障概率增長超過0.1,因此可在數(shù)據(jù)點543處告警故障代碼。此外,偏航系統(tǒng)故障代碼類型可在偏航系統(tǒng)故障預(yù)警后約12.6 h預(yù)警,即故障代碼類型相對于SCADA,報警時間提前了約44.7 h。
上述不同部件的算例分析均采用算法完全相同的故障預(yù)警模型,故障案例在訓(xùn)練之外的數(shù)據(jù)中隨機(jī)選取,并覆蓋了針對WT不同大部件及故障代碼的驗證。由此可知,本文方法具有一定的通用性。
采用上述相同故障場景和訓(xùn)練數(shù)據(jù)對文獻(xiàn)[19]中的CycleGAN-RBF算法進(jìn)行對比分析,結(jié)果如圖9所示。由圖9(a)可知,變頻器故障概率在數(shù)據(jù)點410處首次達(dá)到0.6,但并不滿足1.2節(jié)中12 h內(nèi)增長超過0.1的條件,因此繼續(xù)監(jiān)測。在數(shù)據(jù)點448處變頻器故障概率達(dá)到0.6,并在此后12 h故障概率增長超過0.1,即該算法預(yù)警時間相對于SCADA,提前40.5 h完成大部件預(yù)警,而本文MTF-ResNet-ViT方法則能提前44.0 h完成更精細(xì)故障代碼預(yù)警。由圖9(b)和圖9(c)可知,CycleGAN-RBF方法無法實現(xiàn)故障代碼數(shù)據(jù)標(biāo)簽,因此本文提出的方法在預(yù)警提前時間和精細(xì)度方面均具有優(yōu)勢。
圖9 相同算例下文獻(xiàn)[19]算法結(jié)果
本文通過對SCADA數(shù)據(jù)進(jìn)行圖像化預(yù)處理,在展現(xiàn)數(shù)據(jù)時間相關(guān)性的同時,保留故障類型間耦合特征,構(gòu)建基于MTF-ResNet-ViT的故障級聯(lián)預(yù)警模型,在預(yù)警大部件故障的同時,解決故障代碼存在標(biāo)簽數(shù)據(jù)稀少的問題,從而有效進(jìn)行更精細(xì)的WT故障代碼類型預(yù)警。
算例分析表明,本文所提方法能夠?qū)T大部件中的變頻器、偏航系統(tǒng)和齒輪箱提前55 h左右實現(xiàn)故障預(yù)警,故障代碼則可在對應(yīng)故障大部件預(yù)警后的10~15 h實現(xiàn)準(zhǔn)確判斷,即早于SCADA系統(tǒng)40~45 h實現(xiàn)精細(xì)化故障代碼預(yù)警。較同類算法,本文所提方法在預(yù)警時間和精細(xì)程度上均有一定的提升。本文提出的方法有助于風(fēng)電場提前安排運維計劃,減少因部件嚴(yán)重劣化而造成的重大損失。