LabView數據采集_第1頁
LabView數據采集_第2頁
LabView數據采集_第3頁
LabView數據采集_第4頁
LabView數據采集_第5頁
已閱讀5頁,還剩14頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

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

13、面的電壓輸出程序和本電壓輸入程序,以驗證運行效果。 (練習2-1結束)。 第四節 波形的采集與產生在許多應用場合,一次只采樣一個數據點是不夠的。另外,采樣點之間的間隔很難保持恒定,因為它取決于很多因素,如循環的執行速度,子程序的調用時間等等。而使用AI Acquire Waveform和AO Generate Waveform程序,就可以以大于單點操作的速度進行多點的數據采集和波形產生,并且用戶可以自定義采樣速率。 波形采集:AI Acquire Waveform程序從一個指定的輸入通道按用戶定義的采樣率和采樣點數采集數據并返回計算機。 上圖中Number of Samples是采樣點數,Sa

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論