DAQ中各種采樣方法的一點想法(最簡單的采樣方式)
這時我們最簡單的程序如下圖:
本文引用地址:http://www.ex-cimer.com/article/201701/337113.htm這樣我們就能每隔while的延遲時間來進行采樣。
但是有的時候我們想進行多點的采樣,就是說每次采樣獲取N個的數(shù)據(jù)。而用上面的程序的其他多態(tài)VI子程序,雖然可以規(guī)定采樣的數(shù)量,但是無法規(guī)定程序的采樣頻率。程序總是在最快的時間內(nèi)采夠所需的數(shù)據(jù)并顯示出來。
在這種情況下我們就要用到這個函數(shù)。DAQmx Timing。即
在這里設置采樣的個數(shù)和采樣速率。
相應的信號采集的程序如下圖:
我們在Timing中規(guī)定了采樣的模式——有限采樣,采樣的個數(shù)——10個,采樣的頻率——一秒鐘1個。這樣的設置下,程序的執(zhí)行規(guī)則就是,執(zhí)行到read函數(shù)的時候等待,等待采樣結(jié)束后將數(shù)據(jù)發(fā)送到波形圖表中,就是說,程序在read的時候等待大量的時間,而不是一瞬間完成的,這就解釋了為什么圖標中的新增數(shù)據(jù)是個一段時間才出現(xiàn)一次的。完全能夠講的通了。
現(xiàn)在,我們再測試一次將采樣模式換為連續(xù)采樣的模式。
設置為連續(xù)采樣的時候,原來的設置采樣數(shù)量接口(10)將表示緩存區(qū)的大小。
如果是這樣的話,循環(huán)就連續(xù)執(zhí)行,并不像有限采樣那樣,等到采夠了所需的點數(shù)再進行讀取顯示,而是不停地讀取顯示。這就是與有限采樣的不同。因此需要在while循環(huán)中,增加延時函數(shù),在延遲結(jié)束時讀取緩存區(qū)內(nèi)的數(shù)據(jù)。
這樣所讀取的采樣點數(shù)為延遲時間內(nèi)所采到的數(shù)據(jù)。若延遲時間過大,那么緩沖區(qū)存滿之后,緩存區(qū)將重新刷新,那樣在讀取數(shù)據(jù)的時候?qū)p失掉一部分數(shù)據(jù)。
評論