Modbus通訊協議報文格式詳解

Modbus通訊協議報文格式詳解


指令類型,詳細說明程序執行的操作是讀取、寫入還是查詢串口通信協議。功能碼佔1字節,有效值範圍是1~255。

MODBUS協議命令格式主要分為Modbus RTU格式和Modbus ASCII格式。下面分別介紹兩種格式的命令格式。

MODBUS協議命令格式

1、Modbus RTU格式命令格式

Modbus RTU格式是以二進制數據方式傳輸數據,通訊速度快。它的命令格式如下:

| 地址碼| 功能碼| 數據| CRC校驗碼 |

說明:

地址碼:指定待通信的設備地址,可以是廣播地址、單設備地址或多設備地址。地址碼佔1字節,有效值範圍是1~247。

功能碼:指令類型,詳細說明程序執行的操作是讀取、寫入還是查詢串口通信協議。功能碼佔1字節,有效值範圍是1~255。

數據:根據執行的命令指令來封裝數據內容,數據長度為多字節。

CRC校驗碼:數據傳輸前需要計算校驗和,檢驗數據是否傳輸正確。CRC校驗佔2字節。

MODBUS協議命令格式

2、Modbus ASCII格式命令格式

Modbus ASCII格式是以ASCII字符方式傳輸數據。它的命令格式如下:

| : | 地址碼| 功能碼| 數據| 校驗碼| 回車| 換行 |

說明:

“:”:起始符,以冒號表示;

地址碼:指定待通信的設備地址,可以是廣播地址、單設備地址或多設備地址。地址碼佔2個ASCII字符,有效值範圍是01~FE。

功能碼:指令類型,詳細說明程序執行的操作是讀取、寫入還是查詢。功能碼佔2個ASCII字符,有效值範圍是01~FF。

數據:根據執行的命令指令來封裝數據內容,數據長度為多字節。

校驗碼:校驗數據是否傳輸正確,佔2個ASCII字符。

回車:表示數據傳輸結束,以回車符表示。

換行:表示數據傳輸結束,以換行符表示。