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