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