請問byte count如果不夠怎麼半?

我跟網路分析儀要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設定的時間時)

 

![](upload://eCuzzF7vcODcH9olFtorMjrrgBp.jpeg)

請問你通訊速度是多少

以9600kbps來說 一秒已經有9600k 位元進來了 應該很夠用才對

還有通訊資料長度是多少?

這都要先知道才有辦法解決問題吧

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

![](upload://5taiYCbyboTYfiXqwyADL6MOEYw.jpeg)

[QUOTE=JD]

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

![](upload://5taiYCbyboTYfiXqwyADL6MOEYw.jpeg)

[/QUOTE]

果然是因為timeout預設時間不足所導致?

我改了visa write的時間延遲,如DW與JD大的範例,於是就可以完整的讀取到DATA了。

在此對二位敬上十二萬分的謝意,特別是JD大在這個板的熱心指導。

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