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