張炳達(dá),靳 朝,朱俊杰,張 佳
(天津大學(xué) 智能電網(wǎng)教育部重點(diǎn)實(shí)驗(yàn)室,天津300072)
隨著中國(guó)特高壓交直流電網(wǎng)的快速發(fā)展,交直流、多直流之間的相互影響加劇,電網(wǎng)的安全運(yùn)行面臨嚴(yán)峻挑戰(zhàn)[1]??刂坪捅Wo(hù)系統(tǒng)對(duì)交直流混合電網(wǎng)的安全可靠運(yùn)行起著重要的作用,而基于實(shí)時(shí)仿真的硬件在環(huán)HIL(Hardware-In-Loop)測(cè)試可以驗(yàn)證交直流混合電網(wǎng)中保護(hù)裝置動(dòng)作的正確性和控制策略的有效性。交直流混合電網(wǎng)中存在大量的電力電子設(shè)備,與傳統(tǒng)的輸電網(wǎng)相比,其動(dòng)態(tài)特性時(shí)間尺度更小,實(shí)時(shí)仿真程序需要兼顧較大的仿真規(guī)模和較短的仿真步長(zhǎng)[2]。高效的計(jì)算方法和計(jì)算能力強(qiáng)的硬件平臺(tái)是實(shí)現(xiàn)交直流混合電網(wǎng)全電磁暫態(tài)實(shí)時(shí)仿真的2個(gè)重要保證。
在進(jìn)行交直流混合電網(wǎng)電磁暫態(tài)仿真時(shí),一般從增加算法并行度和減少計(jì)算量2 個(gè)方面入手對(duì)仿真算法進(jìn)行改進(jìn)[3]。中國(guó)電力科學(xué)研究院提出了節(jié)點(diǎn)分裂法、分布參數(shù)線路解耦法等并行計(jì)算方法,將交流輸電網(wǎng)絡(luò)和直流輸電網(wǎng)絡(luò)分開計(jì)算,并依據(jù)其連接關(guān)系進(jìn)行統(tǒng)一求解[4]。文獻(xiàn)[5]預(yù)先計(jì)算得到各種可能需要的電導(dǎo)矩陣的逆矩陣,顯著加快了直流輸電網(wǎng)絡(luò)的仿真速度,但當(dāng)直流輸電網(wǎng)絡(luò)中的開關(guān)元件較多時(shí),逆矩陣存儲(chǔ)量過大,難以在實(shí)際工程中實(shí)現(xiàn)應(yīng)用。為了減少因開關(guān)元件頻繁動(dòng)作而增加的計(jì)算量,文獻(xiàn)[6]采用伴隨離散電路模型對(duì)開關(guān)元件進(jìn)行建模,使得開關(guān)元件進(jìn)行狀態(tài)切換時(shí)直流輸電網(wǎng)絡(luò)的節(jié)點(diǎn)導(dǎo)納矩陣保持不變,但該方法的仿真精度會(huì)受到影響。
目前,主流的實(shí)時(shí)仿真裝置主要有實(shí)時(shí)數(shù)字仿真系統(tǒng)(RTDS)、HYPERSIM、電力系統(tǒng)實(shí)時(shí)仿真工具ADPSS 等。我國(guó)建立的具有自主知識(shí)產(chǎn)權(quán)的ADPSS 主要應(yīng)用于機(jī)電-電磁混合仿真[7]。近年來,國(guó)內(nèi)科研院所利用RTDS[8]或者HYPERSIM[9]平臺(tái)在大規(guī)模交直流系統(tǒng)實(shí)時(shí)仿真方面取得了很大的進(jìn)展。RTDS 承擔(dān)計(jì)算任務(wù)的硬件由若干rack 構(gòu)成,HYPERSIM 基于SGI 超級(jí)計(jì)算機(jī)運(yùn)行,都采用多臺(tái)處理器并行計(jì)算以提高仿真規(guī)模,但底層計(jì)算硬件本質(zhì)上仍屬于串行器件。另外,現(xiàn)有平臺(tái)對(duì)硬件配置要求高,設(shè)備成本過于高昂[10],因此不利于推廣。
現(xiàn)場(chǎng)可編程邏輯門陣列(FPGA)具有完全可配置的并行硬件結(jié)構(gòu)、分布式內(nèi)存結(jié)構(gòu)、深度流水線結(jié)構(gòu),且具有成本低、體積小等優(yōu)點(diǎn),逐漸作為主要硬件參與電力系統(tǒng)實(shí)時(shí)仿真計(jì)算[11]。文獻(xiàn)[12-13]在FPGA 上根據(jù)電力系統(tǒng)的數(shù)學(xué)模型建立專門的計(jì)算模塊,提高了實(shí)時(shí)仿真速度。但專用模塊受到計(jì)算流程的限制而經(jīng)常處于空閑狀態(tài),造成FPGA 資源的浪費(fèi)。文獻(xiàn)[14]設(shè)計(jì)了一種基于FPGA 和指令流的實(shí)時(shí)數(shù)字仿真平臺(tái)(FRTDS)。FRTDS打破了仿真對(duì)象直接硬件化的設(shè)計(jì)理念,為實(shí)現(xiàn)電力系統(tǒng)電磁暫態(tài)實(shí)時(shí)仿真提供了新的思路。受使用的仿真算法與FPGA 中計(jì)算資源的限制,現(xiàn)有FRTDS 的仿真規(guī)模較小。
為了減少實(shí)時(shí)仿真的計(jì)算量,避免線性組合法帶來的子網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)無法預(yù)存的問題,本文將子網(wǎng)絡(luò)分為關(guān)注子網(wǎng)絡(luò)與非關(guān)注子網(wǎng)絡(luò)。對(duì)關(guān)注子網(wǎng)絡(luò)、非關(guān)注子網(wǎng)絡(luò)分別采用存儲(chǔ)壓力小的節(jié)點(diǎn)消去法、計(jì)算量少的線性組合法進(jìn)行子網(wǎng)絡(luò)等效與求解。在此基礎(chǔ)上,對(duì)原有FRTDS 的軟硬件進(jìn)行改造,使其在較短的仿真步長(zhǎng)下能夠運(yùn)行網(wǎng)絡(luò)規(guī)模較大的關(guān)注區(qū)可變的仿真程序。通過對(duì)典型的交直流混合電網(wǎng)進(jìn)行仿真,驗(yàn)證了所提方法的可行性與所研發(fā)平臺(tái)的有效性。
在電力系統(tǒng)電磁暫態(tài)仿真中,常見的電氣元件有電源、電阻、電感、電容,其中電感、電容的伏安特性通過微分方程描述。狀態(tài)變量分析方法屬于一般性的建模方法,適用于電力系統(tǒng)電磁暫態(tài)仿真[15]。
包含2 個(gè)線性含源子網(wǎng)絡(luò)的電力系統(tǒng)示意圖如圖1 所示。子網(wǎng)絡(luò)內(nèi)部包含若干電阻R、電感L、電容C 元件,子網(wǎng)絡(luò)的輸入變量向量由子網(wǎng)絡(luò)內(nèi)部的獨(dú)立電壓源/電流源(w)以及子網(wǎng)絡(luò)端口處的電壓(u)/電流(i)兩部分組成。
圖1 電力系統(tǒng)示意圖Fig.1 Schematic diagram of power system
若將子網(wǎng)絡(luò)端口處的電壓看作子網(wǎng)絡(luò)的輸入變量向量,將電流看作子網(wǎng)絡(luò)的輸出變量向量,則子網(wǎng)絡(luò)a和子網(wǎng)絡(luò)b的狀態(tài)方程和輸出方程分別為:
其中,下標(biāo)a、b分別表示子網(wǎng)絡(luò)a、子網(wǎng)絡(luò)b的變量;i為子網(wǎng)絡(luò)端口處的電流向量;u 為子網(wǎng)絡(luò)端口處的電壓向量;w 為子網(wǎng)絡(luò)內(nèi)部的獨(dú)立電源電壓向量;x為子網(wǎng)絡(luò)的狀態(tài)變量向量;A為系統(tǒng)的狀態(tài)矩陣;B、E 為系統(tǒng)的輸入矩陣;C 為系統(tǒng)的輸出矩陣;D、F 為系統(tǒng)的直接傳輸系數(shù)矩陣。采用后退歐拉法對(duì)式(1)和式(2)進(jìn)行差分化處理,整理后可得:
其中,各系數(shù)矩陣A*、B*、C*、D*、E*、F*的計(jì)算與式(1)和式(2)中的矩陣A、B、C、D、E、F 及仿真步長(zhǎng)Δt有關(guān)。由式(3)和式(4)可以看出,t時(shí)刻子網(wǎng)絡(luò)的狀態(tài)變量向量x(t)和輸出變量向量i(t)是t ?Δt時(shí)刻子網(wǎng)絡(luò)的狀態(tài)向量x(t ?Δt)、t 時(shí)刻子網(wǎng)絡(luò)內(nèi)部的獨(dú)立電源電壓向量w(t)、t 時(shí)刻子網(wǎng)絡(luò)端口處電壓向量u(t)的線性組合。將式(3)和式(4)中第2 個(gè)子式等號(hào)右邊的前2 項(xiàng)合并,得到子網(wǎng)絡(luò)的諾頓等效電路表達(dá)式為:
由于ia(t)=ib(t),可得:
將式(6)稱為骨架型節(jié)點(diǎn)的電壓方程。由式(6)求解得到子網(wǎng)絡(luò)端口處的電壓向量u 后,根據(jù)式(3)和式(4)可直接計(jì)算得到子網(wǎng)絡(luò)的狀態(tài)變量向量x。
將上述過程稱為骨架型節(jié)點(diǎn)電壓法,具體步驟可概括如下:
(1)形成子網(wǎng)絡(luò)的諾頓等效電路;
(2)形成骨架節(jié)點(diǎn)的電壓方程;
(3)求解骨架節(jié)點(diǎn)的電壓方程;
(4)求解子網(wǎng)絡(luò)的狀態(tài)變量。
為了方便敘述,將式(3)和式(4)中的A*、B*、C*、D*、E*、F*統(tǒng)稱為結(jié)構(gòu)參數(shù)。若提前計(jì)算得到結(jié)構(gòu)參數(shù),則在進(jìn)行實(shí)時(shí)仿真時(shí)通過矩陣的乘加運(yùn)算就能夠完成子網(wǎng)絡(luò)的等效與求解。因此,骨架型節(jié)點(diǎn)電壓法具有計(jì)算量小的特點(diǎn)。
現(xiàn)階段交直流混合電網(wǎng)的換流器主要由晶閘管組成。晶閘管在門極收到觸發(fā)信號(hào)且兩端電壓大于導(dǎo)通閾值電壓時(shí)導(dǎo)通,觸發(fā)成功后晶閘管維持導(dǎo)通狀態(tài)。當(dāng)流過晶閘管的電流降為0 后,晶閘管關(guān)斷。晶閘管導(dǎo)通時(shí)的電阻取值很小,關(guān)斷時(shí)的電阻取值很大,是一個(gè)時(shí)變的非線性元件。電力系統(tǒng)中還存在斷路器、隔離刀閘、接地刀閘等時(shí)變的開關(guān)元件,實(shí)時(shí)仿真中的短路故障、斷線故障也是通過在系統(tǒng)中添加開關(guān)元件實(shí)現(xiàn)的。設(shè)置故障時(shí)也需要對(duì)接地電阻、故障位置等模擬量型的時(shí)變?cè)M(jìn)行設(shè)置。將根據(jù)用戶意愿修改的時(shí)變?cè)Q為人為性時(shí)變?cè)纾簽榱四M換流器可能發(fā)生的故障,在換流器仿真電路中包含短路、斷線、接地等人為性時(shí)變?cè)?,仿真電路如附錄中圖A1所示。
當(dāng)網(wǎng)絡(luò)中不含時(shí)變和非線性元件時(shí),線性組合法所采用的結(jié)構(gòu)參數(shù)都是常數(shù)。當(dāng)網(wǎng)絡(luò)中存在時(shí)變和非線性元件時(shí),這些結(jié)構(gòu)參數(shù)的取值也變?yōu)榕c時(shí)間或電流/電壓相關(guān)的函數(shù),存在多種取值。由于承擔(dān)仿真任務(wù)的硬件的存儲(chǔ)資源有限,當(dāng)時(shí)變?cè)头蔷€性元件達(dá)到一定的數(shù)量時(shí),骨架型節(jié)點(diǎn)電壓法面臨結(jié)構(gòu)參數(shù)的存儲(chǔ)問題。
當(dāng)模擬某種電力系統(tǒng)現(xiàn)象時(shí),需要某些人為性時(shí)變?cè)l(fā)生變化;當(dāng)模擬另一種電力系統(tǒng)現(xiàn)象時(shí),需要另外一些人為性時(shí)變?cè)l(fā)生變化。換言之,在大部分時(shí)段內(nèi)可將大部分人為性時(shí)變?cè)醋骱愣ú蛔?。利用這種特點(diǎn),給子網(wǎng)絡(luò)賦予動(dòng)態(tài)可變的關(guān)注標(biāo)志,將人為性時(shí)變?cè)愣ú蛔兊淖泳W(wǎng)絡(luò)稱為非關(guān)注子網(wǎng)絡(luò),將人為性時(shí)變?cè)枰l(fā)生變化的子網(wǎng)絡(luò)稱為關(guān)注子網(wǎng)絡(luò)。
對(duì)于非關(guān)注子網(wǎng)絡(luò)而言,其人為性時(shí)變?cè)挥幸环N狀態(tài),結(jié)構(gòu)參數(shù)的取值數(shù)量不大,可以采用線性組合法獲取子網(wǎng)絡(luò)的諾頓等效電路和狀態(tài)變量;對(duì)于關(guān)注子網(wǎng)絡(luò)而言,允許人為設(shè)置有無故障、設(shè)備的運(yùn)行狀態(tài)和負(fù)荷的大小,其結(jié)構(gòu)參數(shù)的取值數(shù)量很大,只能采用節(jié)點(diǎn)消去法獲取子網(wǎng)絡(luò)的諾頓等效電路和狀態(tài)變量。在節(jié)點(diǎn)消去法中可以預(yù)存節(jié)點(diǎn)導(dǎo)納之類的結(jié)構(gòu)參數(shù)來減少仿真的計(jì)算量。由于關(guān)注子網(wǎng)絡(luò)的占比很小,前述骨架型節(jié)點(diǎn)電壓法的優(yōu)點(diǎn)仍被保留。關(guān)注區(qū)可變的仿真計(jì)算框架見附錄中圖A2。
同一個(gè)子網(wǎng)絡(luò)有2 種不同的等效與求解方法,按照switch-case 分支結(jié)構(gòu)設(shè)計(jì)仿真程序,需要很大的程序存儲(chǔ)空間,不適用于FRTDS。一種可行的方法是:事先編制好若干個(gè)針對(duì)特定關(guān)注區(qū)的仿真計(jì)算程序,當(dāng)關(guān)注區(qū)發(fā)生變化時(shí),先將對(duì)應(yīng)的仿真計(jì)算程序下載到備用程序存儲(chǔ)器中,再通過切換命令將備用程序存儲(chǔ)器變?yōu)檫\(yùn)行程序存儲(chǔ)器,實(shí)現(xiàn)不同仿真程序間的無縫切換。
FRTDS將完成某種運(yùn)算所涉及的數(shù)據(jù)存儲(chǔ)器地址和選擇字用規(guī)定的指令格式來描述,并將其保存在程序存儲(chǔ)器中。運(yùn)算組件按照規(guī)定的工作頻率從程序存儲(chǔ)器中取得指令,并將其傳輸給讀控制器、寫控制器、選擇控制器。讀控制器通過多口讀寫電路從數(shù)據(jù)存儲(chǔ)器中取得運(yùn)算數(shù)據(jù),運(yùn)算器按照選擇控制器給出的工作方式進(jìn)行數(shù)值運(yùn)算,由寫控制器將計(jì)算結(jié)果通過多口讀寫電路存儲(chǔ)到數(shù)據(jù)存儲(chǔ)器中。該過程延綿不斷,直到一個(gè)仿真步長(zhǎng)結(jié)束再從頭重新開始。運(yùn)算組件的具體結(jié)構(gòu)見附錄中圖A3。
為了使運(yùn)算核能夠流水作業(yè),在讀控制器、寫控制器、選擇控制器中加入指令緩沖隊(duì)列,用于對(duì)數(shù)據(jù)存儲(chǔ)器地址和選擇字進(jìn)行延時(shí)輸出。在硬件資源允許的情況下,搭建盡可能多的運(yùn)算組件,使FRTDS具備強(qiáng)大的并行計(jì)算能力。各運(yùn)算組件并行工作,通過運(yùn)算組件中的直通線和公用數(shù)據(jù)區(qū)實(shí)現(xiàn)運(yùn)算組件間的數(shù)據(jù)通信。
為了方便地從結(jié)構(gòu)參數(shù)中讀取當(dāng)前值,可將其視為數(shù)組,數(shù)組中每個(gè)元素代表結(jié)構(gòu)參數(shù)的某個(gè)取值。描述結(jié)構(gòu)參數(shù)的信息保存在引導(dǎo)字中,引導(dǎo)字包括結(jié)構(gòu)參數(shù)的起始地址、影響字(由時(shí)變?cè)头蔷€性元件的狀態(tài)組成)地址、譯碼方式。FRTDS根據(jù)引導(dǎo)字獲取結(jié)構(gòu)參數(shù)當(dāng)前值的真實(shí)地址,具體過程如圖2 所示,該間接尋址電路放在運(yùn)算組件的讀控制器與程序存儲(chǔ)器之間。
圖2 間接尋址示意圖Fig.2 Schematic diagram of indirect addressing
FRTDS具有硬件在環(huán)功能。由于真實(shí)設(shè)備發(fā)出的跳合閘信號(hào)、晶閘管觸發(fā)信號(hào)等信息到達(dá)FRTDS的時(shí)間并不確定,先將其集中在備用數(shù)據(jù)存儲(chǔ)器中。在每個(gè)仿真步長(zhǎng)的起始時(shí)刻,將備用數(shù)據(jù)存儲(chǔ)器變?yōu)檫\(yùn)算組件的運(yùn)行數(shù)據(jù)存儲(chǔ)器,將外部信息提供給運(yùn)算組件。運(yùn)算組件的輸出數(shù)據(jù)同樣不能直接提供給外圍設(shè)備,先將輸出數(shù)據(jù)集中在備用數(shù)據(jù)存儲(chǔ)器中,然后在每個(gè)仿真步長(zhǎng)的起始時(shí)刻將備用數(shù)據(jù)存儲(chǔ)器變?yōu)橥鈬O(shè)備的運(yùn)行數(shù)據(jù)存儲(chǔ)器,保證外圍設(shè)備能夠使用同一時(shí)刻的電壓量和電流量。這種數(shù)據(jù)存儲(chǔ)器的乒乓工作方式提高了實(shí)時(shí)仿真平臺(tái)的工作效率。
FRTDS提供的圖形化仿真軟件包括仿真對(duì)象圖形化建模和運(yùn)算任務(wù)指令級(jí)分配。仿真對(duì)象圖形化建模根據(jù)電氣設(shè)備的特性及其連接關(guān)系,自動(dòng)給出具體的仿真計(jì)算過程。運(yùn)算任務(wù)指令級(jí)分配根據(jù)運(yùn)算式中變量的位置,自動(dòng)生成描述運(yùn)算任務(wù)依賴關(guān)系的有向無環(huán)圖。在每一時(shí)鐘節(jié)拍,在就緒的計(jì)算任務(wù)中找出距離任務(wù)最晚安排時(shí)間的時(shí)間富裕量最少的任務(wù),計(jì)算其在所有運(yùn)算組件中安排的成本,然后將其安排在成本最小的運(yùn)算組件中。重復(fù)該過程直到所有就緒的計(jì)算任務(wù)都被安排或者運(yùn)算組件不能承擔(dān)更多的計(jì)算任務(wù)為止。
仿真計(jì)算程序包括三方面內(nèi)容:①采用線性組合法求取子網(wǎng)絡(luò)的諾頓等效電路、狀態(tài)變量、輸出變量的程序;②采用節(jié)點(diǎn)消去法求取子網(wǎng)絡(luò)的諾頓等效電路、狀態(tài)變量、輸出變量的程序;③骨架型節(jié)點(diǎn)電壓法的形成程序和求解程序。為了節(jié)省程序的存儲(chǔ)空間并縮短程序的下載時(shí)間,將所有采用線性組合法求取子網(wǎng)絡(luò)的諾頓等效電路、狀態(tài)變量、輸出變量的程序以及骨架型節(jié)點(diǎn)電壓法的形成程序和求解程序固定在程序存儲(chǔ)器中,在任何時(shí)候都被執(zhí)行;采用節(jié)點(diǎn)消去法求取子網(wǎng)絡(luò)的諾頓等效電路、狀態(tài)變量、輸出變量的程序不固定在程序存儲(chǔ)器中,當(dāng)子網(wǎng)絡(luò)被關(guān)注時(shí)才被放入程序存儲(chǔ)器中運(yùn)行。為了敘述方便,將所有子網(wǎng)絡(luò)的線性組合法程序、骨架型節(jié)點(diǎn)電壓方程的形成程序和求解程序稱為全程程序,將子網(wǎng)絡(luò)的節(jié)點(diǎn)消去法程序稱為區(qū)間程序。
圖3 給出了一種串行化的仿真計(jì)算程序的無縫對(duì)接方法。由于區(qū)間程序的計(jì)算結(jié)果能夠覆蓋全程程序的計(jì)算結(jié)果,無需考慮線性組合法和節(jié)點(diǎn)消去法計(jì)算結(jié)果的選擇問題。但這種對(duì)接方法存在以下2 個(gè)問題:①區(qū)間程序和全程程序之間串聯(lián)運(yùn)行,不能充分發(fā)揮FRTDS 的并行計(jì)算能力;②乒乓數(shù)據(jù)存儲(chǔ)器的位置和空間大小很難決定,不利于實(shí)時(shí)仿真平臺(tái)的推廣應(yīng)用。
圖3 串行化的仿真計(jì)算程序Fig.3 Serial simulation program
圖4 給出了一種并行化的仿真計(jì)算程序的無縫對(duì)接方法。將所有運(yùn)算組件的程序存儲(chǔ)區(qū)按相同的方法劃分為3 段,首段和尾段為乒乓結(jié)構(gòu),中段為固定結(jié)構(gòu)。首段放置用節(jié)點(diǎn)消去法獲取的關(guān)注子網(wǎng)絡(luò)諾頓等效電路程序和部分用線性組合法獲取的所有子網(wǎng)絡(luò)諾頓等效電路程序,尾段放置用節(jié)點(diǎn)消去法獲取的關(guān)注子網(wǎng)絡(luò)狀態(tài)變量與輸出變量程序和部分用線性組合法獲取的所有子網(wǎng)絡(luò)狀態(tài)變量與輸出變量程序。這種對(duì)接方法使得區(qū)間程序和部分全程程序能夠并列運(yùn)行,盡可能地發(fā)揮了FRTDS 的并行計(jì)算能力。同時(shí),乒乓結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)器的選擇可按最大需求決定,且不會(huì)浪費(fèi)乒乓結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)器的存儲(chǔ)空間。
圖4 并行化的仿真計(jì)算程序Fig.4 Parallel simulation program
為了盡可能地發(fā)揮FRTDS 的并行計(jì)算能力,必須優(yōu)化出放在乒乓結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)器中的部分全程程序。在所有獲取關(guān)注區(qū)諾頓等效電路的程序中,將同時(shí)滿足計(jì)算量最大和串行度最長(zhǎng)的程序稱為首段最大區(qū)間程序。如果不存在這樣的程序,則將具有串行度最長(zhǎng)的程序設(shè)置為首段最大區(qū)間程序,且在程序中加入無用的乘加運(yùn)算語句,使其計(jì)算量在所有程序中最大。尾段最大區(qū)間程序的定義類似,將獲取關(guān)注區(qū)諾頓等效電路程序變?yōu)楂@取關(guān)注區(qū)狀態(tài)變量和輸出變量程序即可。將首段最大區(qū)間程序、尾段最大區(qū)間程序、全程程序的執(zhí)行語句安排到程序數(shù)據(jù)存儲(chǔ)器中,落在首段的全程程序的執(zhí)行語句屬于首段偽區(qū)間程序,落在尾段的全程程序的執(zhí)行語句屬于尾段偽區(qū)間程序。
改變關(guān)注區(qū),將變化的首段區(qū)間程序和固定的首段偽區(qū)間程序在首段范圍內(nèi)進(jìn)行執(zhí)行語句安排,將變化的尾段區(qū)間程序和固定的尾段偽區(qū)間程序在尾段范圍內(nèi)進(jìn)行執(zhí)行語句安排。由于流水線的緣故,安排首段執(zhí)行語句時(shí)要保證中段執(zhí)行語句的讀入數(shù)據(jù)能夠到達(dá),安排尾段執(zhí)行語句時(shí)要保證中段執(zhí)行語句的寫出數(shù)據(jù)已經(jīng)到達(dá)。若出現(xiàn)無法安排的現(xiàn)象,則在首段或者尾段最大區(qū)間程序中再加入適量的無用的乘加運(yùn)算語句,重新確定首段偽區(qū)間程序和尾段偽區(qū)間程序。圖5 為采用并行化設(shè)計(jì)仿真計(jì)算程序時(shí)獲取所有關(guān)注區(qū)指令的程序流程圖。
圖5 獲取關(guān)注區(qū)指令的程序流程圖Fig.5 Program flowchart of obtaining orders for focus areas
在并行化的仿真計(jì)算程序的無縫對(duì)接方法中,需要考慮線性組合法和節(jié)點(diǎn)消去法計(jì)算結(jié)果的選擇問題。子網(wǎng)絡(luò)狀態(tài)變量的求取和使用不在同一個(gè)仿真步長(zhǎng)內(nèi)發(fā)生,子網(wǎng)絡(luò)的輸出變量在仿真計(jì)算程序中只寫不讀,本文采用賦值語句級(jí)別的覆蓋方法來解決計(jì)算結(jié)果的選擇問題。由于這種覆蓋方法僅要求節(jié)點(diǎn)消去法中狀態(tài)變量和輸出變量的賦值語句放在線性組合法中狀態(tài)變量和輸出變量的賦值語句之后,不會(huì)影響實(shí)時(shí)仿真平臺(tái)的并行計(jì)算能力。子網(wǎng)絡(luò)諾頓等效電路的求取和使用在同一個(gè)仿真步長(zhǎng)內(nèi)發(fā)生,使用諾頓等效電路參數(shù)時(shí)需制定相應(yīng)的查詢方法進(jìn)行選擇。
晶閘管、斷路器、隔離刀閘等開關(guān)量時(shí)變?cè)? 和1 這2 種狀態(tài),在仿真程序中經(jīng)常用很大的電阻表示0狀態(tài),用很小的電阻表示1狀態(tài)。開關(guān)量時(shí)變?cè)臓顟B(tài)和電阻值之間有對(duì)應(yīng)的關(guān)系。故障接地電阻、故障相間電阻等模擬量時(shí)變?cè)]有狀態(tài)表述,只有數(shù)值大小。當(dāng)一個(gè)模擬量時(shí)變?cè)淖儠r(shí),不僅涉及多個(gè)不同類型的結(jié)構(gòu)參數(shù),而且涉及結(jié)構(gòu)參數(shù)中的每一個(gè)成員,難以保證通過外圍設(shè)備在一個(gè)仿真步長(zhǎng)內(nèi)修改所有相關(guān)的結(jié)構(gòu)參數(shù)。將模擬量時(shí)變?cè)部醋饔? 種狀態(tài),一種狀態(tài)的值是模擬量時(shí)變?cè)淖兦暗闹?,另一種狀態(tài)的值是模擬量時(shí)變?cè)淖兒蟮闹?。在模擬量時(shí)變?cè)l(fā)生變化前,先按照變化前、后的模擬量數(shù)值修改結(jié)構(gòu)參數(shù),再改變影響字中模擬量時(shí)變?cè)臓顟B(tài)。將這種方法稱為偽開關(guān)量方法,具體過程如圖6所示。
圖6 偽開關(guān)量方法的具體過程Fig.6 Specific process of virtual switching method
將全程程序的結(jié)構(gòu)參數(shù)表稱為全程參數(shù)表,將區(qū)間程序的結(jié)構(gòu)參數(shù)表稱為區(qū)間參數(shù)表。在對(duì)模擬量時(shí)變?cè)?shí)施偽開關(guān)量方法時(shí),不僅要改變區(qū)間參數(shù)表,而且要改變?nèi)虆?shù)表,區(qū)間參數(shù)表和全程參數(shù)表都需要乒乓結(jié)構(gòu)的數(shù)據(jù)存儲(chǔ)器。為了節(jié)約FPGA的數(shù)據(jù)存儲(chǔ)器資源,區(qū)間參數(shù)表的數(shù)據(jù)存儲(chǔ)器采用嵌套的乒乓結(jié)構(gòu)。內(nèi)部乒乓用于實(shí)施偽開關(guān)量方法,外部乒乓用于更改關(guān)注區(qū)。由于內(nèi)部乒乓采用局部修改方式,而外部乒乓采用整體更換方式,當(dāng)外部乒乓發(fā)生時(shí)需要將新的區(qū)間參數(shù)表同時(shí)下載到內(nèi)部乒乓的2 套數(shù)據(jù)存儲(chǔ)器中。內(nèi)部乒乓的工作頻率與仿真步長(zhǎng)一致,而外部乒乓操作只發(fā)生在關(guān)注區(qū)被改變的時(shí)刻。
參數(shù)表按存儲(chǔ)對(duì)象可分為線性組合法的結(jié)構(gòu)參數(shù)表、節(jié)點(diǎn)消去法的節(jié)點(diǎn)導(dǎo)納參數(shù)表、諾頓等效電路的等效電流源參數(shù)表和等效電導(dǎo)參數(shù)表。結(jié)構(gòu)參數(shù)的影響字與參數(shù)表之間是一對(duì)一的直接對(duì)應(yīng)關(guān)系,而節(jié)點(diǎn)導(dǎo)納的影響字與參數(shù)表之間是多對(duì)一的映射對(duì)應(yīng)關(guān)系[16]。等效電流源的影響字為子網(wǎng)絡(luò)關(guān)注標(biāo)志,采用直接對(duì)應(yīng)方法對(duì)等效電流源的參數(shù)表進(jìn)行查詢。等效電導(dǎo)的影響字由結(jié)構(gòu)參數(shù)的影響字和子網(wǎng)絡(luò)關(guān)注標(biāo)志組成。子網(wǎng)絡(luò)關(guān)注時(shí)采用引導(dǎo)地址固定偏移方式查詢節(jié)點(diǎn)消去法等效電導(dǎo)參數(shù)表,子網(wǎng)絡(luò)非關(guān)注時(shí)采用直接對(duì)應(yīng)方法查詢線性組合法等效電導(dǎo)參數(shù)表。等效電流源的參數(shù)表和節(jié)點(diǎn)消去法的等效電導(dǎo)參數(shù)表需能讀能寫的數(shù)據(jù)存儲(chǔ)單元,但無需乒乓結(jié)構(gòu)。
天津大學(xué)智能電網(wǎng)教育部重點(diǎn)實(shí)驗(yàn)室研發(fā)的FRTDS 是一種全電磁暫態(tài)實(shí)時(shí)仿真裝置。FRTDS與負(fù)責(zé)仿真程序下載和仿真設(shè)置的上位機(jī)之間采用UDP 通信協(xié)議,與真實(shí)的數(shù)字化保護(hù)裝置之間采用IEC61850 通信協(xié)議,與自主開發(fā)的實(shí)驗(yàn)用控制器之間采用Xilinx 公司的Aurora 通信協(xié)議?;贔RTDS的硬件在環(huán)實(shí)驗(yàn)平臺(tái)如附錄中圖A4所示。
新、舊版FRTDS 都采用Xilinx 公司的Virtex-7 FPGA VC709 開發(fā)板,運(yùn)算組件的仿真步長(zhǎng)均為50 μs,工作頻率均為200 MHz。新版FRTDS 致力于實(shí)現(xiàn)關(guān)注區(qū)可變的實(shí)時(shí)仿真方法,需要增加乘累加運(yùn)算器,并盡可能地?cái)U(kuò)大結(jié)構(gòu)參數(shù)的存儲(chǔ)能力。由于FPGA 的資源有限,新版FRTDS 的并行計(jì)算能力有所下降。表1 給出了新、舊版FRTDS 的結(jié)構(gòu)參數(shù)存儲(chǔ)空間和基本運(yùn)算式的并行計(jì)算能力。
表1 新、舊版FRTDS的性能Table 1 Performance of new and old FRTDS
本文的仿真算例選用改造后的4 機(jī)2 區(qū)交直流混合電網(wǎng),結(jié)構(gòu)圖見圖7。整流側(cè)交流母線的額定電壓為345 kV,逆變側(cè)交流母線的額定電壓為230 kV,兩側(cè)換流母線上裝有阻尼濾波裝置和電容無功補(bǔ)償設(shè)備。送端電網(wǎng)與受端電網(wǎng)均以2 臺(tái)同步發(fā)電機(jī)代替,通過變壓器連接到交流母線上。直流部分的結(jié)構(gòu)及參數(shù)按照CIGRE 直流輸電系統(tǒng)標(biāo)準(zhǔn)設(shè)計(jì),整流器和逆變器都采用12 脈波的晶閘管換流器。整流側(cè)采用定電流控制,逆變側(cè)采用恒電流控制、低壓限流控制以及熄弧角控制[17]。
圖7 2區(qū)4機(jī)系統(tǒng)結(jié)構(gòu)Fig.7 Structure of 2-area 4-machine system
選取骨架節(jié)點(diǎn),對(duì)算例系統(tǒng)進(jìn)行子網(wǎng)絡(luò)劃分的基本原則為:子網(wǎng)絡(luò)要盡可能大,子網(wǎng)絡(luò)線性組合法的計(jì)算量要小于節(jié)點(diǎn)消去法的計(jì)算量,子網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)的存儲(chǔ)量要在合理的范圍內(nèi)。由于發(fā)電機(jī)涉及非人為性模擬量時(shí)變?cè)妥鴺?biāo)變換,其不參與子網(wǎng)絡(luò)劃分,按照常規(guī)的計(jì)算方法對(duì)發(fā)電機(jī)進(jìn)行等效和求解。按照?qǐng)D7將算例系統(tǒng)劃分為9個(gè)子網(wǎng)絡(luò),表2 給出了子網(wǎng)絡(luò)線性組合法計(jì)算程序和節(jié)點(diǎn)消去法計(jì)算程序的基本運(yùn)算式個(gè)數(shù)和所需結(jié)構(gòu)參數(shù)存儲(chǔ)空間數(shù)量。
表2 子網(wǎng)絡(luò)計(jì)算程序的基本運(yùn)算式個(gè)數(shù)和存儲(chǔ)空間數(shù)量Table 2 Number of basic expression and storage space for subnetworks’calculation program
由表2 可以看出,線性組合法計(jì)算程序的基本運(yùn)算式個(gè)數(shù)比節(jié)點(diǎn)消去法計(jì)算程序要少得多,而線性組合法計(jì)算程序所需結(jié)構(gòu)參數(shù)存儲(chǔ)空間比節(jié)點(diǎn)消去法計(jì)算程序要大得多。
為了驗(yàn)證新版FRTDS 比舊版FRTDS 具有更大的仿真規(guī)模,在舊版FRTDS 環(huán)境下采用節(jié)點(diǎn)消去法進(jìn)行仿真計(jì)算,在新版FRTDS 環(huán)境下始終將受端電網(wǎng)看作關(guān)注區(qū)進(jìn)行仿真計(jì)算。通過在送端電網(wǎng)的發(fā)電機(jī)-變壓器組出口處增加負(fù)荷出線來擴(kuò)大仿真規(guī)模。表3 給出了不同仿真規(guī)模下新、舊版FRTDS 仿真程序所需計(jì)算時(shí)間和結(jié)構(gòu)參數(shù)存儲(chǔ)空間數(shù)量。
表3 不同仿真規(guī)模下仿真程序所需計(jì)算時(shí)間和結(jié)構(gòu)參數(shù)存儲(chǔ)空間數(shù)量Table 3 Computation time and storage space number of structural parameters required by simulation program under different simulation scales
由表3 可以看出,新版FRTDS 的仿真規(guī)模相比于舊版FRTDS 有很大程度的提升。另外,舊版FRTDS因計(jì)算能力問題限制了仿真規(guī)模的進(jìn)一步擴(kuò)大,而新版FRTDS 因結(jié)構(gòu)參數(shù)存儲(chǔ)空間數(shù)量問題限制了仿真規(guī)模的進(jìn)一步擴(kuò)大。
為了驗(yàn)證新版FRTDS 仿真結(jié)果的準(zhǔn)確性,將新版FRTDS 的仿真結(jié)果與PSCAD 仿真結(jié)果進(jìn)行分析對(duì)比。
(1)晶閘管觸發(fā)脈沖丟失故障。
在t=0.2 s 時(shí)設(shè)置逆變側(cè)換流器晶閘管觸發(fā)脈沖丟失,持續(xù)0.2 s 后清除故障。圖8 給出了基于新版FRTDS與PSCAD的逆變側(cè)交流電流仿真波形。
圖8 觸發(fā)脈沖丟失時(shí)的電流仿真波形Fig.8 Simulative waveforms of current when triggering pulse losses
(2)逆變側(cè)換流母線發(fā)生故障。
在t=0.2 s 時(shí)設(shè)置逆變側(cè)換流母線發(fā)生三相金屬性接地故障,持續(xù)0.2 s 后清除故障。圖9 給出了基于新版FRTDS 與PSCAD 的逆變側(cè)交流電流仿真波形。
(3)發(fā)電機(jī)出口母線發(fā)生三相短路故障。
在t=10 s 時(shí)設(shè)置發(fā)電機(jī)G3出口母線發(fā)生三相短路故障,持續(xù)0.1 s后清除故障。圖10給出了基于新版FRTDS 與PSCAD 的發(fā)電機(jī)G3機(jī)端電壓(標(biāo)幺值)仿真波形。
圖9 逆變側(cè)換流母線發(fā)生故障時(shí)的電流仿真波形Fig.9 Simulative waveforms of current when faultoccurs at inverter-side converter bus
圖10 發(fā)電機(jī)出口母線發(fā)生故障時(shí)的機(jī)端電壓仿真波形Fig.10 Simulative waveforms of generator terminal voltage when fault occurs at generator outlet bus
由圖8—10 可以看出,新版FRTDS 的仿真波形與PSCAD 仿真波形大體上重合,且與實(shí)際狀況相符合;詳細(xì)觀察其局部放大圖可發(fā)現(xiàn),新版FRTDS 的仿真波形與PSCAD 仿真波形之間有一定的誤差,但都非常小。綜上可以認(rèn)為新版FRTDS 具有較高的仿真精度和一定的仿真規(guī)模,有推廣應(yīng)用價(jià)值。
為了在FRTDS 中實(shí)現(xiàn)具有一定規(guī)模的交直流混合電網(wǎng)的電磁暫態(tài)實(shí)時(shí)仿真,本文給子網(wǎng)絡(luò)賦予了動(dòng)態(tài)可變的關(guān)注標(biāo)志。對(duì)人為性時(shí)變?cè)l(fā)生作用的關(guān)注子網(wǎng)絡(luò)采用存儲(chǔ)壓力比較小的節(jié)點(diǎn)消去法,對(duì)人為性時(shí)變?cè)话l(fā)生作用的非關(guān)注子網(wǎng)絡(luò)采用計(jì)算量少的線性組合法。按照關(guān)注區(qū)可變的仿真計(jì)算方法,給出了并行化仿真計(jì)算程序的無縫對(duì)接方法,綜合考慮人為性模擬量時(shí)變?cè)膮?shù)存儲(chǔ)問題,確定了結(jié)構(gòu)參數(shù)動(dòng)態(tài)替換的數(shù)據(jù)存儲(chǔ)方法,使所設(shè)計(jì)的FRTDS 具備一定的通用性,便于后期推廣。
在未來的研究中,將在采用模塊化多電平變流器的交直流混合電網(wǎng)的實(shí)時(shí)仿真中應(yīng)用關(guān)注區(qū)可變的FRTDS;同時(shí),從優(yōu)化子網(wǎng)絡(luò)劃分方法的角度,考慮進(jìn)一步提高骨架型節(jié)點(diǎn)電壓法的實(shí)用性。
附錄見本刊網(wǎng)絡(luò)版(http://www.epae.cn)。