初學(xué)LabVIEW數(shù)據(jù)采集中常見的問題_第1頁
初學(xué)LabVIEW數(shù)據(jù)采集中常見的問題_第2頁
初學(xué)LabVIEW數(shù)據(jù)采集中常見的問題_第3頁
初學(xué)LabVIEW數(shù)據(jù)采集中常見的問題_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、初學(xué)數(shù)據(jù)采集中常見的問題經(jīng)常在論壇上會碰到一些會員朋友發(fā)貼提問數(shù)據(jù)采集的問題,其中很大一部分是初學(xué)者剛接觸數(shù)據(jù)采集,對其中的一些基本概念還沒有太多的了解,這里將這些問題集中一下,做個總結(jié)。由于個人接觸的板卡以 NI 的為主,這里的內(nèi)容只針對 NI 的數(shù)據(jù)采集卡,不保證適用于其它公司的數(shù)據(jù)采集卡。1,數(shù)據(jù)采集的時候數(shù)據(jù)會不會丟失?這是最常見的一個問題,剛開始學(xué)數(shù)據(jù)采集的時候都會在考慮,如果軟件上讀取數(shù)據(jù)的循環(huán)運行得不夠快時,比如 100K 采樣率的時候,軟件上循環(huán)肯定沒這么快,數(shù)據(jù)是不是就丟失了?首先我們要清楚的是,數(shù)據(jù)采集功能是由數(shù)據(jù)采集卡來完成的,軟件只是將采集到的數(shù)據(jù)接收到電腦上面過來,數(shù)

2、據(jù)采集卡有自身的辦法來解決硬件采集速度快過于軟件讀取速度的問題。這需要對數(shù)據(jù)采集過程中數(shù)據(jù)的傳輸作一個介紹:外部的信號進(jìn)入數(shù)據(jù)采集卡后,經(jīng)過各種處理轉(zhuǎn)換,先進(jìn)入數(shù)據(jù)采集卡自身的緩沖區(qū)里面,緩沖區(qū)是先進(jìn)先出(FIFO,FirstInFirstOut)的,NI 的數(shù)據(jù)采集卡應(yīng)該是都有板載的緩沖區(qū),區(qū)別在于緩沖區(qū)的大小而已。然后當(dāng)板載緩沖區(qū)中的數(shù)據(jù)量到了一定的條件時,數(shù)據(jù)采集卡將緩沖區(qū)的數(shù)據(jù)上傳到計算機內(nèi)存中,一般是以 DMA(直接內(nèi)存訪問)方式傳入的,但也可以設(shè)置為其它方式,比如中斷等。上傳數(shù)據(jù)的方式和時機可以通過 DAQmX 勺屬性節(jié)點進(jìn)行設(shè)置或查看,DAQm 舛默認(rèn)是使用 DMA 專輸方式,傳

3、輸條件是板載內(nèi)存非空。以下藍(lán)色部分摘自 NI 網(wǎng)站:數(shù)據(jù)傳輸方式包括直接內(nèi)存訪問(DMA),中斷請求(IRQ)和可編程 I/O。DMA 是一種 DAQ 板卡和 PC 內(nèi)存間直接通訊的傳輸方式,不再需要處理器的干預(yù)。NIMITE”芯片可以處理與PCI 總線間的所有總線協(xié)議。IRQ 傳輸方式會置高信號并中斷處理器,然后由處理器處理數(shù)據(jù)傳輸。IRQ 傳輸通常很低,只有 150kb/s,而 DMA 可以高達(dá) 20Mb/s。IRQ 傳輸速率與使用的系統(tǒng)設(shè)備相關(guān),如處理器速度等。模抑,人:常規(guī)屬性:高鼓:數(shù)據(jù)傳,制內(nèi)4 4:數(shù)據(jù)伊蜻苗木條件屬性城名址:匚iaia- -f f:二匚-d-d疔京將芫痘從出后H

