LabView數(shù)據(jù)采集_第1頁
LabView數(shù)據(jù)采集_第2頁
LabView數(shù)據(jù)采集_第3頁
LabView數(shù)據(jù)采集_第4頁
LabView數(shù)據(jù)采集_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第一節(jié) 概述LabVIEW的數(shù)據(jù)采集(Data Acquisition)程序庫包括了許多NI公司數(shù)據(jù)采集(DAQ)卡的驅(qū)動(dòng)控制程序。通常,一塊卡可以完成多種功能 - 模/數(shù)轉(zhuǎn)換,數(shù)/模轉(zhuǎn)換,數(shù)字量輸入/輸出,以及計(jì)數(shù)器/定時(shí)器操作等。用戶在使用之前必須DAQ卡的硬件進(jìn)行配置。這些控制程序用到了許多低層的DAQ驅(qū)動(dòng)程序。本課程需要一塊安裝好的DAQ卡以及LabVIEW開發(fā)系統(tǒng)。 數(shù)據(jù)采集系統(tǒng)的組成:DAQ系統(tǒng)的基本任務(wù)是物理信號(hào)的產(chǎn)生或測(cè)量。但是要使計(jì)算機(jī)系統(tǒng)能夠測(cè)量物理信號(hào),必須要使用傳感器把物理信號(hào)轉(zhuǎn)換成電信號(hào)(電壓或者電流信號(hào))。有時(shí)不能把被測(cè)信號(hào)直接連接到DAQ卡,而必須使用信號(hào)調(diào)理輔助

2、電路,先將信號(hào)進(jìn)行一定的處理??傊?,數(shù)據(jù)采集是借助軟件來控制整個(gè)DAQ系統(tǒng) 包括采集原始數(shù)據(jù)、分析數(shù)據(jù)、給出結(jié)果等。 上圖中描述了插入式DAQ卡。另一種方式是外接式DAQ系統(tǒng)。這樣,就不需要在計(jì)算機(jī)內(nèi)部插槽中插入板卡,這時(shí),計(jì)算機(jī)與DAQ系統(tǒng)之間的通訊可以采用各種不同的總線,如USB,并行口或者PCMCIA等完成。這種結(jié)構(gòu)適用于遠(yuǎn)程數(shù)據(jù)采集和控制系統(tǒng)。 模擬輸入:當(dāng)采用DAQ卡測(cè)量模擬信號(hào)時(shí),必須考慮下列因素:輸入模式(單端輸入或者差分輸入)、分辨率、輸入范圍、采樣速率,精度和噪聲等。 單端輸入以一個(gè)共同接地點(diǎn)為參考點(diǎn)。這種方式適用于輸入信號(hào)為高電平(大于一伏),信號(hào)源與采集端之間的距離較短(

3、小于15英尺),并且所有輸入信號(hào)有一個(gè)公共接地端。如果不能滿足上述條件,則需要使用差分輸入。差分輸入方式下,每個(gè)輸入可以有不同的接地參考點(diǎn)。并且,由于消除了共模噪聲的誤差,所以差分輸入的精度較高。 輸入范圍是指ADC能夠量化處理的最大、最小輸入電壓值。DAQ卡提供了可選擇的輸入范圍,它與分辨率、增益等配合,以獲得最佳的測(cè)量精度。 分辨率是模/數(shù)轉(zhuǎn)換所使用的數(shù)字位數(shù)。分辯率越高,輸入信號(hào)的細(xì)分程度就越高,能夠識(shí)別的信號(hào)變化量就越小。下圖表示的是一個(gè)正弦波信號(hào),以及用三位模/數(shù)轉(zhuǎn)換所獲得的數(shù)字結(jié)果。三位模/數(shù)轉(zhuǎn)換把輸入范圍細(xì)分為23或者就8份。二進(jìn)制數(shù)從000到111分別代表每一份。顯然,此時(shí)數(shù)字

