趙曉龍 陳卓 李強(qiáng)勝 何俊賢
摘? 要: 針對(duì)實(shí)際電力系統(tǒng)運(yùn)行和控制的復(fù)雜性與Matlab仿真非實(shí)時(shí)性的矛盾,提出跨平臺(tái)聯(lián)合仿真。采用基于Matlab/Simulink代碼生成技術(shù)與RTDS實(shí)時(shí)仿真系統(tǒng)相結(jié)合的方法,以高壓直流輸電系統(tǒng)模型為研究對(duì)象,利用Embedded Coder開發(fā)工具對(duì)系統(tǒng)的控制模塊進(jìn)行代碼生成,并在RTDS中完成代碼移植實(shí)驗(yàn)。通過(guò)對(duì)比仿真波形,驗(yàn)證得到結(jié)果行為一致。由此表明,該方法能夠有效利用Simulink良好的開發(fā)環(huán)境和RTDS的實(shí)時(shí)仿真特性,在離線仿真成功的基礎(chǔ)上,完成實(shí)時(shí)仿真測(cè)試,使工作便捷高效,同時(shí)保證結(jié)果精準(zhǔn)可信。
關(guān)鍵詞: 代碼生成技術(shù); 跨平臺(tái)聯(lián)合仿真; Matlab/Simulink; 實(shí)時(shí)仿真測(cè)試; 高壓直流輸電系統(tǒng)建模; 模型參數(shù)計(jì)算; 控制模塊代碼移植; 仿真波形對(duì)比
中圖分類號(hào): TN710?34; TM721.1? ? ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼: A? ? ? ? ? ? ? ? ? 文章編號(hào): 1004?373X(2020)09?0161?05
Application of Matlab/Simulink?based code generation technology in RTDS
ZHAO Xiaolong, CHEN Zhuo, LI Qiangsheng, HE Junxian
(College of Electrical Engineering, Guizhou University, Guiyang 550025, China)
Abstract: In view of the contradiction between the complexity of actual power system operation and control and the non?real?time characteristic of Matlab simulation, the cross?platform co?simulation is proposed. A method on the basis of the combination of Matlab/Simulink?based code generation technology and RTDS?based (real time digital simulator) real?time simulation system is adopted. By taking the high voltage DC transmission system model as the research object, the development tool Embedded Coder is used to generate code for the control module of the system and complete the code transplantation experiment in RTDS. It is verified that the result and the behavior are consistent by contrasting the simulation waveforms. Therefore, it shows that the proposed method can effectively utilize the excellent development environment of Simulink and the real?time simulation characteristics of RTDS to complete real?time simulation test on the basis of successful off?line simulation, which makes the work convenient and efficient and ensures the accuracy and credibility of the results.
Keywords: code generation technology; cross?platform co?simulation; Matlab/Simulink; real?time simulation test; high voltage DC transmission system modeling; model parameter calculation; control module code transplantation; simulation waveform contrast
0? 引? 言
Matlab/Simulink是一款功能強(qiáng)大的高效計(jì)算機(jī)仿真軟件,但其仿真大多為非實(shí)時(shí)仿真,在對(duì)于仿真實(shí)時(shí)性要求較高的任務(wù)中,單純的Matlab/Simulink仿真難以勝任。如文獻(xiàn)[1?2]中利用軟硬件協(xié)同控制,文獻(xiàn)[3?4]中采取重新建模的方式,都是可行的方法,但是缺點(diǎn)也很明顯,其中有的工程化不完全,有的步驟繁瑣,內(nèi)容重復(fù),并不是最佳方案。
在對(duì)仿真實(shí)時(shí)性要求高或者需要跨平臺(tái)硬件測(cè)試的情況下,使用Simulink Coder或者專門針對(duì)嵌入式系統(tǒng)的Embedded Coder工具箱,將Simulink模型轉(zhuǎn)換為C/C++語(yǔ)言模型,即通常所說(shuō)的C代碼,根據(jù)目標(biāo)配置能夠生成不同環(huán)境下的程序文件,載入到RTDS等平臺(tái)進(jìn)行硬件擴(kuò)展,可以與測(cè)試對(duì)象進(jìn)行實(shí)時(shí)互動(dòng),由此實(shí)現(xiàn)動(dòng)態(tài)系統(tǒng)的硬件調(diào)試,得到高效實(shí)時(shí)的仿真結(jié)果。
本文以高壓直流輸電模型為研究對(duì)象,進(jìn)行Simulink建模與代碼轉(zhuǎn)換,并在RTDS上進(jìn)行仿真測(cè)試,驗(yàn)證C代碼跨平臺(tái)實(shí)驗(yàn)的可行性。
1? 模型分析
1.1? 高壓直流輸電系統(tǒng)建模
本文以國(guó)際大電網(wǎng)會(huì)議高壓直流輸電標(biāo)準(zhǔn)測(cè)試系統(tǒng)(CIGRE HVDC標(biāo)準(zhǔn)測(cè)試系統(tǒng))為研究對(duì)象[5],如圖1所示。
此高壓直流輸電系統(tǒng)采用單極輸電,系統(tǒng)的構(gòu)成包括交流系統(tǒng)、直流系統(tǒng)、等效阻抗、濾波器、電容器、變壓器和換流器等元件。整流側(cè)和逆變側(cè)都使用12脈波換流器,并且采用一組高通濾波器和一組雙調(diào)諧濾波器。為了使輸電模型更加簡(jiǎn)潔直觀,直流輸電線路則由等效的T型電路代替。
1.2? 模型的控制策略
整流側(cè)采用定電流控制,取測(cè)量的實(shí)際電流值與整定電流值的偏差進(jìn)行PI控制。其中,整定電流值是由低壓限流裝置VDCOL和主控層的電流調(diào)制控制器共同決定的。PI控制環(huán)節(jié)進(jìn)行計(jì)算后,輸出控制閥所需的延遲觸發(fā)角指令,閥控裝置根據(jù)這個(gè)指令生成相應(yīng)的控制脈沖,控制框圖如圖2所示。
為使直流電流能夠流通,整流側(cè)的直流電壓需要高于逆變側(cè)的直流電壓,同時(shí),整流器的定電流控制也具備抑制直流電流增加的作用。
逆變側(cè)采用定關(guān)斷角控制為主,定電流控制為輔的控制方式。從直流系統(tǒng)的逆變側(cè)換流器測(cè)得上一周期關(guān)斷角的最小值[γ],然后將逆變側(cè)測(cè)得的直流電流實(shí)際值與整定值之差通過(guò)電流偏差控制,得到電流偏差角度[Δγ]。電流偏差控制能夠使逆變側(cè)的控制方式在定關(guān)斷角控制和定電流控制之間進(jìn)行平滑過(guò)渡。CIGRE標(biāo)準(zhǔn)一般規(guī)定直流系統(tǒng)的整定[γ]角為[15°],最大偏差限制為[-31°]。通過(guò)PI控制后,輸出逆變側(cè)延遲觸發(fā)角指令,控制框圖如圖3所示。
通過(guò)這種控制方式,其目的一方面是為了防止逆變器換相失敗,同時(shí)又保證無(wú)功需求最小。通過(guò)對(duì)實(shí)際關(guān)斷角和設(shè)定值差的補(bǔ)正量,確保所需最小的關(guān)斷角。補(bǔ)正量會(huì)讓關(guān)斷角向增大的方向移動(dòng)。
逆變側(cè)定電流控制與整流側(cè)原理類似,區(qū)別在于逆變側(cè)整定電流值比整流側(cè)整定電流值要小一個(gè)電流裕度,通常取為0.1 p.u.,所以整定值比實(shí)際電流小,一般作為輔助控制手段。
1.3? 模型的參數(shù)計(jì)算
在CIGRE標(biāo)準(zhǔn)中,濾波器、電容器和等效阻抗等數(shù)據(jù)已經(jīng)給出,只需計(jì)算出換流器的參數(shù)。由于每個(gè)12脈波換流器由兩個(gè)6脈波換流器組成,所以采用雙繞組變壓器,結(jié)合CIGRE標(biāo)準(zhǔn)給出的系統(tǒng)參數(shù),可以得到整流側(cè)電路數(shù)據(jù),并計(jì)算出每個(gè)變壓器的容量[Tmva]和正序電抗[XL](單位:p.u.):
[Vo=V?3?2π] (1)
[Vdc=Vo?cos α-3ωLπ?Idc] (2)
[Tmva=Pdc?π3cos α-3ωLπ?IdcVo] (3)
[Zbase=V2Tmva] (4)
[XL(p.u.)=ωLZbase] (5)
式中:[Vdc],[Idc]和[Pdc]分別為整流側(cè)的直流電壓、直流電流和直流功率(電壓和功率只有實(shí)際值的一半);[V]為變壓器二次側(cè)電壓;[α]為觸發(fā)角。
晶閘管的緩沖電路電阻和電容取決于額定直流電壓,RC時(shí)間常數(shù)至少是仿真步長(zhǎng)的兩倍,當(dāng)仿真步長(zhǎng)為50 μs時(shí),需要[Rs?Cs>100 μs]。最后,利用CIGRE標(biāo)準(zhǔn)提供參考的PI參數(shù),結(jié)合文獻(xiàn)[6?8]完成PI參數(shù)的優(yōu)化。
2? 代碼轉(zhuǎn)換
2.1? 代碼生成流程
使用Build Model將已經(jīng)通過(guò)離線仿真檢驗(yàn)的CIGRE HVDC標(biāo)準(zhǔn)測(cè)試模型轉(zhuǎn)換為rtw文件,然后通過(guò)Simulink Coder中的目標(biāo)語(yǔ)言編譯器將rtw文件轉(zhuǎn)換為一系列的源文件,這個(gè)過(guò)程中TLC所使用的文件包括3類:系統(tǒng)目標(biāo)文件、模塊的目標(biāo)文件和支持代碼生成的TLC函數(shù)庫(kù)等文件。模型的源代碼全部生成之后,就可以導(dǎo)入目標(biāo)硬件中進(jìn)行實(shí)機(jī)運(yùn)行。代碼生成流程如圖4所示。
2.2? 直流輸電模型代碼生成的配置方法
在進(jìn)行代碼生成時(shí),需要對(duì)Simulink模型進(jìn)行參數(shù)的設(shè)置,在Configuration Parameter中集中管理著Simulink模型的代碼生成方法、格式等約束條件。為了生成能夠在RSCAD中正確運(yùn)行的代碼,需要修改以下參數(shù)。
1) 在solver頁(yè)面的solver options一欄中,type參數(shù)設(shè)置為Fixed?step,選擇ode3(Bogacki?Shampine)解法器,同時(shí),設(shè)置Fixed?step size為50 μs,這是因?yàn)榇a生成支持的是固定步長(zhǎng)的模型,而且控制模塊計(jì)算只需用到常微分方程。
2) 在Code Generation頁(yè)面的Target selection一欄,System target file參數(shù)配置為選擇生成ert.tlc文件,這是Embedded Coder提供的系統(tǒng)目標(biāo)文件,針對(duì)嵌入式進(jìn)行性能與內(nèi)存的優(yōu)化,同時(shí)保證結(jié)構(gòu)簡(jiǎn)潔,方便調(diào)用。
3) 由于模型存在連續(xù)時(shí)間函數(shù)模塊,但是嵌入式器件的運(yùn)行是由固定時(shí)鐘進(jìn)行驅(qū)動(dòng),必須為離散模塊,因此,需要在Code Generation的Interface頁(yè)面中的Software environment一欄勾選continuous time選項(xiàng),確保代碼成功生成。
通過(guò)正確配置,完成高壓直流輸電控制模塊嵌入式C代碼的生成。同時(shí)可以選擇自動(dòng)生成報(bào)告(Create Code Generation Report),Simulink自帶注釋(Include comments),參數(shù)內(nèi)聯(lián)(Inline parameters)等,使得代碼易于修改,并增強(qiáng)可讀性。
最后,為了提高生成的C代碼的可靠性,需要進(jìn)行軟件在環(huán)(SIL)測(cè)試,即在Code Generation的Verification頁(yè)面,將Create block選為SIL,用于生成控制模塊的[S]函數(shù)。由于SIL測(cè)試時(shí)要求模型中不能有連續(xù)時(shí)間函數(shù),所以需要將采樣時(shí)間設(shè)置成離散,同時(shí)由于模型中有非內(nèi)聯(lián)函數(shù),需要在Code Generation?>Interface頁(yè)面勾選non?Inlined S?functions項(xiàng),保證成功生成[S]函數(shù)。最后給予[S]函數(shù)和原控制模型相同的輸入,并將兩組輸出結(jié)果做減法運(yùn)算,驗(yàn)證代碼與模型的行為一致性。
3? 硬件驗(yàn)證
3.1? 實(shí)時(shí)仿真機(jī)RTDS
實(shí)時(shí)仿真機(jī)(Real Time Digital Simulator,RTDS)是一種專門用于研究電力系統(tǒng)電磁暫態(tài)現(xiàn)象的裝置。其算法繼承了H.W.Dommel建立的經(jīng)典電磁暫態(tài)計(jì)算理論,將那些復(fù)雜的電力網(wǎng)絡(luò)進(jìn)行等值變化,能夠獲得等值計(jì)算網(wǎng)絡(luò),然后對(duì)其進(jìn)行方程求解,獲得所需要的結(jié)果。由于它的電力系統(tǒng)運(yùn)算法則能被計(jì)算得足夠快,能產(chǎn)生連續(xù)的輸出結(jié)果,這些輸出代表在實(shí)際網(wǎng)絡(luò)中的情形[9]。
RTDS基本組成單元稱為Rack,裝置由IRC,GPC,WIF等多種板卡和處理器組成,一個(gè)CPU模擬一個(gè)電力系統(tǒng)元件,CPU之間采用并行?串行?并行的通信方式。本次RTDS高壓直流輸電仿真模型使用了1個(gè)RACK,共計(jì)6塊PB5處理器,將4塊PB5分給控制模塊用于快速計(jì)算,其余2塊用于模擬交流電源、變壓器和換流器等器件模型。
3.2? RSCAD仿真
RSCAD軟件是RTDS自帶的專業(yè)仿真軟件,作為電磁暫態(tài)仿真的一種,通常會(huì)將仿真步長(zhǎng)設(shè)置為50 μs。在進(jìn)行高壓直流輸電代碼移植的仿真實(shí)驗(yàn)時(shí),需要在RSCAD的Draft模塊搭建高壓直流輸電的基本電路模型,通過(guò)CBuilder中的Tools/Import Simulink Component工具,將Simulink生成的嵌入式C代碼移植到RSCAD中,形成用戶自定義模塊[10?12],如圖5所示。
在C File Associations頁(yè)面,進(jìn)入Edit中對(duì)代碼的接口名稱進(jìn)行修改,方便用戶識(shí)別,此時(shí)還能夠添加用戶自行編程的代碼,增強(qiáng)自定義模塊的功能。另外,在Parameters和Graphics頁(yè)面,以表格化的固定形式編輯模型,定義模型數(shù)據(jù)格式與可變參數(shù),方便在模型使用時(shí)進(jìn)行調(diào)節(jié)與管理。
最后在進(jìn)行Draft建模時(shí),通過(guò)器件庫(kù)的Add Component功能添加用戶自定義模塊到電路中去,這樣就完成控制模塊從Simulink模型到RTDS模型的移植。值得注意的是,RTDS中電壓與電流的單位都是kV和kA。
完成Draft設(shè)計(jì)之后,對(duì)模型進(jìn)行編譯,通過(guò)compile生成相關(guān)文件。其中.sib文件集顯示仿真結(jié)果與調(diào)節(jié)相關(guān)參數(shù)為一體,打開.sib文件,然后關(guān)聯(lián)所需信號(hào)與對(duì)應(yīng)的顯示面板。同時(shí),還要設(shè)置關(guān)聯(lián)控制按鈕和滑輪,這樣可以在實(shí)時(shí)仿真中隨時(shí)調(diào)節(jié)所關(guān)聯(lián)的電壓參數(shù),以及控制模型整流和逆變的啟動(dòng)和停止。
3.3? 仿真結(jié)果分析
CIGRE高壓直流輸電標(biāo)準(zhǔn)測(cè)試系統(tǒng)的額定直流電流為2 kA,額定電壓為500 kV,整流側(cè)交流電壓為345 kV,逆變側(cè)交流電壓為230 kV。圖6和圖7為模型在Simulink中仿真的直流電流和電壓波形,在主控制器的調(diào)控下,系統(tǒng)根據(jù)設(shè)定在[0.02 s]啟動(dòng),電流與電壓能夠按照額定的速率平緩地上升到額定值,并保持穩(wěn)定運(yùn)行。
為了突出控制模塊的作用,對(duì)比Simulink仿真與RTDS仿真啟動(dòng)時(shí)無(wú)主控的情況,現(xiàn)除去主控制器,由選定的控制策略單獨(dú)控制,圖8和圖9為Simulink仿真的直流電流和電壓波形圖,可以看出,在啟動(dòng)的極短時(shí)間內(nèi),電流和電壓都會(huì)有較大的波動(dòng),隨后在控制模塊的控制下,模型會(huì)進(jìn)入并維持在穩(wěn)定狀態(tài)。
在RTDS中仿真的波形如圖10和圖11所示,電流和電壓的波形與Simulink仿真中的基本一致,只是在啟動(dòng)時(shí)的波動(dòng)有偏差,這是由兩個(gè)平臺(tái)使用的脈波發(fā)生器的差異以及仿真算法的不同導(dǎo)致的。另外,RTDS仿真由于多CPU并行計(jì)算的速度足夠快,因此產(chǎn)生了連續(xù)的輸出結(jié)果,基本能夠代表實(shí)際運(yùn)行網(wǎng)絡(luò)中的情形,這也是實(shí)時(shí)仿真的優(yōu)勢(shì),并且RTDS仿真在運(yùn)行過(guò)程中能夠方便地調(diào)節(jié)系統(tǒng)基本參數(shù),以此展現(xiàn)出動(dòng)態(tài)波形的變化,方便對(duì)系統(tǒng)整體運(yùn)行的分析與研究,這也是單純的Simulink仿真無(wú)法比擬的。
通過(guò)對(duì)比發(fā)現(xiàn),CIGRE高壓直流輸電系統(tǒng)在相同的控制模塊下,于Matlab平臺(tái)和RTDS平臺(tái)上都能夠持續(xù)穩(wěn)定地運(yùn)行,證明了利用代碼生成技術(shù)將系統(tǒng)的控制模塊向RTDS上的移植是可行的。
4? 結(jié)? 語(yǔ)
通過(guò)Simulink的代碼移植,實(shí)現(xiàn)跨平臺(tái)仿真,由于Matlab應(yīng)用的廣泛性,從而擁有豐富的Simulink模型庫(kù)和大量的實(shí)例。另外,Matlab的離線性可以方便工作人員進(jìn)行仿真設(shè)計(jì),在完成離線驗(yàn)證之后,再移植到對(duì)應(yīng)的平臺(tái),省去重復(fù)查找錯(cuò)誤的步驟,提高工作效率。而且C代碼具備通用性,不僅限于在RTDS上的移植,還可以應(yīng)用于多個(gè)平臺(tái)[13?14],針對(duì)不同平臺(tái)硬件的差異進(jìn)行編譯,從而實(shí)現(xiàn)多平臺(tái)互聯(lián),這使得代碼生成技術(shù)具有很強(qiáng)的實(shí)用性。
參考文獻(xiàn)
[1] 錢振天,徐曉軼,諶平平,等.基于Matlab/Simulink的軟件在環(huán)仿真技術(shù)研究[J].電力電子技術(shù),2016,50(10):5?7.
[2] LAI C K, TSAI C C. The modeling and simulation for current regulation of PMSM drive system using Verilog HDL and variable structure control [C]// 2016 International Automatic Control Conference. Taichung, China: IEEE, 2016: 218?219.
[3] 關(guān)紅兵,黃立濱,周鵬鵬,等.基于RTDS的高壓直流控制系統(tǒng)鎖相環(huán)仿真研究[J].電力系統(tǒng)保護(hù)與控制,2017,45(12):128?132.
[4] 武霄,崔勇,黃志龍,等.基于RTDS的高壓直流輸電控制功能研究[J].華北電力大學(xué)學(xué)報(bào)(自然科學(xué)版),2014,41(6):60?66.
[5] FARUQUE M O, ZHANG Y, DINAVAHI V. Detailed mo?deling of CIGRE HVDC benchmark system using PSCAD/EMTDC and PSB/SIMULINK [J]. IEEE transactions on power deli?very, 2005, 21(1): 378?387.
[6] 李天云,劉智銘,黨震宇,等.基于Simulink的HVDC PI控制器參數(shù)優(yōu)化方法[J].電力自動(dòng)化設(shè)備,2012,32(1):45?48.
[7] 于飛,鐘秋海,張望,等.基于Matlab的超高壓直流輸電系統(tǒng)仿真研究[J].繼電器,2004,32(13):31?34.
[8] KWON D H, MOON H J, KIM R G, et al. Modeling of CIGRE benchmark HVDC system using PSS/E compared with PSCAD [C]// International Youth Conference on Energy. Pisa, Italy: IEEE, 2015: 1?8.
[9] 翟凱.基于RTDS的雙單元背靠背直流輸電系統(tǒng)仿真與研究[D].北京:華北電力大學(xué),2017.
[10] 徐志恒,錢珞江.RTDS用戶自定義元件模型(UDC)的應(yīng)用方法[J].電力系統(tǒng)保護(hù)與控制,2009,37(22):141?145.
[11] 楊洋,肖湘寧,陶順,等.多端口電磁?機(jī)電暫態(tài)混合實(shí)時(shí)仿真接口技術(shù)與應(yīng)用[J].電工技術(shù)學(xué)報(bào),2017,32(4):231?240.
[12] 楊柳林,李德奎,陳延明,等.基于RTDS的電弧接地故障自定義建模及仿真分析[J].電力系統(tǒng)保護(hù)與控制,2016,44(16):137?142.
[13] 劉濤,蔡燕,張海華,等.基于代碼生成技術(shù)的Matlab/Simulink實(shí)驗(yàn)教學(xué)改革[J].實(shí)驗(yàn)技術(shù)與管理,2018,35(8):157?159.
[14] 王夢(mèng)茹,周珊,王金波,等.基于Matlab的智能測(cè)試系統(tǒng)PMSM物理實(shí)時(shí)仿真平臺(tái)[J].系統(tǒng)仿真學(xué)報(bào),2018,30(6):2225?2235.