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