回覆列表
  • 1 # 大暖小慧

     從上表的比較我們可以看到,MODBUS的ASCII協議和RTU協議相比,MODBUS ASCII協議擁有開始和結束標記,而MODBUS RTU卻沒有,所以ASCII協議的程式中對資料包的處理能更加方便。MODBUS ASCII協議的DATA域傳輸的都是可見的ASCII字元,因此在除錯階段就顯得更加直觀,另外它的LRC校驗程式也比較容易編寫,這些都是MODBUS ASCII的優點。MODBUS ASCII的主要缺點是傳輸效率低,因為它傳輸的都是可見的ASCII字元,原來用RTU傳輸的資料每一個位元組,用ASCII的話都要把這個位元組拆分兩個位元組,比如RTU傳輸一個十六進位制數0xF9,ASCII就需要傳輸字元"F"和字元"9",對應的ASCII碼0x46和0x39兩個位元組,這樣它的傳輸的效率肯定就比RTU低。所以一般來說,如果所需要傳輸的資料量較小可以考慮使用ASCII協議,如果所需傳輸的資料量比較大,最好能使用RTU協議。

      另外,由於ASCII協議有開始標誌和結束標誌,所以一個數據包之間的各位元組間的傳輸間隔時間可以大於1秒,而MODBUS RTU方式下,由於沒有規定開始和結束標記,所以協議規定每兩個位元組之間傳送或者接收的時間間隔不能超過3.5倍字元傳輸時間。如果兩個字元時間間隔超過了3.5倍的字元傳輸時間,就認為一幀資料已經接收,新的一幀資料傳輸開始,所以RTU方式下兩個位元組間傳輸間隔有時間要求。MODBUS 的ASCII和RTU兩種協議的這一區別可能決定某些應用場合只能選用其中一種協議。

  • 2 # niioo358

    所有裝置必須必須實現 RTU 模式。ASCII 傳輸模式是選項,即預設設定必須為 RTU 模式。當裝置使用RTU (Remote Terminal Unit) 模式在 Modbus 序列鏈路通訊, 報文中每個8位位元組含有兩個4位十六進位制字元。這種模式的主要優點是較高的資料密度,在相同的波特率下比ASCII 模式有更高的吞吐率。每個報文必須以連續的字元流傳送。 CRC校驗。當 Modbus 序列鏈路的裝置被配置為使用ASCII (American Standard Code for Information Interchange) 模式通訊時, 報文中的每個 8 位子節以兩個 ASCII 字元傳送。當通訊鏈路或者裝置無法符合RTU 模式的定時管理時使用該模式。由於一個子節需要兩個字元,此模式比RTU 效率低。LRC校驗。要是需要更詳細的,建議看看他的通訊協議。

  • 中秋節和大豐收的關聯?
  • 怎麼樣匯入RobotFramework自定義關鍵字?