引言
20 世紀(jì)80 年代中后期,國(guó)外提出了“虛擬儀器”、“虛擬系統(tǒng)”的概念,隨著微電子技術(shù)、計(jì)算機(jī)技術(shù)的飛速發(fā)展及其在測(cè)量與儀器上的應(yīng)用,測(cè)試領(lǐng)域的新理論、新方法以及儀器結(jié)構(gòu)不斷出現(xiàn),突破了傳統(tǒng)儀器的概念,繼而開創(chuàng)了儀器儀表的新時(shí)代——虛擬儀器。虛擬儀器技術(shù)最核心的思想就是利用計(jì)算機(jī)的硬/軟件資源,使本來(lái)需要硬件實(shí)現(xiàn)的技術(shù)軟件化(虛擬化),以便最大限度的降低系統(tǒng)成本,增強(qiáng)系統(tǒng)的功能和靈活性。
虛擬儀器技術(shù)的實(shí)質(zhì)是利用最新的計(jì)算機(jī)技術(shù)來(lái)實(shí)現(xiàn)和擴(kuò)展傳統(tǒng)儀器的功能。其基本構(gòu)成包括計(jì)算機(jī)、虛擬儀器軟件、硬件接口模塊等。在這里,硬件僅是為了解決信號(hào)的輸入輸出,軟件才是整個(gè)系統(tǒng)的關(guān)鍵。當(dāng)基本硬件確定了以后,就可以通過(guò)不同的軟件實(shí)現(xiàn)不同的功能。虛擬儀器應(yīng)用軟件集成了儀器的所有采集、控制、數(shù)據(jù)分析、結(jié)果輸出和用戶界面等功能,使傳統(tǒng)儀器的某些硬件甚至整個(gè)儀器都被計(jì)算機(jī)軟件所代替。虛擬儀器系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)已成為儀器產(chǎn)業(yè)發(fā)展的一個(gè)重要方向,代表著一起發(fā)展的最新方向和潮流,是信息技術(shù)的一個(gè)重要領(lǐng)域,開創(chuàng)了個(gè)人計(jì)算機(jī)儀器時(shí)代,是測(cè)量?jī)x器工業(yè)發(fā)展的一個(gè)里程碑,其思想將更多地滲透到未來(lái)電子測(cè)量?jī)x器和自動(dòng)化測(cè)試技術(shù)的發(fā)展中去,有著廣泛的發(fā)展和應(yīng)用前景。
1 硬件組成
虛擬儀器的硬件平臺(tái)主要是解決信號(hào)的輸入輸出,由計(jì)算機(jī)和I/O 接口設(shè)備組成的,計(jì)算機(jī)是硬件平臺(tái)的核心,一般是工作站、工控機(jī),亦可以是普通的帶總線插槽的個(gè)人計(jì)算機(jī). I/O接口設(shè)備負(fù)責(zé)被測(cè)信號(hào)的采集、調(diào)整、放大,以及A/D 轉(zhuǎn)換。本文中硬件由工控機(jī)及其接口,數(shù)據(jù)采集卡和放大及濾波電路構(gòu)成,其原理框圖如圖1 所示:
本設(shè)計(jì)用的數(shù)據(jù)采集設(shè)備是采用 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è)12 位模擬量輸入通道, 2 個(gè)12 位模擬量輸出通道, 24 個(gè)數(shù)字量I/O 接口和3 個(gè)16 位定時(shí)/計(jì)數(shù)器。Lab-PC-1200 輸出的模擬信號(hào)通過(guò)濾波器進(jìn)行濾波平滑、放大后即可使用。其中濾波器的選擇視輸出信號(hào)頻率范圍而定,放大倍數(shù)根據(jù)實(shí)際需要分不同的檔位。
2 儀器面板設(shè)計(jì)
儀器軟件開發(fā)采用的是美國(guó) NI 公司的虛擬儀器開發(fā)環(huán)境LabWindows/CVI,它是基于C語(yǔ)言的半圖形化軟件開發(fā)平臺(tái),將使用靈活的C 語(yǔ)言平臺(tái)與用于數(shù)據(jù)采集、分析和顯示的測(cè)控專業(yè)工具有機(jī)結(jié)合起來(lái),利用它的集成開發(fā)環(huán)境、交互式編程方法、函數(shù)面板和豐富的庫(kù)函數(shù)大大增強(qiáng)了C 語(yǔ)言的功能,為熟悉C 語(yǔ)言的開發(fā)設(shè)計(jì)人員便于編寫檢測(cè)系統(tǒng)、自動(dòng)測(cè)試系統(tǒng)、數(shù)據(jù)采集系統(tǒng)等應(yīng)用軟件提供的一個(gè)理想的軟件開發(fā)環(huán)境。面板設(shè)計(jì)過(guò)程包括創(chuàng)建控件和修改控件屬性兩部分,設(shè)計(jì)的前面板如圖 2 所示。
2.1 創(chuàng)建控件
用戶界面共 6 個(gè)控件:兩個(gè)Graph 控件,三個(gè)Ring 控件,一個(gè)Command Button.。啟動(dòng)CVI 在工程窗口中選擇File→New→User Interface(*.uir),打開用戶界面編輯窗口,在其中點(diǎn)右鍵,依次選擇Graph 控件,Ring 控件和 Command Button.,依次拖放好各自位置。
2.2 修改控件屬性
波形選擇 Ring 控件主要是要產(chǎn)生幾種波形選項(xiàng),包括無(wú),正弦波,三角波,鋸齒波,方波。雙擊Ring 控件進(jìn)行設(shè)置,將Label 設(shè)置為“波形選擇”將Constant Name 設(shè)置為“WAVEFORM”將Callback Function 設(shè)置“WaveFormChooseCB”,然后通過(guò)Label/ValuePairs…設(shè)置Ring 控件的選擇項(xiàng)。Graph 控件和Command Button 控件設(shè)置與Ring 控件類似。修改完成后,選擇 File→Save as,保存.uir 文件,其文件名為信號(hào)發(fā)生器.uir 保存,點(diǎn)擊Save 關(guān)閉保存文件對(duì)話框。
3 儀器程序設(shè)計(jì)
儀器的程序設(shè)計(jì)是整個(gè)虛擬儀器的核心部分,在用戶完成用戶界面設(shè)計(jì)后,CVI 可自動(dòng)生成程序的框架以及缺醒消息處理函數(shù),只要在這些函數(shù)中添加所需的代碼即可完成程序的設(shè)計(jì)。具體操作如下:在用戶界面窗口菜單中選擇Code→Generate All Code,點(diǎn)OK 鍵即可進(jìn)入代碼編輯窗口,即可生成程序的框架,限于篇幅有限,本文只寫出自己根據(jù)儀器需要自己編寫的部分代碼。首先在源代碼窗口main 函數(shù)上方輸入如下代碼聲明變量和函數(shù),如
編寫調(diào)用函數(shù)show_wave()
當(dāng)點(diǎn)擊用戶界面上的波形選擇時(shí),程序?qū)⒆詣?dòng)執(zhí)行WaveFormChooseCB 函數(shù),實(shí)現(xiàn)函數(shù)波形和頻譜的產(chǎn)生并顯示。
添加完成以上代碼添加后,在源代碼窗口里選擇File→Save,以文件名信號(hào)發(fā)生器.c 保存源文件。
4 調(diào)試運(yùn)行
在工程窗口中選擇:Edit→Add Files To Project…→All Files,依次將前述用戶界面文件,源程序代碼文件以及自動(dòng)生成的頭文件添加到工程文件中,現(xiàn)在已完成信號(hào)發(fā)生器.prj。選擇工程窗口Run→Debug 信號(hào)發(fā)生器_dbg.exe 執(zhí)行代碼,編譯過(guò)程中LabWindows/CVI 會(huì)發(fā)現(xiàn)程序缺少ansi_c.h 引用并彈出對(duì)話框詢問(wèn)是否在源文件中加入引用語(yǔ)句,點(diǎn)擊Yes 添加該應(yīng)用文件,接著根據(jù)提示在運(yùn)行前保存對(duì)文件‘信號(hào)發(fā)生器.c’的修改。
運(yùn)行時(shí),我們選擇鋸齒波為例,在波形選擇鍵選中鋸齒波,幅值為1.12V,頻率為62.39Hz,在波形顯示上得到一個(gè)鋸齒波并在頻譜顯示上顯示其頻譜,如圖3。
5 結(jié)論
本文通過(guò)以 LabWindows/CVI 為虛擬儀器的開發(fā)工具進(jìn)行虛擬信號(hào)發(fā)生器的設(shè)計(jì),充分利用了計(jì)算機(jī)的強(qiáng)大信息處理能力和LabWindows/CVI 強(qiáng)大的開發(fā)功能與靈活的編程手段,最終實(shí)現(xiàn)了虛擬信號(hào)發(fā)生器的設(shè)計(jì),可以看出虛擬儀器給用戶提供了一個(gè)充分發(fā)揮自己才能和想象力的空間,可根據(jù)用戶自己的設(shè)想及要求,通過(guò)編程來(lái)設(shè)計(jì)、組建自己的儀器系統(tǒng),它的靈活、開放,技術(shù)更新周期短,可隨著計(jì)算機(jī)技術(shù)的發(fā)展和用戶的需求進(jìn)行儀器與系統(tǒng)的升級(jí),在性能維護(hù)和靈活組態(tài)等多個(gè)方面有著傳統(tǒng)儀器無(wú)法比擬的優(yōu)點(diǎn)。
-
計(jì)算機(jī)
+關(guān)注
關(guān)注
19文章
7576瀏覽量
89175 -
虛擬儀器
+關(guān)注
關(guān)注
23文章
775瀏覽量
87564 -
信號(hào)發(fā)生器
+關(guān)注
關(guān)注
28文章
1503瀏覽量
109359
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
基于Labwindows/CVI和SBS實(shí)時(shí)光網(wǎng)的虛擬示波器設(shè)計(jì)
怎么利用LabWindows/CVI設(shè)計(jì)實(shí)現(xiàn)對(duì)429信號(hào)的仿真和測(cè)試?
如何利用LabWindows/CVI平臺(tái)開發(fā)虛擬函數(shù)信號(hào)發(fā)生器
基于CV1任意波形發(fā)生器的整體設(shè)計(jì)
一種LabWindows/CVI與MATLAB混合編程的實(shí)現(xiàn)
DLL在基于LabWindows/CVI 的虛擬儀器中的應(yīng)用
cvi 8.0 下載 (NI LabWindows 電子測(cè)量)

基于LabWindows CVI虛擬示波器的設(shè)計(jì)與實(shí)現(xiàn)

NI宣布推出ANSI C開發(fā)環(huán)境LabWindows/CVI
基于labview的虛擬信號(hào)發(fā)生器的設(shè)計(jì)
基于Labview的虛擬信號(hào)發(fā)生器的設(shè)計(jì)
LabWindows教程之LabWindows CVI的虛擬儀器設(shè)計(jì)與應(yīng)用教材免費(fèi)下載
使用LabWindows CVI進(jìn)行虛擬示波器設(shè)計(jì)與實(shí)現(xiàn)資料免費(fèi)下載

LabWindows CVI在USB2. 0接口數(shù)據(jù)采集器在開發(fā)中的應(yīng)用

Labwindows CVI的簡(jiǎn)介說(shuō)明

評(píng)論