在利用labview制作波形發生器的時候,當在DAQtime中把采樣模式設置為連續采樣時,會出現兩種生成模式,即允許重生成模式和不允許重生成模式。這是一個比較關鍵的參數,在應用時選擇何種模式會對結果造成比較大的影響。重生成模式是指允許NI-DAQmx重新生成所構建的虛擬儀器之前生成的采樣數據。如果選擇了這種模式,則虛擬儀器在緩沖區中生成所有采樣數據后,緩沖器的寫入標記將返回緩沖區的開始處,重新生成緩沖區內的所有數據。不允許重生成模式,就不允許NI-DAQ重新生成虛擬儀器先前已生成的采樣數據。若選擇不允許重生成模式,則NI-DAQmx將等待,直到緩沖區寫入更多的采樣數據,或達到超時限制。
本文引用地址:http://www.104case.com/article/201701/337116.htm以下面的例子為例

這是一個可變波形的信號發生器,我們設置為允許重生成模式。
那么,他的結果可能是這樣的

這就是所謂的短時脈沖波形干擾。為什么會出現這樣的情況呢。原因可能是:仿真信號生成的樣本數<pc的緩沖區,NI-DAQmx生成的采樣中包含了原來的舊數據,也包含了xinshuju.liru,黨江需產生的信號由正弦變為鋸齒波時,設備接收到的不能及時的從正弦波變為鋸齒波,而會出現一個過渡期,輸出波形中,鋸齒波數據的比例捉奸增多,知道經過足夠的循環后,才會完全變成鋸齒波。可見,為了避免發生短時脈沖波形干擾現象,應該使仿真信號生成樣本數與pc機的緩沖區容量相匹配,且兩次循環之間的時間間隔也要合適。
由此可見,在實現可變模擬輸出時,可考慮采用禁止重生成模式。這樣就需要注意:當設置成禁止重生成模式的時候,要連續的忘緩沖區內寫入數據,以保證緩沖區內實時有數據可以輸出,當沒有數據輸出時,將會報錯。
正如下面的例子:

波形周期設置為150ms,同時循環延時同樣設置為150ms。那么,波形發生器就完美了。產生的波形如下圖所示。

不會產生短時脈沖波形干擾。
但是,若循環延時設置為151ms,>150ms。那么一段時間后就會報錯,因為緩沖區內沒有數據可供輸出。
具體的,若想真正寫出相應的信號發生器的函數,可參閱本博客的 數采達人系列第六講和第七講。比較詳細的說明了很多問題。
評論