專利名稱:一種風電機組控制軟件異常行為檢測與導向安全方法
技術領域:
本發(fā)明涉及風力發(fā)電機組安全與保護技術領域,尤其涉及風電機組控制軟件運行時安全性檢測與處理。
背景技術:
隨著風能開發(fā)利用的不斷深入,我國風電場建設朝高海拔、海上等風速變化劇烈、強雷電地區(qū)拓展。劇烈變化的風速使風電機組發(fā)電系統(tǒng)輻射強度更大的電磁波;強雷電直接形成強大的電磁干擾。盡管風電機組控制計算機系統(tǒng)進行了抗電磁干擾方面的處理,但是由于電場耦合、磁場耦合、公共阻抗耦合難于消除,強電磁干擾將使控制計算機程序跑飛的概率增加,控制程序跑飛后,將引起控制行為的混亂。同時,由于監(jiān)控、調(diào)度的需要,風電機組控制計算機系統(tǒng)普遍接入網(wǎng)絡,出于競爭、利益、好事、情緒發(fā)泄等原因,風電機組控制器面臨各種在線攻擊。盡管可以通過通信與數(shù)據(jù)安全手段進行一定強度的防御,但由于系統(tǒng)安全缺陷與軟件漏洞總會存在,在計算機領域,目前尚不能有效防范攻擊者利用這類安 全脆弱點取得系統(tǒng)控制權。一旦攻擊者成功入侵機組控制系統(tǒng),將可能運行惡意代碼,干擾機組的控制,使機組的控制陷入紊亂。無論是機組控制計算機程序跑飛,還是運行惡意指令,均是偏離控制源程序意圖,是異常行為。現(xiàn)有風電機組應對軟件異常行為主要依賴看門狗技術,程序如果不能在規(guī)定的時間內(nèi)輸出信號使看門狗復位,看門狗輸出信號觸發(fā)機組安全鏈,通過緊急停機對機組進行保護。但大型機組緊急停機,將會對機組的制動系統(tǒng)、齒輪箱、主軸和葉片以及塔架產(chǎn)生強烈的沖擊,增加部件的載荷和疲勞,影響部件壽命,需要盡量避免。更為嚴峻的是,看門狗只能檢測出控制軟件執(zhí)行周期異常,粒度過粗,檢出蓄意破壞的能力薄弱。因而需要考慮引入新的機制檢測并應對軟件異常行為,為機組安全提供保障。從理論上說,可以在風電機組控制計算機中部署檢測軟件進行異常行為檢測與處理。但實際上,一方面,出于可靠性考慮,機組控制普遍采用PLC控制系統(tǒng),其計算資源有限,難于實現(xiàn)自身安全的檢測軟件平臺,當控制程序被破壞時,檢測程序本身有可能已被破壞,失去功能;另一方面,需要控制軟件配合(如函數(shù)簽名,插裝)才能實現(xiàn)檢測功能,須要對已有的機組控制軟件進行改寫,而風電機組對安全的苛求,控制軟件更改后需要經(jīng)過嚴格的測試與驗證才能應用,代價十分高昂,需要盡量避免。隨著技術的發(fā)展與進步,目前越來越多的PLC主控制器都能輸出本身所執(zhí)行的指令流,這為本發(fā)明提供了契機。
發(fā)明內(nèi)容
本發(fā)明的目的在于提出一種風電機組控制軟件異常行為檢測與導向安全方法,該方法可以檢測風電機組主控制器軟件跑飛或執(zhí)行計劃外代碼的異常行為,并在這類異常發(fā)生時將機組導向安全。為達此目的,本發(fā)明采用以下技術方案構(gòu)建獨立于機組控制器的軟件異常行為檢測與應對系統(tǒng),與機組控制器并行運行。首先由異常檢測模塊檢出控制軟件運行期的異常行為,其檢測方法是,將主控制器交付運行的指令逐條與機組控制軟件二進制源代碼進行比對,如果主控制器輸出的指令違背控制流圖或者不符合基本塊內(nèi)部指令順序關系,則是發(fā)生異常行為。然后導向安全模塊收到異常檢出信號,由通信通路管理模塊切斷主控制器與通信模塊的通信,建立導向安全模塊與通信模塊的通信,采用導向安全方法將風電機組按正常停機模式停機。整個過程和各個模塊獨立于機組主控制器自治運行,控制軟件正常運行時裝置對主控系統(tǒng)無干擾。本發(fā)明的有益效果是,首先軟件異常行為檢測的各個模塊獨立于機組控制軟件,這樣不需要對機組控制軟件做任何改動。然后軟件異常行為檢測方法能有效地檢測出軟件的異常行為。最后導向安全方法能夠在檢測出機組控制軟件行為異常時,實時地將機組導向安全。
圖I是本發(fā)明具體實施方式
中軟件異常行為檢測與應對系統(tǒng)的體系結(jié)構(gòu)。圖I中, ①表示指令流;②表示異常檢出信號;③表示主機關機信號;④表示傳感器信號表示通路切換信號表示機組控制信號。圖2是本發(fā)明具體實施方式
中軟件異常行為檢測原理。圖3是本發(fā)明具體實施方式
中通信通路切換原理圖。
具體實施例方式下面結(jié)合附圖并通過具體實施方式
來進一步說明本發(fā)明的技術方案。圖I是本發(fā)明具體實施方式
中軟件異常行為檢測與應對系統(tǒng)的體系結(jié)構(gòu)。如圖I所示,該結(jié)構(gòu)包括機組主控制器101,異常行為檢測與應對系統(tǒng)102,通信模塊103,其中異常行為檢測與應對系統(tǒng)進一步包括異常檢測模塊121,通信通路管理模塊122,導向安全模塊 123。通信模塊103對應PLC的通信板卡,通信功能自治;機組主控制器101和異常行為檢測與應對系統(tǒng)102是PLC主機板卡的核心部件;異常行為檢測與應對系統(tǒng)102獨立于機組主控制器101,與之并行運行。異常行為檢測與應對系統(tǒng)102在主機控制器運行期實時檢測機組控制軟件是否發(fā)生行為異常,檢測具體表現(xiàn)為機組主控制器101在控制軟件運行期間時刻向異常檢測模塊121發(fā)出指令流①。未檢出異常時,異常檢測模塊121不發(fā)出任何指令,這樣達到異常行為檢測與應對系統(tǒng)102對系統(tǒng)控制不進行任何干預的目的。如果檢測出異常,異常檢測模塊121向?qū)虬踩K123發(fā)送異常檢出信號②;導向安全模塊123在收到異常檢出信號②后,按照事先定義的異常應對方法,向機組各執(zhí)行器件發(fā)送控制指令,向主控制器101發(fā)送主機關機信號③,向通信通路管理模塊122發(fā)送通路切換信號⑤和機組控制指令⑥;這時通信通路管理模塊122向機組主控制器101和通信模塊103發(fā)出機組控制指令⑥,屏蔽機組主控制器101對機組的控制,由異常行為檢測與應對系統(tǒng)102接管機組控制,同時接收機組主控制器101、通信模塊103收集的傳感器信號④,再將傳感器信號④發(fā)送給導向安全模塊123,由導向安全模塊123根據(jù)傳感器信號④的實時信息制定相應的停機策略,將機組導向安全。
實現(xiàn)異常行為檢測與應對系統(tǒng)102對控制的接管。在正常情況下,機組主控制器101與通信模塊103之間的通信保持暢通,而切斷異常行為檢測與應對系統(tǒng)102與通信模塊103之間的通信,機組主控制器101控制機組;在軟件發(fā)生異常行為的情況下,切斷主控制器101與通信模塊103之間的通信,而導向安全模塊123與通信模塊103之間的通信保持暢通,異常行為檢測與應對系統(tǒng)102控制機組。圖2是本發(fā)明具體實施方式
中軟件異常行為檢測原理。如圖所示,該原理圖包括二進制源代碼201,靜態(tài)分析202,基本塊與控制流圖文件203,文件格式化204,異常檢測模塊205,機組控制計算機206,導向安全模塊207。其中異常檢測模塊進一步包括動態(tài)指令偵聽模塊251,指令格式化252,參照文件253,比對邏輯254。預處理離線進行,對控制軟件的二進制代碼201進行靜態(tài)分析202,生成控制流圖文件203,同時給出每個節(jié)點(基本塊)的具體內(nèi)容;為配合檢測系統(tǒng)的實現(xiàn),使檢測系統(tǒng)能兼容各種系統(tǒng),將基本塊與控制流圖文件203進行文件格式化204轉(zhuǎn)換,無論系統(tǒng)采取何種指令集,轉(zhuǎn)換后用統(tǒng)一的格式表達基本塊之間的轉(zhuǎn)移關系,用統(tǒng)一的格式表達基本塊內(nèi)的指令,形成比對參照文件253。文件格式化模塊204對基本塊與控制流圖文件203進行 格式轉(zhuǎn)換與封裝,使比對邏輯254能理解程序控制流圖,同時抑制比對邏輯的復雜性。由于異常檢測模塊基于FPGA實現(xiàn),如果直接將主控制器輸出的32位長的指令與源代碼對比,異常檢測模塊的邏輯將十分復雜。異常檢測的本質(zhì)是獲知控制器執(zhí)行的指令順序是否符合預期,對指令的具體內(nèi)容不敏感,只要能區(qū)分指令順序就能滿足檢測需要,可以替代表達。用X=hash_4 (instruction)表示對指令instruction進行哈希值位長為4的哈希運算,其結(jié)果是X,那么用X置換對應的指令是一種等效置換,置換后的基本塊稱為等效基本塊。異常檢測模塊205是獨立于機組控制計算機206的裝置,與機組控制計算機206并行運行,在線進行機組控制計算機206非預期行為檢測。動態(tài)指令偵聽模塊251實時獲取機組控制計算機處理器輸出的指令流,并實現(xiàn)與后繼處理過程的同步。指令格式化252實現(xiàn)將來自機組控制計算機的每條指令instruction進行hash_4 (instruction)運算,將得到的4位組數(shù)據(jù)流送往比對邏輯254。比對邏輯254以參照文件253為模板,對指令格式化252交付的指令逐條進行合法性判斷,如果發(fā)現(xiàn)不符合控制流圖或基本塊內(nèi)容,異常檢測模塊254向?qū)虬踩K207輸出異常檢出信號,由導向安全進行后繼處理。為了確保異常檢測模塊205能捕獲機組控制計算機206運行的首條指令,在異常檢測模塊205就緒后向機組控制計算機206發(fā)送“允許啟動信號”,允許機組控制計算機206啟動。在檢出機組軟件行為異常時,通過正常停機將機組導向安全。為了避免緊急停機給風電機組造成巨大沖擊,在異常檢測模塊檢出機組控制軟件行為發(fā)生異常時,實現(xiàn)機組按正常停機模式停機。當異常檢測模塊輸出“異常檢出信號”時,導向安全模塊按以下步驟將機組導向安全。第一步,向通信通路管理模塊發(fā)出通信通路切換信號,以屏蔽主控制器與通信模塊的通信,建立異常應對模塊與通信模塊的雙向通信;與此同時,向機組主控制器發(fā)主機控制信號,使主控制器停機;第二步,異常應對模塊向機組傳感器取當前節(jié)距角、主軸轉(zhuǎn)速(發(fā)電機轉(zhuǎn)速)、剎車位置傳感數(shù)據(jù),為正常停機提供必要參數(shù);第三步,執(zhí)行機組正常停機流程。針對具體機型,異常應對模塊實現(xiàn)具體的正常停機流程;第四步,異常行為檢測與應對模塊復位,主機控制器與通信模塊通信鏈路接通,使主機控制器下一次啟動時能正確控制機組。通過這些步驟的操作,機組按正常停機模式停機,并為下次開機做好準備。整個過程,不需要主控制器干預,獨立于機組主控制器及其軟件。圖3是本發(fā)明具體實施方式
中通信通路切換原理圖。如圖3所示,該結(jié)構(gòu)主要包括機組主控制器301,異常行為檢測與應對系統(tǒng)302,通信卡板303,開關邏輯1304和開關邏輯2305開關邏輯,異常行為檢測與應對系統(tǒng)還包括異常檢測模塊321,導向安全模塊322和通信通路管理模塊323。系統(tǒng)運行中,機組的控制需要在機組主控制器301和異常行為檢測與應對系統(tǒng)302間切換。為使切換過程與機組主控制器301無關,以保證機組控制軟件無須更改,通過對通信通路管理模塊323的調(diào)用來實現(xiàn)控制切換。機組主控制器中軟件運行正常的情況下,導向安全模塊322靜默,通信通路管理模塊323輸出開關控制信號使開關邏輯1304中的“開關”閉合,開關邏輯2305中的“開關”斷開,機組主控制器301與通信板卡303的通信鏈路暢通,異常行為檢測與應對系統(tǒng)302與通信板卡303通信鏈路斷開,由機組主控制器301控制機組;機組主控制器中的軟件行為異常時,在導向安全模塊322輸出的通信通路切換信號激勵下,通信通路管理模塊323輸出控制信號使開關邏輯1304中的“開 關”斷開,開關邏輯2305中的“開關”閉合,機組主控制器301與通信板卡303的通信鏈路斷開,異常行為檢測與應對系統(tǒng)302與通信板卡303通信鏈路暢通,由異常行為檢測與應對系統(tǒng)302控制機組;系統(tǒng)復位時,等效于機組主控制器中軟件運行正常的情況,通信通路配置為機組主控制器控制機組。
權利要求
1.一種風電機組控制軟件異常行為檢測與導向安全方法,其特征在于,包括以下步驟A、取機組主控制器實時輸出的自身所執(zhí)行的指令流到異常行為檢測與應對系統(tǒng),該系統(tǒng)通過指令路徑分析而檢出軟件異常行為;B、異常行為檢出后,異常行為檢測與應對系統(tǒng)進行通信通路切換,實現(xiàn)對機組控制的接管;C、異常行為檢測與應對系統(tǒng)接管機組控制后,通過安全停機方法,將機組導向安全。
2.根據(jù)權利要求I步驟A、B、C所述的異常行為檢測與應對系統(tǒng),其特征在于,異常行為檢測與應對系統(tǒng)是硬件上獨立于風電機組主控制器的計算機系統(tǒng),與風電機組主控制器并行運行。
3.根據(jù)權利要求I步驟A所述的指令路徑分析,其特征在干,將風電機組主控制器執(zhí)行的指令逐條與機組控制器軟件ニ進制源代碼按順序進行指令比對,如果發(fā)現(xiàn)主控制器執(zhí)行的指令不是機組控制軟件ニ進制源碼給出的可能的程序執(zhí)行路徑之一,判斷為軟件異常行為。
4.根據(jù)權利要求I步驟B所述的通信通路切換,其特征在干,由異常行為檢測與應對系統(tǒng)切斷機組主控制器與機組控制執(zhí)行機構(gòu)的通信,并建立異常行為檢測與應對系統(tǒng)與機組控制執(zhí)行機構(gòu)的通信。
5.根據(jù)權利要求I步驟C所述的安全停機方法,其特征在于,首先由異常行為檢測與應對系統(tǒng)令風電機組主控制器停機,然后由異常行為檢測與應對系統(tǒng)令風電機組按正常停機模式停機。
全文摘要
本發(fā)明公開了一種風電機組控制軟件異常行為檢測與導向安全方法,用于機組主控制器軟件運行時安全性檢測與處理。該方法要點是1)首先,取機組主控制器實時輸出的自身所執(zhí)行的指令流到獨立于風電機組主控制器的異常行為檢測與應對系統(tǒng),該系統(tǒng)通過發(fā)現(xiàn)機組主控制器執(zhí)行的指令偏離控制軟件二進制源碼而檢出軟件異常行為;2)異常行為檢出后,異常行為檢測與應對系統(tǒng)通過對通信通路的切換實現(xiàn)對機組控制的接管;3)異常行為檢測與應對系統(tǒng)接管機組控制后,首先令機組主控制器停機,然后令風電機組按正常停機模式停機。采用本發(fā)明的技術方案,能實時檢出機組主控制器軟件跑飛或執(zhí)行計劃外代碼的異常行為,并將機組導向安全。
文檔編號G06F11/36GK102831050SQ201110158128
公開日2012年12月19日 申請日期2011年6月14日 優(yōu)先權日2011年6月14日
發(fā)明者蘇永新, 羅培嶼, 段斌 申請人:湘潭大學