風電作為一種清潔能源,備受各國關注,近年來,在降低碳排放、能源結構轉型的背景下,風電行業實現了快速的發展。
通常,可以將風力發電產業鏈分解為上游的零組件,中游的風力發電設備以及下游的風電運營三大部分。
本文將圍繞中游的風力發電設備開展論述,綜合的看一看 MATLAB/Simulink 所提供的解決方案。
從風力發電設備的生命周期視角出發,我們首先介紹在風力發電設備的研發中 MATLAB/Simulink 的使用,然后介紹風力發電設備的運維階段的使用情況。
風力發電設備的研發
基于模型的設計 (Model-Based Design, MBD)
風力發電設備的控制系統是一個復雜系統,不僅要根據風速和風向的變化對機組進行優化控制,還需要實現并網與脫網控制,整體上確保機組運行過程的安全性和可靠性,以及滿足機組的運行效率和發電質量要求。
基于模型的設計方法是進行這種復雜系統開發的有效手段,適用于前面提到了優化控制、并網與脫網控制等復雜系統的開發,已經在風電行業得到了比較廣泛的應用。
先來看看用戶是怎么說的——
“With Simulink and Embedded Coder, we can show our customers and grid operators a simulation that incorporates the actual code that will run in our power plant controller. That’s what grid operators want, and it gives Vestas an advantage over competitors who still use conventional approaches.” Per Hagen Nielsen, Vestas
參考案例: Vestas 采用基于模型設計方法和持續集成平臺開發風電場控制軟件[1]
簡單來說,基于模型的設計是以模型為工程語言開展的工程設計。
其核心是對系統進行模型化描述——建模,通過仿真,在系統設計初期就開展系統的確認和測試活動;進一步,采用自動代碼生成技術,將系統實現以及后續的集成測試、交付測試進行自動化。
基于模型設計的工作流程可參考上圖左半部分,按照需求-設計-實現-集成的順序開展,過程中貫穿了測試和確認活動,同時,基于模型設計與 V 流程的對應關系可以參考圖示右半部分。
MathWorks 官方網站上,專門有一個系列視頻對基于模型的設計在風力發電設備的開發的應用進行了說明:Developing Wind Power Systems Using MATLAB and Simulink[2]
正如視頻中展示的那樣,基于模型的設計使團隊能夠使用仿真來更全面地測試和驗證系統,從而實現更健壯的設計。
同時也可以看到,在 MATLAB/Simulink 環境下,可以對包含風模型、葉片、發電機、電網、控制系統等多領域組件、完整的風力發電系統進行建模。
與這個視頻相對應的完整模型文件,可以訪問 Wind Turbine Model[3] 獲取。
更多視頻還有:Simulink 平臺下變速型風力發電機的建模與仿真實現[4], 基于 MATLAB/Simulink 平臺的電力系統建模及控制系統設計[5], Optimizing a Wind Turbine Blade Pitch Control System[6]
當風機的負載模型是通過其它工具搭建的時候,比如 Bladed、FAST,在 Simulink 下開發的控制模型也可以很好的與之集成,從而構建完整的系統模型,開展后續的控制系統軟件開發和驗證等工作。
Simulink 與 Bladed 軟件的集成:參考 Bladed 的使用手冊(User Manual),我們可以了解到,通過Bladed的控制模塊,可以將負載模型線性化,并將線性化的輸出轉化為狀態空間模型,這樣就可以在 Simulink 中使用這個狀態空間模型做為負載模型開展完整的控制系統建模。
反之,當我們在 Simulink 中完成了控制系統的算法設計,也可以通過 MATLAB/Simulink 提供的編譯工具,將控制算法模型生成可被 Bladed 調用的 dll。
同樣,對于在 FAST 開展的外部控制器設計,也可以在 Simulink 中完成。即將 FAST 的負載模型生成可在 Simulink 中使用的 S-Function,開展后續的控制系統的算法設計和實現。
NREL(National Renewable Energy Laboratory,美國可再生能源國家實驗室)發布的“Advanced Control Design for Wind Turbines ”[7] 以及 FAST 的使用手冊[8]提供了更豐富的 Simulink 與 FAST 聯合開展風機控制系統設計的信息。
另外,當開展風機并網、脫網系統建模時,PSCAD 也是一個常用的工具,通過 MathWorks 提供的咨詢服務,可以將在 Simulink 下開發的復雜控制模型編譯成(Build)可在 PACAD 中直接使用的仿真組件,從而在 PSCAD 中開展確認和驗證。
說到 MATLAB/Simulink 與其它工具的聯合使用,采用 FMI/FMU 的模型交換機制,是一個很好的解決方案。MATLAB/Simulink 通過 Simulink Compiler[9] 工具,提供了對該項功能的支持。
作為支撐基于模型設計的核心技術——自動代碼生成,是保持詳細設計和系統實現(軟件)一致的一項關鍵技術。
MathWorks 提供的代碼生成相關工具和軟件部署工具已經非常豐富,支持面向 CPU/MCU/DSP 等的 C、C++ 的代碼生成,也有支持面向 GPU、PLC 的代碼生成工具,而面向可編程邏輯 FPGA 的 HDL 代碼生成工具也非常成熟。當然,如果開發面向邊緣計算和云端的應用,也有特定的工具提供支持。
在本公眾號下搜索“基于模型設計”, 您將獲取更豐富的有關 MBD[10] 的詳細內容。
構建基于模型設計的研發環境
從方法論的角度,我們比較容易把握基于模型設計(MBD)的基本原理和核心內容,但將MBD完整地融進企業的研發體系中,仍然存在很大的挑戰。
Vestas 作為風電行業比較早使用 MATLAB/Simulink 開展工程研發的企業,它在建立 MBD 研發環境過程中獲取的經驗,也許能為行業內想要部署 MBD 的企業提供參考—— A Journey with Model Based Design [11]
為了幫助用戶構建MBD研發環境,MathWorks 在 2007 年就發布了題為 Establishing a Model-Based Design Culture [12] 的文章,在對多個行業部署 MBD 的觀察和經驗總結的基礎上,提出了十條最佳實踐,可以作為企業構建 MBD 研發環境的策略指導:
#1 - Identify the problem you are trying to solve
#2: “Rule of Two”
#3: Use models to generate production code
#4: Models are the sole source of truth
#5: Use the transition as a learning opportunity
#6: Focus on design instead of coding
#7: Integrate the development process
#8: Designate a champion who has influence and budgetary control
#9: Have a long-term vision
#10: Partner with tools suppliers
對于小型團隊,How Small Engineering Teams Adopt Model-Based Design[13] 是一個很好的操作指南;而來自 MathWorks 咨詢團隊的 Roger Aarenstrup 編寫的 Managing Model-Based Design[14] 一書,則可作為所有團隊管理者的 MBD 參考手冊。
MBD 的方法和當前研發團隊采用的敏捷開發理念或流程也可以很好的融合——利用基于模型設計實現敏捷系統開發[15]。
MBD 可以將敏捷原則延伸到包括物理組件和軟件在內的系統開發工作,與 Jenkins、Git 這樣的工具進行集成,在 Simulink Project 項目管理工具的支持下,構建出支持 CI/CD 開發實踐的、高度自動化的工具鏈/平臺。
持續集成(CI)用于 Simulink 模型驗證[16]這篇文章詳細闡述了相關的功能組件和 CI/CD 環境構建過程。
MBD研發環境的構建,不僅涉及工具層面的定制、研發流程方面的重新定義,也涉及跨團隊/專業方面的協作機制制定(Team-Based Collaboration in Model-Based Design[17]),還會有改變研發方式所帶來的工程人員技能提升方面的工作。
可以說,MBD 研發環境構建,是一項復雜的、涉及多種因素的系統工程,我們推薦采用分步實施的方式,逐層遞進式的在團隊內部開展 MBD 的實施 —— Phased Approach to Model-Based Design Adoption[18]。
當然,在構建MBD研發環境方面,MathWorks 也提供咨詢服務幫助用戶快速完成研發轉型 —— Model-Based Design Process Establishment[19]。
再提系統仿真
實施 MBD 的一個基礎是需要有系統模型,而系統模型一方面可以用于開展基于 MBD 的嵌入式軟件開發,另外還有一個很重要的應用就是構建數字孿生模型,開展更為豐富的系統分析和確認工作,包括設計優化、系統參數估計、系統辨識等。
魁北克水電公司 (Hydro-Québec) [20]建立風機模型和并網模型,同時使用代碼生成進行仿真加速(實時),與其它工具聯合,進行并網方案的評估和確認,其中的實時仿真讓大規模風機并網仿真可以進行。
西班牙能源集團(Naturgy Energy Group S.A.,原西班牙天然氣公司)[21], 利用系統仿真,在綜合考慮電力生產和電力消費背后的影響因素后,通過優化電力生產和分配策略,獲取最大收益。
Senvion [22]利用系統仿真開展模型的確認活動,支持展示風力發電廠對標準的符合性,如 IEC 61400-27。
談及風電系統的系統級建模仿真,往往涉及多個物理域:機械、電子/電氣、軟件…,也將會涉及到連續、離散、狀態機、消息、異步事件等仿真機制問題,我們推薦您使用 Simulink 來構建系統模型。
Simulink 是支持復雜系統建模和仿真的集成環境,不僅能夠覆蓋多個物理域、多種仿真機制,也提供了豐富的垂直應用的模型庫,方便用戶快速構建系統模型,同時,它也具有豐富的對外接口,可以將很多其它工具的已有成果,納入到 Simulink 的仿真框架里面來協同工作。
一般來說,復雜系統的建模和仿真往往涉及多個團隊或多個不同領域工程師的協作,以及仿真效能問題。
Simulink 有很多特性和功能可以幫助使用者,在仿真性能、模塊化開發、團隊協作以及知識共享方面提供支持,比如提供并行計算工具支持仿真加速,提供 Model Referencing[23]這樣的機制幫助實現模塊化開發,以及 Simulink Projects[24],促進不同領域或團隊之間模型和數據的協同。
風力發電設備的運維
隨著傳感技術和數據采集技術的發展,基于數據開展的風力發電設備的預測性維護已得到廣泛認可。
相比以往的響應式維護(Reactive Maintenance)和預防式維護(Preventive Maintenance), 預測性維護(Predictive Maintenance)利用傳感數據追蹤設備狀態,實時采集、計算各類數據指標,使設備故障在早期階段就能被發現,有效避免突發故障引起的各類維護成本。
韓國能源研究所(Korea Institute of Energy Research,KIER)[25]利用海上風機有限數量傳感器的數據,采用機器學習和深度學習方法,對風機組件狀態進行預測,并進行剩余壽命預測。
隨 MATLAB 發布的示例——風力發電機組軸承的剩余壽命預測(RUL)[26],比較完整的展示了從數據獲取、數據預處理、特征提取(使用了面向旋轉機械常用的特征——譜峭度 kurtosis)、特征融合和降維,到RUL建模的全過程,感興趣的讀者也可以直接在 MATLAB 命令行下輸入 web(fullfile(docroot, ‘predmaint/ug/wind-turbine-high-speed-bearing-prognosis.html’)) 打開該示例獲取完整的操作程序和說明。
概括來說,MATLAB 在數據分析[27]方面,提供了面向數據應用的完整工具鏈,覆蓋數據獲取、預處理、建模以及部署。
對于預測性維護這樣的應用,MATLAB 從 R2018a 版本開始提供專門的工具幫助用戶開發相關應用 —— Predictive Maintenance Toolbox[28]。
“工欲善其事必先利其器”,高效便捷地開展數據分析離不開好的工具,MATLAB 豐富的 App 體系以及 Live editor task 這樣的功能,支持在不編寫代碼的情況下就開展各類數據分析,提高數據分析的效率,并大大降低開展數據分析的編碼工作量。
探索更多內容
工業物聯網(IoT)[29]、人工智能(AI)[30]、數字孿生(Digtial Twin)[31]、工業4.0(Industry 4.0) [32]等這些與數字轉型相關的技術和概念也在深刻的影響著風電行業,MathWorks在這些領域也在進行著持續的投入,歡迎您與我們取得聯系,深入探討相關話題,向您分享我們與眾多客戶深入協作所收獲的實踐經驗,并提供我們的解決方案。
責任編輯:haq
-
matlab
+關注
關注
185文章
2974瀏覽量
230385 -
模型
+關注
關注
1文章
3226瀏覽量
48809 -
代碼
+關注
關注
30文章
4779瀏覽量
68524
原文標題:MATLAB/Simulink 在風電行業中的應用
文章出處:【微信號:MATLAB,微信公眾號:MATLAB】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論