孫春虎,方愿捷
?
基于Labview的多通道數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
孫春虎,方愿捷
圍繞多通道數(shù)據(jù)采集系統(tǒng),提出了基于Labview的多通道數(shù)據(jù)采集系統(tǒng)設(shè)計(jì),該采集系統(tǒng)主要由硬件系統(tǒng)和Labview軟件系統(tǒng)組成。硬件系統(tǒng)主要介紹了調(diào)理電路與數(shù)據(jù)采集卡選型;軟件系統(tǒng)重點(diǎn)介紹了數(shù)據(jù)采集、濾波與存儲(chǔ),通道波形回放,模擬信號(hào)輸出三個(gè)模塊的Labview程序設(shè)計(jì)。所設(shè)計(jì)的系統(tǒng)能夠?yàn)楦鞣N現(xiàn)場的多通道數(shù)據(jù)采集系統(tǒng)提供一定的指導(dǎo)作用與實(shí)踐參考。
DAQ-mx數(shù)據(jù)采集; Butterworth濾波;TDMS存儲(chǔ); TDMS讀取; Labview編程
傳統(tǒng)的多通道數(shù)據(jù)采集系統(tǒng)數(shù)據(jù)采集模塊通常通道數(shù)較少,上位機(jī)控制與讀寫較復(fù)雜,而且上位機(jī)程序設(shè)計(jì)也較難。針對(duì)這些問題,美國NI公司生產(chǎn)的數(shù)據(jù)采集卡和Labview軟件很好的解決了這些問題。NI公司的數(shù)據(jù)采集卡提供了PCI、USB、PXI三種接口和NI-DAQ-mx以及NI-VISA工具包以供上位機(jī)進(jìn)行采樣控制與讀寫。Labview作為一種圖形化的編程語言,編程簡單,利用DAQ-mx函數(shù)和VISA函數(shù)可實(shí)現(xiàn)數(shù)據(jù)的采樣與讀寫控制[1];內(nèi)置的巴特沃斯濾波器具有數(shù)字濾波作用;利用TDMS文件可以進(jìn)行快速而簡單的數(shù)據(jù)文件讀寫且占用存儲(chǔ)空間較二進(jìn)制文件??;內(nèi)置的波形生成模塊經(jīng)數(shù)據(jù)采集卡模擬量輸出口可輸出任意的控制波形;Labview所提供的編程工具極大的簡化了上位機(jī)程序的設(shè)計(jì)。因此,本文數(shù)據(jù)采集模塊選用NI公司的數(shù)據(jù)采集卡,上位機(jī)程序采用Labview進(jìn)行編程。本文為多通道數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)提供了一定的參考,具有一定的應(yīng)用價(jià)值。
所設(shè)計(jì)的多通道數(shù)據(jù)采集系統(tǒng)硬件框圖[2]如圖1所示,該系統(tǒng)主要由傳感器部分、多路模擬開關(guān)、調(diào)理電路、數(shù)據(jù)采集卡和上位機(jī)組成。其中調(diào)理模塊和數(shù)據(jù)采集卡的選擇是硬件設(shè)計(jì)的重點(diǎn)。
圖1 多通道數(shù)據(jù)采集系統(tǒng)硬件框圖
1.1 調(diào)理電路設(shè)計(jì)
通常不同的傳感器需要專門的信號(hào)調(diào)理電路,當(dāng)系統(tǒng)傳感器較多時(shí),對(duì)應(yīng)的信號(hào)調(diào)理電路數(shù)量必定增多,從而使系統(tǒng)變得龐大、可靠性低、成本高。為了簡化調(diào)理電路的設(shè)計(jì),美國NI公司開發(fā)出了一套能夠調(diào)理多種傳感器信號(hào)、通用性較強(qiáng)的信號(hào)調(diào)理模塊(SCXI系列模塊和SCC系列模塊)。SCXI[3]是用于測量和自動(dòng)化系統(tǒng)的高性能信號(hào)調(diào)理和開關(guān)平臺(tái),無論是測量傳感器或原始信號(hào)、產(chǎn)生電壓或電流、監(jiān)控?cái)?shù)字線,SCXI數(shù)據(jù)采集硬件都可為所有信號(hào)調(diào)理和切換需求提供一個(gè)簡單、集成的平臺(tái)。SCC[4]是針對(duì)基于PC測量和自動(dòng)化系統(tǒng)所使用的高度模塊化、低成本的信號(hào)調(diào)理系統(tǒng)。SCC提供了一個(gè)緊湊、便攜式的系統(tǒng),以便進(jìn)行單/雙通道信號(hào)調(diào)理和連接。SCC系統(tǒng)可以調(diào)節(jié)熱電偶信號(hào)、RTD、加速計(jì)、應(yīng)變片、隔離模擬輸入、0-20mA電流以及高電壓輸入,還提供光隔離數(shù)字I/O,低通濾波器和頻率-電壓轉(zhuǎn)換模塊,具有較好的信號(hào)放大與濾波效果[3]。結(jié)合調(diào)理需求和成本,本文選用NI-SCC系列調(diào)理模塊。
1.2 數(shù)據(jù)采集卡選型
數(shù)據(jù)采集卡的作用有:A/D轉(zhuǎn)換、D/A轉(zhuǎn)換、I/O數(shù)字通信和計(jì)數(shù)功能,其中最主要的作用還A/D轉(zhuǎn)換。NI公司的數(shù)據(jù)采集卡按接口類型的不同可分為PXI、PCI、USB三種系列。前兩種主要側(cè)重臺(tái)式計(jì)算機(jī)程序設(shè)計(jì),USB接口主要方便筆記本程序開發(fā)。比如USB-6008含有8路模擬輸入(12位,10 kS/s)、2路模擬輸出 (12位,150S/s)、12路數(shù)字I/O和32位計(jì)數(shù)器。本文選用低成本的USB接口數(shù)據(jù)采集卡。
2.1 數(shù)據(jù)采集
關(guān)于數(shù)據(jù)采集,Labview提供了多種數(shù)據(jù)采集方式,如In Port和Out Port vi方式、CIN方式、CLF方式、DAQ-mx函數(shù)方式。這里采用應(yīng)用最廣泛的DAQ-mx采集方式。DAQ-mx函數(shù)模塊主要包含創(chuàng)建虛擬通道vi、讀取vi、寫入vi、定時(shí)vi、配置輸入緩沖區(qū)vi、開始任務(wù)vi、清除任務(wù)vi。數(shù)據(jù)采集與濾波的前面板如圖2所示。通過圖2可以選擇輸入通道、設(shè)置采樣最大值和最小值、設(shè)置采樣率、設(shè)置每通道采樣數(shù)、設(shè)置輸入緩沖區(qū)大小。數(shù)據(jù)采集[5]、濾波與存儲(chǔ)的程序框圖如圖3所示。首先,創(chuàng)建虛擬通道vi根據(jù)采集信號(hào)的類型設(shè)置為模擬電壓輸入,定時(shí)vi設(shè)為采樣時(shí)鐘;接著應(yīng)用配置輸入緩沖區(qū)vi對(duì)輸入緩沖區(qū)進(jìn)行設(shè)置;然后采集任務(wù)開始;任務(wù)開始后,通過While循環(huán)結(jié)構(gòu)和讀取vi不停的進(jìn)行采樣,這里讀取vi屬性設(shè)置為模擬1D波形N通道N采樣,這樣采樣所得的數(shù)據(jù)類型將是包含多種波形數(shù)據(jù)的簇?cái)?shù)據(jù),借助索引數(shù)據(jù)函數(shù)對(duì)簇?cái)?shù)據(jù)進(jìn)行分解,即可得到各通道的波形數(shù)據(jù)。
圖2 數(shù)據(jù)采集與濾波前面板
圖3 數(shù)據(jù)采集、濾波與存儲(chǔ)程序框圖
2.2 數(shù)據(jù)濾波
通過數(shù)據(jù)采集卡采集的數(shù)據(jù)難免會(huì)含有高頻干擾信號(hào),因此我們必須設(shè)置濾波模塊以濾除高頻干擾信號(hào)。關(guān)于數(shù)據(jù)濾波文獻(xiàn)6[6]提出了圖4所示的數(shù)據(jù)采集、濾波與存儲(chǔ)的程序框圖,主要采用的濾波原理為計(jì)數(shù)濾波。該程序框圖的確簡潔且易于設(shè)計(jì),但也存在一定的局限性。首先計(jì)數(shù)濾波的采樣對(duì)象必須為方波信號(hào),若是其他類型的信號(hào),此濾波方法將無效;其次圖中計(jì)數(shù)器只能對(duì)單通道進(jìn)行計(jì)數(shù)采樣而不能實(shí)現(xiàn)多通道采樣,這意味著當(dāng)采樣通道數(shù)較多時(shí),程序框圖也將變得復(fù)雜起來。由于Labview自帶了巴特沃斯濾波器,從而可以簡化濾波電路的設(shè)計(jì),濾波電路前面板和程序框圖見圖2、圖3。通過圖2可以設(shè)置濾波器的濾波階數(shù)、采樣頻率、濾波器類型、高截止頻率和低截止頻率;由圖3可以看出,讀取vi所采樣的數(shù)據(jù)直接送入巴特沃斯濾波器,濾波后的數(shù)據(jù)一方面用于數(shù)據(jù)實(shí)時(shí)的監(jiān)測顯示,另一方面用于存儲(chǔ)以便進(jìn)行數(shù)據(jù)波形的回放。
圖4 數(shù)據(jù)采集、濾波與存儲(chǔ)程序框圖
2.3 數(shù)據(jù)存儲(chǔ)
Labview為用戶提供了二進(jìn)制、文本和TDMS三種文件存儲(chǔ)方式。文本文件通用、簡單且易用,但讀寫速度比較慢慢,不適合于高速數(shù)據(jù)記錄;二進(jìn)制文件由于其高速、高效的特點(diǎn)在高速流盤、安全存取方面應(yīng)用廣泛,但由于其無法被常用的字符處理程序直接讀取,因此無法便捷地查看數(shù)據(jù),而只能通過專用的應(yīng)用程序讀取,編程復(fù)雜; TDMS文件是如今NI公司主推的一種二進(jìn)制記錄文件,它具有高速、易存取、方便、占用存儲(chǔ)空間較二進(jìn)制文件小等多種優(yōu)勢,能夠在NI的各種數(shù)據(jù)分析或挖掘軟件之間進(jìn)行無縫交互,此外還提供一系列API函數(shù),極大地簡化了數(shù)據(jù)存儲(chǔ)的編程[7]。這里數(shù)據(jù)存儲(chǔ)采用TDMS文件方式。
兩通道的TDMS文件存儲(chǔ)的程序框圖如圖3所示。 首先通過文件對(duì)話框設(shè)置文件存儲(chǔ)的路徑, 然后TDMS打開函數(shù)準(zhǔn)備文件存儲(chǔ), 接著通過TDMS寫函數(shù)向TDMS文件寫入數(shù)據(jù)。由于DAQmx讀取函數(shù)屬性設(shè)置的是N通道N采樣,因此,必須借助索引函數(shù)將所得簇?cái)?shù)據(jù)進(jìn)行分解,從而得到對(duì)應(yīng)的兩通道的數(shù)據(jù)并同時(shí)送入TDMS寫函數(shù)數(shù)據(jù)口。
2.4 通道波形回放
通道波形回放程序的主要目的是回放某一通道的歷史波形數(shù)據(jù),以便進(jìn)行數(shù)據(jù)分析與處理,其前面板和程序框圖如圖5、圖6所示。圖5通道波形回放按鈕控制波形回放的開和關(guān),通過輸入變量tdms文件名可以對(duì)任意通道的變量波形進(jìn)行回放。
圖5 通道波形回放前面板
圖6中當(dāng)波形回放按鈕打開時(shí),可對(duì)指定的變量tdms文件進(jìn)行讀取并回放波形,當(dāng)發(fā)生讀錯(cuò)誤或通道波形回放按鈕關(guān)閉時(shí),該程序?qū)⑼V惯\(yùn)行。
圖6 通道波形回放程序框圖
2.5 模擬信號(hào)輸出
實(shí)際應(yīng)用中,有時(shí)上位機(jī)需要產(chǎn)生模擬信號(hào)用于控制一些特定的設(shè)備,那么上位機(jī)必須產(chǎn)生對(duì)應(yīng)的數(shù)字信號(hào)。數(shù)據(jù)采集卡利用D/A轉(zhuǎn)換將上位機(jī)發(fā)送的數(shù)字信號(hào)轉(zhuǎn)換為實(shí)際的模擬控制信號(hào),再通過模擬量輸出口輸出給設(shè)備的控制部分。模擬信號(hào)輸出程序的前面板如圖7、圖8所示。由圖7可以設(shè)置輸出模擬量的最大值和最小值,模擬量輸出通道的選擇以及模擬量停止輸出。
圖7 模擬信號(hào)輸出前面板
圖8中的仿真信號(hào)模塊可以產(chǎn)生控制設(shè)備所需的各種信號(hào),該程序框圖[8]根據(jù)設(shè)定的大小輸出值,將給定的仿真信號(hào)送到指定模擬輸出通道口內(nèi),再通過D/A轉(zhuǎn)換,變?yōu)樗璧哪M控制信號(hào)輸出。
圖8 模擬信號(hào)輸出程序框圖
本文所設(shè)計(jì)的多通道數(shù)據(jù)采集系統(tǒng)能實(shí)現(xiàn)對(duì)多通道的采樣,能對(duì)任一通道數(shù)據(jù)進(jìn)行實(shí)時(shí)波形顯示;濾波器的引入消除了高頻干擾對(duì)采樣波形的影響;同時(shí)可以對(duì)所有通道的數(shù)據(jù)進(jìn)行TDMS文件存儲(chǔ)并實(shí)現(xiàn)任一通道數(shù)據(jù)的波形回放功能;該系統(tǒng)還可以輸出模擬控制信號(hào)以控制外部設(shè)備。所設(shè)計(jì)的多通道數(shù)據(jù)采集系統(tǒng)具有一定的參考與應(yīng)用價(jià)值。
[1] 張重雄.虛擬儀器技術(shù)分析與設(shè)計(jì)[M].北京:電子工業(yè)出版社,2008.
[2] 王建華.基于Labview的多通道數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)[D].鎮(zhèn)江:江蘇科技大學(xué),2009:6-7.
[3] NI官網(wǎng). SCXI高性能信號(hào)調(diào)理模塊[EB/OL].http://sine.ni.com/np/app/main/p/bot/no/ap/daq/lang/zhs/pg/1/sn/n17:daq,n21:11,n24:SCXI/
[4] NI官網(wǎng). SCC高性能信號(hào)調(diào)理模塊[EB/OL].http://www.cechina.cn/Company/40017_20227/productdetail.aspx
[5] 張榮.基于DAQmx驅(qū)動(dòng)與Labview的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用與軟件,2011,28(3):180-182.
[6] 張楠,楊建武.Labview計(jì)數(shù)濾波器在信號(hào)降噪中的應(yīng)用[J].微計(jì)算機(jī)信息,2009,25(10):77-79.
[7] 徐菲,梁志劍.基于Labview的多通道數(shù)據(jù)采集系統(tǒng)[J].電子測試,2012,8(8):56-58.
[8] 石川,張林娜.基于Labview的數(shù)據(jù)采集與信號(hào)處理系統(tǒng)的設(shè)計(jì)[J].機(jī)械設(shè)計(jì)與制造,2009,5(5):21-23.
責(zé)任編輯:劉海濤
TP274
A
1673-1794(2016)05-0075-03
孫春虎,巢湖學(xué)院機(jī)械與電子工程學(xué)院助教,碩士;方愿捷,巢湖學(xué)院機(jī)械與電子工程學(xué)院(安徽 巢湖 238000)。
2014-07-18