鄭 瑛,胡如樂,王曉敏,張建中,張繼英
(南方電網(wǎng)數(shù)字電網(wǎng)集團有限公司,廣東 廣州 510663)
區(qū)塊鏈是1種新的應用方式,具備分布式數(shù)據(jù)存儲、點對點傳輸、共識機制、加密算法等功能。風力發(fā)電是目前新能源發(fā)電的重要方法之一,能夠在保證電網(wǎng)正常運作的前提下降低煤炭燃燒給大氣環(huán)境造成的影響。風電機組是風力發(fā)電的主要裝置。風電機組可以先把風能轉(zhuǎn)換為機械能,再把機械能轉(zhuǎn)換為電能。風電機組以風輪的葉片為動力,通過渦輪增壓來提高轉(zhuǎn)速,從而驅(qū)動發(fā)電機發(fā)電[1-3]。受到風電機組生產(chǎn)質(zhì)量、運行環(huán)境以及運行時長等因素的影響,風電機組可能存在運行故障和異常。為了保證風電機組的工作狀態(tài)、延長使用壽命,需要研究風電機組全生命周期溯源管控方法。
方燁[4]研究了基于Teamcenter平臺的發(fā)電機生產(chǎn)工時評估方法。該方法采用Teamcenter協(xié)同設計平臺,根據(jù)發(fā)電機生產(chǎn)工藝特點規(guī)劃生產(chǎn)工時,以提升生產(chǎn)規(guī)劃和管理能力。陳波等[5]提出了1種制造執(zhí)行系統(tǒng)(manufacturing execution system,MES)在風電機組生產(chǎn)中的應用。MES控制制造信息,快速響應車間生產(chǎn)實時事件,從而獲取生產(chǎn)活動的重要信息,以提升制造車間生產(chǎn)效率。喬福宇等[6]分析功率曲線的特性后,利用離散度分析法篩選數(shù)據(jù)采集與監(jiān)視控制(supervisory control and data acquisition,SCADA)系統(tǒng)數(shù)據(jù),通過隨機森林法簡化模型結(jié)構(gòu),并采用非參數(shù)估計法實現(xiàn)風電機組狀態(tài)監(jiān)測。黃玲玲等[7]分析了影響風電機組運行的因素,對常用的維護方法進行歸納,并總結(jié)機組中仍存在的問題,從而實現(xiàn)風電機組全生命周期的溯源管控。蘇連成等[8]在采集的監(jiān)控數(shù)據(jù)中提取風電機組關鍵部位參數(shù),利用殘差法建立非線性狀態(tài)估計模型,對風電機組進行管控。但在實際風電機組管控中,上述方法的應用效果較差。
本文將區(qū)塊鏈技術應用到風電機組全生命周期溯源管控方法的設計工作中,從而確保風電機組的管控效果,進而延長風電機組的使用壽命。
本文設計了風電機組全生命周期溯源管控方法。該方法的基本原理是利用區(qū)塊鏈技術對風電機組的生產(chǎn)與運行數(shù)據(jù)進行存儲,從而針對風電機組的各環(huán)節(jié)進行管控。該方法能夠在風電機組發(fā)生故障時及時確定故障源頭,進而得出更有針對性的管控方案。
為了實現(xiàn)對風電機組生產(chǎn)與運行數(shù)據(jù)的分區(qū)存儲,本文構(gòu)建存儲區(qū)塊鏈,以便風電機組的溯源查詢。區(qū)塊鏈由區(qū)塊和鏈這2個部分組成。其中:區(qū)塊是數(shù)據(jù)的存儲單元;鏈是1種存儲結(jié)構(gòu)。在風電機組全生命周期溯源管控過程中,所有的交易信息都被存儲在1個區(qū)塊中,并以鏈路結(jié)構(gòu)連接。這樣就可以實現(xiàn)對數(shù)據(jù)的溯源且數(shù)據(jù)不會被篡改。從組成結(jié)構(gòu)上看,區(qū)塊可以分為區(qū)塊頭和區(qū)塊體這2個部分。區(qū)塊頭是區(qū)塊的核心,是唯一的標識區(qū)塊,同時也是溯源的主要依據(jù)。區(qū)塊頭包括先前區(qū)塊的散列值、版本號、時間戳、難度目標、Merkle根值等。區(qū)塊體主要用于記錄所有的業(yè)務數(shù)據(jù),并將數(shù)據(jù)以MerkleTree的格式存儲。
風電機組數(shù)據(jù)存儲區(qū)塊基本結(jié)構(gòu)如圖1所示。圖1中,Merkle根值是基于1種特定的數(shù)據(jù)結(jié)構(gòu)MerkleTree進行的。MerkleTree是從底部往上構(gòu)造的。其葉子節(jié)點是1組事務信息或者單位數(shù)據(jù)的散列值。在創(chuàng)建新區(qū)塊之后,按時間先后次序?qū)?chuàng)建的區(qū)塊連接在一起,從而構(gòu)成了1個鏈狀的存儲結(jié)構(gòu)即區(qū)塊鏈。本文從風電機組各環(huán)節(jié)產(chǎn)生的基本數(shù)據(jù)中抽取出重要的數(shù)據(jù),并將其存儲到區(qū)塊鏈中[9]。
圖1 風電機組數(shù)據(jù)存儲區(qū)塊基本結(jié)構(gòu)
區(qū)塊鏈技術下,風電機組數(shù)據(jù)存儲模式如圖2所示。
圖2 風電機組數(shù)據(jù)存儲模式
為了實現(xiàn)區(qū)塊鏈中風電機組數(shù)據(jù)的動態(tài)存儲,需設定智能合約作為支持。智能合約由所有共識節(jié)點執(zhí)行,并且對執(zhí)行結(jié)果協(xié)商一致,從而對區(qū)塊鏈作相應更新。當接收到1條信息時,合同的編碼就會被執(zhí)行。當共識節(jié)點執(zhí)行編碼時,智能合約可以讀寫存儲文件。在智能合約的支持下,風電機組數(shù)據(jù)的存儲X與更新X′可以量化表示為:
(1)
按照上述方法,可以得出風電機組生產(chǎn)與運行數(shù)據(jù)存儲區(qū)塊鏈的建立結(jié)果。
風電機組全生命周期如圖3所示。
圖3 風電機組全生命周期示意圖
由圖3可知,風電機組整個生命周期可以分為采購設計、生產(chǎn)和運營這3個階段。采購設計和生產(chǎn)階段的劃分標準為風電機組設計方案的生成時刻;生產(chǎn)與運營階段則根據(jù)風電機組的第一次啟動時間劃分。
采購設計階段的主要工作是確定風電機組的結(jié)構(gòu)以及材質(zhì)。生產(chǎn)階段的工作內(nèi)容是制備風電機組中的各組成元件,并按照設計方案實現(xiàn)組成元件的安裝,以得出風電機組的生產(chǎn)結(jié)果[10]。
根據(jù)風電機組的運行性能,運營階段可以進一步分為發(fā)展期、穩(wěn)定期與衰落期。發(fā)展期是將風電機組的生產(chǎn)成品應用到實際發(fā)電工作中,并逐漸適應電網(wǎng)發(fā)電工作的過程。穩(wěn)定期狀態(tài)下的風電機組能夠穩(wěn)定地完成發(fā)電任務,并且期間的工作效率與輸出功率等參數(shù)的浮動范圍較小[11]。而在風電機組運營階段的衰落期,風電機組受內(nèi)部設備老化、外界環(huán)境影響,工作效率明顯降低,且工作效率與輸出功率逐漸趨近于0。運營階段內(nèi)風電機組生命周期的劃分情況表示為:
(2)
式中:η和η0分別為風電機組的工作效率及其閾值;F為風電機組;Ud、Us和Ue分別為發(fā)展期、穩(wěn)定期與衰落期;Δη為工作效率變化率,%。
(3)
式中:ηt2和ηt1分別為t2和t1時刻風電機組的工作效率,%。
風電機組由風輪、發(fā)電機和鐵塔這3個部分組成。風輪是將風力轉(zhuǎn)化為機械能的關鍵元件,包括2個葉片。在風力作用下產(chǎn)生的氣流推動葉片旋轉(zhuǎn)。鐵塔是支撐風輪、尾舵和發(fā)電機的結(jié)構(gòu)。發(fā)電機的功能是將風力發(fā)電機產(chǎn)生的恒定速度傳遞給發(fā)電裝置,從而將機械能轉(zhuǎn)化成電能。將風電機組全生命周期產(chǎn)生的數(shù)據(jù)存儲到區(qū)塊鏈中,可以生成溯源鏈。
風電機組全生命周期溯源鏈如圖4所示。
圖4 風電機組全生命周期溯源鏈示意圖
根據(jù)統(tǒng)一的編碼機制,風電機組元件具有獨特的標識。利用區(qū)塊鏈技術跟蹤記錄產(chǎn)品流通,可以將產(chǎn)品的訂單、采購、產(chǎn)品質(zhì)量、物流、檢測、包裝等信息錄入?yún)^(qū)塊鏈。錄入?yún)^(qū)塊鏈中的產(chǎn)品信息向各節(jié)點開放,使得廠商、檢驗站、物流商、銷售商和使用者都能獲得完整的產(chǎn)品信息和追溯信息。風電機組全生命周期追溯鏈中的1個新節(jié)點與電網(wǎng)相連,并在連接時選取新的節(jié)點同步數(shù)據(jù)。
新節(jié)點同步數(shù)據(jù)選取步驟如下。
①節(jié)點網(wǎng)絡連接至清單中的節(jié)點地址。如果連接時的響應時間超出正常值,則持續(xù)向其他節(jié)點發(fā)送同步區(qū)塊鏈數(shù)據(jù)的請求。
②當1個節(jié)點與其他節(jié)點進行區(qū)塊鏈數(shù)據(jù)同步時,可以獲取其他節(jié)點發(fā)送過來的區(qū)塊鏈高度,并將其與該節(jié)點的區(qū)塊高度進行對比。如果高度超過該節(jié)點區(qū)塊高度,則要求對方發(fā)送區(qū)塊鏈數(shù)據(jù),并將該區(qū)塊鏈數(shù)據(jù)發(fā)送給其他節(jié)點。當該節(jié)點確認接收到的數(shù)據(jù)是正確的,就會選擇最優(yōu)路徑與原數(shù)據(jù)進行同步。
在這個過程中,新節(jié)點會隨機向完全節(jié)點請求隨機區(qū)塊的完整信息,從而實現(xiàn)風電機組全生命周期溯源鏈的動態(tài)更新。
在構(gòu)建的風電機組全生命周期溯源鏈中,通過逆轉(zhuǎn)換可以實現(xiàn)對上一層數(shù)據(jù)的讀取。經(jīng)過多次讀取可以得到風電機組原始輸入路徑,從而獲取風電機組源頭數(shù)據(jù)[12-13]。數(shù)據(jù)的逆轉(zhuǎn)換包括屬性逆轉(zhuǎn)換、逆映射、投影、派生等多種形式。屬性逆轉(zhuǎn)換與逆映射的工作原理如下。
(4)
根據(jù)風電機組全生命周期推動過程中數(shù)據(jù)存儲區(qū)塊鏈之間的關系,可以確定ft、fm、kt和km的具體取值。
在實際風電機組源頭數(shù)據(jù)求解過程中,當前時刻的風電機組運行數(shù)據(jù)為初始值。因此,可以按照上述逆向求解方式,確定初始數(shù)據(jù)在風電機組全生命周期的產(chǎn)生與變化過程。當ft和fm的取值均為1時,對應的數(shù)據(jù)即為風電機組源頭數(shù)據(jù)的求解結(jié)果。
根據(jù)風電機組全生命周期的數(shù)據(jù)溯源結(jié)果,風電機組執(zhí)行生產(chǎn)、維修以及退役管控工作。若溯源得出風電機組在采購設計階段存在異常,則需要對其設計結(jié)構(gòu)以及材料屬性進行調(diào)整。設計結(jié)構(gòu)的調(diào)整控制量Δγ為:
Δγ=|lt-li|+|kt-ki|+|ht-hi|
(5)
式中:lt和li、kt和ki、ht和hi分別為風電機組組成元件的長度、寬度和厚度的設計目標值和當前值,mm。
為了測試區(qū)塊鏈技術下風電機組全生命周期溯源管控方法的效果,本文將文獻[4]方法和文獻[5]方法作為試驗的對比方法,以驗證本文方法的管控效果。
試驗選擇某發(fā)電廠的多個風電機組作為研究對象。該風電機組包括:1個WT1500-D82型號的發(fā)電機;2個V112-3MKW型號的發(fā)電機;卷邊式離心風輪;三角鋼鐵塔。WT1500-D82型號和V112-3MKW型號發(fā)電機的切入速度分別為3.5 m/s和3 m/s,額定風速分別為12 m/s和12.5 m/s,風機等級均為IECS。風電機組中風輪直徑為82 m,額定轉(zhuǎn)速和輪轂高度分別為18.23 r/min和70 m。鐵塔高度為800 m。通過對風電機組各材料屬性的分析與理論計算,發(fā)電機、風輪和鐵塔的使用壽命分別確定為20年、30年和30年。試驗將風電機組的組成元件按照設計方案進行連接,得出風電機組研究對象的制備結(jié)果,并對多個風電機組進行編號處理。
由于設計的風電機組全生命周期溯源管控方法應用了區(qū)塊鏈技術,為保證溯源管控方法的有效實現(xiàn),需要對運行環(huán)境進行部署。試驗在Ubuntu平臺上構(gòu)建了Ubuntu的基礎結(jié)構(gòu),并以聯(lián)盟鏈的方式構(gòu)建了Ubuntu的體系結(jié)構(gòu)。HyperledgerFabric的Chaincode是由Go語言編寫的。因為Chaincode在Dockor容器中運行,所以還需要安裝GoLand編譯器和Docker容器,并通過github下載開源區(qū)塊鏈平臺(Hyperledger Fabric)的相關文件。為便于用戶之間的互動,試驗通過Windows平臺,利用SSH框架、Tomcat服務器將追溯數(shù)據(jù)存儲到MySQL數(shù)據(jù)庫。在此基礎上,試驗引入了基于供應鏈的超鏈接模型,構(gòu)建了1個基于海洋資源溯源過程真實需求的區(qū)塊鏈網(wǎng)絡,并在此基礎上嵌入Solo算法,以保證區(qū)塊鏈的完整性。
為實現(xiàn)風電機組全生命周期溯源管控效果的量化測試,試驗設置風電機組磨損量、故障發(fā)生頻率這2個測試指標。風電機組磨損量Ψ和故障發(fā)生頻率μ為:
(6)
式中:la、wa和ha分別為風電機組磨損位置的長度、寬度和厚度,mm;n為單位時間Δτ內(nèi)發(fā)生故障的次數(shù),次。
所計算出的風電機組磨損量越小、故障發(fā)生頻率越低,則風電機組使用壽命越長、管控效果越好。
試驗按照風電機組全生命周期溯源管控方法的設計結(jié)構(gòu),生成風電機組區(qū)塊鏈。在此基礎上,試驗獲取風電機組的生產(chǎn)與運行數(shù)據(jù),經(jīng)過全生命周期劃分、源頭數(shù)據(jù)求解等步驟,完成風電機組的溯源與管控。
在風電機組全生命周期溯源管控任務執(zhí)行完成后,試驗收集風電機組1個月內(nèi)的所有運行數(shù)據(jù),得出風電機組磨損量、故障發(fā)生次數(shù)的測試結(jié)果。
風電機組磨損量測試數(shù)據(jù)如表1所示。
表1 風電機組磨損量測試數(shù)據(jù)
將表1中的數(shù)據(jù)代入式(6),計算得出:文獻[4]方法和文獻[5]方法風電機組磨損量的測試結(jié)果分別為18.35 m3和19.08 m3;本文方法風電機組磨損量的測試結(jié)果為0.06 m3,比文獻[4]方法和文獻[5]方法分別降低了18.29 m3和19.02 m3。
風電機組故障次數(shù)測試結(jié)果如表2所示。
表2 風電機組故障次數(shù)測試結(jié)果
由表2可知,在不同的管控方法下,風電機組的平均故障發(fā)生頻率分別為18.5次/月、15.5次/月和13.5次/月。因此,在區(qū)塊鏈技術的支持下,本文方法能夠得到較好的管控效果。
風力發(fā)電在我國屬于新興行業(yè)。為了提高風電機組的運行效率和使用壽命,必須對其進行管控。本文提出了區(qū)塊鏈技術下風電機組全生命周期溯源管控方法。該方法通過分析風電機組數(shù)據(jù)存儲區(qū)塊結(jié)構(gòu),建立區(qū)塊鏈生產(chǎn)與運行數(shù)據(jù)存儲模式。將風電機組的全生命周期分為采購設計、生產(chǎn)、運營這3個階段,以此構(gòu)建風電機組全生命周期溯源鏈。通過對風電機組全生命周期溯源鏈的上層數(shù)據(jù)的逆轉(zhuǎn)換和多次讀取,可以獲取風電機組源頭數(shù)據(jù)。根據(jù)溯源結(jié)果執(zhí)行管控工作,可以實現(xiàn)風電機組全生命周期溯源管控。由試驗結(jié)果可知,本文方法在管控方面具有明顯優(yōu)勢,對于提高風電機組的運行性能具有積極意義。