王建新 吳曉陽 吳獻東 仇高賀
(溫州出入境檢驗檢疫局 浙江溫州 325604)
通斷檢測采集軟件的要求和LabVIEW編程
王建新 吳曉陽 吳獻東 仇高賀
(溫州出入境檢驗檢疫局 浙江溫州 325604)
闡述了低壓電器通斷檢測數(shù)據(jù)采集軟件在硬件控制、波形顯示、報告輸出等方面上的基本要求,分析了LabVIEW軟件實現(xiàn)這些要求的對應(yīng)編程功能,并給出了相關(guān)程序示例;與其他軟件對比說明了LabVIEW軟件用于通斷檢測的優(yōu)缺點。
低壓電器;數(shù)據(jù)采集;LabVIEW
低壓電器通斷檢測采集軟件的任務(wù)主要是控制采集卡啟/停,隨之進行數(shù)據(jù)讀取、顯示、分析計算、報告輸出以及與數(shù)據(jù)庫交互、遠程控制操作等功能。采集軟件通常采用VC++、VB等較常見的編程軟件開發(fā),但對開發(fā)者的要求相對較高,而使用LabVIEW軟件編程可以更容易、高效地完成相關(guān)功能,因此近年來它在低壓電器檢測方面獲得了較多應(yīng)用[1-3]。然而低壓電器通斷檢測軟件在采集、界面、報告輸出等有其特殊要求,除滿足檢測標準的基本要求外,還要在上述方面符合行業(yè)的通用規(guī)則。本研究對使用LabVIEW開發(fā)此類軟件時的幾個關(guān)鍵問題進行了分析,并提出了解決辦法。
LabVIEW——實驗室虛擬儀器工程平臺軟件,是美國國家儀器公司所開發(fā)的圖形化程序編譯平臺,測量和測試是其應(yīng)用最廣泛的領(lǐng)域,并具有以下特色:
(1)采用圖形化編程并且編程簡單,在流程圖構(gòu)思完畢的同時也基本上完成了程序的撰寫;
(2)具備功能豐富的用于測試的控件和函數(shù);
(3)大量的采集卡和儀器支持LabVIEW,DAQ助手可迅速開發(fā)采集控制編程;
(4)默認以多線程運行程序,簡化了開發(fā)流程。
3.1 采集控制
采集軟件應(yīng)具有采集硬件的量程、采樣速率、采集時間、觸發(fā)通道、觸發(fā)方式、觸發(fā)前預(yù)留數(shù)據(jù)量等設(shè)置功能,還應(yīng)有控制采集啟動、停止的功能。LabVIEW中用DAQ助手可迅速配置一個采集子VI,并轉(zhuǎn)換成代碼;將代碼中相關(guān)參數(shù)關(guān)聯(lián)到界面中的輸入控件,就可得到比較完善的采集控制。DAQ助手產(chǎn)生代碼的缺點是在采集時有一個時間限制,當沒有采到足夠數(shù)據(jù)且時間未到時,不能人工停止。為解決此問題,可以采用圖1所示的編程方案。
圖1 人工停止采集的一種方法
圖1 中“控制采集.vi”是抽取DAQ助手產(chǎn)生代碼的有用部分形成的子VI,其中包含各通道基本設(shè)置。其停止采集的原理是當采集運行后進入一個While循環(huán),此循環(huán)可被有條件結(jié)束:① “DAQmx任務(wù)”的“done”參數(shù)為true(采集到數(shù)據(jù)且“DAQmx Read.vi”執(zhí)行);②采樣出錯或限制時間到(圖中的“超 時S”的設(shè)定時間);③人工停止信號(即圖中下方的“采集狀態(tài)”變量)。
由于LabVIEW的程序自動為多任務(wù),因此可以把圖1程序放在一個接受“通知器”函數(shù)消息的條件判斷結(jié)構(gòu)中。當開始采集時,“通知器”發(fā)出通知,此段程序開始執(zhí)行,通過改變“采集狀態(tài)”變量即可停止采集任務(wù)。
3.2 顯示和操作功能
采集軟件的界面需要能夠使波形數(shù)據(jù)正確、快速顯示,通過菜單、工具欄、按鈕等提供硬件設(shè)置、顯示設(shè)置、計算設(shè)置、項目設(shè)置等功能,并能實現(xiàn)采集數(shù)據(jù)和相關(guān)設(shè)置的存儲等。LabVIEW軟件可以實現(xiàn)上述要求,由于其支持控件的“自定義”,即改變組成控件的各層圖片或底色,可以高效地設(shè)計出豐富多彩的界面,在這一點上效率遠高于VC++等軟件。
LabVIEW具有多個專用于波形顯示的控件,其中有2個可以顯示多通道模擬信號的控件——“混合信號圖”和“波形圖表”,此外還可以使用多個“波形圖”控件組合進行顯示,見圖2。
圖2 不同控件波形顯示效果
(1)混合信號圖效果見圖2(a),每個通道曲線可以用一個“繪圖區(qū)域”來顯示,也支持在一個繪圖區(qū)域顯示多條曲線,同時支持水平和垂直滾動條。其優(yōu)點在于:
①各“繪圖區(qū)域”的操作相互關(guān)聯(lián),例如一個區(qū)域水平擴展,其余區(qū)域則自動跟隨;
②各“繪圖區(qū)域”有獨立的縱坐標,可以獨立設(shè)置高度、顏色、曲線類型等參數(shù);
③可以滾動顯示各“繪圖區(qū)域”,也可以在編程狀態(tài)任意增刪“繪圖區(qū)域”;
④支持自定義改變邊框大小、底色等;
⑤具有圖形工具可以進行縮放、拖動等操作,有游標工具輔助測量。
當只需要在一個屏幕顯示所有通道的情況下,此時編程屏蔽垂直滾動條、圖例等工具,通過自定義功能改變外觀,而其縮放、游標等功能可通過其屬性節(jié)點附加到軟件界面中相關(guān)按鈕,同時通過消息循環(huán)機制自動設(shè)定各“繪圖區(qū)域高度”,可獲得圖2(b)的顯示效果,基本上符合行業(yè)通用格式。
其缺點是不能在運行時增加或刪除“繪圖區(qū)域”。對于全部通道在一個屏幕上顯示的情況(無垂直滾動條),可以在編程時把混合信號圖的“繪圖區(qū)域”設(shè)定到所需最大數(shù)目通道,當增刪通道時通過改變各區(qū)域高度即可“顯示或刪除”通道,但當同時需要滾動顯示時就無法處理了。
(2)“波形圖表”也可以提供多通道顯示,見圖2(c),用法與混合信號圖類似,但有以下問題:
①無垂直滾動條,因此不適用于滾動顯示;
②也不能實現(xiàn)運行時增刪通道。
(3)可以通過多個“波形圖”控件組合來顯示,圖2(d)顯示了相關(guān)效果。這種方法可以實現(xiàn)比較復雜的功能,編程也相對復雜。可以在軟件中預(yù)先放置多個“波形圖”控件并按順序排列,按倒序控制每個控件的顯示或隱藏,同時將輸入曲線重新排序,即可實現(xiàn)任意增刪通道的目的。當多個控件在由“分隔欄”構(gòu)成的區(qū)域中,其顯示與該區(qū)域滾動條自動關(guān)聯(lián),可以實現(xiàn)滾動顯示。但在實際編程時還要考慮多個方面,主要有:任一個控件的相關(guān)參數(shù)變化需要通過事件機制編程來控制其他控件;當控件或界面尺寸變化時,需要重新計算各控件在界面中的坐標位置和控件內(nèi)部各區(qū)域的尺寸;各控件y軸數(shù)字長度變化引起波形顯示區(qū)域尺寸變化時,其他波形顯示區(qū)域也要相隨變化的問題。
相比其他編程工具,采用一般的顯示控件很難達到類似LabVIEW中波形控件的顯示效果,如果采用軟件編程繪圖方式,則要考慮各種圖形操作、曲線繪圖、圖形幾何變換計算、繪圖速度等問題,開發(fā)工作量大且效果取決于于編程者的能力。當然這些軟件由于編程自由度較高,能夠完成一些更高級的功能,例如LabVIEW中就無法對相鄰幾個顯示控件用一個窗口選擇拖動放大。
3.3 word報告輸出
通斷檢測報告的格式在行業(yè)內(nèi)基本相似,由波形圖、計算結(jié)果等信息構(gòu)成,一般采用表格形式,要求:①所見即所得,即波形圖的屏幕顯示和報告相一致;②可以由用戶方便地修改模板,實現(xiàn)不同顯示格式和內(nèi)容。
報告輸出可以采用軟件自繪方式,也可以采用專用控件如水晶報表等。目前較常見的是軟件編程控制Word軟件,使用預(yù)先設(shè)置的模板產(chǎn)生報告文件,然后通過替換書簽或字符方式改變內(nèi)容。
在LabVIEW中,波形顯示控件都可以通過“獲得圖像”調(diào)用節(jié)點從而得到整個控件的圖像,而后可以通過“還原像素圖”、“繪制還原像素圖”輸出到空的“Picture”控件中,之后轉(zhuǎn)換成“BMP”格式圖片并將其插入到Word文件中。
在LabVIEW中提供了對“添加圖像至報表”函數(shù),可以通過替換書簽方式插入圖像。對于其他如文字類型等沒有提供替換書簽的函數(shù),可以通過“Word查找和替換”函數(shù)替換指定字符串實現(xiàn)。使用VC++等軟件編程則可以做到全部用書簽替換,這影響到了最終用戶模板制作方式。
3.3.1 多個“波形圖”控件報告輸出
對于多個“波形圖”控件報告輸出要考慮以下幾點問題:
(1)每個控件產(chǎn)生一個圖像,必須將其合為一個圖像;
(2)合成時要考慮每個分圖像在合成圖像的坐標位置;
(3)要考慮到最終圖像與報告對應(yīng)單元格的尺寸比例問題,如不能匹配則插入的圖片就會變形,可以通過LabVIEW提供的Word函數(shù)查詢報告輸出文件的表格參數(shù)得到相關(guān)參數(shù)。
圖3 輸出word報告程序示例
圖4 多個“波形圖”控件轉(zhuǎn)化“BMP”格式程序
圖3 展示了如何用圖片替換報告中的書簽以及將圖中“計算列表”內(nèi)容替換到Word文件中的程序。其中“報告圖片高度”和“報告圖片寬度”是將規(guī)定的每個“波形圖”控件生成圖像的尺寸,“有效通道”是包含當前通道項名列表框的內(nèi)容屬性節(jié)點,“窗格2”是分隔欄所劃分區(qū)域中的所有“波形圖”控件集合,“計算列表填充”用于得到計算設(shè)置的相關(guān)項目。圖中將得到的通道圖像轉(zhuǎn)換成BMP文件,再通過替換書簽“pic1”插入到Word報表,通過循環(huán)將所有計算相關(guān)信息替換Word報告中的相應(yīng)字符串。
圖4是圖3中“疊加圖片”子V I的程序框圖,展示了如何獲得“波形圖”控件圖像并合成“BMP”格式圖片的程序,“示波控件組”即所有正在顯示的“波形圖”控件組合。圖中“拷貝波形圖”子VI是將界面中所顯示的各“波形圖”控件所有參數(shù)拷貝到一個已有的“波形圖”控件(圖中為“波形圖1”)?!翱截悺笔峭ㄟ^使各控件屬性節(jié)點信息相同得以實現(xiàn),而“波形圖1”的尺寸是由圖中“寬度”和“高度”變量決定,由此控制最終獲得的圖像尺寸比例合適。
3.3.2 “混合信號圖”控件報告輸出
“混合信號圖”控件和“波形圖”控件操作方法類似,但不需要多個通道合成,只需要獲得整個控件圖像即可,其缺點是如果“混合信號圖”有垂直滾動條則無法得到控件顯示部分之外的圖像。解決辦法是可以放置另一個控件,并拷貝相應(yīng)參數(shù)使其與屏幕上控件顯示效果相一致,同時控制各“繪圖區(qū)域”高度使得所有通道同時全部顯示在控件中,從而獲得圖像。
3.4 數(shù)據(jù)計算
計算功能關(guān)系到測量準確度,應(yīng)盡可能自動計算以提高效率。目前除了燃弧時間外,其他常用計算均可得到滿意結(jié)果。LabVIEW提供了許多有用的如平均值、峰值、有效值等算法以及擬合濾波等函數(shù),但在應(yīng)用到通斷檢測時還需要對數(shù)據(jù)進行一些處理,比如查找波形有效起點、過零點、去除畸變部分波形等,相較其他軟件而言,仍可大大降低編程強度。對于低壓電器各種參數(shù)算法,有許多文獻已經(jīng)做了研究[4-5],在LabVIEW中將它們轉(zhuǎn)化并不困難。
根據(jù)低壓電器通斷檢測軟件其共性的基本要求,本研究中給出了LabVIEW編制采集軟件時幾個通用性問題的解決示例,表明使用LabVIEW軟件可以滿足常規(guī)的各種要求;通過靈活使用屬性節(jié)點和調(diào)用節(jié)點可以設(shè)計出用其他軟件可以做到的大部分效果,而且編程代碼量大大減少;對比其他編程軟件,LabVIEW軟件在專業(yè)性、易用性、易學性、易維護性具有明顯的優(yōu)勢,使用者可針對不同檢測要求快速調(diào)整軟件和增加功能,對提高檢測水準具有很高價值。
[1] 蘇金州,許志紅,施東升. 基于LabVIEW的低壓電器數(shù)據(jù)采集系統(tǒng)[J]. 低壓電器,2009,7:27-30.
[2] 徐敦林. 虛擬儀器在低壓電器中的應(yīng)用[J]. 機電信息,2010,12:61
[3] 阮慶洲,陳建兵,朱剛. 基于LabVIEW的智能低壓電器測試技術(shù)[J]. 低壓電器,2011,5:55-57,60.
[4] 龐琳,陳建兵,王愛國. 包絡(luò)擬合法在求取功率因數(shù)中的應(yīng)用[J]. 低壓電器,2007,23:53-55.
[5] 鄢來君. 低壓電器短路試驗離散數(shù)據(jù)處理[J]. 低壓電器,2010,15:52-55.
[6] 陳錫輝,張銀洪.LabVIEW8.20程序設(shè)計從入門到精通[M].北京:清華大學出版社,2007.
Requirements of Making and Breaking Data Acquisition Software and LabVIEW Programming
Wang Jianxin, Wu Xiaoyang, Wu Xiandong, Qiu Gaohe
(Wenzhou Entry-Exit Inspection and Quarantine Bureau, Wenzhou, Zhejiang, 325604)
The basic requirements of making and breaking data acquisition software for low-voltage electrical apparatus in hardware control, waveform display, report output and so on were elaborated. The functional programming of LabVIEW software to achieve these requirements was analyzed and the related sample programs were given. And the advantages and disadvantages of LabVIEW software used for making and breaking data acquisition were illustrated.
Low voltage electrical appratus; Data acquisition; PLC; LabVIEW
TP274.2
浙江出入境檢驗檢疫局科技計劃項目(ZK201207);國家質(zhì)檢總局科技計劃項目(2010IK076)