基于LabVIEW的數(shù)據(jù)采集系統(tǒng)分析與設(shè)計(jì)
l.3 信號(hào)的保存
在信號(hào)采集模塊中,每次采集都默認(rèn)保存,而且采集信號(hào)每次保存后都會(huì)覆蓋上一個(gè),這樣,在程序運(yùn)行過(guò)程中,用戶(hù)可以隨機(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)用戶(hù)操作。它可以避免因輪詢(xún)導(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)多線(xiàn)程操作。這一性能取決于 LabVIEW是一種自動(dòng)多線(xiàn)程語(yǔ)言,它可自動(dòng)根據(jù)用戶(hù)編寫(xiě)的程序決定線(xiàn)程的數(shù)目、分配、管理和切換等。而該線(xiàn)程的執(zhí)行系統(tǒng)則可在VI的屬性對(duì)話(huà)框中直接進(jìn)行配置。一般來(lái)說(shuō),一個(gè)獨(dú)立的循環(huán)或者子VI就是一個(gè)獨(dú)立的線(xiàn)程。前面板上的一個(gè)單擊事件響應(yīng)一個(gè)線(xiàn)程的執(zhí)行,但多個(gè)線(xiàn)程可以并行運(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ò)采集卡采集到由
評(píng)論