Professional Documents
Culture Documents
Modbus
Modbus
Modbus簡介
http://bacnet.webnode.tw
什麼是 Modbus
Modbus是由Modicon公司(現為Schneider的
一個品牌)在1978年提出的
Modbus由於易學易用,耗費系統資源極低,
因此儼然是工業控制領域的一個通訊標準
Modbus 被廣泛應用在 PLC 與 多功能電表等
設備中
1998年Schneider又推出了TCP/IP乙太網路的
ModbusTCP,使 MODBUS 應用更推向網際
網路。
MODBUS 的網路特性
按電氣特性可分為RS-232、RS-422與RS-
485。
按照資料流程的方向可分成兩種基本的傳送方
式:全雙工、半雙工。
RS-485 半雙工通訊由於只需要兩條通訊線,
且通訊距離長,被廣泛用在分散式的控制網路
架構。
MODBUS 協定
Modbus協定是主(Master)/僕(Slave)通訊協定;
網路上的每個 Slave 設備必須有唯一的位址
(範圍從1到247)
Slave 位址用於定址 Slave 設備,由Master發
起;
位址0用於廣播模式,不需要回應;
傳輸模式 依照編碼方式可以分為 RTU 與
ASCII模式
MODBUS RTU 模式
使用 16 進制編碼
使用兩個 Byte 的 CRC 校驗碼
相較於 ASCII 節省一半的通訊量
CRC校驗遠較LRC運算嚴謹
Slave 地址 功能碼
功能碼 資料 CRC
起始 Slave 地址 功能碼
功能碼 資料 LRC 结束
1 byte ‘:’ 2 byte 2 bytes 0 ~ 2*252 bytes 2 bytes 2 bytes ‘CR LF’
常用功能碼
功能碼 名稱 說明
01 Read Coil Status 取得一組數位輸出的目前狀態
Master 詢問 RTU封包(Query)
11H 03H 06H 02H 2BH 00H 00H 00H 64H 20H 18H
MODBUS RTU 的錯誤回報範例
Master 詢問 RTU封包(Query)
功能碼 名稱 說明
01 ILLEGAL FUNCTION 不支援的功能
05 ACKNOWLEDGE 確認(命令執行中)
PDU
MBAP 標頭
名稱 長度 描述 Client 端 Server 端
傳送識別碼
Transaction 用以辨識傳送與接 回覆收到相同的識別
2 Bytes Client 產生
Identifier 收封包對應 碼
協議識別碼
Client 產生(固定 回覆收到相同的識別
Protocol 2 Bytes MODBUS固定為 0
為 0) 碼(固定為 0)
Identifier
長度 Client 依照本身 Server依照本身封包
2 Bytes 後續資料長度
Length 封包產生 產生
優勢
– 簡易-易於實現+耗資源低
– 通行-易於整合
缺點
– 功能較陽春
– 未定義浮點數、文字等數值格式
– 點的概念非物件概念
– 無公證單位認證
– Slave 間無法自行資料共享
問題討論
問題討論
謝謝指教!!
參考資料來源:
Modicon Modbus Protocol Reference Guide PI–MBUS–
300 Rev. J
MODBUS MESSAGING ON TCP/IP IMPLEMENTATION
GUIDE Rev 1.0 8May02