DAQ中各種采樣方法的一點想法(最簡單的采樣方式)
另外做類似的程序時,最好在循環(huán)外部加上DAQmx Start和Stop函數(shù),免得read和write每次運行都要重新開始任務。
即類似于這樣的結構。
綜上所述:單點采樣連續(xù)采樣的read函數(shù)不等待,一直根據(jù)函數(shù)結構進行讀取和處理。
另:程序采樣開始于開始任務(DAQmx Start)函數(shù)
下面的說法可以解釋上述的現(xiàn)象:在read函數(shù)中可以設置采樣數(shù)目!是這樣定義的!N采樣的情況下,read函數(shù)包含設置采樣個數(shù)的節(jié)點,每通道采樣數(shù)指定要讀取的采樣數(shù)。 如未連線該輸入端或將其設置為-1,NI-DAQmx將根據(jù)任務進行連續(xù)采樣或采集一定數(shù)量的采樣,確定要讀取的采樣數(shù)。
如任務進行連續(xù)采樣且該輸入的值為-1,VI將讀取緩沖區(qū)中當前可用的全部采樣。
如采集一定數(shù)量的采樣且該輸入的值為-1,VI將等待任務獲取全部所需采樣,然后讀取采樣。如讀取全部可用數(shù)據(jù)屬性的值為TRUE,VI將讀取緩沖區(qū)中當前可用的采樣,而不等待任務獲取全部所需采樣。
另外合理利用好DAQ的各屬性節(jié)點。如DAQ讀取屬性節(jié)點(測量IO——DAQmx數(shù)據(jù)采集——DAQ讀取屬性節(jié)點等)
如將上面的程序修改一下。
就可以在while循環(huán)運行時,顯示出目前緩沖區(qū)內可用的樣點數(shù)目。
當然:我們可以在read.VI中設置 每次讀取的采樣數(shù)目(每通道采樣數(shù))。如下圖
評論