4、稅/Fl甘至推曲范J1疆俄內(nèi)存狗過聿,力通程有*小百行忖十滴時卜L.L.4 4口片營律用.I桁肉手方空*擅載R在乳川,從號卷R強塞W 舞布正町呼修菊th|糧內(nèi)存自定義*值,1:5-:當(dāng)貴等F1F麗廿中國含二,;gk-T-V小Td牛里禪時,心設(shè)備M-模引輸入:常規(guī)舄悍:育級:量據(jù)傳輸和內(nèi)存第據(jù)傍輸機制屬性匍省警;山,匚立立促二十,漫EK9壬性指*設(shè)吊傳罰原4.哥蔣用亭,宙桓L中霞花M.假豆F近用無不.中看1:.0-船拓網(wǎng)獨;f干網(wǎng)口熱 E.H?,?下?開4*呻工儂hr*言相高;殖卯品充,播常 f 番通帆1、,小退前南開現(xiàn)用早產(chǎn)/讓.瞋二,青年金一.li:ftWhflUlki_;-導(dǎo)也巧如蚣=于何

5、Mil俗道卻屁知再上圖 1 設(shè)置模擬輸入數(shù)據(jù)傳遞方式與時機數(shù)據(jù)到了內(nèi)存后,再由程序中的 DAQmRead.vi 從內(nèi)存中讀入到計算機中去。這里計算機的內(nèi)存要和板載緩沖區(qū)區(qū)分開來,板載緩沖區(qū)是廠商固定死的,改變不了,不會出現(xiàn)溢出的情況,它的空間可以很小,比如 1Kbit 以下,但計算機中為數(shù)據(jù)采集開辟的內(nèi)存建議是采樣率的 10 左右, 即是說即使 DAQmRead.vi 在 10 秒鐘都沒有執(zhí)行一次的話, 那么就會出現(xiàn)內(nèi)存不足以存放采集到的數(shù)據(jù)的問題,導(dǎo)致數(shù)據(jù)丟失,DAQm丘ead.vi 會報錯。內(nèi)存中的大小可以在 DAQmxTiming(SampleClock).vi 的每通道采樣輸入端進(jìn)行設(shè)

