引用:
作者老柏(第四)
我在做MODBUS時發現用同樣的時間週期送同樣的指令下,ASCII模式硬是比RTU模式容易漏,我想說應該是ASCII太慢了所以他還沒解碼完我就再丟
可是我看過設定後感到怪怪的,我的鮑率115200,ASCII起始符號是一個符號文字( : ),RTU的起始是等待10ms
如果以同樣的指令來說ASCII要傳送434位元,以鮑率115200來算相當於3.767ms;RTU模式雖然只要傳送99個位元(以鮑率115200來算相當於0.856ms),但是RTU要先等10ms,所以傳一次RTU要10.856ms
那為什麼ASCII比較容易出錯??還是說速度不是問題傳輸量大才是問題(容易有錯)??
|
首先你要先了解115200是bps(bits per second),再確認一下你的時間計算公式是否正確。
再來你文章中ASCII的434跟RTU的99是位元?還是位元組?
如果誠如你所說的
434位元(bit)=>54.25位元組(bytes)?
99位元(bit)=>12.375位元組(bytes)?
老實說,我寫這麼多年的Modbus Master & Slave傳送接收程式碼,還沒寫傳送過小數位的bytes啊!
可以教我嗎?