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