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