邢峰華,蘆春燕
(山東工業(yè)技師學(xué)院,山東濰坊261053)
伴隨著工業(yè)的飛速發(fā)展,電能作為一種商品,對(duì)工農(nóng)業(yè)生產(chǎn)和人民日常生活的重要性越來越高。同其他商品一樣,電能也有其質(zhì)量要求。提高電能質(zhì)量,有助于保證電網(wǎng)和電氣設(shè)備安全運(yùn)行和保障居民正常的生活[1]。與此同時(shí),隨著國(guó)民經(jīng)濟(jì)的發(fā)展,暫態(tài)電能質(zhì)量問題在電能質(zhì)量問題中越來越重要。因此,研究暫態(tài)電能質(zhì)量問題至關(guān)重要。
由于暫態(tài)電能質(zhì)量信號(hào)不易獲取,在教育領(lǐng)域,需要使用信號(hào)發(fā)生器來模擬真實(shí)的信號(hào)源,從而對(duì)信號(hào)進(jìn)行分析。然而,傳統(tǒng)的信號(hào)發(fā)生器不能充分滿足這個(gè)要求。另外,需要使用信號(hào)發(fā)生器來檢驗(yàn)硬件設(shè)備。除此之外,傳統(tǒng)的信號(hào)發(fā)生器只能生成有限的波形,并且,它還有裝備笨重、功能固定、價(jià)格昂貴等缺點(diǎn)。因此,本文設(shè)計(jì)了一種基于LabVIEW和MATLAB的新型虛擬信號(hào)發(fā)生器。利用該儀器可以輕松、快捷地產(chǎn)生并顯示各種所需的信號(hào)波形[2-3]。
LabVIEW是NI公司推出的一種圖形化編程語言,LabVIEW的源程序完全是圖形化框圖,沒有文本代碼。LabVIEW平臺(tái)上編寫的程序擴(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)行時(shí)間。
LabVIEW包括前面板和程序框圖,故信號(hào)發(fā)生器的設(shè)計(jì)需要進(jìn)行兩方面的設(shè)計(jì)。首先是前面板的設(shè)計(jì),前面板的設(shè)計(jì)主要考慮信號(hào)發(fā)生器的主要任務(wù)是什么,然后根據(jù)這些任務(wù),在前面板上擺放一些控件或指示器。其次是程序框圖的設(shè)計(jì),根據(jù)所要完成的任務(wù),在程序框圖上放置一些函數(shù),將其連接實(shí)現(xiàn)其功能[5]。最后,進(jìn)行程序的調(diào)試,進(jìn)一步確認(rèn)程序的可行性,從而設(shè)計(jì)出信號(hào)發(fā)生器。
前面板是用戶與程序交互的窗口,即交互式用戶界面。前面板的主要功能是用戶可以往程序中輸入數(shù)據(jù)和觀察輸出量,在前面板中,使用了各種控件和指示器,如數(shù)值輸入控件、數(shù)值顯示控件、開關(guān)、旋鈕等。前面板的設(shè)計(jì),充分發(fā)揮了LabVIEW的優(yōu)勢(shì),即建立了友好的人機(jī)操作界面[6]。在使用信號(hào)發(fā)生器時(shí),可以直接通過鼠標(biāo)和鍵盤來設(shè)定信號(hào)的相關(guān)參數(shù)。使用波形圖對(duì)輸出的信號(hào)波形進(jìn)行觀察和測(cè)量,并且可以得到信號(hào)的特征。信號(hào)發(fā)生器的前面板如圖1所示。

圖1 暫態(tài)電能質(zhì)量信號(hào)發(fā)生器前面板
本信號(hào)發(fā)生器的程序主要包括五個(gè)模塊:
電壓驟降是指信號(hào)電壓幅值下降到到原來電壓幅值的 0.1-0.9,并持續(xù)時(shí)間小于 1min,在此期間內(nèi)信號(hào)的頻率保持不變,最后電壓又恢復(fù)到正常水平的現(xiàn)象[7]。在程序框圖中電壓驟降信號(hào)是在一個(gè)正弦信號(hào)的基礎(chǔ)上疊加一個(gè)驟降的擾動(dòng)信號(hào)。驟降幅度和驟降起始時(shí)間和結(jié)束時(shí)間是可調(diào)的。該模塊的程序框圖如圖2所示。電壓驟將的數(shù)學(xué)模型是:

其中 a在 0.1到 0.9之間取值。