4、信號(hào)不能很好地表示原始信號(hào),因?yàn)榉洲q率不夠高,許多變化在模/數(shù)轉(zhuǎn)換過程中丟失了。然而,如果把分辯率增加為16位,模/數(shù)轉(zhuǎn)換的細(xì)分?jǐn)?shù)值就可以從8增加到216即65536,它就可以相當(dāng)準(zhǔn)確地表示原始信號(hào)。 增益表示輸入信號(hào)被處理前放大或縮小的倍數(shù)。給信號(hào)設(shè)置一個(gè)增益值,你就可以實(shí)際減小信號(hào)的輸入范圍,使模數(shù)轉(zhuǎn)換能盡量地細(xì)分輸入信號(hào)。例如,當(dāng)使用一個(gè)3位模數(shù)轉(zhuǎn)換,輸入信號(hào)范圍為0到10伏,上面的圖顯示了給信號(hào)設(shè)置增益值的效果。當(dāng)增益=1時(shí),模/數(shù)轉(zhuǎn)換只能在5伏范圍內(nèi)細(xì)分成4份,而當(dāng)增益=2時(shí),就可以細(xì)分成8份,精度大大地提高了。但是必須注意,此時(shí)實(shí)際允許的輸入信號(hào)范圍為0到5伏。一但超過5伏,當(dāng)乘以

5、增益2以后,輸入到模/數(shù)轉(zhuǎn)換的數(shù)值就會(huì)大于允許值10伏。 總之,輸入范圍,分辯率以及增益決定了輸入信號(hào)可識(shí)別的最小模擬變化量。此最小模擬變化量對(duì)應(yīng)于數(shù)字量的最小位上的0,1變化,通常叫做轉(zhuǎn)換寬度(Code width)。其算式為:輸入范圍/(增益*2分辯率)。 例如,一個(gè)12位的DAQ卡,輸入范圍為0到10伏,增益為1,則可檢測(cè)到2.4mV的電壓變化。而當(dāng)輸入范圍為-10到10伏(20伏),可檢測(cè)的電壓變化量則為4.8mV。 采樣率決定了模/數(shù)變換的速率。采樣率高,則在一定時(shí)間內(nèi)采樣點(diǎn)就多,對(duì)信號(hào)的數(shù)字表達(dá)就越精確。采樣率必須保證一定的數(shù)值,如果太低,則精確度就很差。下面的圖表示了采樣率對(duì)精度

6、的影響。 根據(jù)耐奎斯特采樣理論,你的采樣頻率必須是信號(hào)最高頻率的兩倍。例如,音頻信號(hào)的頻率一般達(dá)到20KHz,因此其采樣頻率一般需要40KHz。 平均化。噪聲將會(huì)引起輸入信號(hào)畸變。噪聲可以是計(jì)算機(jī)外部的或者內(nèi)部的。要抑制外部噪聲誤差,可以使用適當(dāng)?shù)男盘?hào)調(diào)理電路,也可以增加采樣信號(hào)點(diǎn)數(shù),再取這些信號(hào)的平均值以抑制噪聲誤差,這樣誤差可以減小到乘以下面的系數(shù): 例如,如果以100個(gè)點(diǎn)來平均,則噪聲誤差將減小1/10。 第二節(jié) 數(shù)據(jù)采集VI程序的調(diào)用方法LabVIEW的DAQ程序包括模擬輸入、模擬輸出、計(jì)數(shù)器操作、或者數(shù)字輸入、輸出等。你可以在框圖程序窗口下選擇Data Acquisition。再在此

7、子模板下,可以看到6個(gè)子模板:Analog Input, Analog Output, Digital I/O, Counter, Calibration and Configuration和Signal Conditioning。 在上述6個(gè)子模板下,每個(gè)子模板又分成Easy I/O Vis, Intermediate Vis, Utility Vis和Advanced Vis。下面我們以Analog Input子模板為例進(jìn)行解釋。如圖所示,在其頂層是簡(jiǎn)單模擬量輸入VI程序(Easy AI),中間層是中級(jí)模擬量輸入VI程序(Intermediate AI),然后下面是兩個(gè)圖標(biāo),一個(gè)用于調(diào)用模

