1 虛擬儀器和LabWindows/CVI簡(jiǎn)介 虛擬儀器是1986年美國(guó)國(guó)家儀器公司(NI)提出的一種新型儀器概念。他是計(jì)算機(jī)技術(shù)介入儀器領(lǐng)域所形成的一種新型的、富有生命力的儀器種類。在虛擬儀器中計(jì)算機(jī)處于核心地位,計(jì)算機(jī)軟件技術(shù)和測(cè)試系統(tǒng)更緊密地地結(jié)合成一個(gè)有機(jī)整體,儀器的結(jié)構(gòu)概念和設(shè)計(jì)觀點(diǎn)都發(fā)生了根本變化。 虛擬儀器技術(shù)的實(shí)質(zhì)是利用最新的計(jì)算機(jī)技術(shù)來實(shí)現(xiàn)和擴(kuò)展傳統(tǒng)儀器的功能。其基本構(gòu)成包括計(jì)算機(jī)、虛擬儀器軟件、硬件接口模塊等。在這里,硬件僅是為了解決信號(hào)的輸入輸出,軟件才是整個(gè)系統(tǒng)的關(guān)鍵。當(dāng)基本硬件確定了以后,就可以通過不同的軟件實(shí)現(xiàn)不同的功能。虛擬儀器應(yīng)用軟件集成了儀器的所有采集、控制、數(shù)據(jù)分析、結(jié)果輸出和用戶界面等功能,使傳統(tǒng)儀器的某些硬件甚至整個(gè)儀器都被計(jì)算機(jī)軟件所代替。因此從某種意義上說,計(jì)算機(jī)即是儀器,軟件即是儀器。 虛擬儀器的軟件是其最核心、最關(guān)鍵的部分,其主要功能是對(duì)硬件執(zhí)行通信和控制,對(duì)信號(hào)進(jìn)行分析和處理,以及對(duì)結(jié)果進(jìn)行恰當(dāng)?shù)谋磉_(dá)和輸出等。虛擬儀器的軟件開發(fā)平臺(tái)目前主要有兩類:第一類是基于傳統(tǒng)語言的Turbo C,Microsoft公司的Visual Basic與Visual C++,Borland公司的Delphi,Sybase公司的PowerBuilder,這類語言具有適應(yīng)面廣、開發(fā)靈活的特點(diǎn),但開發(fā)人員需有較多的編程經(jīng)驗(yàn)和較強(qiáng)的調(diào)試能力;第二類用專業(yè)圖形化編程軟件進(jìn)行開發(fā)。如HP公司的VEE,NI公司的Lab-VIEW和Lab Windows/CVI等。NI公司的LabVIEW軟件開發(fā)平臺(tái)是一種專業(yè)圖形化編程軟件,采用圖形化編程方式,結(jié)構(gòu)流程清晰,但缺點(diǎn)是對(duì)硬件的要求較高,比較依賴NI的專用產(chǎn)品,對(duì)信號(hào)控制方式不夠靈活。而Lab-Windows/CVI以ANSI C為核心,將功能強(qiáng)大,使用靈活的C語言平臺(tái)與數(shù)據(jù)采集,分析和表達(dá)的測(cè)控專業(yè)工具有機(jī)地接和起來。他的集成化開發(fā)平臺(tái),交互式編程方法,豐富的控件和庫函數(shù)大大增強(qiáng)了C語言的功能,為熟悉C語言的開發(fā)人員建立檢測(cè)系統(tǒng),自動(dòng)測(cè)量環(huán)境,數(shù)據(jù)采集系統(tǒng),過程監(jiān)控系統(tǒng)等提供了一個(gè)理想的軟件開發(fā)環(huán)境。 2 基于LabWindows/CVI平臺(tái)開發(fā)虛擬函數(shù)信號(hào)發(fā)生器 2.1 硬件組成 儀器硬件主要由計(jì)算機(jī)及其接口、多功能數(shù)據(jù)采集卡和濾波及放大電路組成,原理框圖如圖1所示。多功能數(shù)據(jù)采集卡采用NI公司生產(chǎn)的1200系列Lab-PC-1200。這是一種性能優(yōu)良低價(jià)位適合PC及兼容機(jī)的數(shù)據(jù)采集卡,他能夠完成信號(hào)采集(A/D),數(shù)字信號(hào)的模擬輸出(D/A)及定時(shí)/計(jì)數(shù)功能。他具有8個(gè)模擬量輸入通道,2個(gè)模擬量輸出通道,24個(gè)數(shù)字量I/O接口和3個(gè)16位定時(shí)/計(jì)數(shù)器。Lab-PC-1200輸出的模擬信號(hào)通過濾波器進(jìn)行濾波平滑、放大后即可使用。其中濾波器的選擇視輸出信號(hào)頻率范圍而定,放大倍數(shù)根據(jù)實(shí)際需要分不同的檔位。 2.2 儀器面板設(shè)計(jì) 設(shè)計(jì)的儀器而板如圖2所示。該過程主要包括創(chuàng)建控件和修改控件屬性兩部分。 (1) 創(chuàng)建控件 用戶界面共有8個(gè)控件:1個(gè)Panel控件,1個(gè)Graph控件,1個(gè)Ring控件,1個(gè)Button控件和4個(gè)Numeric控件。創(chuàng)建過程如下:?jiǎn)?dòng)CVI,在工程窗口中選擇菜單File→New→User InterFace(*.uir),打開空白用戶界而編輯窗口。在其中單擊右鍵,依次選擇所需控件并置于面板的合適位置。 (2) 設(shè)置控件屬性 將鼠標(biāo)置于各控件圖標(biāo)上并雙擊左鍵,在撣出的編輯窗口中設(shè)囂好各控件的屬性。主要屬性設(shè)置包括控件名稱(CONSTANT NAME)、回調(diào)函數(shù)(Callback Function)名、控件標(biāo)題等。 2.3 軟件設(shè)計(jì) 在完成用戶界而設(shè)計(jì)后,CVI可自動(dòng)生成許多代碼以及缺省消息處理函數(shù),只要在這些函數(shù)中添加所需的代碼即可完成程序的設(shè)計(jì)。具體操作如下:在以上完成的界面窗口菜單中選Code→Generate→All Code,點(diǎn)擊OK鍵即進(jìn)入代碼編輯窗口。整個(gè)程序部分源代碼如下,其中加粗部分代碼是需要程序開發(fā)者自己添加的。 完成以上代碼添加并保存后,在工程窗口中選擇:Ed-it→add File To Project→a11 Files(.*),依次將前述界面文件、代碼文件以及自動(dòng)生成的頭文件加入到工程文件中。通過Run dun Project命令即可運(yùn)行工程文件。 值得一提的是,LabWindow/CVI軟件開發(fā)平臺(tái)還有一個(gè)很大的優(yōu)勢(shì)在于利用此平臺(tái)開發(fā)的軟件可形成獨(dú)立的安裝程序,可完全脫離LabWindow/CVI環(huán)境獨(dú)立運(yùn)行,易于安裝,使用性強(qiáng)。 3 結(jié) 語 通過對(duì)該信號(hào)發(fā)生器所產(chǎn)生的信號(hào)進(jìn)行測(cè)試,結(jié)果表明該信號(hào)源輸出正弦信號(hào)性能優(yōu)于普通傳統(tǒng)信號(hào)源產(chǎn)生的信號(hào)。可以相信,隨著虛擬儀器技術(shù)向縱深發(fā)展和各項(xiàng)高新技術(shù)的進(jìn)步,人們完全可以實(shí)現(xiàn)將電子實(shí)驗(yàn)室"裝入"電腦的設(shè)想。虛擬儀器不是計(jì)算機(jī)功能簡(jiǎn)單的擴(kuò)展,也不單純是傳統(tǒng)智能儀器的替代品,虛擬儀器的概念代表了當(dāng)今測(cè)試儀器領(lǐng)域發(fā)展的重要方向之一,有著廣闊的發(fā)展前景。 |