溫嘉斌, 滿 超, 張 羽
(哈爾濱理工大學(xué),哈爾濱150080)
隨著電力系統(tǒng)的快速發(fā)展以及快速勵磁系統(tǒng)的廣泛應(yīng)用,電力系統(tǒng)低頻振蕩問題已成為影響電網(wǎng)安全、穩(wěn)定運(yùn)行的重要因素之一[1];因而,在電力系統(tǒng)勵磁調(diào)節(jié)器上附加電力系統(tǒng)穩(wěn)定器(Power System Stabilizer,PSS)的附加勵磁控制方案已經(jīng)得到廣泛應(yīng)用。目前,PSS設(shè)計與參數(shù)整定的各種方案層出不窮,但所設(shè)計的PSS較難放到發(fā)電機(jī)組上去驗證其工作的可靠性與穩(wěn)定性。本文利用PC機(jī)制作一套PSS性能測試系統(tǒng),使電力系統(tǒng)穩(wěn)定器的實驗和測試研究在實驗室里通過計算機(jī)完成,節(jié)省了大量現(xiàn)場調(diào)試時間,減少了對實際機(jī)組的依賴。該測試系統(tǒng)的特點在于界面友好、易于操作,在實現(xiàn)方法上大膽地運(yùn)用Matlab與VB混合編程技術(shù)進(jìn)行彼此之間的數(shù)據(jù)交換。Matlab是一套集數(shù)值分析、矩陣運(yùn)算、信號處理和圖形顯示于一體的高性能數(shù)學(xué)軟件[2],而VB可以制作出各種風(fēng)格的界面,雖然單純利用Matlab軟件便可以實現(xiàn)對PSS功能的測試,但是直接在model文件內(nèi)對模型參數(shù)進(jìn)行修改相當(dāng)復(fù)雜,不利于多次使用。該測試系統(tǒng)將二者的優(yōu)勢結(jié)合到一起,利用Matlab的Simulink平臺建立單機(jī)無窮大系統(tǒng)仿真模型,通過VB制作系統(tǒng)的前臺界面,可以反復(fù)操作和修改。與其他的混合編程更為不同的是,本文的混合編程打破了以往只有仿真結(jié)束后才能進(jìn)行數(shù)據(jù)交換的慣例,通過將仿真過程分成若干仿真單元的方法完成了數(shù)據(jù)的實時交換,實現(xiàn)單機(jī)無窮大系統(tǒng)、測試系統(tǒng)前臺界面和被測設(shè)備三者之間的即時通信,不僅美化了系統(tǒng)界面,更提高了測試系統(tǒng)的準(zhǔn)確程度。該系統(tǒng)既可以對電力系統(tǒng)穩(wěn)定器的工作性能進(jìn)行測試,又可以對其參數(shù)進(jìn)行整定,運(yùn)行穩(wěn)定,性能可靠。
電力系統(tǒng)低頻振蕩是指發(fā)生在弱聯(lián)系的互聯(lián)網(wǎng)之間,或者發(fā)電機(jī)組和發(fā)電機(jī)組之間的、由于系統(tǒng)弱阻尼或負(fù)阻尼引起的一種功率振蕩,其頻率一般較低,位于0.1~2.5Hz內(nèi),故稱之為低頻振蕩。產(chǎn)生低頻振蕩的原因主要有兩方面:① 遠(yuǎn)距離、重負(fù)荷輸電;② 大型發(fā)電機(jī)普遍采用集成電路和可控硅組成的勵磁調(diào)節(jié)器,加上晶閘管直接勵磁和快速勵磁系統(tǒng)的廣泛使用[3]。
PSS最早是由美國學(xué)者Demello和Concodri提出的。它采集發(fā)電機(jī)端的角速度、功率或頻率等參數(shù),經(jīng)過放大、隔直、超前—滯后、限幅等環(huán)節(jié)后,將產(chǎn)生的附加勵磁控制信號和機(jī)端電壓一起作為勵磁系統(tǒng)的輸入。隔直環(huán)節(jié)使時間t→∞時,PSS的輸出為零,而過渡過程時該環(huán)節(jié)使得動態(tài)信號順利通過,從而使PSS只在動態(tài)過程中起作用。相位補(bǔ)償環(huán)節(jié)可以使附加力矩與轉(zhuǎn)速偏差Δω同相位,一般由1~3個超前校正環(huán)節(jié)組成,即n=1~3,一個超前環(huán)節(jié)最大可以校正電角度30°~40°[4]。限幅環(huán)節(jié)可以保證系統(tǒng)在受到大擾動時,不會造成發(fā)電機(jī)端的電壓劇烈變化。其基本原理是在自動電壓調(diào)節(jié)的基礎(chǔ)上,通過把Δω、功率偏差Δp、頻率偏差Δf中的一種或兩種信號作為附加控制信號,產(chǎn)生與輸入信號同向的附加力矩,PSS通過發(fā)電機(jī)勵磁控制來增強(qiáng)系統(tǒng)抑制振蕩的阻尼,從而提高系統(tǒng)的動態(tài)穩(wěn)定性[5]。數(shù)學(xué)模型如圖1所示,其中:K為放大環(huán)節(jié)的放大系數(shù);T為隔直環(huán)節(jié)(微分環(huán)節(jié))時間常數(shù);S為時間變量t在復(fù)數(shù)域的表示;T1n,T2n,T1d,T2d均為超前滯后環(huán)節(jié)的時間常數(shù);Vs為PSS輸出的控制信號。
圖1 PSS數(shù)學(xué)模型
Matlab提供了與C++,F(xiàn)ortran的程序接口,但并沒有提供直接與VB的接口。實現(xiàn)Matlab與VB的對接,可以使用一般動態(tài)鏈接庫、動態(tài)數(shù)據(jù)交換(Dynamic Data Exchange,DDE)及 ActiveX組件等多種方法。動態(tài)鏈接庫技術(shù)通常是用Matlab編譯器將m文件編譯成動態(tài)鏈接庫文件,然后在VB環(huán)境中聲明以后調(diào)用庫中的函數(shù),實現(xiàn)一定的功能。當(dāng)庫函數(shù)有輸入和返回值時常出現(xiàn)數(shù)據(jù)類型不兼容等情況;而DDE雖然允許應(yīng)用程序之間共享數(shù)據(jù),但其實現(xiàn)動態(tài)數(shù)據(jù)交換功能的函數(shù)也較復(fù)雜,故本文采用了ActiveX技術(shù)。
Microsoft把所有以COM為基礎(chǔ)的技術(shù)統(tǒng)稱為ActiveX技術(shù),它既不是一種程序語言,也不是一種操作系統(tǒng),而是一種協(xié)議。其允許應(yīng)用程序或組件控制另一個應(yīng)用程序或組件的運(yùn)行,可以使VB能夠在不了解應(yīng)用程序?qū)崿F(xiàn)細(xì)節(jié)的情況下控制自動化對象。Matlab實現(xiàn)了ActiveX自動化服務(wù)支持,在VB下通過ActiveX自動化接口可將Matlab作為VB語言的一個ActiveX組件調(diào)用。可以認(rèn)為,Matlab是自動化服務(wù)器,VB為自動化控制器,可由VB編程驅(qū)動Matlab。
Matlab ActiveX自動化服務(wù)的主要功能包括在Matlab工作空間執(zhí)行Matlab命令,以及直接從Matlab工作空間存取矩陣等。Matlab提供了一個自動化對象,其外部名為Matlab Application,支持COM技術(shù),其他程序(如VB)通過COM技術(shù)提供的函數(shù),得到自動化服務(wù)器對象支持的指針,并通過調(diào)用接口函數(shù)控制和使用自動化對象。在VB中創(chuàng)建Matlab ActiveX對象后,就可以使用該對象所包含的各種方法實現(xiàn)對Matlab的調(diào)用。對Matlab自動化服務(wù)器的使用必須通過服務(wù)器提供的3種方法:①Execute方法。該方法接收字符串命令并在Matlab中執(zhí)行,將結(jié)果以字符串形式返回。②GutFullMatrix方法。該方法從指定的工作空間檢索一個完整的一維或二維的實型或虛型mxArray,其實步和虛步分別存放到兩個單獨(dú)的double型數(shù)組中。③PutFullMatrix方法。該方法將一個mxArray放入指定的工作空間[6]。與DDE技術(shù)相比,ActiveX技術(shù)在運(yùn)行時不需要先啟動 Matlab,較為方便[7]。
該測試系統(tǒng)由2個m文件、2個Model模型文件、1個VB界面以及1個PCI插槽數(shù)據(jù)采集卡組成。2個 m 文件分別命名為“ceshi.m”和“chushihua.m”,其作用是把Simulink中產(chǎn)生的數(shù)據(jù)讀到Matlab工作空間,供VB讀取和把Matlab工作空間里的控制信號送給Model模型文件;2個Model文件利用Matlab的Simulink建立,分別命名為“ceshi.mdl”和“chushihua.mdl”,主體由單機(jī)無窮大系統(tǒng)組成,可以對電力系統(tǒng)的故障進(jìn)行模擬,檢驗以Δω為輸入信號的PSS對電力系統(tǒng)穩(wěn)定性的影響;數(shù)據(jù)采集卡實現(xiàn)單機(jī)無窮大仿真系統(tǒng)和現(xiàn)實PSS設(shè)備之間的通信,進(jìn)行數(shù)字信號與模擬信號的互相轉(zhuǎn)換。系統(tǒng)的信號流程圖由圖2所示。
圖2 信號流程圖
測試系統(tǒng)充分考慮面向?qū)ο蟮男枨?,為了方便用戶操作和查看測試結(jié)果,利用VB制作了面向用戶的系統(tǒng)界面。系統(tǒng)界面有2個命令按鈕、1個圖片框、2個文本框和2組單選按鈕。2個命令按鈕分別控制測試程序的啟動和退出;2個文本框分別進(jìn)行測試結(jié)果的數(shù)字輸出;圖片框進(jìn)行結(jié)果的圖形輸出;4個單選按鈕對用戶關(guān)心的參數(shù)輸出進(jìn)行選擇,還可以進(jìn)行投入PSS和不投入PSS的對比測試;另有3個單選按鈕對系統(tǒng)故障模式進(jìn)行設(shè)置。測試結(jié)果可同時進(jìn)行數(shù)字輸出和圖形顯示,既直觀,又便于對結(jié)果進(jìn)行細(xì)致分析。
單機(jī)無窮大系統(tǒng)作為測試PSS的直接載體,其組成是否合理關(guān)系到測試結(jié)果的準(zhǔn)確性。本文所建立的單機(jī)無窮大系統(tǒng)由同步發(fā)電機(jī)、廠用負(fù)荷、變壓器、雙回路輸電線和無窮大系統(tǒng)等組成。其中,發(fā)電機(jī)帶有快速勵磁系統(tǒng);變壓器為Yd11接法,高壓側(cè)星接可以接地,低壓側(cè)角接對系統(tǒng)運(yùn)行有利;雙回路輸電線為“π”型輸電線路;無窮大系統(tǒng)由三相無窮大電源和負(fù)載組成。系統(tǒng)結(jié)構(gòu)如圖3所示。
圖3 單機(jī)無窮大系統(tǒng)示意圖
發(fā)電機(jī)額定功率Pn=200MW,額定電壓Un=13.8kV,額定頻率fn=50Hz,其余參數(shù)均由 Matlab的powergui模塊自動生成。其中:直軸同步電抗Xd=1.305p.u;直軸暫態(tài)電抗X′d=0.296p.u;直軸次暫態(tài)電抗X″d= 0.252p.u;交軸同步電抗Xq=0.474p.u;交軸次暫態(tài)電抗X″q= 0.243p.u;漏抗XL=0.184p.u;直 軸 暫 態(tài) 開 路 時 間 常 數(shù)T′d0=4.49S;直軸次暫態(tài)開路時間常數(shù)T″d0=0.068 1S;交軸次暫態(tài)短路時間常數(shù)T″q=0.051 3S。
主調(diào)節(jié)器一階系統(tǒng)增益Ka=300,主調(diào)節(jié)器一階系統(tǒng)時間常數(shù)Ta=0.003,勵磁機(jī)一階系統(tǒng)增益Ke=1,勵磁機(jī)一階系統(tǒng)時間常數(shù)Te=0,一階導(dǎo)數(shù)反饋系統(tǒng)增益Kf=0.001,一階導(dǎo)數(shù)反饋系統(tǒng)時間常數(shù)Tf=0.1。
型號:PCI8320;
模擬輸入部分:單端8路輸入通道,0~5V信號輸入范圍,8位A/D轉(zhuǎn)換分辨率,系統(tǒng)綜合誤差≤0.4%F.S,其中,F(xiàn).S為滿量程誤差。
模擬輸出部分:4路輸出通道,支持電壓輸出或電流輸出,D/A轉(zhuǎn)換器件為DAC0832,8位D/A轉(zhuǎn)換分辨率,D/A轉(zhuǎn)換綜合建立時間不超過5μs,D/A轉(zhuǎn)換綜合誤差為電壓方式≤0.4%F.S、電流方式≤1%F.S。
根據(jù)傳統(tǒng)電力系統(tǒng)穩(wěn)定器的基本模型,結(jié)合模擬電路用電阻、電容和運(yùn)算放大器等器件制作了一個簡易的電力系統(tǒng)穩(wěn)定器,其傳遞函數(shù)
模擬電路如圖4所示,其中,R1=30kΩ,R2=1Ω,R3=100kΩ,R4=10kΩ;電容C1=1μF,C2=10μF,C3=8μF,C4=5μF;接地電阻Rf=1kΩ。
圖4 PSS模擬電路
為使PSS運(yùn)行在一個更為接近實際情況的環(huán)境中,測試系統(tǒng)由Simulink搭建了2個單機(jī)無窮大系統(tǒng)模型。該模型包括同步發(fā)電機(jī)、信號分離器、勵磁調(diào)節(jié)器、廠用負(fù)荷、變壓器、斷路器、雙回路輸電線路、無窮大系統(tǒng)、三相故障模塊以及勵磁調(diào)節(jié)器擾動輸入等組成,具體結(jié)構(gòu)如圖5所示。
測試系統(tǒng)為了實現(xiàn)被測設(shè)備與Simulink模型文件之間數(shù)據(jù)的實時交換,要先把模型文件中的發(fā)電機(jī)轉(zhuǎn)速偏差參數(shù)離散化并存儲到Matlab工作空間,而Simulink的模型文件在仿真運(yùn)行期間又不能把數(shù)據(jù)存儲到Matlab工作空間,只有在仿真停止或暫停的情況下才能把數(shù)據(jù)存到Matlab工作空間供外部文件使用[9]。然而將仿真程序停止顯然是無法實現(xiàn)實時傳遞數(shù)據(jù)的。雖然Matlab自身可以通過break方法暫停仿真程序,但是,VB通過AxtiveX控件調(diào)用Matlab程序時不支持break方法,故本系統(tǒng)采用了將20s的仿真過程分成2 000個小的仿真單元的方法,每一小步仿真作為一個獨(dú)立的仿真單元,仿真時間為0.01s。為了能形成一個持續(xù)的仿真過程,每一個仿真單元運(yùn)行結(jié)束時都自動記錄模型的最終狀態(tài),并且在下一次仿真開始時重新讀入該狀態(tài)作為本次仿真的初始狀態(tài)。這樣,每一個仿真單元結(jié)束運(yùn)行后,轉(zhuǎn)速偏差信號都可以存儲到工作空間,從而實現(xiàn)被測設(shè)備與模型文件的通信,而且當(dāng)2 000個仿真單元運(yùn)行完,便可近似地認(rèn)為是20s的連續(xù)仿真實現(xiàn)了數(shù)據(jù)的實時交換。單機(jī)無窮大系統(tǒng)仿真時用變步長ode23tb算法,仿真時間設(shè)置為0.01s,因為該模型會被VB調(diào)用2 000次,所以測試系統(tǒng)結(jié)束后相當(dāng)于該模型連續(xù)仿真20s。
圖5 仿真系統(tǒng)結(jié)構(gòu)圖
本次試驗以0.5s時發(fā)生A相對地短路故障,且斷路器在該時間點跳閘,0.6s時故障排除,斷路器重合閘為例,得到如圖6、7所示的測試結(jié)果。
圖6 投入PSS的測試結(jié)果
圖7 未投入PSS的測試結(jié)果
圖6中以投入PSS運(yùn)行時的功率角δ和Δω為觀察對象。系統(tǒng)在發(fā)生A相斷路故障后短路故障后,在PSS的作用下,Δω迅速恢復(fù)穩(wěn)定,用時不到2s,且δ波動較??;而圖7中以未投入PSS作用的δ和Δω為觀察對象,在這一組試驗中頻率約1Hz的震蕩次數(shù)明顯增加,發(fā)電機(jī)Δω經(jīng)過大約15s才趨于零,而且最終導(dǎo)致了發(fā)電機(jī)的δ發(fā)生偏移,并且在短路故障發(fā)生的一瞬間δ幅值波動約120°,會導(dǎo)致發(fā)電機(jī)電磁功率劇烈震蕩,對電力系統(tǒng)構(gòu)成嚴(yán)重威脅。從實驗結(jié)果可以看出,所測試的電力系統(tǒng)穩(wěn)定器能有效地抑制系統(tǒng)低頻振蕩,從而證實該測試系統(tǒng)可以測試PSS對電力系統(tǒng)低頻振蕩的抑制,并能對所給PSS參數(shù)的合理性進(jìn)行驗證。
本文分析了電力系統(tǒng)低頻振蕩的抑制措施以及PSS對低頻振蕩的抑制作用。建立了較為合理的單機(jī)無窮大系統(tǒng)模型和面向用戶的系統(tǒng)界面,在VB與Matlab混合編程的基礎(chǔ)上,嘗試了將仿真過程分成若干小的仿真單元的方法,實現(xiàn)了VB與Matlab之間的實時數(shù)據(jù)交換。對該測試系統(tǒng)進(jìn)行了實驗,實驗結(jié)果證實:該測試系統(tǒng)界面友好、性能穩(wěn)定,可以測試PSS對電力系統(tǒng)低頻振蕩的抑制作用,并能進(jìn)行PSS的參數(shù)整定,有很好的實用價值。
[1]孟凡超,吳 龍.發(fā)電機(jī)勵磁技術(shù)問答與事故分析[M].北京:中國電力出版社,2009.
[2]趙毅君,李 立,邱 泓,等.基于VB和Matlab混合編程的可視化數(shù)據(jù)采集與處理軟件的研究[J].湖南工程學(xué)院學(xué)報,2008,18(1):1-4.
[3]藺 紅,晁 勤.基于Matlab電力系統(tǒng)穩(wěn)定器參數(shù)優(yōu)化仿真分析[J].水力發(fā)電,2008,34(6):77-78.
[4]溫嘉斌,湯 偉.基于 Matlab的PSS的仿真分析[J].上海電器技術(shù),2010(1):39-43.
[5]He P,Wang K W,Tse C T,et al.Studies of the improvement of probabilistic PSSs by using the single neuron model[J].International Journal of Electrical Power&Energy Systems,2007,29(3):217-221.
[6]龔運(yùn)新,季越江,陳 華.Visual Basic在自動控制中的編程技術(shù)[M].北京:清華大學(xué)出版社,2008:145-151.
[7]黎洪生,龔 榮,陳 雷.基于 Matlab與VB混合編程的電力系統(tǒng)仿真設(shè)計[J].電力科學(xué)與工程,2004(3):44-46.
[8]李維波.MATLAB在電氣工程中的應(yīng)用[M].北京:中國電力出版社,2007:45-46.