一種風電機組聯合仿真系統通信接口實現方法
【專利摘要】本發明涉及一種風電機組聯合仿真系統通信接口實現方法,所述方法包括:(1)設置Bladed及MATLAB仿真時間;(2)啟動Bladed穩態仿真后,啟動Bladed暫態仿真;(3)啟動MATLAB仿真;(4)通信握手;(5)數據交互;(6)斷開機械模型與電氣模型之間基于UDP協議的通信連接。本發明通過建立UDP?Socket通信,將在Bladed平臺中建立的風電機組機械模型和在MATLAB平臺中建立的電氣模型統一起來,利用了兩個軟件各自的優勢,仿真結果更加接近實際風電機組運行結果。機械模型與電氣模型之間的數據傳輸采用UDP網絡傳輸協議,通信速度快,實時性高,對系統資源的要求較少,滿足仿真速度的要求,且程序結構比較簡單。
【專利說明】一種風電機組聯合仿真系統通信接口實現方法
【技術領域】
[0001]本發明屬于新能源風力發電領域,具體講涉及一種風電機組聯合仿真系統通信接口實現方法。
【背景技術】
[0002]根據國家能源局(2010) 433號文《風電機組并網檢測管理暫行辦法》要求,只有通過并網性能檢測的風電機組方可并網運行。同一型號的風電機組只需檢測其中一臺,發電機、變流器、主控制系統、變槳控制系統和葉片等影響并網性能的技術參數發生變化的風電機組視為不同型號,需要重新檢測。而我國風電機組制造商多,風電機組型號配置比較靈活,對風電機組低電壓穿越檢測工作帶來了巨大的壓力。《風電機組低電壓穿越能力一致性評估方法(暫行)》的實施,緩解了風電機組更換部件后重新檢測的壓力,對同型號風電機組可采用模型校驗和仿真的方式分析風電機組低電壓穿越性能。
[0003]目前,風電機組的建模仿真基本都在單一軟件平臺上進行。GHBladed軟件和MATLAB軟件是常用的風電機組建模仿真工具,Bladed的優勢在于對風機葉片、傳動鏈等機械部件的建模、分析和計算,且多為風機設計所用,因此可保證風機模型與實際風機的高度一致性。MATLAB軟件廣泛用于目前風電機組的低電壓穿越模型的建模。如果能利用兩個軟件各自的優勢,在Bladed平臺建立風電機組機械模型,在MATLAB平臺建立風電機組電氣模型,進行聯合仿真,運行結果將會更加真實地反應風電機組的特性。要實現聯合仿真技術,首先要解決的問題就是不同軟件平臺之間的通信問題。目前急需提供一種切實可行的通信方法實現風電機組聯合仿真技術。
【發明內容】
[0004]針對現有技術的不足,本發明提供了一種風電機組聯合仿真系統通信接口實現方法,實現用于聯合仿真的兩個仿真平臺的同步運行。聯合仿真中,風電機組的機械模型在GHBladed軟件平臺中搭建,電氣模型在MATLAB軟件平臺中搭建,通過基于UDP協議的WindowsSocket接口,以阻塞的通信方式進行風電機組的機械模型與電氣模型之間的數據交互。通信接口以動態鏈接庫的形式被模型調用,UDP通信速度快,對系統資源的要求較少,且程序結構比較簡單。另外,兩模型不局限于在同一臺電腦上運行。本發明的目的是采用下述技術方案實現的:
[0005]一種風電機組聯合仿真系統通信接口實現方法,其改進之處于,所述方法包括:
[0006](I)設置 Bladed 及 MATLAB 仿真時間;
[0007](2)啟動Bladed穩態仿真后,啟動Bladed暫態仿真;
[0008](3 )啟動 MATLAB 仿真;
[0009](4)通信握手;
[0010](5)數據交互;
[0011](6)斷開機械模型與電氣模型之間基于UDP協議的通信連接。[0012]優選的,所述步驟(4)通信握手過程機械模型作為接收端,電氣模型作為發送端。
[0013]優選的,所述步驟(4 )包括
[0014](4.1)檢查系統協議棧的安裝;
[0015](4.2)創建套接字;
[0016](4.3)將套接字綁定到指定地址與端口 ;
[0017](4.4)電氣模型發送數據報文到機械模型的預設端口,接收端收到來自發送端的連接數據報文后,回發連接數據報文到發送端,發送端收到來自接收端的連接數據報文后,通信連接握手過程完成。
[0018]優選的,所述步驟(5 )包括
[0019](5.1)機械模型傳輸數據至電氣模型;
[0020](5.2)電氣模型得到數據進行仿真;
[0021](5.3)電氣模型反饋仿真結果,將實際數據發送到機械模型;
[0022](5.4)機械模型得到數據反饋,進行下一周期仿真。
[0023]優選的,所述步驟(6 )包括
[0024]關閉套接字,將相應的名字信息及數據隊列釋放;
[0025]結束Winsock API的使用,釋放為應用程序分配的資源。
[0026]進一步地,所述步驟(4.1)包括檢查系統協議棧的安裝情況,完成對Winsock服務的初始化;
[0027]所述步驟(4.2)根據指定的地址族、數據類型和協議創建套接字。
[0028]進一步地,接收到的數據報文進行有效性檢驗,數據報文無效時,通信握手失敗,報出錯信息,Bladed進入自由運行狀態。
[0029]進一步地,所述當前周期接收、發送序列號不一致,則數據無效,Bladed進入自由運行狀態;接收、發送序列號一致,則數據有效,進行聯合仿真計算。
[0030]進一步地,所述發送端和接收端的每個數據報文均封裝協議頭,用于傳輸數據信息正確性的判斷。
[0031]進一步地,所述封裝協議頭包括通信標識ID和數據長度。
[0032]與現有技術比,本發明的有益效果為:
[0033]通過建立UDP Socket通信,將在Bladed平臺中建立的風電機組機械模型和在MATLAB平臺中建立的電氣模型統一起來,利用了兩個軟件各自的優勢,仿真結果更加接近實際風電機組運行結果。
[0034]機械模型與電氣模型之間的數據傳輸采用UDP網絡傳輸協議,通信速度快,實時性高,對系統資源的要求較少,滿足仿真速度的要求,且程序結構比較簡單。
[0035]風電機組聯合仿真交互數據有效性識別方法包括通信標識ID識別及數據包序列號判斷,確保了參與聯合仿真運行數據的正確性,保證了聯合仿真結果的真實有效。
【專利附圖】
【附圖說明】
[0036]圖1為本發明提供的一種風電機組聯合仿真系統通信接口結構圖。
[0037]圖2為本發明提供的一種風電機組聯合仿真系統通信接口實現方法基于UDP協議的Socket編程流程圖。[0038]圖3為本發明提供的一種風電機組聯合仿真系統通信接口實現方法接收數據識別流程圖。
【具體實施方式】
[0039]下面結合附圖對本發明的【具體實施方式】作進一步的詳細說明。
[0040]如圖1所示,本發明一種風電機組聯合仿真系統通信接口實現方法通過基于UDP協議的阻塞式Socket通信,完成在不同軟件平臺上建立的風電機組機械模型與電氣模型之間的信息通訊。通信接口實現機械模型與電氣模型之間仿真計算數據的交互和仿真時間的同步。
[0041]聯合仿真時首先啟動基于Bladed平臺的機械模型仿真,Bladed初始化完成后,再啟動基于MATLAB平臺的電氣模型仿真,否則將判定為聯合仿真握手通信超時。具體流程如下:
[0042]1、通信握手過程:首先檢查系統協議棧的安裝情況,完成對Winsock服務的初始化;再根據指定的地址族、數據類型和協議創建套接字,其中使用協議為UDP ;然后將創建的套接字綁定到一個本地地址和端口上。通信握手過程機械模型作為接收端,電氣模型作為發送端。發送端發送數據報文到接收端的預設UDP端口,接收端成功收到來自發送端的連接數據報文后,回發連接數據報文到發送端,發送端成功收到來自接收端的連接數據報文后,通信連接握手過程完成。其中,接收到的數據報文進行有效性檢驗,數據報文無效時,通信握手失敗。
[0043]2、數據交互過程:成功建立機械模型與電氣模型之間的通信連接后,開始聯合仿真運行。在聯合仿真有效時間內,機械模型設置轉矩與發電機轉速,發送到電氣模型。電氣模型得到轉矩與轉速指令,進行仿真。電氣模型反饋仿真結果,將實際轉矩與實際功率發送到機械模型,等待機械模型給出指令。機械模型得到轉矩與功率反饋,進行下一步仿真并將結果傳遞給電氣模型。如此循環下去,直到仿真時間結束。
[0044]3、斷開機械模型與電氣模型之間基于UDP協議的通信連接:關閉套接字,將相應的名字信息及數據隊列釋放;結束Winsock API的使用,釋放為應用程序分配的資源。
[0045]如圖2所述,為本發明基于UDP協議的Socket編程流程圖。
[0046]在通信握手階段,若成功建立了機械模型與電氣模型之間的通信連接,則進行聯合仿真運行。若未能成功建立機械模型與電氣模型之間的通信連接,Bladed平臺進入自由運行狀態,直到仿真時間結束,仿真結果無效。
[0047]發送端和接收端的每個數據報文均封裝協議頭,用于傳輸數據信息正確性的判斷。封裝的協議頭包括:通信標識ID、數據長度。
[0048]接收數據識別具體流程如圖3所示,當接收到數據報文后進行標識識別,對識別不通過的數據丟棄處理,中斷機械模型與電氣模型之間的通信連接,Bladed平臺進入自由運行狀態,直到仿真時間結束,仿真結果無效。如果通過標識識別,則將原始數據從接收數據緩沖區取出,用于下一步的數據處理。機械模型與電氣模型之間的通信數據包結構中包含一序列號變量,如果讀取數據的序列號與發送數據的序列號不一致,則讀取的數據無效,Bladed平臺進入自由運行狀態。如果讀取數據的序列號與發送數據的序列號一致,則讀取的數據有效,進行聯合仿真計算。下一周期數據傳輸時將數據包序列號加1,用于下一周期的數據有效性檢驗。
[0049]本專利中使用的編程和編譯環境是VS6.0,將由C編寫的源代碼編譯即可得到DLL文件。在搭建Bladed環境時,將Bladed的Generator設置成外部DLL模式即ExternalDLL,并將動態鏈接庫地址修改為DLL文件的絕對路徑。Bladed仿真結束后,可通過工具條上的Data View圖標打開Graph Parameters頁面查看仿真結果。
[0050]MATLAB平臺Socket通信模塊接收來自Bladed的轉矩指令和發電機轉速信息,經過仿真計算后將有功功率反饋、無功功率反饋及LVRT狀態標志位回發給Bladed平臺。MATLAB仿真結果存儲在Workspace中,仿真結束后自動保存為*.mat文件,用于后續數據的分析處理。
[0051 ] 本專利中所涉及的基于Bladed平臺的機械模型與基于MATLAB平臺的電氣模型可以運行在同一臺電腦上,也可以運行在不同的電腦上,通過網絡交換數據,實現聯合仿真運行。
[0052]實施例
[0053]在本實施例中,Bladed軟件平臺與MATLAB軟件平臺運行在同一臺電腦上。啟動Bladed和MATLAB運行環境,加載相應的仿真工程。其中,基于Bladed平臺的風電機組機械模型包括風機氣動模型、主控系統、傳動鏈系統和發電機機械部分;基于MATLAB平臺的電氣模型包括電網模型、故障模擬裝置、變流器和發電機電氣部分。
[0054]通過基于UDP協議的Windows Socket通信接口將機械模型和電氣模型統一起來。通信接口以調用動態鏈接庫的方式實現,將由C語言編寫的源代碼編譯即可得到DLL文件。在搭建Bladed環境時,將Bladed的Generator設置成外部DLL模式即ExternalDLL,并將動態鏈接庫地址修改為DLL文件的絕對路徑。
[0055]聯合仿真步驟如下:
[0056]1、運行仿真前設置Bladed及MATLAB下仿真時間,控制仿真時長。
[0057]2、首先啟動Bladed穩態仿真,無誤后,啟動Bladed暫態仿真,在出現的選擇界面中設置仿真結果保存路徑,設置完成后開始仿真運行。
[0058]3、Bladed初始化完成后,啟動MATLAB仿真,否則將判定為聯合仿真握手通信超時。
[0059]通信握手過程如下:
[0060](3.1)首先檢查系統協議的安裝情況,完成對Winsock服務的初始化;
[0061](3.2)創建套接字,指定通信協議類型為UDP ;
[0062](3.3)將創建的套接字綁定到本地地址127.0.0.1及端口 5001上。
[0063](3.4)電氣模型發送數據報文到機械模型的預設端口,接收端成功收到來自發送端的連接數據報文后,回發連接數據報文到發送端,發送端成功收到來自接收端的連接數據報文后,通信連接握手過程完成。其中,接收到的數據報文進行有效性檢驗,數據報文無效時,通信握手失敗,報出錯信息,Bladed進入自由運行狀態。
[0064]4、機械模型與電氣模型通信握手成功后,開始聯合仿真運行,進行數據交互。
[0065]發送端和接收端的每個數據報文均封裝協議頭,用于傳輸報文正確性的判斷。封裝的協議頭包括:通信標識ID、數據長度。接收端收到數據報文后,檢驗通信標識ID,對識別不通過的數據丟棄處理,Bladed進入自由運行狀態,仿真結果無效。如果通過標識識別,則將原始數據從接收數據緩沖區取出,用于下一步的數據處理。
[0066]機械模型傳輸的數據包結構包括序列號、轉矩指令、發電機轉速、仿真時間。電氣模型傳輸的數據包結構包括序列號、轉矩反饋、有功無功反饋、低電壓穿越標志。若當前周期兩序列號不一致,則數據無效,Bladed進入自由運行狀態。若兩序列號一致,則數據有效,進行聯合仿真計算。下一周期數據傳輸時將數據包序列號+1,用于下一周期數據有效性的檢驗。
[0067]5、等待仿真結束,斷開機械模型與電氣模型之間的通信連接,關閉套接字,結束Winsock API的使用,釋放資源。查看仿真結果。
[0068]最后應當說明的是:以上實施例僅用以說明本發明的技術方案而非對其限制,盡管參照上述實施例對本發明進行了詳細的說明,所屬領域的普通技術人員應當理解:依然可以對本發明的【具體實施方式】進行修改或者等同替換,而未脫離本發明精神和范圍的任何修改或者等同替換,其均應涵蓋在本發明的權利要求范圍當中。
【權利要求】
1.一種風電機組聯合仿真系統通信接口實現方法,其特征在于,所述方法包括: (1)設置Bladed及MATLAB仿真時間;
(2)啟動Bladed穩態仿真后,啟動Bladed暫態仿真; (3)啟動MATLAB仿真; (4)通信握手; (5)數據交互; (6)斷開機械模型與電氣模型之間基于UDP協議的通信連接。
2.如權利要求1所述的一種風電機組聯合仿真系統通信接口實現方法,其特征在于,所述步驟(4)通信握手過程機械模型作為接收端,電氣模型作為發送端。
3.如權利要求1所述的一種風電機組聯合仿真系統通信接口實現方法,其特征在于,所述步驟(4)包括 (4.1)檢查系統協議棧的安裝; (4.2)創建套接字; (4.3)將套接字綁定到指定地址與端口 ; (4.4)電氣模型發送數據報文到機械模型的預設端口,接收端收到來自發送端的連接數據報文后,回發連接數據報文到發送端,發送端收到來自接收端的連接數據報文后,通信連接握手過程完成。
4.如權利要求1所述的一種風電機組聯合仿真系統通信接口實現方法,其特征在于,所述步驟(5)包括 (5.1)機械模型傳輸數據至電氣模型; (5.2)電氣模型得到數據進行仿真; (5.3)電氣模型反饋仿真結果,將實際數據發送到機械模型; (5.4)機械模型得到數據反饋,進行下一周期仿真。
5.如權利要求1所述的一種風電機組聯合仿真系統通信接口實現方法,其特征在于,所述步驟(6)包括 關閉套接字,將相應的名字信息及數據隊列釋放; 結束Winsock API的使用,釋放為應用程序分配的資源。
6.如權利要求3所述的一種風電機組聯合仿真系統通信接口實現方法,其特征在于,所述步驟(4.1)包括檢查系統協議棧的安裝情況,完成對Winsock服務的初始化; 所述步驟(4.2)根據指定的地址族、數據類型和協議創建套接字。
7.如權利要求3所述的一種風電機組聯合仿真系統通信接口實現方法,其特征在于,接收到的數據報文進行有效性檢驗,數據報文無效時,通信握手失敗,報出錯信息,Bladed進入自由運行狀態。
8.如權利要求4所述的一種風電機組聯合仿真系統通信接口實現方法,其特征在于,所述當前周期接收、發送序列號不一致,則數據無效,Bladed進入自由運行狀態;接收、發送序列號一致,則數據有效,進行聯合仿真計算。
9.如權利要求3所述的一種風電機組聯合仿真系統通信接口實現方法,其特征在于,所述發送端和接收端的每個數據報文均封裝協議頭,用于傳輸數據信息正確性的判斷。
10.如權利要求9所述的一種風電機組聯合仿真系統通信接口實現方法,其特征在于,所述封裝協議頭包括通信標識ID和數據長度。
【文檔編號】G05B17/02GK103676663SQ201310431660
【公開日】2014年3月26日 申請日期:2013年9月22日 優先權日:2013年9月22日
【發明者】唐建芳, 王瑩瑩, 李慶, 秦世耀, 邵文昌, 賀敬, 張梅, 張利, 張元棟, 陳子瑜 申請人:國家電網公司, 中國電力科學研究院, 中電普瑞張北風電研究檢測有限公司, 國網浙江省電力公司