利用RS-232讀取資料的問題

假設說我現在要讀取PLC上的資料

現在遇到的問題是,

資料回傳的時候我不知道他會送幾個byte的資料回來,

EX:第一次回傳的訊息是00FF8D  <==這樣是6個byte

     第二次卻是00FF110           <==這樣是7個byte

因為byte數如果設定為比回傳的byte數大的話,

會出現錯誤,

有什麼辦法能讓程式自動抓取道最後一個byte呢?

圖我晚點再補,

現在傳不上來@@"

 

[QUOTE=RTX78]

因為byte數如果設定為比回傳的byte數大的話,

會出現錯誤,

有什麼辦法能讓程式自動抓取道最後一個byte呢?

[/QUOTE]

如果是使用RTU模式的話,傳回的數據長度需要自行計算!

使用ASCII模式可以用結尾字元區分資料(比如說CR等),但是速度比較慢啦~!!

 

okok~

了解了!!

不過我圖片還是傳不上來QQ

感謝上面的大大嚕~

我所用的方式你參考一下

串列通信架構.vi

1.送出命令字串

2.等待

3.有幾個BYTE在緩衝區

4.將緩衝區的字串讀回

5.緩衝區的字串為零表示讀完了

6.再解碼讀回的字串是不是可信任的

7.檢查碼的意義可以在這裡發揮

 

bye238562.9771527778