8、擬輸入應(yīng)用程序(Utility AI),一個(gè)調(diào)用高級(jí)模擬量輸入程序(Advanced AI)。在本教材中,我們主要講述簡(jiǎn)單和中級(jí)程序。高級(jí)程序涉及到與DAQ驅(qū)動(dòng)程序的低層接口,而通用應(yīng)用程序是中級(jí)程序的組合。 簡(jiǎn)單I/O程序僅僅只是表面層接口程序,它能執(zhí)行基本的模擬量輸入、模擬量輸出、數(shù)字I/O,以及計(jì)數(shù)器/定時(shí)器操作。它簡(jiǎn)單易用,并且包含一個(gè)簡(jiǎn)單的出錯(cuò)處理方法。當(dāng)出錯(cuò)時(shí),將彈出一個(gè)對(duì)話框,顯示出錯(cuò)信息,而用戶可以選擇中止程序執(zhí)行或者忽略錯(cuò)誤。 相對(duì)于簡(jiǎn)單程序而言,中級(jí)程序具備更多的硬件設(shè)置功能,靈活性,并且可以更有效地開發(fā)實(shí)用程序。它具有許多簡(jiǎn)單程序所缺乏的功能,如外部時(shí)鐘等。它對(duì)出錯(cuò)的處理

9、也更加靈活,可以把出錯(cuò)狀態(tài)信息傳遞給其它的程序,編程處理出錯(cuò)情況。 第三節(jié) 模擬輸入與輸出在Data Acquisition子模板下的Analog Input子模板程序執(zhí)行模/數(shù)轉(zhuǎn)換操作。而Analog Output程序庫則執(zhí)行數(shù)/模轉(zhuǎn)換或多重轉(zhuǎn)換。 AI Sample Channel程序測(cè)量指定通道上信號(hào)的一個(gè)采樣點(diǎn),并返回測(cè)量值。Device是DAQ卡的設(shè)備編號(hào),Channel是描述模擬輸入通道號(hào)的字符串,High Limit和Low Limit指明輸入信號(hào)的范圍,缺省值為+10V和-10V。 AO Update Channel程序把一個(gè)給定電壓值在一個(gè)模擬輸出通道上輸出。Device是D

10、AQ卡的設(shè)備編號(hào),Channel是輸出通道號(hào)字符串Voltage是輸出的電壓值。 在上述程序執(zhí)行時(shí),如果發(fā)生錯(cuò)誤,則彈出一個(gè)對(duì)話框,顯示錯(cuò)誤代碼,你可以選擇中止程序或者繼續(xù)程序執(zhí)行。 練習(xí)2-1目的:輸出一個(gè)模擬電壓信號(hào),并且用DAQ卡再次采集該信號(hào)。 首先編制一個(gè)VI程序,以0.5伏的間隔從0伏到9.5伏輸出電壓,再編制VI程序進(jìn)行單點(diǎn)模擬輸入電壓測(cè)量,驗(yàn)證上述輸出電壓。最后,再修改程序,使之控制Demo Box上的LED指示燈。在演示盒Demo Box上,把模擬輸出CH0與模擬輸入CH1相連。 前面板:1.打開電壓輸出Voltage Output程序窗口,用Device指定DAQ卡設(shè)備編號(hào)

11、,Channel字符串指定模擬輸出通道,用Voltage Output輸出顯示來顯示當(dāng)前輸出電壓值。 2.切換到框圖程序。 框圖程序1.按照下圖建立框圖程序。 對(duì)于循環(huán)For Loop要求每500毫秒執(zhí)行一次,控制輸出電壓以0.5伏的間隔從0伏到9.5伏變化。當(dāng)循環(huán)For Loop結(jié)束后,輸出電壓又復(fù)位為0伏。 2.關(guān)閉上述框圖程序窗口,再打開前面板窗口,創(chuàng)建輸入電壓測(cè)量Voltmeter程序,以顯示輸入電壓值。 前面板:框圖程序: 1.按照下圖編寫程序。 2.在前面板的電壓測(cè)量?jī)x表盤中,將其刻度定義為0.0至10.0。 3.在通道控制Channel輸入值1,上限控制High Limit輸入值

