DAQmx 緩衝區(Buffer)大小分配,用於Finite(有限)或Continuous(連續)擷取

更新 Apr 6, 2021

產品資訊

驅動程式

  • NI-DAQmx

問題敘述

  • DAQmx如何分配buffer?
  • 我的擷取buffer有多大?
  • 如何增大buffer的大小?
  • 為什麼會出現buffer overflow(溢位)錯誤?

解決方案

使用NI-DAQmx,通常可以在 DAQmx Timing function為您自動處理內存分配:
  • 如果是Finite(DAQmx Timing function的取樣模式設置為"Finite Samples"),NI-DAQmx會分配一個buffer,其大小等於每個通道的取樣值
  • 如果Continuous(DAQmx Timing function的取樣模式設置為" Continuous Samples"),NI-DAQmx將根據下表分配buffer:
 
 
Sample RateBuffer Size
0-100 S/s1 kS
100-10,000 S/s10 kS
10,000-1,000,000 S/s100 kS
>1,000,000 S/s1 MS
 
 
請參考以下文章,為您的編程環境配置NI-DAQmx buffer:

相關資訊

這些訊息都可以在NI-DAQmx Help文件中找到。在Windows中,您可以選擇Start»Programs»National Instruments»NI-DAQ.來找到本文件。在Help文件中,此特定訊息位於“ NI-DAQmx Concepts”下“Buffering”的部分。與此主題一起,可以通過此Help文件中的訊息了解其他常見問題。