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