12、10.0,下限控制Low Limit輸入值0.00,打開Power開關(guān),運(yùn)行該程序。 4.如果運(yùn)行過程中出現(xiàn)錯(cuò)誤,將會(huì)彈出一個(gè)對(duì)話框,顯示錯(cuò)誤代碼和解釋。要模擬出錯(cuò)情況,在Device控制欄中輸入0并運(yùn)行程序,則將會(huì)顯示出錯(cuò)情況。 5.確認(rèn)已在演示盒Demo Box中將模擬輸出CH0接到模擬輸入CH1,運(yùn)行電壓輸出Voltage Output VI程序,則在電壓測(cè)量Voltmeter程序中將采集并顯示電壓值。 6.停止程序運(yùn)行,并按上圖虛線框住的部分修改程序,當(dāng)輸入電壓大于5伏時(shí)點(diǎn)亮LED燈。演示盒Demo Box上的LED燈是負(fù)邏輯,高電平時(shí)關(guān)閉LED,低電平時(shí)打開LED。 7.再同時(shí)運(yùn)行前

13、面的電壓輸出程序和本電壓輸入程序,以驗(yàn)證運(yùn)行效果。 (練習(xí)2-1結(jié)束)。 第四節(jié) 波形的采集與產(chǎn)生在許多應(yīng)用場(chǎng)合,一次只采樣一個(gè)數(shù)據(jù)點(diǎn)是不夠的。另外,采樣點(diǎn)之間的間隔很難保持恒定,因?yàn)樗Q于很多因素,如循環(huán)的執(zhí)行速度,子程序的調(diào)用時(shí)間等等。而使用AI Acquire Waveform和AO Generate Waveform程序,就可以以大于單點(diǎn)操作的速度進(jìn)行多點(diǎn)的數(shù)據(jù)采集和波形產(chǎn)生,并且用戶可以自定義采樣速率。 波形采集:AI Acquire Waveform程序從一個(gè)指定的輸入通道按用戶定義的采樣率和采樣點(diǎn)數(shù)采集數(shù)據(jù)并返回計(jì)算機(jī)。 上圖中Number of Samples是采樣點(diǎn)數(shù),Sa

14、mple rate是采樣率,以Hz為單位。Waveform是模擬輸入信號(hào)的一維采樣數(shù)組,以伏特為單位。Actual sample period是實(shí)際采樣率的倒數(shù),它可能與指定采樣率有一些小偏差,偏差取決于計(jì)算機(jī)硬件速度。 波形產(chǎn)生:AO Generate Waveform程序在一個(gè)模擬輸出通道上以用戶定義的更新速率產(chǎn)生一個(gè)電壓波形。Update rate是每秒鐘產(chǎn)生的電壓數(shù)值更新點(diǎn)數(shù)。Waveform是一個(gè)一維數(shù)組,它包含寫到輸出通道上的模擬電壓值,以伏為單位。 練習(xí)2-2目的:采集并顯示一個(gè)模擬信號(hào)波形。 學(xué)員將編寫一個(gè)VI程序,它使用DAQ卡采集一個(gè)信號(hào)波形,并在圖表上顯示。在本例中,把演

15、示盒上的模擬輸入CH1接到函數(shù)發(fā)生器的正弦波輸出端口上。 前面板:1.打開一個(gè)新建前面板窗口,并照下圖創(chuàng)建一個(gè)前面板程序。 “采樣數(shù)”控制欄定義采樣點(diǎn)數(shù),而“采樣/秒”控制欄定義采樣率。 2.切換到框圖程序。 框圖程序:1.按照上圖創(chuàng)建框圖程序。 2.返回前面板窗口,輸入各控制欄數(shù)值,并運(yùn)行程序。圖表窗口將繪出模擬信號(hào)波形。試用不同的采樣率和采樣點(diǎn)數(shù),觀察波形的差別。 (練習(xí)2-2結(jié)束) 第五節(jié) 掃描多個(gè)模擬輸入通道AI Acquire Waveforms程序從多個(gè)輸入通道以指定的采樣率采集指定的采樣點(diǎn)數(shù),并將采樣結(jié)果數(shù)據(jù)送回到計(jì)算機(jī)。Channels控制欄指定要采樣的多個(gè)通道的編號(hào),各個(gè)通道

