<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 測試測量 > 設計應用 > 關于labview的DAQ輸出緩沖區(qū)

          關于labview的DAQ輸出緩沖區(qū)

          作者: 時間:2017-01-09 來源:網(wǎng)絡 收藏
          DAQ輸出緩沖區(qū)的大小是由寫入的樣本數(shù)決定的,一般為樣點數(shù)的2倍左右。

          所以能及時的響應波形信號改變。不會產(chǎn)生巨大的延遲。若將輸出緩沖區(qū)的大小設置的很大,那么就會在改變波形參數(shù)的時候產(chǎn)生巨大的延遲。因為存進緩沖區(qū)的數(shù)據(jù)必須逐一的輸出。而緩沖區(qū)合適的時候,會不時的丟棄一部分數(shù)據(jù),而隨時的相應新的波形。

          本文引用地址:http://www.ex-cimer.com/article/201701/337117.htm

          就像這個例子



          當我把輸出緩存區(qū)設置成很大(10000)時,我在程序中改變波形屬性,就會等很長很長時間才能輸出相應的波形。原因是我每隔100ms就會忘緩存中寫數(shù)據(jù),在這之前寫了非常多的數(shù)據(jù)保存在緩存中(還沒來得及生成),所以需要延遲很多時間才能生成。

          所以說 要注意 匹配好 多次寫入VI的數(shù)據(jù)數(shù)量,以及刷新時間 等等!?。?/p>

          多謝謝多測試,慢慢精通。

          而輸入緩沖區(qū)的大小則是由采樣速度決定的。具體的可以參見lavview的幫助。橙色部分顯示。

          如何確定緩沖區(qū)大小?

          輸入任務

          如采樣模式為有限采樣(定時函數(shù)/VI上的采樣模式設置為有限采樣),NI-DAQmx將劃分出一塊緩沖區(qū),大小與每通道采樣數(shù)屬性相等。例如,指定每通道采樣數(shù)為1000,應用程序使用兩條通道,則緩沖區(qū)大小為2000個采樣的大小。因此,緩沖區(qū)的大小足夠存放要采集的所有樣本。

          如采樣模式為連續(xù)采樣(定時函數(shù)/VI上的采樣模式設置為連續(xù)采樣),NI-DAQmx將劃分出一塊緩沖區(qū),大小與每通道采樣數(shù)屬性相等,除非緩沖區(qū)大小的值比小表所列的值更小。如每通道采樣數(shù)屬性的值小于下表所列的值,NI-DAQmx將使用下表中的值。

          注:因為性能原因,連續(xù)采集的默認緩沖區(qū)大小與啟用數(shù)據(jù)記錄時所需緩沖區(qū)的大小可能有細微差別。

          通過調(diào)用輸入緩沖配置函數(shù)/VI可重寫默認緩沖區(qū)大小。

          當定時函數(shù)/VI的采樣模式設置為硬件定時單點采集時,NI-DAQmx不會創(chuàng)建緩沖區(qū)。

          輸出任務

          開始一次新的生成之前需要執(zhí)行寫入操作的數(shù)據(jù)決定緩沖區(qū)的大小。第一次調(diào)用“寫入”函數(shù)/VI的“多采樣”實例時會創(chuàng)建一個緩沖區(qū)并確定其大小。

          也可使用輸出緩沖區(qū)函數(shù)/VI創(chuàng)建一個輸出緩沖區(qū)。必須在寫入數(shù)據(jù)之前使用該VI。

          定時函數(shù)/VI的每通道采樣數(shù)不決定輸出緩沖區(qū)的大小。反之,它是要生成的采樣的總和。如緩沖區(qū)大小是n,將每通道采樣數(shù)設置為3×n,將緩沖區(qū)的數(shù)據(jù)設置為正好3倍。如要生成整一倍的數(shù)據(jù),將每通道采樣數(shù)設置為n。

          當定時函數(shù)/VI的采樣模式設置為硬件定時單點采集時,NI-DAQmx不會創(chuàng)建緩沖區(qū)。



          評論


          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();