圖2 電壓驟降信號(hào)發(fā)生器的程序框圖
電壓驟升:是指電壓的幅值升高至原始信號(hào)電壓幅值的1.1倍以上,并且信號(hào)頻率保持不變,持續(xù)時(shí)間小于1min[7]。電壓驟升的程序框圖和電壓驟降程序框圖是類似的,這里我們不再贅述。該模塊的程序框圖如圖3所示。
電壓驟升的數(shù)學(xué)模型是:

其中 a在 1.1到 1.8之間取值。

圖3 電壓驟升信號(hào)發(fā)生器的程序框圖
電壓中斷:是指信號(hào)的電壓幅值突然下降到近于零,并且,按照根據(jù)持續(xù)時(shí)間可以分為3類:0.5~3s稱為瞬態(tài)斷電;3~60s稱為暫時(shí)斷電;大于60s為持續(xù)斷電[8]。電壓中斷的程序框圖和電壓驟降程序框圖是類似的,這里我們不再贅述。該模塊的程序框圖如圖4所示。
電壓中斷的數(shù)學(xué)模型是:

其中,0.9<α<0.99,T<t2-t1<8T。

圖4 電壓中斷信號(hào)發(fā)生器的程序框圖
電壓瞬變:是指在極短的時(shí)間間隔內(nèi),兩個(gè)連續(xù)穩(wěn)態(tài)電壓之間在極短時(shí)間內(nèi)發(fā)生疊加的一種突變現(xiàn)象[9]。在程序框圖中,電壓瞬變信號(hào)是一個(gè)正弦信號(hào)疊加上一個(gè)諧波信號(hào)且在短時(shí)間內(nèi)發(fā)生疊加形成。該模塊的程序框圖如圖5所示。
電壓瞬變的數(shù)學(xué)模型是:

其中a取任意值,n為整數(shù)。

圖5 電壓瞬變信號(hào)發(fā)生器的程序框圖
暫態(tài)振蕩:是指由于系統(tǒng)發(fā)生故障而造成信號(hào)出現(xiàn)振蕩現(xiàn)象[10]。在程序框圖中,暫態(tài)振蕩表示為在一個(gè)正弦波的基礎(chǔ)上疊加一個(gè)振蕩擾動(dòng)信號(hào),擾動(dòng)信號(hào)可以設(shè)置相振蕩發(fā)生起止時(shí)刻,也可以設(shè)置振蕩幅值。該模塊的程序框圖如圖6所示。
暫態(tài)振蕩的數(shù)學(xué)模型是;

其中A,B取任意值。

圖6 暫態(tài)振蕩信號(hào)發(fā)生器的程序框圖
本虛擬函數(shù)信號(hào)發(fā)生器所產(chǎn)生的驟降信號(hào)、驟升信號(hào)、中斷信號(hào)、瞬變信號(hào)和暫態(tài)振蕩信號(hào)的前面板波形顯示分別如下圖7(a)、(b)、(c)、(d)、(e)所示。


下圖8是單一使用LabVIEW設(shè)計(jì)的電壓驟降信號(hào)發(fā)生器的程序框圖。

圖8 使用LabVIEW形成的電壓驟降信號(hào)發(fā)生器的程序框圖
和由LabVIEW和MATLAB混合編程形成的電壓驟降信號(hào)發(fā)生器相比,二者實(shí)現(xiàn)的功能相同,并且都可以通過改變信號(hào)參數(shù)來調(diào)節(jié)信號(hào)。但是,從直觀上看,后者所占用的界面較少,節(jié)省了空間;從程序的開發(fā)時(shí)間看,由于數(shù)學(xué)算法在MATLAB中極易實(shí)現(xiàn),因此,后者所使用的時(shí)間較少。
應(yīng)用LabVIEW和MATLAB混合編程設(shè)計(jì)開發(fā)的儀器,操作更加簡(jiǎn)單,功能也更強(qiáng)大,且所用時(shí)間少。本文設(shè)計(jì)的信號(hào)發(fā)生器不僅可以隨時(shí)增加各種擾動(dòng)信號(hào)的發(fā)生模塊,還可以根據(jù)需要設(shè)置調(diào)整相應(yīng)的參數(shù),輸出信號(hào)通過數(shù)據(jù)采集設(shè)備與被控設(shè)備相連接,可應(yīng)用于暫態(tài)電能質(zhì)量的研究與教學(xué),以及暫態(tài)電能質(zhì)量檢測(cè)裝置的驗(yàn)證,更好的滿足用戶的各種不同的需要。