楊 靜 袁 超北京理工大學(xué)信息與電子學(xué)院 北京 100081
?
基于LabVIEW的自動化測試軟件設(shè)計(jì)與實(shí)現(xiàn)
楊 靜 袁 超
北京理工大學(xué)信息與電子學(xué)院 北京 100081
摘 要:伴隨著計(jì)算機(jī)和軟件技術(shù)的飛速發(fā)展,虛擬儀器正日漸成為自動化測控領(lǐng)域發(fā)展的新方向。虛擬儀器的使用具有節(jié)省硬件資源、人力資源,提高工作效率等諸多好處,并且使得測試具有一致性和可重復(fù)性。介紹了LabVIEW虛擬儀器開發(fā)方法以及自動測試系統(tǒng)搭建原理,設(shè)計(jì)實(shí)現(xiàn)了基于LabVIEW的自動化測試控制軟件,并對所設(shè)計(jì)的軟件進(jìn)行了測試。
關(guān)鍵詞:虛擬儀器;自動測試;LabVIEW
新進(jìn)設(shè)備的驗(yàn)收測試、已有設(shè)備的標(biāo)校檢定等工作是實(shí)驗(yàn)室中設(shè)備日常管理中的重要內(nèi)容。對于需要多臺儀器、多個測試參數(shù)的較復(fù)雜的測試項(xiàng)目,如新研多通道接收機(jī)模塊測試項(xiàng)目,或更復(fù)雜的系統(tǒng)測試項(xiàng)目,如注入式模擬仿真系統(tǒng)的參數(shù)測試等,可能需要調(diào)用多臺套的儀器儀表進(jìn)行多參數(shù)多回合的測試,如果僅依靠手動操作,必然需要耗費(fèi)較多的人力和時間,測試效率會很低。設(shè)計(jì)研制自動測試平臺,將需要的儀器互聯(lián)并方便實(shí)現(xiàn)程序控制,完成對測試項(xiàng)目各參數(shù)的自動測試有著重要的實(shí)用價值[1]。
LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是由美國國家儀器NI(National Instrument)公司開發(fā)的虛擬儀器圖形化軟件開發(fā)平臺[2],它集成了符合GPIB,RS-232,VXI等協(xié)議的各類儀器與數(shù)據(jù)采集卡通訊的全部功能,內(nèi)置了可應(yīng)用TCP/IP ,ActiveX等軟件標(biāo)準(zhǔn)的庫函數(shù),是一個功能強(qiáng)大且靈活的虛擬儀器軟件設(shè)計(jì)工具。LabVIEW還集成了大量的函數(shù)庫和子程序。在調(diào)用這些子函數(shù)的時候,可以拋棄傳統(tǒng)編程語言中繁難的內(nèi)存分配、指針操作等編程問題。另外,LabVIEW還包含了通用接口總線、串口、針對應(yīng)用的數(shù)據(jù)采集(DAQ)、數(shù)據(jù)分析、數(shù)據(jù)存儲、數(shù)據(jù)顯示和因特網(wǎng)通信的函數(shù)庫。利用它可以方便地建立自己的虛擬儀器系統(tǒng)。LabVIEW可以在Windows,Mac OS X以及Linux這些操作系統(tǒng)上使用。由它開發(fā)的程序不僅可以在這些平臺上執(zhí)行,還可以在 Microsoft Windows CE,Microsoft Pocket PC,Palm OS和其他嵌入式平臺,例如DSP,F(xiàn)PGAs以及微處理器上執(zhí)行。因其被奉為一款標(biāo)準(zhǔn)的數(shù)據(jù)采集和儀器控制軟件,故而它大量地被研究室、學(xué)術(shù)界和工業(yè)產(chǎn)業(yè)界所采用[3]。
在對VISA(虛擬儀器軟件構(gòu)架)、儀器驅(qū)動器和LAN技術(shù)進(jìn)行深入研究的基礎(chǔ)上,將應(yīng)用廣泛的LAN技術(shù)和高效的自動測試?yán)碚撓嘟Y(jié)合,利用LabVIEW軟件實(shí)現(xiàn)多個外部標(biāo)準(zhǔn)儀器(如信號發(fā)生器、示波器、頻譜儀)連接、測試信號產(chǎn)生、參數(shù)測量控制及結(jié)果保存,利用LAN平臺可以實(shí)現(xiàn)外部標(biāo)準(zhǔn)儀器的遠(yuǎn)程控制及測試結(jié)果的共享,可以充分體現(xiàn)自動測試系統(tǒng)的高效率。本文設(shè)計(jì)并實(shí)現(xiàn)了一款基于LabVIEW的自動化測試控制軟件并完成了測試。
1.1 VI基本開發(fā)方法
LabVIEW軟件的開發(fā)包括程序框圖的功能搭建及前面板的GUI設(shè)計(jì)[4]。
框圖是程序的源代碼,類似于C++編程中的文字代碼,不同的是此處由LabVIEW的圖形化語言作為編程環(huán)境,事實(shí)上可執(zhí)行的程序是框圖??驁D程序具體包括控制程序前面板展示和傳遞數(shù)據(jù)的端口、實(shí)現(xiàn)函數(shù)以及功能調(diào)用的節(jié)點(diǎn)、完成結(jié)構(gòu)化程序控制命令的框圖、展現(xiàn)執(zhí)行程序過程中數(shù)據(jù)流的連線等幾個部分組成。
前面板是軟件的圖形用戶界面,被用于設(shè)置輸入量和觀察輸出量,可以視為虛擬儀器的控制面板。主要組件包括控件和指示器,其中的控件等同于輸入量,開發(fā)人員設(shè)置輸入?yún)?shù)需通過控件操作;指示器等同于輸出量,程序經(jīng)由指示器向開發(fā)人員顯示狀態(tài)或輸出數(shù)據(jù)。另外,開發(fā)人員還能使用各種圖標(biāo),如開關(guān)、旋鈕、按鈕、圖形圖表等,使前面板易于觀察和理解。前面板是VI的交互式用戶界面,開發(fā)者可以使用外部設(shè)備如鼠標(biāo)、鍵盤進(jìn)行輸入,而后在屏幕上觀察程序產(chǎn)生的結(jié)果。
1.2 對標(biāo)準(zhǔn)儀器的控制
美國國家儀器NI公司定義開發(fā)了一種用來與各種儀器總線進(jìn)行通信的高級應(yīng)用編程接口NIVISA(Virtual Instrument Software Architecture),LabVIEW對標(biāo)準(zhǔn)儀器的控制就是通過NI-VISA實(shí)現(xiàn)的。
VISA是一個I/O接口軟件和其范例的統(tǒng)稱,能夠控制串口,以太網(wǎng),GPIB,USB,VXI或PXI儀器[5-6],并基于使用儀器的類型來調(diào)用相應(yīng)的程序驅(qū)動。VISA同總線、操作系統(tǒng)以及編程環(huán)境相獨(dú)立。VISA 不僅提供了簡單易用的控制函數(shù)集,在應(yīng)用形式上相當(dāng)簡單,方便初學(xué)者或是簡單任務(wù)的設(shè)計(jì)者掌握上手;同時VISA還提供的非常強(qiáng)大的儀器控制功能與資源管理,可支持復(fù)雜系統(tǒng)組建者的工作。
VISA 總線的I/O接口軟件是一個用來與各種儀器總線進(jìn)行通訊的高級應(yīng)用編程接口(API)的綜合軟件包,具有不受總線、平臺和環(huán)境的限制的優(yōu)點(diǎn),且采用面向?qū)ο缶幊蹋蚨哂袃?yōu)越的擴(kuò)展性、兼容性和獨(dú)立性,可用來對串口,USB,GPIB,PXI,VXI和以太網(wǎng)系統(tǒng)進(jìn)行配置、編程和調(diào)試。
VISA 是虛擬儀器系統(tǒng)I/O 接口軟件,基于自底向上結(jié)構(gòu)模型的VISA創(chuàng)造了一個統(tǒng)一形式的I/O 控制函數(shù)集[7]。常用VISA函數(shù)[8]如表1所示。
表1 常用VISA函數(shù)功能列表
表1(續(xù))
上述函數(shù)完成軟件功能的過程可以描述為:首先通過ViOpen.vi函數(shù)建立計(jì)算機(jī)與儀器的連接,接著利用ViWrite.vi函數(shù)向儀器發(fā)送各種命令,利用ViRead.vi函數(shù)讀取儀器響應(yīng)的任何數(shù)據(jù),最后完成所有測試任務(wù)后可使用ViClose.vi函數(shù)斷開計(jì)算機(jī)與儀器的通信連接。
每一個VISA 函數(shù)都有一個VISA 資源名稱參數(shù),用來指明該函數(shù)對應(yīng)的硬件設(shè)備,使用不同接口類型的儀器由程序自動更換VISA 資源名稱參數(shù)[9]。如VISA 資源名稱為GPIB∶22,則GPIB用于指明接口的類型,22用于表明GPIB的地址;若為LAN接口,對應(yīng)的VISA資源名應(yīng)為測量儀器的IP地址。
為了能夠?qū)崿F(xiàn)對標(biāo)準(zhǔn)信號產(chǎn)生儀表和測試儀表的遠(yuǎn)程操作控制功能,自動測試平臺的硬件主要包括局域網(wǎng)、分布式主控終端計(jì)算機(jī)、測試信號產(chǎn)生儀表(如標(biāo)準(zhǔn)信號源等)、測試結(jié)果觀測儀表 (如示波器、頻譜儀等),總體連接框圖如圖1 所示。
圖1 自動測試平臺系統(tǒng)組成框圖
基于上述平臺硬件,用戶根據(jù)測試任務(wù)選擇平臺中的儀器,與被測設(shè)備連接好后,運(yùn)行測試軟件,即可對信號源儀表進(jìn)行設(shè)置并啟動輸出,對觀測設(shè)備的測量結(jié)果進(jìn)行讀取、處理和存儲,結(jié)果輸出形式可以包括數(shù)據(jù)列表、圖形,或者直接自動生成測試報告。如果在局域網(wǎng)內(nèi)進(jìn)行構(gòu)建,該平臺既可以由單個客戶端獨(dú)享,也可以由LAN上的客戶端共享[10]。其中的多客戶端共享是由測試軟件和網(wǎng)關(guān)進(jìn)行管理的,對于用戶是透明的。
不同測試任務(wù)關(guān)注的測試項(xiàng)及對應(yīng)的結(jié)果參數(shù)都可能不同,自動測試平臺針對實(shí)驗(yàn)室常用的儀表信號產(chǎn)生及參數(shù)測量功能,對通用自動化測試平臺的系統(tǒng)功能進(jìn)行了定義,形成對系統(tǒng)軟件功能的總體要求(如圖2所示)。
圖2 自動測試平臺軟件功能總體框圖
上述自動測試功能會在用戶主控軟件進(jìn)行集成,并提供友好的使用界面。當(dāng)系統(tǒng)開始運(yùn)行時,若用戶需要調(diào)用某臺儀器,如信號發(fā)生器、示波器、頻譜儀等,直接在主面板上選擇相應(yīng)的儀器名稱,運(yùn)行后即可實(shí)現(xiàn)對某外部儀器的控制,然后通過軟件前面板中的各種功能參數(shù)對儀器進(jìn)行設(shè)置。軟件可以實(shí)現(xiàn)單個指標(biāo)參數(shù)的測試,也可以以一定步進(jìn)在相應(yīng)測試區(qū)間中的自動測試,并且利用LabVIEW 動態(tài)報表生成技術(shù)[11-12],實(shí)現(xiàn)了測試結(jié)果的報告自動生成功能。
設(shè)計(jì)實(shí)現(xiàn)的集成有信號源和示波器的自動化測試控制軟件主控界面如圖3所示。
圖3 自動化測試控制軟件主控界面
主控界面的左側(cè)區(qū)域?yàn)闃?biāo)準(zhǔn)信號源的設(shè)置窗口,通過“信號源名稱”下拉框可以在實(shí)驗(yàn)室中所有在庫標(biāo)準(zhǔn)信號源型號中選擇本次測試所用的儀表。具體的信號源參數(shù)設(shè)置包括起始頻率、截止頻率、頻率步進(jìn)、輸出功率、測試時間步進(jìn)、功率偏置等。與這部分GUI界面對應(yīng)的后臺框圖程序如圖4所示。
圖4 信號源功能的框圖程序?qū)崿F(xiàn)圖
主控界面的右側(cè)區(qū)域?yàn)橛^測示波器的設(shè)置窗口,通過“信號源名稱”下拉框可以在實(shí)驗(yàn)室中所有在庫示波器型號或者IP地址中選擇本次測試所用的儀表。具體的示波器測試設(shè)置量包括測試通道、最大時間、探頭衰減、測試功能選擇等,測試結(jié)果顯示功能包括測試結(jié)果數(shù)值顯示、測試波形的圖形顯示等,與這部分GUI界面對應(yīng)的后臺框圖程序如圖5所示。
圖5 示波器功能的框圖程序?qū)崿F(xiàn)圖
下面以通過LAN連接的儀器控制掃頻信號的自動輸出及自動測量為例,對自動測試平臺的功能進(jìn)行測試,測試平臺的連接如圖6所示。
圖6 自動化測試平臺功能測試實(shí)物連接圖
測試前需先設(shè)置儀器的IP,將主機(jī)、信號源和示波器建立在一個局域網(wǎng)內(nèi)。
運(yùn)行在主控計(jì)算機(jī)上的自動化測試控制軟件,可以對信號源和示波器進(jìn)行參數(shù)設(shè)置,直接自動控制標(biāo)準(zhǔn)信號源輸出掃頻正弦波,并自動控制標(biāo)準(zhǔn)示波器測量信號源輸出的信號的幅度參數(shù)(均方根、峰峰值、最大值、最小值、平均值等)與時間參數(shù)(頻率、周期等),并將測量的信號參數(shù)輸出到可選的目標(biāo)文件,并可把示波器測量的信號參數(shù)及波形顯示在軟件界面上,具體的測試步驟流程如圖7所示。
圖7 掃頻信號自動化測試程序的流程圖
在軟件的信號源設(shè)置選項(xiàng)中,將VISA resource name選項(xiàng)卡的下拉菜單選擇為信號源設(shè)置的IP地址,本次測試設(shè)置的掃頻信號起始頻率為10 MHz,截止頻率為50 MHz,頻率步進(jìn)10 MHz,步進(jìn)時間10 ms,信號功率0 dBm,能量偏置0 dB。在軟件的示波器設(shè)置選項(xiàng)中,將VISA resource name選項(xiàng)卡的下拉菜單選擇為示波器設(shè)置的IP地址,設(shè)置示波器的采集通道及要測試的幅度參數(shù)和時間參數(shù),點(diǎn)擊運(yùn)行按鈕實(shí)現(xiàn)示波器的控制,將示波器的波形的對應(yīng)參數(shù)及具體波形傳回至主控軟件界面進(jìn)行顯示(如圖8所示)。在輸出設(shè)置下選項(xiàng)中,設(shè)置參數(shù)計(jì)算的次數(shù)及數(shù)據(jù)結(jié)果輸出保存的路徑,點(diǎn)擊保存按鈕,燈亮即開始保存測量參數(shù)。本次測試測量5次,將數(shù)據(jù)保存在Excel表格中(如圖9所示)。
圖8 自動掃頻測試驗(yàn)證中的參數(shù)設(shè)置和結(jié)果回顯
圖9 自動掃頻測試驗(yàn)證中的輸出設(shè)置保存
對比儀器自身顯示的結(jié)果與自動測試控制軟件錄取結(jié)果數(shù)據(jù)和波形,兩者完全相同,驗(yàn)證了自動化測試系統(tǒng)平臺功能的正確性。
本文針對實(shí)驗(yàn)室設(shè)備管理中的測試效率提出問題,采用LabVIEW 構(gòu)建自動測試模塊的思路,設(shè)計(jì)實(shí)現(xiàn)了一款基于LabVIEW的自動化測試控制軟件,測試結(jié)果驗(yàn)證了軟件功能的正確性。自動測試軟件可以接入主流廠商的多款型信號源設(shè)備和測試儀表設(shè)備,模塊化高;基于標(biāo)準(zhǔn)化的驅(qū)動程序包進(jìn)行通信,可移植性強(qiáng);支持LAN 內(nèi)多客戶端共享,能夠?qū)崿F(xiàn)局域網(wǎng)內(nèi)的分布式聯(lián)合測試。通過實(shí)驗(yàn)室儀器設(shè)備使用便捷性地增強(qiáng),提高了設(shè)備使用率和測試過程的效率。
參考文獻(xiàn)
[1] 陳尚松,李智,雷加,郭慶.虛擬儀器回顧與展望[J].國外電子測量技術(shù),2009,28(12):17-21.
[2] 廖開俊,劉志飛.虛擬儀器技術(shù)綜述[J].國外電子測量技術(shù),2006,25(2):6-8.
[3] 戴鵬飛.測試工程與LabVIEW 應(yīng)用[M].北京:電子工業(yè)出版社,2006.
[4] 陳錫輝,張銀鴻.LabVIEW 8.20程序設(shè)計(jì)從入門到精通[M].北京:清華大學(xué)出版社,2007.
[5] 蔣薇,張曉波,賴青貴.基于LabVIEW的儀器通信技術(shù)研究[J].計(jì)算機(jī)測量與控制,2013,21(4):1030-1032.
[6] 李海明,保安,雙記.基于LabVIEW構(gòu)建電子儀器自動測試系統(tǒng)[J].中國測試,2010(4):63-65.
[7] 余志榮,楊莉.基于NI-VISA與LabVIEW 的USB接口應(yīng)用設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2007(1):66-69.
[8] 劉昌偉,邵左文,畢文.基于LABVIEW 的USB 接口多路高速數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)[J]. 世界電子元器件,2008(12):85-88.
[9] 張磊.利用VISA 控制儀器設(shè)備各種接口[J].電子測試, 2008(10):58-61.
[10] 殷賢華,彭彪. 基于LabVIEW的LAN 結(jié)構(gòu)自動測試平臺設(shè)計(jì)[J].電子測量技術(shù),2010,8(33).
[11] 王曉蘭.基于LabVIEW 的自動測試系統(tǒng)中動態(tài)報表的生成方法[J] .測控技術(shù),2008,27(9):63-64.
[12] 鄒堅(jiān),李世平,魏小飛.基于LabVIEW的自動測試系統(tǒng)中報表生成研究[J].自動化儀表,2006,27(11):68-70.
[13] 李海明,朱保安,王雙記.基于LabVIEW構(gòu)建電子儀器自動測試系統(tǒng)[J].中國測試,2010,36(2):63-65.
Design and Implementation of Automatic Measuring Platform Based on LabVIEW
Yang Jing, Yuan Chao
School of Information and Electronics, Beijing Institute of Technology, Beijing, 100081, China
Abstract:With the technology of computer and software developing rapidly,virtual instrument is becoming a new direction in the field of automatic measurement and control. There are many advantages by using virtual instrument, such as improving working efficiency, reducing personnel resource and so on. And it can be insured that every measurement is of coherence and reproducible by using virtual instrument. This paper introduces the methods of developing virtual instrument software and the principles of designing automatic measuring platform (AMP) at first. Then the functions of the software of AMP are designed and implemented. The software is tested at last.
Key words:virtual instrument; automatic test; LabVIEW
收稿日期:2015-10-31
作者簡介:楊靜,博士,實(shí)驗(yàn)師,副院長。
基金項(xiàng)目:國家自然科學(xué)基金項(xiàng)目(編號:61401024)。