《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 基于LabVIEW數(shù)據(jù)采集系統(tǒng)分析與設(shè)計(jì)
基于LabVIEW數(shù)據(jù)采集系統(tǒng)分析與設(shè)計(jì)
摘要: LabVIEW是一款優(yōu)秀的虛擬儀器軟件開(kāi)發(fā)平臺(tái),。LabVIEW以其直觀,、簡(jiǎn)便的編程方式,眾多的源碼級(jí)設(shè)備驅(qū)動(dòng)程序,,多種多樣的分析和表達(dá)支持功能,,可為用戶快捷地構(gòu)建實(shí)際生產(chǎn)中所需要的儀器系統(tǒng)創(chuàng)造有力的基礎(chǔ)條件,。其中數(shù)據(jù)采集與儀器控制是LabVIEW最具競(jìng)爭(zhēng)力的核心技術(shù)。
Abstract:
Key words :
0 引言
    現(xiàn)代技術(shù)的進(jìn)步,,特別是以計(jì)算機(jī)技術(shù)為代表的不斷革新的計(jì)算機(jī)技術(shù),,正從各個(gè)層面上影響并引導(dǎo)著各行各業(yè)的技術(shù)革新,基于計(jì)算機(jī)技術(shù)的虛擬儀器系統(tǒng)技術(shù)也正以不可逆轉(zhuǎn)的力量推動(dòng)著測(cè)量控制技術(shù),、數(shù)據(jù)采集和分析等技術(shù)的發(fā)展,。傳統(tǒng)儀器主要由信號(hào)采集與控制模塊、分析與處理模塊,、以及測(cè)量結(jié)果的表達(dá)與輸出模塊這三大功能模塊組成,。傳統(tǒng)儀器的這些功能都是以硬件(或固化的軟件)形式存在的。而虛擬儀器則是將這些功能移植到計(jì)算機(jī)上完成,。它在計(jì)算機(jī)上插上數(shù)據(jù)采集卡,,然后利用軟件在屏幕上生成儀器面板,并利用軟件進(jìn)行信號(hào)的分析與處理,。相對(duì)于傳統(tǒng)儀器,,虛擬儀器具有性能高、擴(kuò)展性強(qiáng),、開(kāi)發(fā)時(shí)間少,、完美的集成功能等特點(diǎn),。
    LabVIEW是一款優(yōu)秀的虛擬儀器軟件開(kāi)發(fā)平臺(tái)。LabVIEW以其直觀,、簡(jiǎn)便的編程方式,,眾多的源碼級(jí)設(shè)備驅(qū)動(dòng)程序,多種多樣的分析和表達(dá)支持功能,,可為用戶快捷地構(gòu)建實(shí)際生產(chǎn)中所需要的儀器系統(tǒng)創(chuàng)造有力的基礎(chǔ)條件,。其中數(shù)據(jù)采集與儀器控制是LabVIEW最具競(jìng)爭(zhēng)力的核心技術(shù)。


1 系統(tǒng)整體方案設(shè)計(jì)
    一個(gè)完整的LabVIEW程序主要包括前面板,、程序框圖,、連接器三部分。前面板是一種交互式圖形化用戶界面,,用于設(shè)置輸入數(shù)值和觀察輸出:框圖是定義VI功能的圖形化源代碼,,可利用圖形語(yǔ)言對(duì)前面板的控制量和指示量進(jìn)行控制;圖標(biāo)和連接器窗格用于把程序定義成一個(gè)子程序,,以便在其他程序中加以調(diào)用,。本系統(tǒng)包括波形信號(hào)采集、保存標(biāo)準(zhǔn)信號(hào),、信號(hào)處理和分析,、采集數(shù)據(jù)回放四個(gè)部分。圖1是信號(hào)采集與分析系統(tǒng)框圖,。

1.1 波形信號(hào)的采集
    該部分主要利用外部觸發(fā)方式發(fā)出觸發(fā)信號(hào),,以使發(fā)出信號(hào)和通道的采集達(dá)到同步。以信號(hào)發(fā)生器發(fā)出信號(hào)為例,;為了分析有限個(gè)波形的數(shù)據(jù),,必須保證采集卡采集的數(shù)據(jù)是發(fā)出的全部信號(hào)并且只有一個(gè)發(fā)出信號(hào)。本系統(tǒng)通過(guò)采集卡輸出一個(gè)脈沖信號(hào)來(lái)觸發(fā)信號(hào)發(fā)生器,,以使采集卡的輸入通道和脈沖輸出通道同步,。實(shí)際上,正是基于這一點(diǎn),,其發(fā)出的任意信號(hào)才必須被無(wú)遺漏的同步采集過(guò)來(lái),。本設(shè)計(jì)正好滿足了此要求。該部分的前面板控件包括采集信號(hào)參數(shù)的設(shè)置控件,、脈沖輸出端口,、信號(hào)輸入端口以及存放信號(hào)處理后峰值點(diǎn)位置的三個(gè)數(shù)組。其中采樣率的設(shè)置比較重要,,例如根據(jù)需要發(fā)出的信號(hào)周期是0.4ms,,每個(gè)周期采集200個(gè)點(diǎn),采5個(gè)周期就需要rate=l MHz,那么,,每個(gè)點(diǎn)之間的時(shí)間間隔就是lμs,,這樣推理便于后面的信號(hào)處理。

 

    程序中可利用數(shù)據(jù)采集的工具DAQmx中的各種子vi來(lái)實(shí)現(xiàn)數(shù)據(jù)的通信,,并可通過(guò)Get Terminal Name with Device Prefix.vi來(lái)實(shí)現(xiàn)輸入與輸出之間的同步,。最后通過(guò)波形圖顯示所采集到的信號(hào),同時(shí)通過(guò)Waveform Peak Detection for l Chan.vi獲得信號(hào)超過(guò)閾值的峰值點(diǎn),。其數(shù)據(jù)采集程序框圖如圖2所示,。

 

