關于labview的DAQ輸出緩沖區
所以能及時的響應波形信號改變。不會產生巨大的延遲。若將輸出緩沖區的大小設置的很大,那么就會在改變波形參數的時候產生巨大的延遲。因為存進緩沖區的數據必須逐一的輸出。而緩沖區合適的時候,會不時的丟棄一部分數據,而隨時的相應新的波形。
本文引用地址:http://www.104case.com/article/201701/337117.htm就像這個例子
當我把輸出緩存區設置成很大(10000)時,我在程序中改變波形屬性,就會等很長很長時間才能輸出相應的波形。原因是我每隔100ms就會忘緩存中寫數據,在這之前寫了非常多的數據保存在緩存中(還沒來得及生成),所以需要延遲很多時間才能生成。
多謝謝多測試,慢慢精通。
而輸入緩沖區的大小則是由采樣速度決定的。具體的可以參見lavview的幫助。橙色部分顯示。
如何確定緩沖區大小?
輸入任務
如采樣模式為有限采樣(定時函數/VI上的采樣模式設置為有限采樣),NI-DAQmx將劃分出一塊緩沖區,大小與每通道采樣數屬性相等。例如,指定每通道采樣數為1000,應用程序使用兩條通道,則緩沖區大小為2000個采樣的大小。因此,緩沖區的大小足夠存放要采集的所有樣本。
如采樣模式為連續采樣(定時函數/VI上的采樣模式設置為連續采樣),NI-DAQmx將劃分出一塊緩沖區,大小與每通道采樣數屬性相等,除非緩沖區大小的值比小表所列的值更小。如每通道采樣數屬性的值小于下表所列的值,NI-DAQmx將使用下表中的值。
注: |
通過調用輸入緩沖配置函數/VI可重寫默認緩沖區大小。
當定時函數/VI的采樣模式設置為硬件定時單點采集時,NI-DAQmx不會創建緩沖區。
輸出任務
開始一次新的生成之前需要執行寫入操作的數據決定緩沖區的大小。第一次調用“寫入”函數/VI的“多采樣”實例時會創建一個緩沖區并確定其大小。
也可使用輸出緩沖區函數/VI創建一個輸出緩沖區。必須在寫入數據之前使用該VI。
定時函數/VI的每通道采樣數不決定輸出緩沖區的大小。反之,它是要生成的采樣的總和。如緩沖區大小是n,將每通道采樣數設置為3×n,將緩沖區的數據設置為正好3倍。如要生成整一倍的數據,將每通道采樣數設置為n。
當定時函數/VI的采樣模式設置為硬件定時單點采集時,NI-DAQmx不會創建緩沖區。
評論