《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測試測量 > 設(shè)計應(yīng)用 > 基于LabVIEW數(shù)據(jù)采集系統(tǒng)分析與設(shè)計
基于LabVIEW數(shù)據(jù)采集系統(tǒng)分析與設(shè)計
摘要: LabVIEW是一款優(yōu)秀的虛擬儀器軟件開發(fā)平臺。LabVIEW以其直觀、簡便的編程方式,眾多的源碼級設(shè)備驅(qū)動程序,多種多樣的分析和表達支持功能,可為用戶快捷地構(gòu)建實際生產(chǎn)中所需要的儀器系統(tǒng)創(chuàng)造有力的基礎(chǔ)條件。其中數(shù)據(jù)采集與儀器控制是LabVIEW最具競爭力的核心技術(shù)。
Abstract:
Key words :
0 引言
    現(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)的糾錯能力和信息提示等方面還需完善。

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。