|
NI-DAQmx使用rate這個輸入值來計算資料擷取工作所需要的記憶體緩衝區大小。如果想要直接指定緩衝區的大小,可以使用DAQmx Configure Input Buffer VI或者是DAQmx Configure Output Buffer VI。
Sample Clock VI的rate輸入值也可以用來計算呼叫DAQmx Read所產生waveform資料型態中的dt值。藉著修改rate輸入值,你可以看到隨著不同的輸入值,資料的顯示每次也會跟著有所不同,這是因為dt值會隨著rate輸入值的改變而變動。在DAQmx Timing VI的說明文件有提到,設定rate輸入值時最好是根據外部clock的最大期望頻率來設定。
要注意的是資料本身的內容並不受rate輸入值變化的影響。這是因為DAQmx Read並不知道實際用來擷取資料的外部clock其頻率為何。
舉例來說,假設你使用1 KHz的外部clock來擷取弦波,但是設定rate輸入值為 5 KHz,那麼DAQmx Read所產生的waveform其dt值就會是0 .0002(5000的倒數)而不是 0.001(1000的倒數)。因此,雖然是使用外部1 KHz的clock來擷取資料,但是資料的顯示會如同使用5 KHz的外部clock來作資料擷取。
除了不改變rate輸入值以外,還有其他方法可以避免資料的顯示會受到dt值的影響:ㄧ個方法是在選擇DAQmx Read的輸出狀態時,選擇double來替代waveform。另外一個方法是使用實際的計數器來產生sample clock,並將其clock頻率值拿來產生waveform的dt值即可,如下面的範例所示。
|