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