李 珂,顧 偉,柳 偉,曹 陽(yáng),樓冠男,鄒德虎
(1. 東南大學(xué)電氣工程學(xué)院,江蘇省 南京市 210096;2. 南京理工大學(xué)自動(dòng)化學(xué)院,江蘇省 南京市 210094)
隨著分布式發(fā)電和交直流混聯(lián)等技術(shù)的發(fā)展,電網(wǎng)的電力電子化程度不斷提高,網(wǎng)絡(luò)中功率流動(dòng)和暫態(tài)過(guò)程的分析更加復(fù)雜[1],需要模型更完善、計(jì)算精度更高的仿真系統(tǒng)對(duì)網(wǎng)絡(luò)特性進(jìn)行研究。以變流器為代表的電力電子設(shè)備越來(lái)越多地融入電力系統(tǒng)中,其中部分開(kāi)關(guān)器件的工作頻率可高達(dá)104Hz以上,需要微秒級(jí)的仿真步長(zhǎng)反映其暫態(tài)過(guò)程,大大增加了仿真系統(tǒng)的計(jì)算負(fù)擔(dān)。
在仿真計(jì)算效率和計(jì)算機(jī)計(jì)算能力有限的前提下,實(shí)時(shí)化電磁暫態(tài)仿真的仿真規(guī)模、仿真精度和計(jì)算速度難以得到兼顧。為了滿足變流器模型中快動(dòng)態(tài)的開(kāi)關(guān)元件對(duì)微秒級(jí)仿真步長(zhǎng)的需求,RT-LAB等商業(yè)仿真平臺(tái)從底層硬件的角度對(duì)仿真系統(tǒng)進(jìn)行了 改 進(jìn)[2-3],通 過(guò) 引 入 現(xiàn) 場(chǎng) 可 編 程 門(mén) 陣 列(field programmable gate array,F(xiàn)PGA)進(jìn)一步優(yōu)化系統(tǒng)的計(jì)算性能,以實(shí)現(xiàn)電磁暫態(tài)仿真的實(shí)時(shí)化。文獻(xiàn)[4-5]采用一種基于伴隨離散電路(associated discrete circuit,ADC)開(kāi)關(guān)模型的電磁暫態(tài)實(shí)時(shí)仿真計(jì)算方法,利用該模型下導(dǎo)納矩陣不隨開(kāi)關(guān)狀態(tài)變化的特性在FPGA 中進(jìn)行實(shí)時(shí)仿真計(jì)算。文獻(xiàn)[6]基于ADC 開(kāi)關(guān)模型實(shí)現(xiàn)了光伏發(fā)電系統(tǒng)的暫態(tài)仿真,并提出了控制器、光伏電池等元件在FPGA 中的建模方法,對(duì)仿真步長(zhǎng)與結(jié)果誤差的關(guān)系進(jìn)行了研究。文獻(xiàn)[7-8]通過(guò)計(jì)算所有開(kāi)關(guān)可能的狀態(tài)組合并預(yù)存每種狀態(tài)下的系統(tǒng)導(dǎo)納矩陣,反映了開(kāi)關(guān)狀態(tài)變化對(duì)系統(tǒng)的影響。以上基于FPGA 獨(dú)立實(shí)現(xiàn)的電磁暫態(tài)仿真存在以下問(wèn)題:
1)采用ADC 開(kāi)關(guān)模型帶來(lái)了虛擬功率損耗問(wèn)題[9],通過(guò)預(yù)存導(dǎo)納矩陣反映開(kāi)關(guān)狀態(tài)時(shí)程序占用的存儲(chǔ)空間隨開(kāi)關(guān)元件的數(shù)量迅速上升[10];
2)FPGA 成本較高且硬件資源有限,一定程度上限制了仿真網(wǎng)絡(luò)的規(guī)模;
3)網(wǎng)絡(luò)控制策略和系統(tǒng)參數(shù)的調(diào)整過(guò)程較為復(fù)雜,對(duì)實(shí)時(shí)仿真的靈活性造成了限制。
文獻(xiàn)[11]提出一種基于CPU-FPGA 異構(gòu)平臺(tái)的逆變器實(shí)時(shí)仿真方案。該方案結(jié)合不同計(jì)算單元的優(yōu)勢(shì),對(duì)變流器模型進(jìn)行解耦后將控制系統(tǒng)的計(jì)算由基于CPU 的服務(wù)器實(shí)現(xiàn),其余計(jì)算由FPGA 實(shí)現(xiàn),在保證實(shí)時(shí)性的前提下降低了FPGA 的硬件資源消耗,但在不同步長(zhǎng)時(shí)序配合的過(guò)程中,直接以對(duì)側(cè)最后一個(gè)仿真步長(zhǎng)的結(jié)果作為輸入,沒(méi)有進(jìn)一步考慮多速率解耦并行仿真過(guò)程中的時(shí)序誤差。本文提出一種變流器電磁暫態(tài)硬件加速實(shí)時(shí)仿真方法,通過(guò)對(duì)并行仿真時(shí)序下控制系統(tǒng)解耦的多速率仿真誤差進(jìn)行分析,采用結(jié)合拉格朗日插值的改進(jìn)線性插值算法得到更精確的計(jì)算結(jié)果,并基于FPGA 實(shí)現(xiàn)了電磁暫態(tài)實(shí)時(shí)化硬件加速仿真計(jì)算,建立了計(jì)算能力更強(qiáng)的實(shí)時(shí)仿真系統(tǒng)。最后,本文搭建了三相橋式逆變器模型算例對(duì)所提出仿真方法的性能進(jìn)行分析,并將仿真結(jié)果與PSCAD 離線仿真結(jié)果進(jìn)行對(duì)比,驗(yàn)證了實(shí)時(shí)仿真結(jié)果的準(zhǔn)確性。
與工作狀態(tài)高頻率變化的開(kāi)關(guān)元件相比,變流器控制系統(tǒng)的動(dòng)態(tài)特性更接近于變流器以外的慢動(dòng)態(tài)網(wǎng)絡(luò),實(shí)現(xiàn)控制系統(tǒng)的多速率解耦仿真可以在反映高頻暫態(tài)過(guò)程的同時(shí)有效提高仿真計(jì)算效率。本章重點(diǎn)介紹變流器控制系統(tǒng)與電氣狀態(tài)解耦求解的多速率并行計(jì)算方法。
實(shí)現(xiàn)變流器控制系統(tǒng)與電氣狀態(tài)解耦計(jì)算時(shí),需要將離線仿真中的控制系統(tǒng)與電氣狀態(tài)從以單一步長(zhǎng)串行求解的仿真時(shí)序轉(zhuǎn)變?yōu)橐圆煌介L(zhǎng)并行求解的仿真時(shí)序。圖1 反映了不同電磁暫態(tài)計(jì)算時(shí)序的對(duì)比,圖中的箭頭表示依次發(fā)生的數(shù)據(jù)計(jì)算或傳輸過(guò)程。
圖1 電磁暫態(tài)計(jì)算時(shí)序示意圖Fig.1 Schematic diagram of time sequence of electromagnetic transient calculation
設(shè)變流器控制系統(tǒng)采用較大仿真步長(zhǎng)ΔT進(jìn)行仿真,而電氣狀態(tài)采用小步長(zhǎng)Δt求解,其中ΔT為Δt的整數(shù)倍,定義其倍數(shù)δ=ΔT/Δt為步長(zhǎng)倍率(以δ=4 為例),將大小步長(zhǎng)之間的數(shù)據(jù)交互設(shè)置在每個(gè)大步長(zhǎng)的起始時(shí)刻進(jìn)行??梢钥闯?,仿真時(shí)序的轉(zhuǎn)變將在兩方面產(chǎn)生計(jì)算誤差:
1)控制系統(tǒng)由串行計(jì)算時(shí)序轉(zhuǎn)變?yōu)椴⑿杏?jì)算時(shí)序增加的延遲誤差[12]。對(duì)比圖1(a)和(b)中t+Δt到t+2Δt時(shí)刻的電氣狀態(tài)求解過(guò)程可以發(fā)現(xiàn),單一速率串行時(shí)序下,該時(shí)間段求解時(shí)使用的控制參數(shù)以t+Δt時(shí)刻的電氣狀態(tài)為基礎(chǔ)在過(guò)程5 中計(jì)算得到,經(jīng)過(guò)程6 傳遞到電氣系統(tǒng)側(cè);而在單一速率并行時(shí)序下使用的控制參數(shù)根據(jù)t時(shí)刻的電氣狀態(tài)在過(guò)程1 中得到,經(jīng)過(guò)程2 傳遞到電氣系統(tǒng)側(cè),由此控制系統(tǒng)的計(jì)算產(chǎn)生一個(gè)步長(zhǎng)的額外延遲,對(duì)結(jié)果的準(zhǔn)確性造成影響。
2)單一速率仿真轉(zhuǎn)變?yōu)槎嗨俾史抡娈a(chǎn)生的延遲誤差。對(duì)比圖1(a)和(c)可知,采用多速率串行時(shí)序替代單一速率串行時(shí)序時(shí),大步長(zhǎng)仿真計(jì)算的頻次低于小步長(zhǎng)仿真,因此,并非每個(gè)小步長(zhǎng)仿真計(jì)算采用的大步長(zhǎng)側(cè)輸入量都是對(duì)應(yīng)時(shí)刻的實(shí)際值。即多速率仿真過(guò)程中,變流器控制系統(tǒng)的變化對(duì)于電氣系統(tǒng)計(jì)算的影響將無(wú)法得到完全反映,由此產(chǎn)生了相應(yīng)的計(jì)算誤差。當(dāng)不同時(shí)間常數(shù)的系統(tǒng)之間動(dòng)態(tài)特性差異更小時(shí),或者大小步長(zhǎng)之間的倍數(shù)更大時(shí),該問(wèn)題產(chǎn)生的誤差將更加顯著。
產(chǎn)生以上誤差的根源在于,并行時(shí)序下多速率仿真計(jì)算中對(duì)側(cè)的實(shí)時(shí)數(shù)據(jù)難以得到準(zhǔn)確表示,需要結(jié)合插值算法對(duì)對(duì)側(cè)實(shí)時(shí)數(shù)據(jù)進(jìn)行有效預(yù)測(cè),補(bǔ)償控制系統(tǒng)在一個(gè)大步長(zhǎng)對(duì)應(yīng)的多個(gè)小步長(zhǎng)下的變化,減小多速率并行計(jì)算過(guò)程中的誤差。文獻(xiàn)[13]采用線性內(nèi)插計(jì)算一個(gè)大步長(zhǎng)所對(duì)應(yīng)的多個(gè)小步長(zhǎng)時(shí)刻慢動(dòng)態(tài)網(wǎng)絡(luò)的歷史狀態(tài),解決了多速率網(wǎng)絡(luò)解耦計(jì)算時(shí),小步長(zhǎng)側(cè)歷史電流源計(jì)算所需的前一時(shí)刻慢動(dòng)態(tài)網(wǎng)絡(luò)狀態(tài)未知的問(wèn)題,但內(nèi)插法只能用于已知區(qū)間內(nèi),無(wú)法將插值范圍擴(kuò)大到未計(jì)算的時(shí)刻。外插法是一種根據(jù)已知的離散數(shù)據(jù)集合對(duì)范圍外的數(shù)據(jù)進(jìn)行預(yù)測(cè)的插值方法,利用先前時(shí)刻的已知結(jié)果通過(guò)插值對(duì)未來(lái)時(shí)刻的結(jié)果進(jìn)行估計(jì)可達(dá)到減小延遲誤差的效果。文獻(xiàn)[14]采用單次線性外插預(yù)測(cè)電氣狀態(tài),降低了計(jì)算時(shí)序由串行轉(zhuǎn)變?yōu)椴⑿兴黾拥难舆t誤差。這種方法具有形式簡(jiǎn)潔、計(jì)算量小的優(yōu)勢(shì),在步長(zhǎng)極小的情況下具有較好的數(shù)值穩(wěn)定性[15]。但文獻(xiàn)[14]沒(méi)有對(duì)多速率仿真場(chǎng)景下的誤差補(bǔ)償做進(jìn)一步分析,在多速率仿真步長(zhǎng)倍率較大時(shí)準(zhǔn)確性有所下降。
本文提出一種結(jié)合拉格朗日插值的改進(jìn)線性插值算法。首先,采用兩次迭代外插擴(kuò)大已知區(qū)間,再使用拉格朗日內(nèi)插法得到下一大步長(zhǎng)所對(duì)應(yīng)的各小步長(zhǎng)時(shí)刻下控制系統(tǒng)的狀態(tài),并以此為依據(jù)計(jì)算開(kāi)關(guān)狀態(tài),在下一大步長(zhǎng)開(kāi)始時(shí)將結(jié)果傳遞至電氣狀態(tài)求解側(cè),對(duì)控制系統(tǒng)解耦后的多速率仿真及并行仿真計(jì)算過(guò)程中的兩方面誤差做進(jìn)一步補(bǔ)償,最后得到更準(zhǔn)確的計(jì)算結(jié)果。
圖2 反映了本文所提出改進(jìn)線性插值算法的計(jì)算時(shí)序。圖中,黃色部分和紅色部分分別代表t―ΔT到t時(shí)刻,以及t到t+ΔT時(shí)刻變流器控制系統(tǒng)的計(jì)算過(guò)程,藍(lán)色部分代表t到t+ΔT時(shí)刻電氣狀態(tài)的求解過(guò)程。
圖2 改進(jìn)線性插值算法時(shí)序示意圖Fig.2 Schematic diagram of time sequence of improved linear extrapolation algorithm
從t到t+ΔT時(shí)刻,控制系統(tǒng)計(jì)算過(guò)程具體如下:
步驟1:接收t-ΔT到t時(shí)刻電氣系統(tǒng)的計(jì)算結(jié)果。
步驟2:根據(jù)t時(shí)刻的電氣狀態(tài)計(jì)算該時(shí)刻下控制系統(tǒng)的輸出vmod(t)。
步驟3:基于vmod(t)以及先前t-ΔT和t-2ΔT時(shí) 刻 的 控 制 系 統(tǒng) 輸 出 量vmod(t-ΔT)、vmod(t-2ΔT),采 用 兩 次 迭 代 插 值 對(duì)t+ΔT和t+2ΔT時(shí)刻的控制系統(tǒng)輸出量vmod(t+ΔT)、vmod(t+2ΔT)進(jìn)行預(yù)測(cè),如式(1)所示。
步驟4:結(jié)合預(yù)測(cè)結(jié)果vmod(t+ΔT)和vmod(t+2ΔT),利用拉格朗日插值法對(duì)t+ΔT到t+2ΔT時(shí)刻之間每個(gè)小步長(zhǎng)時(shí)刻下控制系統(tǒng)的輸出量進(jìn)行預(yù)測(cè),即
式中:ti為t+ΔT到t+2ΔT時(shí)刻之間的小步長(zhǎng)時(shí)刻,ti=t+ΔT+nΔt,n=0,1,…,δ-1;lk(ti)為ti時(shí)刻插值節(jié)點(diǎn)k對(duì)應(yīng)插值基函數(shù)的值;tλ為插值區(qū)間的終點(diǎn)t+2ΔT;K為插值節(jié)點(diǎn)的個(gè)數(shù)。
步驟5:根據(jù)步驟4 的結(jié)果計(jì)算t+ΔT到t+2ΔT時(shí)刻的開(kāi)關(guān)狀態(tài),并于t+ΔT時(shí)刻向小步長(zhǎng)側(cè)傳遞。
與此同時(shí),小步長(zhǎng)側(cè)在t時(shí)刻接收大步長(zhǎng)側(cè)于t-ΔT到t時(shí)刻計(jì)算出的t到t+ΔT時(shí)刻的開(kāi)關(guān)狀態(tài),并以此為依據(jù)對(duì)t到t+ΔT時(shí)刻的電氣狀態(tài)進(jìn)行求解,實(shí)現(xiàn)與大步長(zhǎng)側(cè)控制系統(tǒng)的并行計(jì)算。
將以上方法用于變流器控制系統(tǒng)與電氣系統(tǒng)進(jìn)行多速率解耦并行計(jì)算的實(shí)時(shí)仿真場(chǎng)景??紤]到控制系統(tǒng)的計(jì)算步長(zhǎng)遠(yuǎn)大于電氣狀態(tài)求解,因此,改進(jìn)插值算法增加的計(jì)算量不會(huì)對(duì)仿真系統(tǒng)的實(shí)時(shí)性產(chǎn)生明顯負(fù)擔(dān)。
在大規(guī)模系統(tǒng)中,全部采用微秒級(jí)小步長(zhǎng)進(jìn)行電磁暫態(tài)仿真的效率是難以接受的[16]。因此,基于前文所介紹的改進(jìn)插值算法,本文將電磁暫態(tài)仿真模型劃分到不同的計(jì)算單元中,利用FPGA 并行性更強(qiáng)的優(yōu)勢(shì)處理小步長(zhǎng)電氣狀態(tài)求解,使用基于CPU 的上位機(jī)處理規(guī)模更大、邏輯更復(fù)雜的大步長(zhǎng)仿真計(jì)算,通過(guò)PCIe 總線完成不同步長(zhǎng)仿真之間的數(shù)據(jù)交互,實(shí)現(xiàn)基于FPGA 的硬件加速實(shí)時(shí)仿真。具體結(jié)構(gòu)見(jiàn)附錄A 圖A1。
仿真系統(tǒng)的計(jì)算時(shí)序及FPGA 部分的主要計(jì)算過(guò)程見(jiàn)附錄A 圖A2。本文采用文獻(xiàn)[17]中的算法實(shí)現(xiàn)電磁暫態(tài)仿真。考慮到開(kāi)關(guān)不同運(yùn)行狀態(tài)下導(dǎo)納矩陣的變化將產(chǎn)生巨大的運(yùn)算負(fù)擔(dān)[18-19],對(duì)于狀態(tài)高頻率變化的開(kāi)關(guān)元件采用基于交叉初始化的變流器參數(shù)化恒導(dǎo)納模型[20]進(jìn)行建模求解。該模型下系統(tǒng)導(dǎo)納矩陣恒定不變,可以將變流器導(dǎo)納矩陣及相應(yīng)逆矩陣在初始化過(guò)程中提前計(jì)算并存儲(chǔ)。大步長(zhǎng)開(kāi)始時(shí)刻,上位機(jī)首先通過(guò)PCIe 總線發(fā)送上一步長(zhǎng)下計(jì)算得到的接口狀態(tài)、控制參數(shù)等信息到FPGA 端,然后,啟動(dòng)本時(shí)刻的變流器控制系統(tǒng)計(jì)算。與此同時(shí),F(xiàn)PGA 端的電氣狀態(tài)求解過(guò)程主要包括以下步驟:
步驟1:在初始化階段,利用導(dǎo)納矩陣不隨開(kāi)關(guān)狀態(tài)改變的特性分塊預(yù)存變流器模型導(dǎo)納矩陣及相應(yīng)的逆矩陣。
步驟2:讀取控制系統(tǒng)前一步長(zhǎng)計(jì)算得到的各開(kāi)關(guān)狀態(tài)及接口狀態(tài)。
步驟3:結(jié)合開(kāi)關(guān)狀態(tài)對(duì)各支路歷史電流源在t時(shí)刻的電流Ihis(t)進(jìn)行計(jì)算。
式中:Geq為支路等效電導(dǎo);ubr(t-Δt)和ibr(t-Δt)分別為t-Δt時(shí)刻支路兩端的電壓和流過(guò)支路的電流;對(duì)于電阻、電感、電容等狀態(tài)固定的支路,α、β均為定值[21],對(duì)于開(kāi)關(guān)支路,α、β的值取決于本時(shí)刻的開(kāi)關(guān)狀態(tài)[20]。
步驟4:根據(jù)系統(tǒng)電源以及各歷史電流源的值計(jì)算t時(shí)刻各節(jié)點(diǎn)的注入電流,例如對(duì)于節(jié)點(diǎn)i及其相鄰節(jié)點(diǎn)的集合w(i),有
步驟5:計(jì)算并更新各節(jié)點(diǎn)電壓、各支路電流等電氣狀態(tài)量。
式中:U(t)和Iinj(t)分別為t時(shí)刻各節(jié)點(diǎn)電壓和注入電流組成的向量;Y為系統(tǒng)導(dǎo)納矩陣。
步驟6:更新仿真時(shí)間,若未達(dá)到結(jié)束時(shí)刻則重復(fù)步驟2—步驟6;若達(dá)到則將計(jì)算結(jié)果存儲(chǔ)到指定地址等待上位機(jī)讀取。
在與以上過(guò)程并行的大步長(zhǎng)結(jié)束前,上位機(jī)將讀取變流器電氣狀態(tài)的計(jì)算結(jié)果,完成基于FPGA的硬件加速實(shí)時(shí)仿真計(jì)算。
基于以上仿真方法,本文搭建了基于FPGA 的變流器硬件加速實(shí)時(shí)仿真系統(tǒng)。其中,CPU 端處理器型號(hào)為Intel Core i7-4770,核心數(shù)為8,主頻為3.40 GHz;FPGA 芯 片 型 號(hào) 為Kintex Ultrascale XCKU060,采用PCIe3.0 接口與CPU 端上位機(jī)進(jìn)行連接。同時(shí),建立圖3 所示的變流器模型作為算例,設(shè)CPU 端控制系統(tǒng)求解步長(zhǎng)為100 μs,F(xiàn)PGA 端電氣狀態(tài)求解步長(zhǎng)為1 μs,控制系統(tǒng)采用恒功率控制,電氣及控制參數(shù)如表1 所示。圖中:S1—S6為變流器開(kāi)關(guān)元件;uabc、udq和iabc、idq分別為dq變換前、后的變流器交流側(cè)電壓和電流;Udc為變流器直流側(cè)電壓;f和θ分別為交流側(cè)電壓頻率和相位;Pgrid和Qgrid分別為變流器輸出的有功和無(wú)功功率;Pref和Qref分別為恒功率控制的有功和無(wú)功功率參考值。
表1 變流器算例參數(shù)設(shè)置Table 1 Parameter setting of converter example
圖3 三相橋式變流器算例系統(tǒng)示意圖Fig.3 Schematic diagram of example system of three-phase bridge-type converter
3.1.1 仿真結(jié)果
為了驗(yàn)證本文所提出仿真方法的有效性,分別采用基于改進(jìn)插值法的多速率并行時(shí)序(EP-ON)、無(wú)插值預(yù)測(cè)的多速率并行時(shí)序(EP-OFF)以及單一速率并行時(shí)序(SP),在以下2 種場(chǎng)景下對(duì)仿真平臺(tái)進(jìn)行測(cè)試,并在采用單一速率串行時(shí)序計(jì)算的離線仿真平臺(tái)PSCAD 中搭建等效模型進(jìn)行步長(zhǎng)為1 μs的仿真作為對(duì)照。
1)場(chǎng) 景A:Pref和Qref分 別 為50 kW 和0 kvar,5.5 s 時(shí)交流側(cè)BC 兩相發(fā)生接地短路故障,0.1 s 后故障消除,得到仿真結(jié)果如圖4 所示。
2)場(chǎng)景B:控制系統(tǒng)Pref初始設(shè)定為50 kW,Qref初始設(shè)定為0 kvar。5 s 時(shí)Pref突變?yōu)?0 kW,Qref突變?yōu)?0 kvar,得到仿真結(jié)果如圖5 所示。
圖4、圖5 分別反映了在發(fā)生短路故障與控制參數(shù)變化的情況下,不同仿真計(jì)算方法所得到系統(tǒng)暫態(tài)過(guò)程的對(duì)比情況。圖中,P、Q和Ia和Udc分別代表變流器交流側(cè)輸出的有功功率、無(wú)功功率A 相交流電流和直流側(cè)電壓;EP-ON、EP-OFF 和SP 分別代表改進(jìn)插值方法和無(wú)插值方法下的多速率并行仿真和單一速率并行仿真結(jié)果。表2 給出了幾種算法相對(duì)于離線仿真結(jié)果中變流器輸出有功功率Pout和A相交流電流IacA的均方根誤差,其中分別以發(fā)生故障或參數(shù)調(diào)整時(shí)刻前后0.2 s 內(nèi)的仿真結(jié)果為樣本,反映穩(wěn)態(tài)及暫態(tài)情況下幾種算法的誤差大小。可以看出,采用單一速率并行時(shí)序得到的仿真結(jié)果與PSCAD 得到的結(jié)果極為接近,證明了本文所采用仿真模型的準(zhǔn)確性。在穩(wěn)態(tài)情況下,幾種算法得到的仿真結(jié)果基本一致,但系統(tǒng)參數(shù)調(diào)整或發(fā)生故障后,無(wú)插值預(yù)測(cè)的多速率并行仿真結(jié)果與PSCAD離線仿真結(jié)果相比出現(xiàn)了一定偏差,而采用改進(jìn)插值法的多速率并行仿真得到的結(jié)果與離線仿真結(jié)果基本一致,保持了較高的仿真精度,驗(yàn)證了本文所提出算法對(duì)于降低計(jì)算時(shí)序由單一速率串行轉(zhuǎn)變?yōu)槎嗨俾什⑿袝r(shí)所產(chǎn)生時(shí)序誤差的有效性。
表2 不同算法的均方根誤差對(duì)比Table 2 Comparison of root mean square errors of different methods
圖4 場(chǎng)景A 下的仿真波形對(duì)比Fig.4 Comparison of simulation waveforms in scenario A
圖5 場(chǎng)景B 下的仿真波形對(duì)比Fig.5 Comparison of simulation waveforms in scenario B
3.1.2 步長(zhǎng)變化影響分析
本文所提出的改進(jìn)插值算法用于降低多速率實(shí)時(shí)仿真場(chǎng)景下計(jì)算時(shí)序轉(zhuǎn)變產(chǎn)生的時(shí)序誤差,仿真步長(zhǎng)的變化將對(duì)算法效果產(chǎn)生一定的影響。當(dāng)仿真步長(zhǎng)擴(kuò)大時(shí),場(chǎng)景A 下變流器交流側(cè)輸出電流的有效值相對(duì)于PSCAD 離線仿真結(jié)果的相對(duì)誤差如附錄B 圖B1 所示。其中,SE 代表文獻(xiàn)[14]所提出外插方法下的計(jì)算結(jié)果;設(shè)步長(zhǎng)倍率δ固定為50,電氣狀態(tài)求解步長(zhǎng)分別為1、2、3 μs??梢钥闯?,在穩(wěn)態(tài)條件下采用插值算法與無(wú)插值預(yù)測(cè)得到的仿真結(jié)果較為接近,但故障發(fā)生后的暫態(tài)過(guò)程中,無(wú)插值算法的多速率并行仿真時(shí)序下計(jì)算誤差隨步長(zhǎng)的增加快速上升,而采用插值算法后誤差的增長(zhǎng)得到明顯抑制,且本文所提出的改進(jìn)插值算法對(duì)于計(jì)算精度的改善效果更好,驗(yàn)證了本文所提出仿真方法的有效性。
當(dāng)電氣狀態(tài)求解步長(zhǎng)固定時(shí),時(shí)序變化引起的誤差隨步長(zhǎng)倍率δ的增加而上升,而步長(zhǎng)倍率取決于仿真場(chǎng)景的實(shí)際需求。在電力電子化程度較高的仿真場(chǎng)景下,可以采用微秒甚至納秒級(jí)的仿真步長(zhǎng)反映開(kāi)關(guān)的高頻特性,而配電網(wǎng)采用微秒或毫秒級(jí)的步長(zhǎng)模擬[22],需要根據(jù)網(wǎng)絡(luò)模型的動(dòng)態(tài)特性合理選擇步長(zhǎng)倍率。以場(chǎng)景B 為例,討論δ變化對(duì)于本文所提出仿真方法的影響。設(shè)電氣狀態(tài)求解步長(zhǎng)為3 μs,步長(zhǎng)倍率δ分別為20、50 和100 時(shí)變流器交流側(cè)B 相輸出電流Ib與PSCAD 離線仿真結(jié)果的對(duì)比見(jiàn)附錄B 圖B2。可以看出,控制參數(shù)Pref與Qref調(diào)整前的穩(wěn)態(tài)情況下,無(wú)論是否采用插值算法得到的結(jié)果都與離線仿真接近,但參數(shù)調(diào)整后的暫態(tài)過(guò)程中,無(wú)插值算法的多速率并行計(jì)算產(chǎn)生明顯誤差,誤差收斂的速度與δ負(fù)相關(guān)。與文獻(xiàn)[14]中的方法相比,改進(jìn)插值算法對(duì)該誤差表現(xiàn)出更好的抑制效果,使計(jì)算精度得到了顯著改善。
實(shí)時(shí)仿真要求在每個(gè)步長(zhǎng)下,仿真計(jì)算消耗的總時(shí)間低于仿真步長(zhǎng)。在本文所建立的仿真平臺(tái)上,上位機(jī)向FPGA 寫(xiě)入控制信息的平均耗時(shí)為10.391 μs,從FPGA 讀 取 電 氣 狀 態(tài) 的 平 均 耗 時(shí) 為10.446 μs,數(shù)據(jù)傳輸?shù)目倳r(shí)間為20.837 μs。由于控制系統(tǒng)與電氣狀態(tài)并行求解且控制系統(tǒng)的求解次數(shù)遠(yuǎn)小于電氣狀態(tài)求解,制約仿真平臺(tái)實(shí)時(shí)性能的主要因素在于FPGA 側(cè)的求解速度。以上算例中,F(xiàn)PGA 計(jì)算模塊時(shí)鐘頻率為142.8 MHz,變流器電氣狀態(tài)求解過(guò)程中每個(gè)環(huán)節(jié)的計(jì)算耗時(shí)如表3 所示。其中,100 次小步長(zhǎng)計(jì)算的總耗時(shí)47.747 μs 與數(shù)據(jù)傳輸?shù)目倳r(shí)間20.837 μs 之和為68.584 μs,小于控制系統(tǒng)計(jì)算步長(zhǎng)100 μs 且仍有充足裕度,有實(shí)現(xiàn)更大規(guī)模實(shí)時(shí)仿真計(jì)算的條件。在本文提出的硬件加速仿真方法中,CPU 端無(wú)須承擔(dān)變流器電氣狀態(tài)求解任務(wù),且解耦后的控制系統(tǒng)的求解次數(shù)相比串行時(shí)序顯著減少,大大降低了CPU 端的仿真計(jì)算負(fù)擔(dān),提高了系統(tǒng)的實(shí)時(shí)仿真能力。
表3 仿真實(shí)時(shí)性能分析Table 3 Analysis on real-time simulation performance
在計(jì)算不變的情況下,高并行度計(jì)算通常需要占用更多的硬件資源。表4 所示為本文提出的硬件加速仿真結(jié)構(gòu)與FPGA 獨(dú)立實(shí)現(xiàn)仿真時(shí),核心計(jì)算模塊的主要硬件資源消耗情況對(duì)比。
表4 硬件資源消耗分析Table 4 Analysis on hardware resource consumption
表4 中,F(xiàn)PGA-S 表示FPGA 獨(dú)立以單一速率并行時(shí)序?qū)崿F(xiàn)仿真時(shí)的資源消耗;COSIM 表示在本文建立的硬件加速仿真平臺(tái)中FPGA 的資源消耗情況。與本文所述硬件加速結(jié)構(gòu)相比,F(xiàn)PGA 獨(dú)立實(shí)現(xiàn)仿真時(shí)需計(jì)算控制系統(tǒng)輸出,增加了并行程度較低、乘加運(yùn)算較多的計(jì)算流程,故DSP48E 的消耗上升顯著。與FPGA 獨(dú)立實(shí)現(xiàn)的電磁暫態(tài)仿真相比,本文提出的硬件加速計(jì)算結(jié)構(gòu)在保持高計(jì)算精度的情況下,有效降低了FPGA 的硬件資源消耗。
本文提出了一種通過(guò)控制系統(tǒng)解耦實(shí)現(xiàn)多速率仿真的變流器電磁暫態(tài)實(shí)時(shí)仿真方法,分析了控制系統(tǒng)解耦計(jì)算過(guò)程中的時(shí)序和誤差問(wèn)題,采用一種結(jié)合拉格朗日插值的改進(jìn)線性插值算法進(jìn)行誤差補(bǔ)償,有效提高了控制器多速率解耦仿真的計(jì)算精度,并以該算法為依據(jù)搭建了利用FPGA 實(shí)現(xiàn)硬件加速計(jì)算的實(shí)時(shí)化仿真平臺(tái)。將CPU 端與FPGA 端仿真步長(zhǎng)分別設(shè)為100 μs 與1 μs,搭建采用功率控制的逆變器模型在系統(tǒng)故障和控制參數(shù)調(diào)整的場(chǎng)景下,分別與無(wú)插值算法的多速率仿真和PSCAD 離線仿真的結(jié)果進(jìn)行對(duì)比。
仿真結(jié)果表明,本文提出的改進(jìn)線性插值算法在精度上優(yōu)于無(wú)插值算法的控制器多速率解耦仿真,更接近離線仿真得到的計(jì)算結(jié)果。此外,通過(guò)仿真計(jì)算耗時(shí)和硬件資源消耗情況分析,驗(yàn)證了本文所提出的變流器電磁暫態(tài)硬件加速實(shí)時(shí)仿真方法在保持高計(jì)算精度和實(shí)時(shí)性能的前提下,實(shí)現(xiàn)了更少的硬件資源消耗,具有良好的可行性和有效性。后續(xù)研究考慮建立種類更豐富的電磁暫態(tài)模型,實(shí)現(xiàn)多類型器件的大規(guī)模仿真。
附錄見(jiàn)本刊網(wǎng)絡(luò)版(http://www.aeps-info.com/aeps/ch/index.aspx),掃英文摘要后二維碼可以閱讀網(wǎng)絡(luò)全文。