RS232 通訊問題

各位好!! 這是VISA 通信的基本圖,在NI的範例以及網路各大討論區,都是提供這樣的方法
問題來了,當連接的設備不一樣時,Protocol 命令不同,所以 Bytes at Port 回應的長度也不同
而timer 若設太小則收到的資原不足,設太長則通訊效能變慢無法即時反應
請教一下,1.有什麼方式可以讓Timer做動態調整,
            2. VISA 底層的程式,有辦法自己改或創建嗎

Snakehsieh42188.4645833333

依我經驗命令不同我會先抓取大約時間

如需要長一點時間指令

我會是用選擇方式讓時間不同

VISA 底層的程式除非你會寫底層C去修改創建

不然應該很難

[QUOTE=imling]依我經驗命令不同我會先抓取大約時間

如需要長一點時間指令

我會是用選擇方式讓時間不同

VISA 底層的程式除非你會寫底層C去修改創建

不然應該很難[/QUOTE]


感謝imling回覆,剛剛測試無意中發現新大陸
在前面多加了一個 Bytes at Port,就不用加 Timer 了 ,請各位同好幫忙試試看這樣穩不穩定
目前取樣數不夠,我等會去燒機測試看看,有新的發現在請大家分享一下,謝謝!!

[QUOTE=Snakehsieh]

[QUOTE=imling]依我經驗命令不同我會先抓取大約時間

如需要長一點時間指令

我會是用選擇方式讓時間不同

VISA 底層的程式除非你會寫底層C去修改創建

不然應該很難[/QUOTE]


感謝imling回覆,剛剛測試無意中發現新大陸
在前面多加了一個 Bytes at Port,就不用加 Timer 了 ,請各位同好幫忙試試看這樣穩不穩定
目前取樣數不夠,我等會去燒機測試看看,有新的發現在請大家分享一下,謝謝!!
[/QUOTE]
各位好!! 上圖的方式是誤解了, 實際Timer的時間變成是迴圈的執行時間了, 在與老闆討論後,結論是
 VISA Write 寫入之後,交由windows 的硬體處理(傳入需要一個時間,第1段timer)
 VISA Read 讀取完整字串需要的時間 (第2段timer)
 

我之前是用迴圈跑這一段,如果抓到指定的字元就自己結束或者timeout就結束,前提要有結數字元,通常為換行符號