0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

報告從站ID與Modbus異常響應(yīng)

瑞薩MCU小百科 ? 來源:瑞薩MCU小百科 ? 2024-11-07 17:06 ? 次閱讀

10.5.13

(0x11)報告從站ID(僅用于串行鏈路)

1. 功能說明

17功能碼用于讀取從站設(shè)備的ID、類型描述、當(dāng)前狀態(tài)以及其他信息,不支持廣播模式。響應(yīng)消息的構(gòu)成依賴于設(shè)備而不盡相同。

2. 查詢報文

查詢報文中不包含請求數(shù)據(jù)字段。舉例說明,從站設(shè)備地址為5,獲取相關(guān)信息,如下表所示。

功能碼17查詢報文示例:

字段
(Hex)
ASCII
模式字符型
RTU模式8位
(Hex)
幀頭 “:”
從設(shè)備地址 0x05 “0”,“5” 0x05
功能碼 0x11 “1”,“1” 0x11
差錯校驗 LRC(2字符) CRC(2字節(jié))
幀尾 CR/LF
合計字節(jié)數(shù) 9 4

3. 響應(yīng)報文

對于從設(shè)備,在正常情況下,響應(yīng)報文包括從站ID、運行狀態(tài)以及其他附加信息,如下表所示。運行狀態(tài)字段占用1字節(jié),且0x00=OFF,0xFF=ON,而響應(yīng)報文的組成則由開發(fā)者決定。

功能碼17響應(yīng)報文示例:

字段
(Hex)
ASCII
模式字符型
RTU模式8位
(Hex)
幀頭 “:”
從設(shè)備地址 0x05 “0”,“5” 0x05
功能碼 0x11 “1”,“1” 0x11
字節(jié)數(shù) 設(shè)備相關(guān) 設(shè)備相關(guān) 設(shè)備相關(guān)
從設(shè)備ID 設(shè)備相關(guān) 設(shè)備相關(guān) 設(shè)備相關(guān)
運行狀態(tài) 0xFF “F”,“F” 0xFF
附加情報1 設(shè)備相關(guān) 設(shè)備相關(guān) 設(shè)備相關(guān)
…… 設(shè)備相關(guān) 設(shè)備相關(guān) 設(shè)備相關(guān)
差錯校驗 LRC(2字符) CRC(2字節(jié))
幀尾 CR/LF
合計字節(jié)數(shù) 17 8

10.5.14

Modbus異常響應(yīng)

以上介紹了一些常見的公共功能碼的報文(消息頓)構(gòu)成,廣播模式以外的查詢報文都希望能夠獲取一個正常的響應(yīng)報文。在通常情況下,從站設(shè)備將返回一個正常響應(yīng)報文,但是在某些特殊情況下將返回異常響應(yīng)報文。

對于查詢報文,存在以下4種處理反饋:

①正常接收,正常處理,返回正常響應(yīng)報文。

②因為通信錯誤等原因造成從站設(shè)備沒有接收到查詢報文,主站設(shè)備將按超時處理:從站設(shè)備接收到的查詢報文存在通信錯誤(如LRC、CRC錯誤等),此時從站設(shè)備將丟棄報文不響應(yīng),主站設(shè)備將按超時處理。

③從站設(shè)備接收到正確的報文,但是超過處理范圍(如不存在的功能碼或者寄存器等),此時從站設(shè)備將返回包含異常碼(Exception Code)的響應(yīng)報文。

④異常響應(yīng)報文由從站地址、功能碼以及異常碼構(gòu)成。其中,功能碼與正常響應(yīng)報文不同,在異常響應(yīng)報文中,功能碼最高位(即MSB)被設(shè)置為1。因為Modbus協(xié)議中的功能碼占用1字節(jié)故用表達式描述為:

異常功能碼=正常功能碼+0x80

舉例說明,如下表所示,查詢報文的起始地址為0x012C(十進制300),即需要讀取寄存器地址為30301開始的值。若從站設(shè)備中不存在輸入寄存器30301,則從站設(shè)備將返回一個異常響應(yīng)報文,參見下表的功能碼和異常碼。

異常響應(yīng)示例(功能碼04查詢報文):

字段
(Hex)
ASCII
模式字符型
RTU模式8位
(Hex)
幀頭 “:”
從設(shè)備地址 0x07 “0”,“7” 0x07
功能碼 0x04 “0”,“4” 0x04
起始地址
(高位)
0x01 “0”,“1” 0x01
起始地址
(低位)
0x2c “2”,“c” 0x2c
寄存器數(shù)
(高位)
0x00 “0”,“0” 0x00
寄存器數(shù)
(低位)
0x03 “0”,“3” 0x03
差錯校驗 LRC(2字符) CRC(2字節(jié))
幀尾 CR/LF
合計字節(jié)數(shù) 17 8

