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

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

NI宣布推出ANSI C開發(fā)環(huán)境LabWindows/CVI
基于labview的虛擬信號發(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的簡介說明

評論