1.2 信號(hào)處理與分析
    此部分首先選擇以前保存過(guò)的標(biāo)準(zhǔn)信號(hào)作為信號(hào)處理的標(biāo)準(zhǔn)。選擇路徑后,,相應(yīng)的標(biāo)準(zhǔn)會(huì)存放到處理中的位置,。然后點(diǎn)擊前面板中的“信號(hào)處理”按鈕,這樣,,相應(yīng)的處理結(jié)果就會(huì)顯示出來(lái),。標(biāo)準(zhǔn)信號(hào)和采集信號(hào)峰值點(diǎn)的位置和個(gè)數(shù)相應(yīng)的顯示出來(lái),,最后的相減結(jié)果也以數(shù)組的形式給出,。其中無(wú)論是重新選擇的標(biāo)準(zhǔn)信號(hào)還是以前默認(rèn)的信號(hào),都可以通過(guò)波形再次回放出來(lái),。通過(guò)一個(gè)選擇結(jié)構(gòu)來(lái)實(shí)現(xiàn)用什么樣的標(biāo)準(zhǔn)信號(hào)來(lái)處理,,其信號(hào)處理子模塊的程序框圖如圖3所示。

l.3 信號(hào)的保存
    在信號(hào)采集模塊中,,每次采集都默認(rèn)保存,,而且采集信號(hào)每次保存后都會(huì)覆蓋上一個(gè),這樣,,在程序運(yùn)行過(guò)程中,,用戶可以隨機(jī)地保存標(biāo)準(zhǔn)信號(hào)。其方法是把默認(rèn)目錄下的test.1vb文件復(fù)制到想要保存的路徑下,,然后通過(guò)讀取測(cè)量文件把該目錄下的波形提取出來(lái),。在此,標(biāo)準(zhǔn)信號(hào)的回放在信號(hào)處理的過(guò)程中已經(jīng)用波形圖的形式顯示出來(lái),,但要用到此處保存路徑的屬性節(jié)點(diǎn),。其保存標(biāo)準(zhǔn)信號(hào)的程序框圖如圖4所示。

2 設(shè)計(jì)模式的選擇
    該程序的設(shè)計(jì)模式是基于事件結(jié)構(gòu)的人機(jī)界面(UI EventLoop),,即用控件的事件結(jié)構(gòu)來(lái)響應(yīng)用戶操作,。它可以避免因輪詢導(dǎo)致的CPU浪費(fèi),而且會(huì)自動(dòng)產(chǎn)生事件隊(duì)列,,從而避免丟失事件,。

 

 

    事件結(jié)構(gòu)不僅使程序變得簡(jiǎn)單,提高了CPU的利用率,,而且可以使幾個(gè)子程序同時(shí)運(yùn)行,,從而在LabVIEW中實(shí)現(xiàn)多線程操作,。這一性能取決于LabVIEW是一種自動(dòng)多線程語(yǔ)言,它可自動(dòng)根據(jù)用戶編寫(xiě)的程序決定線程的數(shù)目,、分配,、管理和切換等。而該線程的執(zhí)行系統(tǒng)則可在VI的屬性對(duì)話框中直接進(jìn)行配置,。一般來(lái)說(shuō),,一個(gè)獨(dú)立的循環(huán)或者子VI就是一個(gè)獨(dú)立的線程。前面板上的一個(gè)單擊事件響應(yīng)一個(gè)線程的執(zhí)行,,但多個(gè)線程可以并行運(yùn)行,,互不影響。

 


3 整體結(jié)構(gòu)
    本系統(tǒng)中各個(gè)部分的模塊均可通過(guò)事件結(jié)構(gòu)來(lái)實(shí)現(xiàn),,單擊前面板中相應(yīng)的操作程序,,可相應(yīng)地運(yùn)行有關(guān)事件。前面板的整體結(jié)構(gòu)如圖5所示,。

4 結(jié)束語(yǔ)
    本系統(tǒng)可通過(guò)采集卡采集到由傳感器感知到的波形信號(hào),,并進(jìn)行相應(yīng)的處理,同時(shí)對(duì)信號(hào)進(jìn)行分析,,以得出信號(hào)異變情況,。事實(shí)上,基于LabVIEW平臺(tái)開(kāi)發(fā)的系統(tǒng)具有體積小巧,,功能強(qiáng)大,,處理速度快等優(yōu)點(diǎn),可用于各種結(jié)構(gòu)的檢測(cè)工程中,。當(dāng)然,,本系統(tǒng)還存在著某些需要改進(jìn)之處,由于是首次獨(dú)立開(kāi)發(fā),,主要功能模塊只是初步通過(guò)調(diào)試,,故在系統(tǒng)的糾錯(cuò)能力和信息提示等方面還需完善。

 

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