16、號(hào)間以逗號(hào)隔開,例如1,2,4??刂茩贜umber of samples/ch是每個(gè)通道要采集的采樣點(diǎn)數(shù)。Scan rate是每個(gè)通道每秒鐘的采樣點(diǎn)數(shù)即采樣率。Waveform是一個(gè)二維數(shù)組,包含模擬輸入信號(hào)電壓數(shù)值,以伏為單位。Actual scan period是實(shí)際采樣率的倒數(shù),由于計(jì)算機(jī)硬件的不同,實(shí)際采樣率與指定的采樣率可能有微小差異。 練習(xí)2-3目的:使用簡(jiǎn)單I/O程序來執(zhí)行掃描多個(gè)通道的數(shù)據(jù)采集工作。 學(xué)員將創(chuàng)建一個(gè)VI程序,它掃描兩個(gè)不同通道的模擬信號(hào)波形,并將它們分別在圖表上繪出。在本例中,把Demo Box的模擬輸入通道CH1接到正弦波/三角波輸出口,而模擬輸入通道CH2接

17、到方波輸出口。 前面板:1.按照下圖創(chuàng)建前面板程序,它有兩個(gè)輸入通道,可同時(shí)顯示兩個(gè)波形。 2.切換到框圖程序。 框圖程序:1.創(chuàng)建如上圖所示框圖程序,它調(diào)用了如下的功能模塊: AI Acquire Waveforms子程序(在Data Acquisition>Analog Input子模板)。在本例中,它在通道1和通道2以采樣率10000Hz采樣1000個(gè)點(diǎn)。 Index Array子程序(在Array子模板),在本例中,把二維數(shù)組的第0列定義為通道1的采集數(shù)據(jù),第1列定義為通道2的采集數(shù)據(jù)。 Write to Spreadsheet File子程序(在File I/O子模板)。在本例

18、中,把通道1和通道2的數(shù)據(jù)寫入數(shù)據(jù)文件(spreadsheet file)。 2.將演示盒上的模擬輸入通道1與方波發(fā)生器連接;模擬通道2與正弦波發(fā)生器相連接。運(yùn)行該程序,在圖表上將顯示輸入的兩個(gè)數(shù)據(jù)波形。 (練習(xí)2-3結(jié)束)。 第六節(jié) 連續(xù)數(shù)據(jù)采集連續(xù)數(shù)據(jù)采集,或者說實(shí)時(shí)數(shù)據(jù)采集,是在不中斷數(shù)據(jù)采集過程的情況下不斷地向計(jì)算機(jī)返回采集數(shù)據(jù)。開始數(shù)據(jù)采集后,DAQ卡不斷地采集數(shù)據(jù)并將它們存貯在指定的緩沖區(qū)中(circular buffer),然后LabVIEW每隔一段時(shí)間將一批數(shù)據(jù)送入計(jì)算機(jī)進(jìn)行處理。如果緩沖區(qū)放滿了,DAQ卡就會(huì)又重新從內(nèi)存起始地址寫入新數(shù)據(jù),覆蓋原來的數(shù)據(jù)。這個(gè)過程一直持續(xù),直到采集到了指定數(shù)目的數(shù)據(jù)點(diǎn),或者LabVIEW主動(dòng)中止了采集過程,或者程序出現(xiàn)錯(cuò)誤。這種工作方式對(duì)于需要把數(shù)據(jù)存入磁盤或者觀察實(shí)時(shí)數(shù)據(jù)很有用。 練習(xí)2-4目的:調(diào)用中級(jí)功能模塊程序執(zhí)行連續(xù)數(shù)據(jù)采集工作。 學(xué)員將驗(yàn)證一個(gè)連續(xù)數(shù)據(jù)采集程序,在本例中,把模擬輸入通道CH1接到正弦/三角波輸出口。 前面板:1.打開Continuous Acquisition and Chart程序。 2.緩沖區(qū)的大小即數(shù)據(jù)存貯內(nèi)存的大小用“緩沖大小”來指定,同時(shí)還用“一次讀入的掃描”來指定每次從內(nèi)存讀取的數(shù)據(jù)量,用“掃描剩余數(shù)據(jù)”顯示內(nèi)存

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論