6、置,參考下圖中DAQm 鄭助中的說明:DAQmxDAQmx定時(VI)(VI) )出虻條眼也生蜘星?皿.并山屋陰W片區(qū).凜三叔珈笑足羽時隕于任鼻使用曲寶的英皇r-EW 包:dI中年后出定門匡以,以工耳ME穹崖用.芾在下打靠史中速的記小玄回.ITF71ITF71聚料餐式能干茶卓浩-開杼手由下(外r*r*. .t t壬*甲中阡用營中咐的手寸,性維興桿,1,1 123j123j3 31 1:-一!三”門十J J第1111才用餐工生出HT.HT.玄*果界.1017.1017 .|.|一電算主龍加藤!向曲義憚.晚件定用他點:1 1:5 5式:猶*1 1 ; ;或三匹次甘,.用土唐.書升電*工際.“麻一乂

7、百尋鉀”M M+卷視史曲 f 運對賣型撲2 2件:門單.必濯搏式.隼ilm系It伯亍呆肝般代tjWVXfM.Mlisa全的I或生曲球拜曲T課探理式工PFm金料,Nt-OAQE揩刊用片仁吟丈濡,mlff卷埔冊早在言都譽植行造中后,對在番的引用.加特溟道前迪顫巾存推至 g 國聲6,F1DAqm有自或向座在帆f: -gifiSUE古借謁二扇3ntt調(diào)餐入茶樨誨宜先在、 :就亞初工七則也京修出卜一門詣帶電-百11+修副看出將章明頓翻尸主哨融赤.前避二土前也翅.: 的修式事出顯學(xué)拄4在f*捧:單中整5dl比(查西共工的浮更多包.frrF亞我色力舌TKUt曳*左半的 1 一冒制 A 些告金咽.圖 2 設(shè)置

8、內(nèi)存緩沖區(qū)大小但是 DAQm 會默認(rèn)設(shè)置一個最小值,如果你在每通道采樣輸入端設(shè)置的值小于這個值的話,DAQm 會忽略你輸入的這個值而使用默認(rèn)最小值,見下圖:加智蜩定柒沖況人小T箱入掘者鼻味廊不分illill良栗在t&JTkSB!.1JJt&JTkSB!.1JJ睬禪世SIJUUJ自序來*Fi*Fi*. .:弓,必陳立藪里巴膽陶.匕和生XiojXioj星日f.f.耳汽力 J 比到性一世土出fffl.d.Qfffl.d.Q艙井區(qū)*|,號.廊匕伊河口色td-5td-5ttftMT?ttftMT?由所色杵立hnVnrtjrrj-Tf1tTFT 可竄可竄 IfF:才才 4T 曲曲7 古丁七

9、古丁七十十?1.i,-r.i(t,+:i一壬聚不整一壬聚不整 iHtf、Xe出出 F 內(nèi)內(nèi) F 百工百工 d-更事薦更事薦TFTF- -+T7=J+T7=JT Tfi!F5.-匚匚T T* *H H= =F*F*中中F F號號. .窿彈等母期至廢幸HOkSHOkSC-C-:CuS.CuS.tkStkS嬴m14kfi14kfiLO.OOEL.ETlSDL.ETlSDRIEgkSEgkSl.l.JOC口中;1 1MSMS皮:日忙電T國.耳翎晦般乳諭叵之小包日曬博郵對所他能出耳宦苒蟀卦J-T.dSaiH*=#-X包式小.些:1期酶,ip法憚式SMIM物單點知H,!-=小合B1猩家.中區(qū)E E:&am

10、p;1&1怔1 1土在內(nèi)再期用臣小產(chǎn)生EtEEtE的喙寫費怕叁對象如itit3 3印巨.譚MiMi中回的電才*SK景虻的何在茸1 1是舉主二.二H HTHTH才擊.圖 3 確定緩沖區(qū)大小不過單單將這個緩沖區(qū)設(shè)置成 10 倍,并不一定能保證緩沖區(qū)不會溢出,因為緩沖區(qū)的存儲的數(shù)據(jù)量不但跟它的輸入速度(采樣率)有關(guān),還跟它的輸出速度有關(guān),它的輸出速度就是采集程序從它里面讀取的速度,所以一般在使用循環(huán)中調(diào)用 DAQmRead.vi 的時候,一般是選擇多態(tài) VI 中的多采樣而不是單采樣,如下圖所示:圖 4 設(shè)置 DAQmsRead.vi同時將它的每通道采樣數(shù)設(shè)置為-1,表示每次調(diào)用 DAQm 丘

11、 ead.vi 的時候都是將內(nèi)存中的所有數(shù)據(jù)讀取進(jìn)來。在一些特殊情況下才將這個輸入設(shè)置為其它整數(shù),但就得保證循環(huán)能盡快的執(zhí)行,以免緩沖區(qū)溢出。如果設(shè)置為 100 的話,表示每次從緩沖區(qū)中讀取 100 個數(shù)據(jù)回來,如果緩沖區(qū)的數(shù)據(jù)不足 100 個,那么就會等到夠了 100 個后才讀進(jìn)來并輸出,程序會在這里等待緩沖區(qū)的數(shù)據(jù)夠 100 個才往后執(zhí)行,跟串口設(shè)置讀取緩沖區(qū)字節(jié)數(shù)一樣。設(shè)置為-1 則不會出現(xiàn)等待的情況,有就讀,沒有就返回空數(shù)組。所以,總結(jié)一下,為了保證數(shù)據(jù)不會失丟,要設(shè)置好內(nèi)存緩沖區(qū)的大小,還要保證讀取緩沖區(qū)的程序(DAQmxRead.vi)循環(huán)得盡量快,每一次讀取的數(shù)據(jù)盡量多。2,數(shù)據(jù)

12、采集的時間問題數(shù)據(jù)采集中時間相關(guān)的問題主要是二方面,一個是每一個數(shù)據(jù)點的時間,在 NI 的數(shù)據(jù)采集中是通過 T0 和 dt 來確定的,T0 就是開始數(shù)據(jù)采集的初始時間,是任務(wù)開始時數(shù)據(jù)采集卡讀取的計算機時間,dt 二個數(shù)據(jù)點之間間隔的時間,是采樣率的倒數(shù),比如 1K 采樣率,dt 就是 1/1000=0.001 秒=1 毫秒。在使用 DAQmRead.vi 的時候要選擇波形輸出而不是選擇 DBL 輸出,波形輸出就帶有這些信息,而 DBL 就只是有數(shù)據(jù)而沒有時間信息了。見圖 4。另一個就是采樣率的設(shè)置問題,數(shù)據(jù)采集卡的采樣脈沖一般是由它的內(nèi)部時鐘源進(jìn)行分頻后得到的,所以采樣率是不是非常準(zhǔn)確,得看

13、時鐘源是否能被整數(shù)倍地分頻到指定的采樣率,具體可以參考 NI 上的文章:確定 NI-DAQmx 中采集的實際采樣率硬件:MultifunctionDAQ(MIO)問題:我設(shè)置采集的采樣速率為 500,001Hz。我想知道我的設(shè)備所用的實際采樣率。如果我在 LabVIEW 中用 NI-DAQm 斕成,如何確定實際采樣率?解答:您可以用 DAQmXt 時屬性節(jié)點來獲得此信息。SamplClk.Timebase.Rate 屬性提供了產(chǎn)生實際采樣率的時基頻率(timebasefrequency)。大多數(shù) DAQ備有兩個日基頻率:20MHz和 100kHz。 SamplClk.TimebaseDiv 屬

14、性提供分頻系數(shù), 用于從時基頻率分頻下來到您所希望的實際采樣時鐘頻率。所以當(dāng)您設(shè)置您的采樣速率為 500,001Hz,設(shè)備利用 20MHz 時基和分頻系數(shù) 39 來獲得實際的采樣速率 20MHz/39=512,820.51Hz 分頻系數(shù)永遠(yuǎn)是一個整數(shù),該整數(shù)的大小取決于您的數(shù)據(jù)采集板卡的型號。舉個例子:假設(shè)分頻系數(shù)是一個 16位的整數(shù),這樣 20MHz 時基允許您使用的所有頻率均大于 305.18Hz,因為一個 16 位整數(shù)對應(yīng)的最大分頻系數(shù)為 65,535。100kHz 時基用于低于該頻率的采樣速率。進(jìn)而,如果您指定的頻率不能準(zhǔn)確得到,驅(qū)動將采用最接近于您指定的采樣率且高于您所指定的采樣率對

15、 E 系列:AI 采樣時鐘分頻系數(shù)=24 位nuaborofsamplesperchDAQmxDAQmx1,DEBL1,DEBLAI 轉(zhuǎn)換時鐘分頻系數(shù)=16 位AO 采樣時鐘分頻系數(shù)=24 位對 M 系列:AI 采樣時鐘分頻系數(shù)=32 位AI 轉(zhuǎn)換時鐘分頻系數(shù)=32 位AO 采樣時鐘分頻系數(shù)=32 位另外,如果確實需要指定的采樣率,也可以用外部的時鐘源作為采樣脈沖來進(jìn)行數(shù)據(jù)采集。其實更深入一點的話,在連續(xù)采集的應(yīng)用程序中,數(shù)據(jù)采集時鐘源的準(zhǔn)確性問題就會顯示出來,假設(shè)時鐘源的誤差是 50Ppm(百萬分之五十),即二萬分之一,而一天有 86400秒,如果連續(xù)運行一天的話數(shù)據(jù)采集的時鐘誤差最多就會有

16、 4 秒多,所以到了 24 小時后就會出現(xiàn)波形圖上的時間與計算機時間差了大概 4 秒左右的現(xiàn)象,時間越長這個誤差就可能越大,如果這個誤差不能接受的話就需要想其它辦法解決。其中一個方法是換一個更高精度的時鐘源,但長時間運行的話始終還是會有誤差的,之前用過的方法是到了 0 點的時候關(guān)閉任務(wù)再重新開啟,讓數(shù)據(jù)采集卡與計算機重新對時。3,其它一些問題A,數(shù)據(jù)采集卡在多通道采集時只需要將創(chuàng)建任務(wù)時輸入多個通道的名稱即可,比如單通道時是使用“Dev1/ai1”表示使用第一塊數(shù)據(jù)采集卡的第二個模擬輸入通道,“Dev1/ai0:1”表示使用的是第一塊數(shù)據(jù)采集卡的第 1、2 個模擬輸入通道,那么在 DAQmxRead.vi 時就要選擇它的多通道讀取,然后可以通過“索引數(shù)組”將波形數(shù)組分為第一通道波形和第二通道波形。如下圖所示:圖 5 數(shù)據(jù)采集例子但要注意的是同一個數(shù)據(jù)采集卡只能啟用一個同類型的數(shù)據(jù)采集任務(wù),比如不能創(chuàng)建二個模擬輸入的任務(wù),分別測量二個通道,只能是啟用一個任務(wù),但是同時讀入二個通道的數(shù)據(jù)。但可以啟動不同類型的任務(wù),比如在數(shù)據(jù)采集時又進(jìn)行數(shù)據(jù)輸出等。需要注意的是多種任務(wù)同時運行時可能會導(dǎo)致 DMA!道不夠用,這時就需要將某些任務(wù)的

溫馨提示

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

評論

0/150

提交評論