控制器能設置為兩種傳輸模式(ASCII或RTU)中的任何一種在標准的Modbus網絡通信。用戶選擇想要的模式,包括串口通信參數(波特率、校驗方式等),在配置每個控制器的時候,在一個Modbus網絡上的所有設備都必須選擇相同的傳輸模式和串口參數。
ASCII模式:
| : | 地址 | 功能代碼 | 數據數量 | 數據1 | ... | 數據n | LRC高字節 | LRC低字節 | 回車 | 換行 |
RTU模式:
| 地址 | 功能代碼 | 數據數量 | 數據1 | ... | 數據n | CRC低字節 | CRC高字節 |
所選的ASCII或RTU方式僅適用於標准的Modbus網絡,它定義了在這些網絡上連續傳輸的消息段的每一位,以及決定怎樣將信息打包成消息域和如何解碼。
在其它網絡上(像MAP和Modbus Plus)Modbus消息被轉成與串行傳輸無關的幀。
1、ASCII模式
當控制器設為在Modbus網絡上以ASCII模式通信,在消息中的每個8Bit字節都作為兩個ASCII字符發送。這種方式的主要優點是字符發送的時間間隔可達到1秒而不產生錯誤。
代碼系統:
十六進制、ASCII字符0...9,A...F
消息中的每個ASCII字符都是一個十六進制字符組成
每個字節的位構成:
1個起始位;7個數據位,最小的有效位先發送;1個奇偶校驗位,無校驗則無;1個停止位(有校驗時),2個Bit(無校驗時)。
錯誤檢測域:LRC(縱向冗長檢測)
2、RTU模式
當控制器設為Modbus網絡上以RTU(遠程終端單元)模式通信,在消息中的每個8Bit字節包含兩個4Bit的十六進制字符。這種方式的主要優點是:在同樣的波特率下,可比ASCII方式傳送更多的數據。
代碼系統:
8位二進制,十六進制數0...9,A...F
消息中的每個8位域都是一個兩個十六進制字符組成
每個字節的位:
1個起始位;8個數據位,最小的有效位先發送;1個奇偶校驗位,無校驗則無;1個停止位(有校驗時),2個Bit(無校驗時)
錯誤檢測域:
CRC(循環冗長檢測)
參考:http://www.360doc.com/content/14/0120/10/7991404_346584755.shtml
