類比輸出,定時輸出一個pulse

各位先進您好

目前的實驗設計需要從電腦經由 NI 6024E 在每10ms就送出一個pulse (voltage),去觸發其他台儀器作用。未來會設計每11 or 12 ms就送訊號出去,因此我想所需的精確度至少為1 ms,不過我從示波器上看了輸出的波形,每次輸出的時間都不太一樣。想請問各位先進,遇到這種情況該如何解決呢?已經有往前爬文,原因應該就在迴圈是由軟體所控制的,會受到當時正在使用的程式所影響,不過概念還是挺模糊的。在此附上我的程式以及有關 NI 6024E 的資訊,以及提點我一些在原本的程式需增加的部分,非常謝謝您的幫忙!

http://sine.ni.com/nips/cds/view/p/lang/zht/nid/10968 

AO.vi

![](upload://6lg0cxliTyEj7fqGGhbadRLEFv3.jpeg)

 

你犯了一個比較容易犯的大忌,你把initial放到迴圈裡,之所以你系統的秒數會不穩定,是因為你得次都要去通知你的DAQ打開,然後設定,所以你必須把設定的工作拉到外面來,只要設定一次,然後不斷寫出即可

<span =bold>很感謝 knightsoul 前輩的回應,這的確修正了我的錯誤。另外想詢問的一點是,目前我用的訊號產生器應該是由軟體所控制何時輸出。當電腦在不同環境,例如同時有執行其他程式,會影響到輸出的時間呢?是否有辦法從DAQ 卡做一個硬體產生pulse的功能。我有看了規格,在 計數器/計時器 裡面有脈衝產生,是否代表這張卡有這個功能呢?

會受到程式軟體影響,這是一定會的!

硬體的話,應該沒有此功能,如果真的想要很穩定的計算XD去買一台CompactRIO吧!他可以用LabVIEW寫FPGA就可以滿足你的要求。

不過可以用trigger的方式來產生方波就是了

不好意思前輩,因為最近去參加了會議,比較少用到電腦所以太晚回了。我會再試試看,有時候看到其他人寫的程式有用到trigger,不過我看不太懂怎麼用,我會再努力看看

<span =bold>想請問 knightsoul 先進,我後來再嘗試過使用trigger,不過還是只能使用軟體產生訊號,找不到方法從DAQmx Trigger 產生如您說的產生方波這個功能。以下是我後來修改後的程式,希望您可以再給我一些提點,謝謝。Untitled 1.vi