我跟網路分析儀要DATA 下了一道指令機器所回傳的字串超出byte count的最大值很多...
我思考出兩個解決辦法
1.使visa read不考慮byte count
不知是否可行
2.將DATA分開擷取在組合成一條字串
不知該如何組合visa read在一個buffer....
請高手回答一下 謝謝
我跟網路分析儀要DATA 下了一道指令機器所回傳的字串超出byte count的最大值很多...
我思考出兩個解決辦法
1.使visa read不考慮byte count
不知是否可行
2.將DATA分開擷取在組合成一條字串
不知該如何組合visa read在一個buffer....
請高手回答一下 謝謝
超出byte count的最大值很多???你需要多大?
[QUOTE=SCOTT7O]
禬?|byte count?程?薤G??O????玫f璶?O?檎
[/QUOTE]
後來發現不是byte count的問題
而是timeout的問題
時間不夠我處理這麼龐大的資料
請問timeout該如何設定呢
以下是我在NI討論區發問得到的回應 但是講得不夠清楚我還是不會設定...
我跟網路分析儀要DATA 下了一道指令機器所回傳的字串超出byte count的最大值很多...
我思考出兩個解決辦法
1.使visa read不考慮byte count
不知是否可行
不可行,visa read 的 byte count 是 u32 ( 2^32 ),建議使用 advanced>> timeout property >> 提高timeout 的值 (標準是二秒)
Timeout預設值已經是10秒了,下圖示我寫VISE的程式,給你參考.
依我的經驗這樣寫不會有Timeout的問題,只會有讀到的資料不完全(將程式中的5000ms改大就可解決),或讀不到資料(通訊設定不對造成的).
在寫與讀中間的程式碼也可不加,我有看會部份範例,當有設定Termination Char時,byte countr就設定大一點,但這樣的寫法就會出現Timeout的錯誤(當執行到讀的程式碼超過Timeout設定的時間時)

請問你通訊速度是多少
以9600kbps來說 一秒已經有9600k 位元進來了 應該很夠用才對
還有通訊資料長度是多少?
這都要先知道才有辦法解決問題吧
你試一下連續讀2次看看, 你下完 visa read 讀出 buffer 後 設一個 DELAY TIME 再下一個 visa read 讀出 buffer

[QUOTE=JD]
你試一下連續讀2次看看, 你下完 visa read 讀出 buffer 後 設一個 DELAY TIME 再下一個 visa read 讀出 buffer

[/QUOTE]
果然是因為timeout預設時間不足所導致?
我改了visa write的時間延遲,如DW與JD大的範例,於是就可以完整的讀取到DATA了。
在此對二位敬上十二萬分的謝意,特別是JD大在這個板的熱心指導。
