瀏覽單個文章
aston
*停權中*
 
aston的大頭照
 

加入日期: May 2004
文章: 79
引用:
作者老柏(第四)
抱歉,我跳太多以致於非內行的人有點難理解,而且我也算錯很多地方
我用台達馬達的MODBUS說明來解釋


我們先看看RTU的第二層(還是第三層)傳輸方式
http://i.imgur.com/hdYBjd7.jpg
右邊的數字代表我要傳送的BYTE數,所以我總共要傳送1+1+4+1=7個BYTE
那假設我RTU用8bit、n(沒有檢馬)、2(2bit stop bit)這種模式傳送(這是底層),那每傳送一個byte的話底層要要多少個bit
http://i.imgur.com/nt53IEH.jpg
要11個bit

也就是說我傳送完我要的資料要7*11=77個bit(之前我錯算成9個BYTE所以才會寫99),再來換算成時間77/115200=0.668ms,那再加上前面要等10ms,所以是10.668ms


\\================================
然後來看ASCII
http://i.imgur.com/I3lIUkT.jpg
一個字必須兩個位元組來表示,也就是說我必須要34個位元組
假設我用7、E、1(7bit、檢碼偶同位、stop bit 1bit)來傳送
http://i....


如果想要量測實際傳送時間,建議還是上示波器,光是用推斷的,不一定準確,

再者還有一個問題,你是寫在windows架構?還是MCU?

如果是Windows,傳送資料並非你的傳送程式送出後,就馬上傳到設備端,

還須考慮到中斷優先順序,連MCU也可能會有這個問題。

Modbus我接觸了10年以上了,除了Modbus以外,還有接觸各家的通訊協定,

可能這樣還不算你所說的內行吧!

再者還有一個部分,你所謂的一樣傳輸時間週期是多久?

老實說你所描述的條件不太充足,很多部分很難幫你推斷問題何在。
舊 2013-05-01, 01:34 AM #5
回應時引用此文章
aston離線中