現(xiàn)代技術(shù)的進步,,特別是以計算機技術(shù)為代表的不斷革新的計算機技術(shù),正從各個層面上影響并引導(dǎo)著各行各業(yè)的技術(shù)革新,,基于計算機技術(shù)的虛擬儀器系統(tǒng)技術(shù)也正以不可逆轉(zhuǎn)的力量推動著測量控制技術(shù),、數(shù)據(jù)采集和分析等技術(shù)的發(fā)展,。傳統(tǒng)儀器主要由信號采集與控制模塊、分析與處理模塊,、以及測量結(jié)果的表達與輸出模塊這三大功能模塊組成,。傳統(tǒng)儀器的這些功能都是以硬件(或固化的軟件)形式存在的。而虛擬儀器則是將這些功能移植到計算機上完成,。它在計算機上插上數(shù)據(jù)采集卡,然后利用軟件在屏幕上生成儀器面板,,并利用軟件進行信號的分析與處理,。相對于傳統(tǒng)儀器,虛擬儀器具有性能高,、擴展性強,、開發(fā)時間少、完美的集成功能等特點,。
LabVIEW是一款優(yōu)秀的虛擬儀器軟件開發(fā)平臺,。LabVIEW以其直觀、簡便的編程方式,,眾多的源碼級設(shè)備驅(qū)動程序,,多種多樣的分析和表達支持功能,可為用戶快捷地構(gòu)建實際生產(chǎn)中所需要的儀器系統(tǒng)創(chuàng)造有力的基礎(chǔ)條件,。其中數(shù)據(jù)采集與儀器控制是LabVIEW最具競爭力的核心技術(shù),。
1 系統(tǒng)整體方案設(shè)計
一個完整的LabVIEW程序主要包括前面板、程序框圖,、連接器三部分,。前面板是一種交互式圖形化用戶界面,用于設(shè)置輸入數(shù)值和觀察輸出:框圖是定義VI功能的圖形化源代碼,,可利用圖形語言對前面板的控制量和指示量進行控制,;圖標和連接器窗格用于把程序定義成一個子程序,以便在其他程序中加以調(diào)用,。本系統(tǒng)包括波形信號采集,、保存標準信號、信號處理和分析,、采集數(shù)據(jù)回放四個部分,。圖1是信號采集與分析系統(tǒng)框圖。
1.1 波形信號的采集
該部分主要利用外部觸發(fā)方式發(fā)出觸發(fā)信號,,以使發(fā)出信號和通道的采集達到同步,。以信號發(fā)生器發(fā)出信號為例;為了分析有限個波形的數(shù)據(jù),,必須保證采集卡采集的數(shù)據(jù)是發(fā)出的全部信號并且只有一個發(fā)出信號,。本系統(tǒng)通過采集卡輸出一個脈沖信號來觸發(fā)信號發(fā)生器,,以使采集卡的輸入通道和脈沖輸出通道同步。實際上,,正是基于這一點,,其發(fā)出的任意信號才必須被無遺漏的同步采集過來。本設(shè)計正好滿足了此要求,。該部分的前面板控件包括采集信號參數(shù)的設(shè)置控件,、脈沖輸出端口、信號輸入端口以及存放信號處理后峰值點位置的三個數(shù)組,。其中采樣率的設(shè)置比較重要,,例如根據(jù)需要發(fā)出的信號周期是0.4ms,每個周期采集200個點,,采5個周期就需要rate=l MHz,,那么,每個點之間的時間間隔就是lμs,,這樣推理便于后面的信號處理,。
程序中可利用數(shù)據(jù)采集的工具DAQmx中的各種子vi來實現(xiàn)數(shù)據(jù)的通信,并可通過Get Terminal Name with Device Prefix.vi來實現(xiàn)輸入與輸出之間的同步,。最后通過波形圖顯示所采集到的信號,,同時通過Waveform Peak Detection for l Chan.vi獲得信號超過閾值的峰值點。其數(shù)據(jù)采集程序框圖如圖2所示,。
1.2 信號處理與分析
此部分首先選擇以前保存過的標準信號作為信號處理的標準,。選擇路徑后,相應(yīng)的標準會存放到處理中的位置,。然后點擊前面板中的“信號處理”按鈕,,這樣,相應(yīng)的處理結(jié)果就會顯示出來,。標準信號和采集信號峰值點的位置和個數(shù)相應(yīng)的顯示出來,,最后的相減結(jié)果也以數(shù)組的形式給出。其中無論是重新選擇的標準信號還是以前默認的信號,,都可以通過波形再次回放出來,。通過一個選擇結(jié)構(gòu)來實現(xiàn)用什么樣的標準信號來處理,其信號處理子模塊的程序框圖如圖3所示,。
l.3 信號的保存
在信號采集模塊中,,每次采集都默認保存,而且采集信號每次保存后都會覆蓋上一個,,這樣,,在程序運行過程中,用戶可以隨機地保存標準信號,。其方法是把默認目錄下的test.1vb文件復(fù)制到想要保存的路徑下,,然后通過讀取測量文件把該目錄下的波形提取出來,。在此,標準信號的回放在信號處理的過程中已經(jīng)用波形圖的形式顯示出來,,但要用到此處保存路徑的屬性節(jié)點,。其保存標準信號的程序框圖如圖4所示。
2 設(shè)計模式的選擇
該程序的設(shè)計模式是基于事件結(jié)構(gòu)的人機界面(UI EventLoop),,即用控件的事件結(jié)構(gòu)來響應(yīng)用戶操作,。它可以避免因輪詢導(dǎo)致的CPU浪費,而且會自動產(chǎn)生事件隊列,,從而避免丟失事件,。
事件結(jié)構(gòu)不僅使程序變得簡單,提高了CPU的利用率,,而且可以使幾個子程序同時運行,從而在LabVIEW中實現(xiàn)多線程操作,。這一性能取決于LabVIEW是一種自動多線程語言,,它可自動根據(jù)用戶編寫的程序決定線程的數(shù)目、分配,、管理和切換等,。而該線程的執(zhí)行系統(tǒng)則可在VI的屬性對話框中直接進行配置。一般來說,,一個獨立的循環(huán)或者子VI就是一個獨立的線程,。前面板上的一個單擊事件響應(yīng)一個線程的執(zhí)行,但多個線程可以并行運行,,互不影響,。
3 整體結(jié)構(gòu)
本系統(tǒng)中各個部分的模塊均可通過事件結(jié)構(gòu)來實現(xiàn),單擊前面板中相應(yīng)的操作程序,,可相應(yīng)地運行有關(guān)事件,。前面板的整體結(jié)構(gòu)如圖5所示。
4 結(jié)束語
本系統(tǒng)可通過采集卡采集到由傳感器感知到的波形信號,,并進行相應(yīng)的處理,,同時對信號進行分析,以得出信號異變情況,。事實上,,基于LabVIEW平臺開發(fā)的系統(tǒng)具有體積小巧,功能強大,,處理速度快等優(yōu)點,,可用于各種結(jié)構(gòu)的檢測工程中。當(dāng)然,,本系統(tǒng)還存在著某些需要改進之處,,由于是首次獨立開發(fā),,主要功能模塊只是初步通過調(diào)試,故在系統(tǒng)的糾錯能力和信息提示等方面還需完善,。