邢峰華,蘆春燕
(山東工業(yè)技師學(xué)院,山東濰坊261053)
伴隨著工業(yè)的飛速發(fā)展,電能作為一種商品,對工農(nóng)業(yè)生產(chǎn)和人民日常生活的重要性越來越高。同其他商品一樣,電能也有其質(zhì)量要求。提高電能質(zhì)量,有助于保證電網(wǎng)和電氣設(shè)備安全運(yùn)行和保障居民正常的生活[1]。與此同時,隨著國民經(jīng)濟(jì)的發(fā)展,暫態(tài)電能質(zhì)量問題在電能質(zhì)量問題中越來越重要。因此,研究暫態(tài)電能質(zhì)量問題至關(guān)重要。
由于暫態(tài)電能質(zhì)量信號不易獲取,在教育領(lǐng)域,需要使用信號發(fā)生器來模擬真實(shí)的信號源,從而對信號進(jìn)行分析。然而,傳統(tǒng)的信號發(fā)生器不能充分滿足這個要求。另外,需要使用信號發(fā)生器來檢驗(yàn)硬件設(shè)備。除此之外,傳統(tǒng)的信號發(fā)生器只能生成有限的波形,并且,它還有裝備笨重、功能固定、價格昂貴等缺點(diǎn)。因此,本文設(shè)計(jì)了一種基于LabVIEW和MATLAB的新型虛擬信號發(fā)生器。利用該儀器可以輕松、快捷地產(chǎn)生并顯示各種所需的信號波形[2-3]。
LabVIEW是NI公司推出的一種圖形化編程語言,LabVIEW的源程序完全是圖形化框圖,沒有文本代碼。LabVIEW平臺上編寫的程序擴(kuò)展名是VI。它采用數(shù)據(jù)流方式編程。LabVIEW可以通過Math-Script節(jié)點(diǎn)實(shí)現(xiàn)與MATLAB的混合編程,在Math-Script節(jié)點(diǎn)中執(zhí)行m文件[4],可以方便地執(zhí)行各種數(shù)學(xué)算法,且節(jié)省運(yùn)行時間。
LabVIEW包括前面板和程序框圖,故信號發(fā)生器的設(shè)計(jì)需要進(jìn)行兩方面的設(shè)計(jì)。首先是前面板的設(shè)計(jì),前面板的設(shè)計(jì)主要考慮信號發(fā)生器的主要任務(wù)是什么,然后根據(jù)這些任務(wù),在前面板上擺放一些控件或指示器。其次是程序框圖的設(shè)計(jì),根據(jù)所要完成的任務(wù),在程序框圖上放置一些函數(shù),將其連接實(shí)現(xiàn)其功能[5]。最后,進(jìn)行程序的調(diào)試,進(jìn)一步確認(rèn)程序的可行性,從而設(shè)計(jì)出信號發(fā)生器。
前面板是用戶與程序交互的窗口,即交互式用戶界面。前面板的主要功能是用戶可以往程序中輸入數(shù)據(jù)和觀察輸出量,在前面板中,使用了各種控件和指示器,如數(shù)值輸入控件、數(shù)值顯示控件、開關(guān)、旋鈕等。前面板的設(shè)計(jì),充分發(fā)揮了LabVIEW的優(yōu)勢,即建立了友好的人機(jī)操作界面[6]。在使用信號發(fā)生器時,可以直接通過鼠標(biāo)和鍵盤來設(shè)定信號的相關(guān)參數(shù)。使用波形圖對輸出的信號波形進(jìn)行觀察和測量,并且可以得到信號的特征。信號發(fā)生器的前面板如圖1所示。
圖1 暫態(tài)電能質(zhì)量信號發(fā)生器前面板
本信號發(fā)生器的程序主要包括五個模塊:
電壓驟降是指信號電壓幅值下降到到原來電壓幅值的 0.1-0.9,并持續(xù)時間小于 1min,在此期間內(nèi)信號的頻率保持不變,最后電壓又恢復(fù)到正常水平的現(xiàn)象[7]。在程序框圖中電壓驟降信號是在一個正弦信號的基礎(chǔ)上疊加一個驟降的擾動信號。驟降幅度和驟降起始時間和結(jié)束時間是可調(diào)的。該模塊的程序框圖如圖2所示。電壓驟將的數(shù)學(xué)模型是:
其中 a在 0.1到 0.9之間取值。
圖2 電壓驟降信號發(fā)生器的程序框圖
電壓驟升:是指電壓的幅值升高至原始信號電壓幅值的1.1倍以上,并且信號頻率保持不變,持續(xù)時間小于1min[7]。電壓驟升的程序框圖和電壓驟降程序框圖是類似的,這里我們不再贅述。該模塊的程序框圖如圖3所示。
電壓驟升的數(shù)學(xué)模型是:
其中 a在 1.1到 1.8之間取值。
圖3 電壓驟升信號發(fā)生器的程序框圖
電壓中斷:是指信號的電壓幅值突然下降到近于零,并且,按照根據(jù)持續(xù)時間可以分為3類:0.5~3s稱為瞬態(tài)斷電;3~60s稱為暫時斷電;大于60s為持續(xù)斷電[8]。電壓中斷的程序框圖和電壓驟降程序框圖是類似的,這里我們不再贅述。該模塊的程序框圖如圖4所示。
電壓中斷的數(shù)學(xué)模型是:
其中,0.9<α<0.99,T<t2-t1<8T。
圖4 電壓中斷信號發(fā)生器的程序框圖
電壓瞬變:是指在極短的時間間隔內(nèi),兩個連續(xù)穩(wěn)態(tài)電壓之間在極短時間內(nèi)發(fā)生疊加的一種突變現(xiàn)象[9]。在程序框圖中,電壓瞬變信號是一個正弦信號疊加上一個諧波信號且在短時間內(nèi)發(fā)生疊加形成。該模塊的程序框圖如圖5所示。
電壓瞬變的數(shù)學(xué)模型是:
其中a取任意值,n為整數(shù)。
圖5 電壓瞬變信號發(fā)生器的程序框圖
暫態(tài)振蕩:是指由于系統(tǒng)發(fā)生故障而造成信號出現(xiàn)振蕩現(xiàn)象[10]。在程序框圖中,暫態(tài)振蕩表示為在一個正弦波的基礎(chǔ)上疊加一個振蕩擾動信號,擾動信號可以設(shè)置相振蕩發(fā)生起止時刻,也可以設(shè)置振蕩幅值。該模塊的程序框圖如圖6所示。
暫態(tài)振蕩的數(shù)學(xué)模型是;
其中A,B取任意值。
圖6 暫態(tài)振蕩信號發(fā)生器的程序框圖
本虛擬函數(shù)信號發(fā)生器所產(chǎn)生的驟降信號、驟升信號、中斷信號、瞬變信號和暫態(tài)振蕩信號的前面板波形顯示分別如下圖7(a)、(b)、(c)、(d)、(e)所示。
下圖8是單一使用LabVIEW設(shè)計(jì)的電壓驟降信號發(fā)生器的程序框圖。
圖8 使用LabVIEW形成的電壓驟降信號發(fā)生器的程序框圖
和由LabVIEW和MATLAB混合編程形成的電壓驟降信號發(fā)生器相比,二者實(shí)現(xiàn)的功能相同,并且都可以通過改變信號參數(shù)來調(diào)節(jié)信號。但是,從直觀上看,后者所占用的界面較少,節(jié)省了空間;從程序的開發(fā)時間看,由于數(shù)學(xué)算法在MATLAB中極易實(shí)現(xiàn),因此,后者所使用的時間較少。
應(yīng)用LabVIEW和MATLAB混合編程設(shè)計(jì)開發(fā)的儀器,操作更加簡單,功能也更強(qiáng)大,且所用時間少。本文設(shè)計(jì)的信號發(fā)生器不僅可以隨時增加各種擾動信號的發(fā)生模塊,還可以根據(jù)需要設(shè)置調(diào)整相應(yīng)的參數(shù),輸出信號通過數(shù)據(jù)采集設(shè)備與被控設(shè)備相連接,可應(yīng)用于暫態(tài)電能質(zhì)量的研究與教學(xué),以及暫態(tài)電能質(zhì)量檢測裝置的驗(yàn)證,更好的滿足用戶的各種不同的需要。