異常響應(yīng)示例(功能碼04響應(yīng)報文):

字段
(Hex)
ASCII
模式字符型
RTU模式8位
(Hex)
幀頭 “:”
從設(shè)備地址 0x07 “0”,“7” 0x07
功能碼 0x84 “8”,“4” 0x84
異常碼 0x02 “0”,“2” 0x02
差錯校驗 LRC(2字符) CRC(2字節(jié))
幀尾 CR/LF
合計字節(jié)數(shù) 11 5

常見的異常碼如下表所示:

常見異常碼說明:

異常碼 名稱 說明
01 非法功能碼 從站設(shè)備不支持此功能碼
02 非法數(shù)據(jù)地址 指定的數(shù)據(jù)地址在從站設(shè)備中不存在
03 非法數(shù)據(jù)值 指定的數(shù)據(jù)超過范圍或者不允許使用
04 從站設(shè)備故障 從站設(shè)備處理響應(yīng)的過程中出現(xiàn)未知錯誤等

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • MODBUS
    +關(guān)注

    關(guān)注

    28

    文章

    1757

    瀏覽量

    76748
  • 功能碼
    +關(guān)注

    關(guān)注

    0

    文章

    10

    瀏覽量

    2102
  • 報文
    +關(guān)注

    關(guān)注

    0

    文章

    38

    瀏覽量

    4012

原文標題:報告從站ID與Modbus異常響應(yīng) - RZ MPU工業(yè)控制教程連載(36)

