10.5.13
(0x11)報告從站ID(僅用于串行鏈路)
1. 功能說明
17功能碼用于讀取從站設備的ID、類型描述、當前狀態以及其他信息,不支持廣播模式。響應消息的構成依賴于設備而不盡相同。
2. 查詢報文
查詢報文中不包含請求數據字段。舉例說明,從站設備地址為5,獲取相關信息,如下表所示。
功能碼17查詢報文示例:
字段 |
例 (Hex) |
ASCII 模式字符型 |
RTU模式8位 (Hex) |
幀頭 | “:” | ||
從設備地址 | 0x05 | “0”,“5” | 0x05 |
功能碼 | 0x11 | “1”,“1” | 0x11 |
差錯校驗 | LRC(2字符) | CRC(2字節) | |
幀尾 | CR/LF | ||
合計字節數 | 9 | 4 |
3. 響應報文
對于從設備,在正常情況下,響應報文包括從站ID、運行狀態以及其他附加信息,如下表所示。運行狀態字段占用1字節,且0x00=OFF,0xFF=ON,而響應報文的組成則由開發者決定。
功能碼17響應報文示例:
字段 |
例 (Hex) |
ASCII 模式字符型 |
RTU模式8位 (Hex) |
幀頭 | “:” | ||
從設備地址 | 0x05 | “0”,“5” | 0x05 |
功能碼 | 0x11 | “1”,“1” | 0x11 |
字節數 | 設備相關 | 設備相關 | 設備相關 |
從設備ID | 設備相關 | 設備相關 | 設備相關 |
運行狀態 | 0xFF | “F”,“F” | 0xFF |
附加情報1 | 設備相關 | 設備相關 | 設備相關 |
…… | 設備相關 | 設備相關 | 設備相關 |
差錯校驗 | LRC(2字符) | CRC(2字節) | |
幀尾 | CR/LF | ||
合計字節數 | 17 | 8 |
10.5.14
Modbus異常響應
以上介紹了一些常見的公共功能碼的報文(消息頓)構成,廣播模式以外的查詢報文都希望能夠獲取一個正常的響應報文。在通常情況下,從站設備將返回一個正常響應報文,但是在某些特殊情況下將返回異常響應報文。
對于查詢報文,存在以下4種處理反饋:
①正常接收,正常處理,返回正常響應報文。
②因為通信錯誤等原因造成從站設備沒有接收到查詢報文,主站設備將按超時處理:從站設備接收到的查詢報文存在通信錯誤(如LRC、CRC錯誤等),此時從站設備將丟棄報文不響應,主站設備將按超時處理。
③從站設備接收到正確的報文,但是超過處理范圍(如不存在的功能碼或者寄存器等),此時從站設備將返回包含異常碼(Exception Code)的響應報文。
④異常響應報文由從站地址、功能碼以及異常碼構成。其中,功能碼與正常響應報文不同,在異常響應報文中,功能碼最高位(即MSB)被設置為1。因為Modbus協議中的功能碼占用1字節故用表達式描述為:
異常功能碼=正常功能碼+0x80
舉例說明,如下表所示,查詢報文的起始地址為0x012C(十進制300),即需要讀取寄存器地址為30301開始的值。若從站設備中不存在輸入寄存器30301,則從站設備將返回一個異常響應報文,參見下表的功能碼和異常碼。
異常響應示例(功能碼04查詢報文):
字段 |
例 (Hex) |
ASCII 模式字符型 |
RTU模式8位 (Hex) |
幀頭 | “:” | ||
從設備地址 | 0x07 | “0”,“7” | 0x07 |
功能碼 | 0x04 | “0”,“4” | 0x04 |
起始地址 (高位) |
0x01 | “0”,“1” | 0x01 |
起始地址 (低位) |
0x2c | “2”,“c” | 0x2c |
寄存器數 (高位) |
0x00 | “0”,“0” | 0x00 |
寄存器數 (低位) |
0x03 | “0”,“3” | 0x03 |
差錯校驗 | LRC(2字符) | CRC(2字節) | |
幀尾 | CR/LF | ||
合計字節數 | 17 | 8 |
異常響應示例(功能碼04響應報文):
字段 |
例 (Hex) |
ASCII 模式字符型 |
RTU模式8位 (Hex) |
幀頭 | “:” | ||
從設備地址 | 0x07 | “0”,“7” | 0x07 |
功能碼 | 0x84 | “8”,“4” | 0x84 |
異常碼 | 0x02 | “0”,“2” | 0x02 |
差錯校驗 | LRC(2字符) | CRC(2字節) | |
幀尾 | CR/LF | ||
合計字節數 | 11 | 5 |
常見的異常碼如下表所示:
常見異常碼說明:
異常碼 | 名稱 | 說明 |
01 | 非法功能碼 | 從站設備不支持此功能碼 |
02 | 非法數據地址 | 指定的數據地址在從站設備中不存在 |
03 | 非法數據值 | 指定的數據超過范圍或者不允許使用 |
04 | 從站設備故障 | 從站設備處理響應的過程中出現未知錯誤等 |
-
MODBUS
+關注
關注
28文章
1998瀏覽量
78945 -
功能碼
+關注
關注
0文章
10瀏覽量
2225 -
報文
+關注
關注
0文章
39瀏覽量
4157
原文標題:報告從站ID與Modbus異常響應 - RZ MPU工業控制教程連載(36)
文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
EtherCAT從站轉modbus RTU協議轉換網關用modbus slave測試的方法

esp32當modbus-rtu slave從站通訊,主站收不到從站的響應報文是哪里的問題?
Modbus從站協議轉換芯片
【EVB-335X-II試用體驗】之基于libmodbus庫的Modbus-TCP從站的C/S架構軟件開發
Modbus多主站問題
esp32當modbus-rtu slave從站通訊,主站收不到從站的響應報文是為何?
EtherCAT轉Modbus網關做為MODBUS從站配置案例

EtherCAT轉Modbus網關的 EtherCAT從站配置案例

評論