測量儀表設(shè)計關(guān)鍵之?dāng)?shù)據(jù)采集(一)
一、基于LabVIEW的通用數(shù)據(jù)采集卡的驅(qū)動
介紹一種通過LabVIEW提供的Call Library Function Node實現(xiàn)對動態(tài)鏈接庫(DLL)調(diào)用的方法,完成對通用數(shù)據(jù)采集卡的驅(qū)動,實現(xiàn)LabVIEW與通用數(shù)據(jù)采集卡的結(jié)合。?
LabVIEW驅(qū)動通用數(shù)據(jù)采集插卡的方法有三種。
其一,直接用LabVIEW的Function模板內(nèi)Advanced子模板的Port I/O圖標(biāo)編程,通過手動對基地址的設(shè)置,直接從特定的地址內(nèi)存中讀取數(shù)據(jù)。若采樣速度要求不高,它是很方便直觀的方法;其二,利用LabVIEW的 Functions模板內(nèi)Advanced子模板中CIN(Code Interface Node)圖標(biāo),它適用于直接調(diào)用文字編程語言(如VC)所編寫的代碼。用CIN結(jié)點生成A/D驅(qū)動程序的子VI的方法可充分發(fā)揮A/D的高轉(zhuǎn)換速度,獲 得高的采樣速率。但編程較煩雜,不能由LabVIEW直接修改;其三,用LabVIEW的Functions模板內(nèi)Advanced子模板中Call Library Function Node圖標(biāo),動態(tài)鏈接數(shù)據(jù)采集卡的DLL庫函數(shù)。DLL實際上是一個函數(shù)庫,只在應(yīng)用程序運(yùn)行時DLL中的函數(shù)才被隨時調(diào)用和連接。和靜態(tài)連接庫相 比,DLL可以和其他應(yīng)用程序共享庫中的函數(shù)和資源。許多數(shù)據(jù)采集插卡生產(chǎn)商提供DLL庫函數(shù)形式的驅(qū)動程序,用戶可使用某種DLL鏈接庫的編程工具,如 VC、VB編寫應(yīng)用程序來調(diào)用它。同樣,LabVIEW也提供了該功能,就是圖標(biāo)Call Library Function Node,放在Function模板內(nèi)的Advanced子模板中,通過設(shè)置該節(jié)點來直接調(diào)用DLL。?
在本研究系統(tǒng)中采用第三種方法,實現(xiàn)了在線切削力的數(shù)據(jù)采集。采用基于ISA總線的數(shù)據(jù)采集卡ACL-8111,DLL直接由生產(chǎn)廠家提供。?
輸入信號范圍:±5V,±2.5V,±1.25V,±0.625V,±0.3125V(軟件編程選擇);最高采樣頻率:30kHz;觸發(fā)模式:軟件、 在板可編程定時器或外觸發(fā);數(shù)據(jù)傳輸:程序控制、中斷控制;IRQ級別:可編程IRQ2,3,4,5,6,7;通道數(shù):8路單端通道。
本系統(tǒng)輸入信號范圍±5V,采樣頻率2000Hz,A/D數(shù)據(jù)轉(zhuǎn)換觸發(fā)模式采用在板可編程定時器觸發(fā),數(shù)據(jù)傳輸采用中斷控制,中斷級別設(shè)置為5,通道數(shù)為3,三個通道分別采集和傳輸獲得X,Y、Z三向切削力。?
待采集的模擬信號通過電荷放大器放大,根據(jù)預(yù)先設(shè)定選擇不同的增益;輸出的信號進(jìn)行A/D轉(zhuǎn)換,轉(zhuǎn)換結(jié)束后,將12位轉(zhuǎn)換結(jié)果自動存在數(shù)據(jù)寄存器中, 然后通過中斷控制將數(shù)據(jù)取出,送入計算機(jī)內(nèi)存進(jìn)行處理。在使用時,將采集卡直接插入計算機(jī)ISA插槽中,使用其預(yù)先設(shè)定的基地址220H。?
二、數(shù)據(jù)采集與轉(zhuǎn)換中的關(guān)鍵問題
數(shù)據(jù)采集與轉(zhuǎn)換系統(tǒng)用于將模擬信號轉(zhuǎn)換為數(shù)字形式進(jìn)行分析或傳輸。模擬信號輸入通常是由互感器和傳感器將壓力、溫度、應(yīng)力或張力、流量等真實信號轉(zhuǎn)換 為相應(yīng)的電信號。系統(tǒng)保存信號準(zhǔn)確性和完整性的能力是衡量系統(tǒng)的主要指標(biāo)。如何設(shè)計一個高性能的數(shù)據(jù)采集與轉(zhuǎn)換系統(tǒng)需要考慮多方面的因素,本文就其中的一 些關(guān)鍵問題給出自己的討論。
數(shù)據(jù)采集轉(zhuǎn)換系統(tǒng)的基本框架
模擬信號進(jìn)行采集并轉(zhuǎn)換為相應(yīng)數(shù)字形式所需的基本元素包括:模擬多路復(fù)用器和信號調(diào)節(jié);放大器;模數(shù)轉(zhuǎn)換器;PC 或 MCU。
圖1 為數(shù)據(jù)采集系統(tǒng)典型框圖。目前的數(shù)據(jù)采集系統(tǒng)通常包括數(shù)據(jù)采集與轉(zhuǎn)換所需的所有元素,不過有時可能不包含模擬多路復(fù)用之前的輸入濾波與信號調(diào)節(jié)。模擬信號 由模擬乘法器進(jìn)行時間多路復(fù)用;多路復(fù)用器輸出信號通過放大器輸入A/D轉(zhuǎn)換器。我們可對采樣/保持進(jìn)行編程,以便采集并保持經(jīng)各 A/D 轉(zhuǎn)換器轉(zhuǎn)換成的數(shù)字多路數(shù)據(jù)采樣。轉(zhuǎn)換后的數(shù)據(jù)以并行或串行形式出現(xiàn)在 A/D 轉(zhuǎn)換器的輸出中,以備終端設(shè)備做進(jìn)一步處理。
圖1
系統(tǒng)采樣率
被轉(zhuǎn)換數(shù)據(jù)的應(yīng)用與最終使用決定了數(shù)據(jù)采集與轉(zhuǎn)換系統(tǒng)所需的采樣率和轉(zhuǎn)換率。系統(tǒng)采樣率由最高帶寬通道、數(shù)據(jù)通道的數(shù)量以及每次循環(huán)的采樣數(shù)決定。
圖2
混疊誤差
根據(jù)奈奎斯特采樣定理,在理想的采樣數(shù)據(jù)系統(tǒng)中,數(shù)據(jù)帶寬的每次循環(huán)要求最少兩次采樣,這樣恢復(fù)被采樣信號才不會丟失信息。因此,確定系統(tǒng)采樣率時首 先要考慮的就是混疊誤差,也就是由于在信號頻率的每次循環(huán)中采樣數(shù)量不足所造成的信息丟失。圖 2 顯示了在數(shù)據(jù)帶寬的每次循環(huán)中采樣數(shù)量不足所造成的混疊誤差。
每次循環(huán)需要多少個采樣
這個問題的答案取決于允許的平均誤差容限、重建方法(如果存在)以及數(shù)據(jù)的最終使用。
采樣數(shù)據(jù)的平均精度可通過以下途徑加以改進(jìn):(1) 增加每次循環(huán)的采樣數(shù);(2) 多路復(fù)用前預(yù)采樣濾波,或 (3) 過濾 D/A 轉(zhuǎn)換器輸出。圖3顯示了采樣數(shù)據(jù)的重建,這里 fS= 2fMAX。
如圖 4 所示,每次循環(huán)采樣數(shù)只要稍許增加,采樣數(shù)據(jù)的平均精度就會大幅上升。理論限制在于持續(xù)采樣時采集與轉(zhuǎn)換系統(tǒng)的吞吐量精度。對于數(shù)據(jù)的零階重建,從圖 4 可以看出,重建采樣數(shù)據(jù)達(dá)到平均 90% 乃至更高的精度要求對數(shù)據(jù)帶寬的每次循環(huán)進(jìn)行10次采樣。通常所用的范圍是每次循環(huán)7~10 次采樣。
圖3
圖4
采樣誤差
采樣誤差的定義是:采樣過程中動態(tài)數(shù)據(jù)變化的不確定性所造成的采樣數(shù)據(jù)點的幅值與時間誤差。在數(shù)據(jù)采集和轉(zhuǎn)換系統(tǒng)中,通過使用采樣/保持器或快速的 A/D轉(zhuǎn)換器,就能減小采樣誤差或使之不顯著。對于正弦數(shù)據(jù),最大采樣誤差出現(xiàn)在零交叉情況下,這時會出現(xiàn)最大的 dv/dt。
關(guān)于 A/D 轉(zhuǎn)換器的幾點說明
A/D轉(zhuǎn)換器的轉(zhuǎn)換速度和分辨率是最重要的兩個參數(shù)。下面簡單討論一下 A/D 轉(zhuǎn)換器術(shù)語將有助于讀者更好地了解系統(tǒng)分辨率與精度。
速度:主要由A/D 轉(zhuǎn)換器的采樣時間及轉(zhuǎn)換時間構(gòu)成。A/D轉(zhuǎn)換器手冊均會在采樣動態(tài)參數(shù) (Sampling Dynamics)標(biāo)出轉(zhuǎn)換速度。有時是數(shù)據(jù)吞吐率(Throughput Rate)。逐次逼近型AD轉(zhuǎn)換器采樣速率或數(shù)據(jù)吞吐率一般從幾十千次每秒到幾兆次每秒。
分辨率:A/D 轉(zhuǎn)換器的比特數(shù)決定著數(shù)據(jù)采集系統(tǒng)的分辨率。A/D 轉(zhuǎn)換器分辨率的定義如下:---1 LSB = VFSR/2n,
LSB = 最低有效位,VFSR =滿量程輸入電壓范圍,這里,n為A/D轉(zhuǎn)換器的分辨率。比特數(shù)決定著數(shù)字碼的數(shù)量,對A/D轉(zhuǎn)換器而言有2n個離散數(shù)字代碼。就本文的討論而言,我們將 使用二進(jìn)制逐次逼近A/D轉(zhuǎn)換器。表1顯示了典型A/D轉(zhuǎn)換器的分辨率和 LSB的值。
表1
信噪比:理想AD轉(zhuǎn)換器的信噪比為 SNRdB=6.02×n-1.76,表2 為AD 轉(zhuǎn)換器位數(shù)與信噪比的簡單對照表。
表2
精度:假定所有模擬值都位于 A/D 轉(zhuǎn)換器輸入處。A/D 轉(zhuǎn)換器量化或編碼特定的模擬輸入值為相應(yīng)的數(shù)字代碼作為一種輸出。上述數(shù)字代碼有著內(nèi)在的不確定性或 ±1/2LSB 的量化誤差。這就是說,量化的數(shù)字代碼所代表的模擬電壓與相鄰數(shù)字代碼中間點的距離在 ±1/2LSB 之內(nèi)。A/D轉(zhuǎn)換器的精度不會超過內(nèi)在的 ±1/2LSB 的量化誤差所允許的范疇。增益、偏移和線性誤差等模擬誤差也會影響 A/D 轉(zhuǎn)換器的精度。增益和偏移通??烧{(diào)節(jié)為零,但線性誤差是不可調(diào)的,因為它是由固定值的梯形電阻器網(wǎng)絡(luò)和網(wǎng)絡(luò)開關(guān)匹配造成的。大多數(shù)高質(zhì)量A/D轉(zhuǎn)換器的線 性誤差都低于±1/2LSB。另一個需要重點考慮的誤差是微分線性誤差。在理想的 A/D 轉(zhuǎn)換器中,相鄰過渡點間的步進(jìn)大小為一個 LSB。微分線性誤差就是在實際 A/D 轉(zhuǎn)換器中相鄰過渡點與理想的 LSB 步進(jìn)差距。該誤差必須小于一個 LSB,這樣才能保證不會丟失代碼。線性誤差為 ±1/2LSB 的 A/D 轉(zhuǎn)換器不一定意味著不會丟失代碼。圖5為微分線性、失調(diào)及增益誤差圖。
圖5
二進(jìn)制代碼:二進(jìn)制編碼的數(shù)據(jù)格式是數(shù)字計算機(jī)類型應(yīng)用中最常見的,其處理通常以二進(jìn)制形式進(jìn)行。A/D 轉(zhuǎn)換器中最常用的二進(jìn)制編碼為:
1. 單極標(biāo)準(zhǔn)二進(jìn)制 (USB)——用0~±10V等。
2. 雙極偏移二進(jìn)制 (BOB)——用于雙極模擬信號范圍,如 ±5V、±10V 等
3. 雙極雙組件 (BTC)——用于許多數(shù)字計算機(jī)應(yīng)用中的雙極模擬信號范圍。
在 A/D 轉(zhuǎn)換器中使用兩種 BCD 編碼,單極 BCD 和符號數(shù)值 BCD (SMD)。
表3
三、數(shù)據(jù)采集測量結(jié)果改善的常用校正方法
改善測量結(jié)果需要進(jìn)行配置、校準(zhǔn)以及優(yōu)秀的軟件開發(fā)技術(shù)。本文旨在使您了解優(yōu)化測量結(jié)果的軟、硬件技巧,內(nèi)容包括:選擇并配置數(shù)據(jù)采集設(shè)備、補(bǔ)償測量誤差以及采用優(yōu)秀的軟件技術(shù)。
當(dāng)您將電子信號連接到數(shù)據(jù)采集設(shè)備時,您總是希望讀數(shù)能匹配輸入信號的電氣數(shù)值。但我們知道沒有一種測量硬件是完美的,所以為了改善測量結(jié)果我們必須采用最佳的硬件配置。
根據(jù)應(yīng)用需求,您必須首先要明確數(shù)據(jù)采集卡所需的模擬輸入、輸出通道以及數(shù)字I/O線的最少數(shù)目。其次還要考慮的重要因素有:采樣率、輸入范圍、輸入方式和精度。
第一個要考慮的問題是現(xiàn)場接線,根據(jù)您要采集的信號源類型,您可以使用差分、非參考單端、參考單端三種輸入方式來配置數(shù)據(jù)采集卡。
總的說來,差分測量系統(tǒng)較為可取,因為它能消除接地環(huán)路感應(yīng)誤差并能在一定程度上削弱由環(huán)境引起的噪聲。而另一方面,單端輸入方式提供兩倍數(shù)據(jù)采集通道數(shù),可是僅適用于引入誤差比數(shù)據(jù)所需精度小的情況。表1為選擇合適的信號源模擬輸入方式提供了指導(dǎo)
選擇合適的增益系數(shù)也是非常重要的。保證數(shù)據(jù)采集產(chǎn)品進(jìn)行精確采集和轉(zhuǎn)換所設(shè)定的電壓范圍叫做輸入信號范圍。為得到最佳的測量精度,使模擬信號的最大最小值盡可能占滿整個ADC(+/-10V或0-10V)范圍,這樣就可使測量結(jié)果充分利用現(xiàn)有的數(shù)字位。
在數(shù)據(jù)采集系統(tǒng)中選擇合適的增益
圖1表示同在10V的輸入范圍下使用不同的增益系數(shù),輸入5V信號得到的采集結(jié)果。請注意:選取合適的增益系數(shù)能夠充分利用ADC并改善您的測試結(jié)果。
任何測量結(jié)果都只是您要測量的“真實值”的估計值,事實上您永遠(yuǎn)也無法完美地測量出真實值。這是因為您測量的準(zhǔn)確性會受到物理因素的限制,而且測量的精度也取決于這種限制。
在特定的范圍內(nèi),16位數(shù)據(jù)采集卡有216(65536)種數(shù)值,而12位數(shù)據(jù)采集卡有212 (4096)種數(shù)值。理想情況下,這些數(shù)值在整個測量范圍內(nèi)是均勻分布的,而且測量硬件會把實際測量值取整成最接近的數(shù)值并返回計算機(jī)內(nèi)存。事實上有許多 人認(rèn)為,這種取整誤差(通常稱為量化誤差)是決定精度的唯一因素。實際上,這種量化誤差,在 12位多功能數(shù)據(jù)采集卡中只占總誤差的35%,而在類似的16位卡中就更微不足道了。不管您使用12位還是16位數(shù)據(jù)采集卡,都不能只考慮這種量化誤差。
放大器中的缺陷,如電阻器容限和模擬-數(shù)字轉(zhuǎn)換特性,都會產(chǎn)生增益誤差。這種誤差通常以總讀數(shù)的百分比表示。為了補(bǔ)償這部分誤差,您可以進(jìn)行內(nèi)部校 準(zhǔn)。內(nèi)部校準(zhǔn)不僅能夠補(bǔ)償增益誤差還能補(bǔ)償溫度變化引起的誤差。這需要一個帶有溫度相關(guān)誤差容限的板載參考源。數(shù)據(jù)采集設(shè)備和其它類型的傳統(tǒng)儀器都采用內(nèi) 部校準(zhǔn),通常也被稱為自校準(zhǔn)。
E系列校準(zhǔn)VI
在LabVIEW中,您可以使用“E系列校準(zhǔn)VI(E-Series Calibrate VI)”來對數(shù)據(jù)采集設(shè)備進(jìn)行校準(zhǔn)(圖2)。一旦板卡處于工作環(huán)境,經(jīng)常校準(zhǔn)能確保最精確、最穩(wěn)定及可重復(fù)的測量結(jié)果,在自校準(zhǔn)過程中可對模擬輸入和模擬輸出都能完成自校準(zhǔn)。
由于有增益前偏差、增益后偏差和增益誤差校準(zhǔn),自校準(zhǔn)會建立一個校準(zhǔn)常數(shù)集合。完成一次校準(zhǔn)之后,新的校準(zhǔn)常數(shù)將被加載到板卡的存儲器上。舊的校準(zhǔn)常 數(shù)可以保存到EEPROM中,這樣在必要時可以重新加載。一旦板卡停止供電,如果還需要校準(zhǔn)常數(shù),那保存工作則是非常重要的。如果沒有把校準(zhǔn)常數(shù)保存到 EEPROM中,關(guān)閉計算機(jī)之后這些數(shù)據(jù)就丟失了。
放大器的缺陷或者模擬-數(shù)字轉(zhuǎn)換會產(chǎn)生非線性誤差。在輸入范圍內(nèi),增益系數(shù)的微小變化就會產(chǎn)生非線性誤差,這種誤差一般表示為滿量程的百分?jǐn)?shù)。到現(xiàn)在 還沒有一種簡單的校準(zhǔn)方法能夠補(bǔ)償這種非線性誤差。因此仔細(xì)挑選數(shù)據(jù)采集卡是非常關(guān)鍵的。設(shè)備的相關(guān)精度表示非線性誤差的總值,相關(guān)精度定義為數(shù)據(jù)采集設(shè) 備測量精度的最低有效位數(shù)。它包括所有非線性誤差和量化誤差,不包括偏差和增益誤差。知道了數(shù)據(jù)采集卡的相關(guān)精度就可以為所有讀數(shù)建立容限。
為進(jìn)一步提高測試結(jié)果的精度,還必須補(bǔ)償任何偏移誤差。偏移誤差在輸入范圍內(nèi)是不變的,因此,糾正起來相對容易些。您可以先測量短路通道的偏移誤差,然后用以后的讀數(shù)減去這個值。
采用優(yōu)秀的軟件技術(shù)
提高讀數(shù)精度的一種很好的軟件技術(shù)就是求平均值。求平均值的前提是噪聲和測量誤差是隨機(jī)的,因此,根據(jù)中心極限定理,誤差服從正態(tài)分布(高斯分布)。 選取多個點后呈高斯分布,計算出平均值,平均值在統(tǒng)計上非常接近真實值。因此,所選取的要平均的點越多,平均值的標(biāo)準(zhǔn)偏差就越小。因為標(biāo)準(zhǔn)偏差會隨著樣本 數(shù)量增加而減小,所以應(yīng)當(dāng)盡可能提高用于平均的采樣點數(shù)。
定期的自校準(zhǔn)也是一種好方法,它能夠在任何時候保持測量精度。執(zhí)行定期內(nèi)部校準(zhǔn)(建議每天進(jìn)行)可以補(bǔ)償溫度和環(huán)境變化引起的誤差。
四、基于LabVIEW和PCI-5124的數(shù)據(jù)采集系統(tǒng)設(shè)計
摘要:設(shè)計一種基于虛擬儀器LabVIEW和高速數(shù)字化儀NI PCI-5124的高采樣率、長時間的數(shù)據(jù)采集分析實驗系統(tǒng)。該系統(tǒng)可實現(xiàn)20 MHz甚至更高采樣率以及數(shù)據(jù)信號長時間的實時采集,并具有實時存儲、回放、信號分析、報表打印功能。實驗表明:該系統(tǒng)具有程序設(shè)計簡單、通用性好、可移 植性高、界面設(shè)計簡單大方、易于操作等優(yōu)點。
傳統(tǒng)數(shù)據(jù)采集系統(tǒng)一般由單片機(jī)與硬件采集電路或數(shù)據(jù)采集卡配置計算機(jī)組成。這種數(shù)據(jù)采集系統(tǒng)存在開發(fā)難度大、可移植性差、數(shù)據(jù)采集效率低、實時存儲容 量小等缺點。其存儲容量取決于數(shù)據(jù)采集卡的板載內(nèi)存的大小,一般只有8 MB或12 MB,而現(xiàn)代工程運(yùn)用中的數(shù)據(jù)采集系統(tǒng)需具有很高的采樣速率,完成海量數(shù)據(jù)的實時存儲。針對傳統(tǒng)數(shù)據(jù)采集系統(tǒng)存在的不足,這里采用虛擬儀器 (LabVIEW)和高速數(shù)字化儀NI PCI-5124設(shè)計一種可以長時間連續(xù)采集、實時存儲的數(shù)據(jù)采集系統(tǒng)。
本系統(tǒng)只使用PC機(jī)、數(shù)據(jù)采集卡以及編程語言即可在Windows操作系統(tǒng)下實現(xiàn)對數(shù)據(jù)的采集、存儲、處理,開發(fā)成本低,通訊能力強(qiáng),易于使用。系統(tǒng) 改善了傳統(tǒng)數(shù)據(jù)采集系統(tǒng)的存儲量小、采集效率低等缺點,可實現(xiàn)信號的長時間實時采集、存儲、回放、分析、報表打印等功能。
1 系統(tǒng)硬件設(shè)備簡介
該系統(tǒng)硬件設(shè)計結(jié)構(gòu)原理框圖如圖l所示。
系統(tǒng)硬件設(shè)計主要包括PC控制機(jī)和高速數(shù)據(jù)采集卡。由于許多插入式的數(shù)據(jù)采集DAQ(Data Acquisition)設(shè)備采集數(shù)據(jù)不僅受到采樣速率的限制,而且受到板載內(nèi)存和數(shù)據(jù)到PC機(jī)內(nèi)存的傳輸速率的限制。
針對以上問題,本設(shè)計選用插入式DAQ產(chǎn)品中價位低、速率快、精度高的高速數(shù)字化儀NI PCI-5124。它可以直接插入計算機(jī)的PC捕槽,即插即用使用方便,具有200 MS/s的實時采樣至4.0 GS/s的等效時段采樣;標(biāo)準(zhǔn)8~256 MB大容量板載內(nèi)存;基于PCI總線的12位分辨率的雙同步采樣通道;使用新技術(shù)實現(xiàn)在2個150 MHz帶寬的、帶有去噪和抗混疊濾波器的輸入信道中同步采樣;高達(dá)75 dBc的無寄生動態(tài)范圍SFDR(Spufious-Free Dynamic Range);基于NI同步和存儲核心SMC (Synchronization and Memory Core)構(gòu)架,具備每通道512 MB板載內(nèi)存、快速數(shù)據(jù)傳輸和緊密的同步功能。工程師們可以在幾十皮秒(ps)內(nèi)同步基于SMC的模塊化儀器,主要有邊緣、視窗、滯環(huán)、視頻和數(shù)字等觸發(fā) 方式,主要用于高通道和混合信號應(yīng)用。
專用數(shù)據(jù)采集長的驅(qū)動方式分為外掛式驅(qū)動和內(nèi)置式驅(qū)動兩種。對于NI公司生產(chǎn)的各種專用數(shù)據(jù)采集卡,可使用LabVIEW內(nèi)的DAQ庫直接對端口進(jìn)行 各種操作,即內(nèi)置式驅(qū)動。NI數(shù)據(jù)采集卡提供對LabVIEW豐富且完備的支持,驅(qū)動函數(shù)在底層的基礎(chǔ)函數(shù)上進(jìn)行高度封裝,用戶無需深入了解采集卡的具體 工作,只要掌握驅(qū)動函數(shù)輸入/輸出端口的意義,就能進(jìn)行數(shù)據(jù)采集開發(fā)。因此用戶使用NI PCI-5124時,只需將所需接口從程序中直接調(diào)用至系統(tǒng)開發(fā)環(huán)境中,即可實現(xiàn)采集、存儲以及回放等功能。
2 數(shù)據(jù)采集系統(tǒng)設(shè)計
2.1 程序設(shè)計
LabVIEW是一種基于圖形語言編程的可視化軟件開發(fā)平臺,與VC、VB等其他可視化編程語言相比,其函數(shù)庫豐富、調(diào)試方便,而且開發(fā)界面簡單,界 面風(fēng)格與傳統(tǒng)儀器相似。LabVIEW是一個外觀和操作均能模仿實際儀器的程序開發(fā)環(huán)境,類似于C、BASIC等編程語言。但LabVIEW的特點在于使 用圖形化編程G語言在流程圖中創(chuàng)建源程序,而非使用基于文本的語言產(chǎn)生源程序代碼。與傳統(tǒng)C、C++等編程語言不同,LabVI-EW采用強(qiáng)大的圖形化語 言編程,面向測試工程師而非專業(yè)程序員,編程方便,人機(jī)交互界面直觀友好,具有強(qiáng)大的數(shù)據(jù)可視化分析和儀器控制能力。
本實驗系統(tǒng)主要由數(shù)據(jù)采集、存儲和數(shù)據(jù)處理等部分組成。其中數(shù)據(jù)采集包括采集設(shè)置和數(shù)據(jù)采集波形顯示;數(shù)據(jù)處理包括信號時頻域參量測量、信噪比測量以及報表打印等。系統(tǒng)工作流程如圖2所示。
本系統(tǒng)基本工作過程是:肩動LabVIEW程序后,首先設(shè)置高速數(shù)據(jù)采集卡PCI-5124的通道、采樣模式、采樣頻率、觸發(fā)類型、觸發(fā)電平等,然后 啟動采集,進(jìn)行長時間連續(xù)的數(shù)據(jù)采集并利用流艋技術(shù)將采集到的信息實時存儲于計算機(jī)硬盤,由于采集到的信息量很大,因此對采集到的數(shù)據(jù)進(jìn)行離線處理,以減 輕計算機(jī)CPU負(fù)擔(dān),提高數(shù)據(jù)處理速度。
2.2 數(shù)據(jù)采集模塊
數(shù)據(jù)采集是從傳感器和其他待測設(shè)備等模擬和數(shù)字被測單元中自動采集各種參量(物理、化學(xué)、生物量等)信息的過程。數(shù)據(jù)采集操作的結(jié)果直接影響后續(xù)數(shù)據(jù) 處理、分析,數(shù)據(jù)采集功能模塊利用NI-Scope函數(shù)進(jìn)行數(shù)據(jù)采集,為了讓數(shù)據(jù)采集設(shè)備在后臺連續(xù)采集數(shù)據(jù)并送入緩存區(qū),首先,初次安裝好NI PCI-5124數(shù)據(jù)采集卡和驅(qū)動程序以后,計算機(jī)將自動設(shè)置其I/O地址和中斷號,并分配內(nèi)存資源,打通LabVIEW程序和底層驅(qū)動NI-Scope 的通道。其次,在程序界面設(shè)置采樣頻率、采集通道、數(shù)據(jù)存儲方式并啟動程序?qū)崟r采集。由于需要觸發(fā)某事件后(例如點擊“運(yùn)行采集”按鈕)進(jìn)行采集,本設(shè)計 采用可編程掃描和當(dāng)前軟件觸發(fā)采集模式:采集啟動后,下層NI-Scope驅(qū)動程序獨立控制硬件高速數(shù)字化儀PCI-5124進(jìn)行數(shù)據(jù)采集,并將采集結(jié)果 利用流盤存儲方式跳過采集卡的緩沖區(qū)直接讀取到應(yīng)用軟件的計算機(jī)硬盤中,處理數(shù)據(jù)。數(shù)據(jù)采集波形如圖3所示,該模塊完成連續(xù)數(shù)據(jù)采集,實時顯示信號并刷 新。
2.3 數(shù)據(jù)存儲回放模塊
數(shù)據(jù)存儲功能模塊由文件的類型簇、數(shù)據(jù)文件存儲路徑、TDMS Dialog函數(shù)、open TDMS函數(shù)、write TDMS函數(shù)、close TDMS函數(shù)以及error函數(shù)組成,本程序中調(diào)用openTDMS函數(shù)打開TDMS文件,當(dāng)運(yùn)行至此時,數(shù)據(jù)會依據(jù)原先設(shè)置的存儲路徑和類型將數(shù)據(jù)持續(xù) 寫入指定計算機(jī)文件中。由于本設(shè)計要存儲海量數(shù)據(jù),因此采用基于流盤技術(shù)的存儲方式。流盤是一項在進(jìn)行多次寫操作時保持文件打開的技術(shù),即持續(xù)從或者向存 儲器(Memory)中傳輸數(shù)據(jù)。存儲器可以是設(shè)備的板上緩存(Onboard Memory)、控制器上的RAM或計算機(jī)上的硬盤,本設(shè)計使用“文件I/O函數(shù)”設(shè)計合理的流盤存儲基本架構(gòu)。
回放是為了使用戶存實時采集存儲和數(shù)據(jù)分析測量結(jié)束后,還可以在需要時重新觀察和深入分析所采集的數(shù)據(jù)。數(shù)據(jù)回放功能程序運(yùn)行至open TDMS函數(shù)時,將運(yùn)行連接至open(只讀),即可打開對應(yīng)的數(shù)據(jù)存盤文件,采集到的波形數(shù)據(jù)按照帶索引的二進(jìn)制TDMS文件形式存放于計算機(jī)硬盤中。 在選擇波形回放時,后臺程序首先要確定波形數(shù)據(jù)中數(shù)組元素所對應(yīng)的采樣時刻,當(dāng)選擇同放按鈕時,給定的初始運(yùn)行時間會與待同放的波形數(shù)據(jù)的第1個元素所對 應(yīng)的時刻進(jìn)行比較,從而確定待回放數(shù)據(jù)的第1個數(shù)據(jù)元素的時刻,從此開始回放數(shù)據(jù)波形,直到用戶發(fā)出停止指令。整個文件完全是Windows系統(tǒng)文件,大 大提高存儲和釋放的速率,加快數(shù)據(jù)處理速度,回放波形如圖4所示。
2.4 數(shù)據(jù)分析模塊
數(shù)據(jù)分析主要包括測量信號參量、幅度相位譜和功率譜。時域分析是一種直接在時問域中對系統(tǒng)進(jìn)行分析的方法,具有直觀、準(zhǔn)確的優(yōu)點,可以提供數(shù)據(jù)采集系 統(tǒng)時間響應(yīng)所需的全部信息。本系統(tǒng)主要是標(biāo)定所采集信號的周期、平均值、周期均方根、有效值以及頻率等,實時了解信號各種參數(shù)。
數(shù)據(jù)報表打印主要是將所采集信號的原始波形和回放波形以圖片格式傳遞至打印樣式子VI,并設(shè)置該子VI,使得程序需要打印時,就可通過調(diào)用該子VI打開前面板的采集波形和回放波形,顯示報表內(nèi)容并進(jìn)行打印預(yù)覽。
3 結(jié)論
進(jìn)行系統(tǒng)實驗測試時,使用主頻為1.8l GHz、處理器為64位,512 M內(nèi)存的PC;采樣速率為20MByte/s的高速數(shù)字化儀PCI-5124,實現(xiàn)長達(dá)30 min的連續(xù)數(shù)據(jù)采集和海量數(shù)據(jù)存儲。利用虛擬儀器LabVIEW和高速數(shù)字化儀PCI-5124開發(fā)的長時間連續(xù)采集存儲系統(tǒng)完成了信號實時的采集、顯 示、存儲以及對采集歷史數(shù)據(jù)進(jìn)行回放的功能。
與傳統(tǒng)數(shù)據(jù)采集儀器相比,該系統(tǒng)具有性價比高、開發(fā)時間短、通用性強(qiáng)、數(shù)據(jù)處理準(zhǔn)確簡單、可移植性強(qiáng)(可以將VC、C、MATLAB等程序進(jìn)行遞歸調(diào) 用)、人性化界面設(shè)計、易于操作等優(yōu)點,LabVIEW簡單的編寫語言和易于編寫的控制,控件,簡化了編程過程,用戶無需掌握數(shù)據(jù)采集卡的硬件知識,只需 了解和掌握其驅(qū)動程序的功能,就能利用LabVIEW進(jìn)行數(shù)據(jù)程序的開發(fā)和運(yùn)用,這將成為未來數(shù)據(jù)采集發(fā)展的趨勢。