文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    EtherCAT轉(zhuǎn)modbus RTU協(xié)議轉(zhuǎn)換網(wǎng)關(guān)用modbus slave測試的方法

    遠創(chuàng)智控YC-ECT-RTU通訊網(wǎng)關(guān)具有EtherCAT功能,主要功能是將EtherCAT網(wǎng)絡(luò)和Modbus-RTU網(wǎng)絡(luò)連接起來。在使用方面,本網(wǎng)關(guān)可以連接到EtherCAT總線中作為
    的頭像 發(fā)表于 10-24 19:22 ?1339次閱讀
    EtherCAT<b class='flag-5'>從</b><b class='flag-5'>站</b>轉(zhuǎn)<b class='flag-5'>modbus</b> RTU協(xié)議轉(zhuǎn)換網(wǎng)關(guān)用<b class='flag-5'>modbus</b> slave測試的方法

    esp32當(dāng)modbus-rtu slave通訊,主收不到響應(yīng)報文是哪里的問題?

    有朋友測試過esp32當(dāng) modbus slave(我拿的esp32當(dāng),用的是RTU模式)嗎? 我用
    發(fā)表于 06-17 07:39

    Modbus協(xié)議轉(zhuǎn)換芯片

    OD2122接口芯片OD2122是一款Modbus協(xié)議轉(zhuǎn)換芯片,支持基于RS485、RS232C總線的Modbus(RTU)協(xié)議。OD2122自身可獨立完成
    發(fā)表于 12-26 09:43

    【EVB-335X-II試用體驗】之基于libmodbus庫的Modbus-TCP的C/S架構(gòu)軟件開發(fā)

    。這篇試用報告主要介紹如何在EVB-335X-II開發(fā)板實現(xiàn)基于QT GUI界面的Modbus TCP功能。關(guān)于如何下載、配置、移植libmodbus庫,我在Nanopi M2的試
    發(fā)表于 07-18 21:18

    Modbus多主問題

    ModbusRTU兩主之間如何交互數(shù)據(jù)? 工業(yè)控制中,一般都是主從通訊方式居多,有時也會碰到兩個主之間通訊。例如某工作站上位機(主)需要監(jiān)控一個plc末端設(shè)備,常規(guī)來說plc應(yīng)作為
    發(fā)表于 11-24 16:36

    esp32當(dāng)modbus-rtu slave通訊,主收不到響應(yīng)報文是為何?

    有朋友測試過esp32當(dāng) modbus slave(我拿的esp32當(dāng),用的是RTU模式)嗎? 我用
    發(fā)表于 02-14 07:11

    如何為Modbus分配一個單獨的IP地址和ID嗎?

    有人能告訴我如何為 Modbus 分配一個單獨的 IP 地址和 ID 嗎?對我來說,地址
    發(fā)表于 03-02 07:02

    上位機MODBUS RTU多通訊的VB程序

    上位機MODBUS RTU多通訊的VB程序,實現(xiàn)上位機與下位機之間的數(shù)據(jù)傳輸。
    發(fā)表于 10-12 16:05 ?77次下載

    S7200 Modbus通訊協(xié)議遠程終端設(shè)備RTU主示例

    本文檔的主要內(nèi)容詳細介紹的是S7200 Modbus通訊協(xié)議遠程終端設(shè)備RTU主示例。
    發(fā)表于 10-25 08:00 ?32次下載
    S7200 <b class='flag-5'>Modbus</b>通訊協(xié)議遠程終端設(shè)備RTU主<b class='flag-5'>站</b>和<b class='flag-5'>從</b><b class='flag-5'>站</b>示例

    PLC的MODBUS完整指令庫資料免費下載

    本文檔的主要內(nèi)容詳細介紹的是PLC的MODBUS完整指令庫資料免費下載。
    發(fā)表于 09-16 17:12 ?34次下載
    PLC的<b class='flag-5'>MODBUS</b>主<b class='flag-5'>站</b>和<b class='flag-5'>從</b><b class='flag-5'>站</b>完整指令庫資料免費下載

    EtherCAT轉(zhuǎn)Modbus網(wǎng)關(guān)用Modbus Slave模擬配置案例

    興達易控EtherCAT轉(zhuǎn)Modbus網(wǎng)關(guān)可以用作Modbus的配置。EtherCAT轉(zhuǎn)Modbus網(wǎng)關(guān)允許
    的頭像 發(fā)表于 09-24 09:26 ?959次閱讀
    EtherCAT轉(zhuǎn)<b class='flag-5'>Modbus</b>網(wǎng)關(guān)用<b class='flag-5'>Modbus</b> Slave模擬<b class='flag-5'>從</b><b class='flag-5'>站</b>配置案例

    EtherCAT轉(zhuǎn)Modbus網(wǎng)關(guān)做為MODBUS配置案例

    興達易控EtherCAT轉(zhuǎn)Modbus網(wǎng)關(guān)可以用作MODBUS的配置。這種網(wǎng)關(guān)允許將Modbus協(xié)議與EtherCAT協(xié)議進行轉(zhuǎn)換,從而
    的頭像 發(fā)表于 09-24 09:27 ?1198次閱讀
    EtherCAT轉(zhuǎn)<b class='flag-5'>Modbus</b>網(wǎng)關(guān)做為<b class='flag-5'>MODBUS</b><b class='flag-5'>從</b><b class='flag-5'>站</b>配置案例

    新拌混凝土測試系統(tǒng)的Modbus-RTU多設(shè)計

    電子發(fā)燒友網(wǎng)站提供《新拌混凝土測試系統(tǒng)的Modbus-RTU多設(shè)計.pdf》資料免費下載
    發(fā)表于 11-08 10:02 ?0次下載
    新拌混凝土測試系統(tǒng)的<b class='flag-5'>Modbus</b>-RTU多<b class='flag-5'>從</b><b class='flag-5'>站</b>設(shè)計

    EtherCAT轉(zhuǎn)Modbus網(wǎng)關(guān)的 EtherCAT配置案例

    興達易控EtherCAT轉(zhuǎn)Modbus網(wǎng)關(guān)(XD-MDEC20 )是一款具備ETHERCAT功能的通訊網(wǎng)關(guān),其主要作用是將ETHERCAT網(wǎng)絡(luò)和MODBUS-RTU網(wǎng)絡(luò)連接起來。該
    的頭像 發(fā)表于 11-16 16:15 ?495次閱讀
    EtherCAT轉(zhuǎn)<b class='flag-5'>Modbus</b>網(wǎng)關(guān)的 EtherCAT<b class='flag-5'>從</b><b class='flag-5'>站</b>配置案例

    EtherCAT轉(zhuǎn)Modbus網(wǎng)關(guān)做為 MODBUS配置案例

    興達易控EtherCAT轉(zhuǎn)Modbus網(wǎng)關(guān)(XD-MDEC20 )是一款 ETHERCAT 功能的通訊網(wǎng)關(guān)。EtherCAT轉(zhuǎn)Modbus網(wǎng)關(guān)主要功能是將 ETHERCAT 網(wǎng)絡(luò)
    的頭像 發(fā)表于 11-16 16:21 ?532次閱讀
    EtherCAT轉(zhuǎn)<b class='flag-5'>Modbus</b>網(wǎng)關(guān)做為 <b class='flag-5'>MODBUS</b> 主<b class='flag-5'>站</b>配置案例