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

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

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

Modbus協(xié)議診斷功能說(shuō)明

瑞薩MCU小百科 ? 來(lái)源:瑞薩MCU小百科 ? 2024-11-05 10:33 ? 次閱讀

10.5.8

(0x08)診斷功能

1. 功能說(shuō)明

08功能碼僅用于串行鏈路,主要用于檢測(cè)主設(shè)備和從設(shè)備之間的通信故障,或檢測(cè)從設(shè)備的各種內(nèi)部故障,該功能碼不支持廣播。為了區(qū)別各診斷類型,查詢報(bào)文中提供了2字節(jié)的子功能碼字段。

通常在正常的響應(yīng)報(bào)文中,從設(shè)備將原樣回復(fù)功能碼和子功能碼。

2. 查詢報(bào)文

查詢報(bào)文中需要指定從設(shè)備地址、功能碼以及子功能碼。

例如,下表中標(biāo)識(shí)了子功能碼“原樣返回查詢數(shù)據(jù)”的診斷功能,其中子功能碼為0(0x0000)。在子功能碼為0x0000的情況下,數(shù)據(jù)字段可以為任意值。各子功能碼的詳細(xì)意義可參考下表。

功能碼08查詢報(bào)文示例:

字段
(Hex)
ASCII模式字符型 RTU模式8位
(Hex)
幀頭 “:”
從設(shè)備地址 0x05 “0”,“5” 0x05
功能碼 0x08 “0”,“8” 0x08
子功能碼
(高位)
0x00 “0”,“0” 0x00
子功能碼
(低位)
0x00 “0”,“0” 0x00
數(shù)據(jù)
(高位)
0x04 “0”,“4” 0x04
數(shù)據(jù)
(低位)
0xB0 “B”,“0” 0xB0
差錯(cuò)校驗(yàn) LRC(2字符) CRC(2字節(jié))
幀尾 CR/LF
合計(jì)字節(jié)數(shù) 17 8

本功能碼中,子功能碼由2字節(jié)構(gòu)成,取值則根據(jù)意義而不同;數(shù)據(jù)字段由2字節(jié)構(gòu)成,其取值由子功能碼確定。

3. 響應(yīng)報(bào)文

響應(yīng)報(bào)文的各項(xiàng)構(gòu)成和意義如下表所示。對(duì)于從設(shè)備,在保持寄存器正常變更的情況下會(huì)返回與查詢報(bào)文相同的響應(yīng)報(bào)文。如果修改失敗,則返回一個(gè)異常響應(yīng)。

功能碼08響應(yīng)報(bào)文示例:

字段
(Hex)
ASCII模式字符型 RTU模式8位
(Hex)
幀頭 “:”
從設(shè)備地址 0x05 “0”,“5” 0x05
功能碼 0x08 “0”,“8” 0x08
子功能碼
(高位)
0x00 “0”,“0” 0x00
子功能碼
(低位)
0x00 “0”,“0” 0x00
數(shù)據(jù)
(高位)
0x04 “0”,“4” 0x04
數(shù)據(jù)
(低位)
0xB0 “B”,“0” 0xB0
差錯(cuò)校驗(yàn) LRC(2字符) CRC(2字節(jié))
幀尾 CR/LF
合計(jì)字節(jié)數(shù) 17 8

4. 診斷子功能碼

各常用的診斷子功能碼的定義如下。

Return Query Data(00)

診斷內(nèi)容 原樣返回查詢報(bào)文
子功能碼 0x000x00
查詢報(bào)文數(shù)據(jù)字段 任意16為數(shù)據(jù)
響應(yīng)報(bào)文數(shù)據(jù)字段 同查詢報(bào)文

Restart Communication Option(01)

診斷內(nèi)容 重啟通信選項(xiàng);用于初始化并重新啟動(dòng)從站設(shè)備,清楚所有通信事件計(jì)數(shù)器;如果端口處于 Listen Only Mode,則不返回響應(yīng);否則在重啟之前返回響應(yīng)
子功能碼 0x00,0x01
查詢報(bào)文數(shù)據(jù)字段 0x00,0x00保持事件記錄;0xFF,0x00清除事件記錄
響應(yīng)報(bào)文數(shù)據(jù) 同查詢報(bào)文
診斷內(nèi)容 重啟通信選項(xiàng);用于初始化并重新啟動(dòng)從站設(shè)備,清楚所有通信事件計(jì)數(shù)器;如果端口處于 Listen Only Mode,則不返回響應(yīng);否則在重啟之前返回響應(yīng)
字段

Return Diagnostics Register(02)

診斷內(nèi)容 返回診斷寄存器
子功能碼 0x00,0x04
查詢報(bào)文數(shù)據(jù)字段 0x00,0x00
響應(yīng)報(bào)文數(shù)據(jù)字段 診斷寄存器的內(nèi)容

Force Listen Only Mode

診斷內(nèi)容 強(qiáng)制只聽模式;強(qiáng)制被尋址的從站設(shè)備進(jìn)入只聽模式,使得此設(shè)備與網(wǎng)絡(luò)中的其他設(shè)備斷開,不返回響應(yīng)
子功能碼 0x00,0x04
查詢報(bào)文數(shù)據(jù)字段 0x00,0x00
響應(yīng)報(bào)文數(shù)據(jù)字段 不返回響應(yīng)

Clear Counters and Diagnostic Register

診斷內(nèi)容 清除計(jì)數(shù)器和診斷寄存器
子功能碼 0x00,0x0A
查詢報(bào)文數(shù)據(jù)字段 0x00,0x00
響應(yīng)報(bào)文數(shù)據(jù)字段 同查詢報(bào)文

Return Bus Message Count(11,0x0B)

診斷內(nèi)容 返回總線報(bào)文計(jì)數(shù)
子功能碼 0x00,0x0B
查詢報(bào)文數(shù)據(jù)字段 0x00,0x00
響應(yīng)報(bào)文數(shù)據(jù)字段 返回報(bào)文的技數(shù)值

Return Bus Communication Error Count(12,0x0C)

診斷內(nèi)容 返回總線通信CRC差錯(cuò)計(jì)數(shù)
子功能碼 0x00,0x0C
查詢報(bào)文數(shù)據(jù)字段 0x00,0x00
響應(yīng)報(bào)文數(shù)據(jù)字段 返回報(bào)文的CRC出錯(cuò)總數(shù)

Return Bus Exception Error Count(13,0x0D)

診斷內(nèi)容 返回總線異常差錯(cuò)計(jì)數(shù)
子功能碼 0x00,0x0D
查詢報(bào)文數(shù)據(jù)字段 0x00,0x00
響應(yīng)報(bào)文數(shù)據(jù)字段 返回異常響應(yīng)的總數(shù)

Return Slave Message Count(14,0x0E)

診斷內(nèi)容 返回從站設(shè)備報(bào)文總數(shù)
子功能碼 0x00,0x0E
查詢報(bào)文數(shù)據(jù)字段 0x00,0x00
響應(yīng)報(bào)文數(shù)據(jù)字段 返回從站設(shè)備接收?qǐng)?bào)文總數(shù)

Return Slave No Response Counrt(15,0x0F)

診斷內(nèi)容 返回從站設(shè)備無(wú)響應(yīng)計(jì)數(shù)
子功能碼 0x00,0x0F
查詢報(bào)文數(shù)據(jù)字段 0x00,0x00
響應(yīng)報(bào)文數(shù)據(jù)字段 返回加電后沒有返回響應(yīng)的報(bào)文的保文數(shù)量

Return Slave Busy Count(17,0x11)

診斷內(nèi)容 返回從站設(shè)備忙計(jì)數(shù)
子功能碼 0x00,0x11
查詢報(bào)文數(shù)據(jù)字段 0x00,0x00
響應(yīng)報(bào)文數(shù)據(jù)字段 返回加電后異常響應(yīng)忙的報(bào)文數(shù)量

Return Bus Character Overrun Count(18,0x12)

診斷內(nèi)容 返回總線字符超限計(jì)數(shù)
子功能碼 0x00,0x12
查詢報(bào)文數(shù)據(jù)字段 0x00,0x00
響應(yīng)報(bào)文數(shù)據(jù)字段 返回超限的報(bào)文數(shù)量

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

    關(guān)注

    2

    文章

    4443

    瀏覽量

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

    關(guān)注

    0

    文章

    8

    瀏覽量

    2100
  • 報(bào)文
    +關(guān)注

    關(guān)注

    0

    文章

    36

    瀏覽量

    4012

原文標(biāo)題:(0x08)診斷功能 - RZ MPU工業(yè)控制教程連載(33)

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Modbus協(xié)議說(shuō)明及VC代碼

    后(如故障或關(guān)機(jī)),Master端可以診斷出來(lái),而當(dāng)故障修復(fù)后,網(wǎng)絡(luò)又可自動(dòng)接通。因此,Modbus協(xié)議的可靠性較好。 下面我來(lái)簡(jiǎn)單的給大家介紹一下,對(duì)于Modbus的ASCII、RTU和TCP
    發(fā)表于 08-03 15:14

    Modbus庫(kù)開發(fā)筆記之十一:關(guān)于Modbus協(xié)議棧開發(fā)的說(shuō)明

    `對(duì)于Modbus協(xié)議棧的整個(gè)開發(fā)內(nèi)容,前面已經(jīng)說(shuō)得很清楚了,接下來(lái)我們說(shuō)明一下與開發(fā)沒有直接關(guān)系的內(nèi)容。首先,關(guān)于我為什么開發(fā)這個(gè)協(xié)議棧的問(wèn)題。我們的初衷只是想能夠在開發(fā)產(chǎn)品時(shí)不用每次都重寫這一
    發(fā)表于 08-27 20:32

    modbus協(xié)議筆記

    1 Modbus協(xié)議概要? Modbus通信協(xié)議由Modicon公司(現(xiàn)在的施耐德電氣Schneider Electric)于1979年為可編程邏輯控制(即PLC)通信而發(fā)表。目前,Modbu
    發(fā)表于 07-02 07:17

    Modbus協(xié)議是什么?Modbus協(xié)議主要有哪些應(yīng)用?

    請(qǐng)問(wèn)一下Modbus協(xié)議是什么?Modbus協(xié)議主要有哪些應(yīng)用?
    發(fā)表于 07-15 12:04

    Modbus協(xié)議的特點(diǎn)是什么

    Modbus協(xié)議的特點(diǎn)是什么?Modbus協(xié)議有哪幾類功能碼?
    發(fā)表于 09-26 08:13

    Modbus協(xié)議地址與協(xié)議層次

    Modbus協(xié)議地址是什么意思?Modbus協(xié)議層次有何優(yōu)勢(shì)?
    發(fā)表于 09-28 06:27

    Modbus協(xié)議是什么

    Modbus協(xié)議是什么?MODBUS功能碼有哪些?MODBUS協(xié)議有哪幾種傳輸模式?
    發(fā)表于 09-29 07:06

    Modbus是什么?Modbus協(xié)議有哪些優(yōu)點(diǎn)

    Modbus是什么?Modbus協(xié)議有哪些優(yōu)點(diǎn)?Modbus協(xié)議包括哪些?
    發(fā)表于 09-30 08:40

    FreeModbus是如何去實(shí)現(xiàn)Modbus協(xié)議全部功能

    Modbus是什么?FreeModbus是如何去實(shí)現(xiàn)Modbus協(xié)議全部功能的?
    發(fā)表于 12-10 07:34

    Modbus協(xié)議的理解

    秒,否則,接受設(shè)備將認(rèn)為是傳送錯(cuò)誤。   功能碼是主站告訴從站要執(zhí)行的功能。例如運(yùn)行命令,讀取監(jiān)控狀態(tài),修改參數(shù),讀取參數(shù)等。MODBUS協(xié)議制定了相關(guān)的功能代碼,數(shù)據(jù)區(qū)為
    發(fā)表于 05-05 16:47

    Modbus協(xié)議應(yīng)用

    詳細(xì)說(shuō)明modbus協(xié)議中傳輸過(guò)程的數(shù)據(jù)格式,并舉例介紹以便讀者應(yīng)用
    發(fā)表于 09-06 17:54 ?7次下載

    modbus協(xié)議功能碼及格式

    modbus協(xié)議功能碼及格式
    發(fā)表于 10-28 15:56 ?43次下載

    Modbus協(xié)議調(diào)試工具的軟件功能說(shuō)明

    市面上有不少的Modbus協(xié)議調(diào)試工具,今天介紹一款由長(zhǎng)念(上海)技術(shù)開發(fā)有限公司開發(fā)高度集成的Modbus協(xié)議調(diào)試工具,該工具可以仿真從機(jī)也可以仿真主機(jī),與市面上常見的主機(jī)和從機(jī)分離軟件不同,支持
    的頭像 發(fā)表于 07-22 11:11 ?3571次閱讀

    modbus協(xié)議功能碼分類 modbus協(xié)議功能碼是什么,有什么作用

    Modbus協(xié)議是一種用于工業(yè)領(lǐng)域常見的通信協(xié)議,它基于主從結(jié)構(gòu),用于在不同設(shè)備之間實(shí)現(xiàn)數(shù)據(jù)交換。Modbus協(xié)議功能碼是決定數(shù)據(jù)交換類型和操作的重要部分。下面將詳細(xì)介紹
    的頭像 發(fā)表于 01-31 14:47 ?6289次閱讀

    Modbus協(xié)議網(wǎng)關(guān)是什么?Modbus協(xié)議網(wǎng)關(guān)的功能

    Modbus協(xié)議網(wǎng)關(guān)是一種專門用于工業(yè)自動(dòng)化環(huán)境中的網(wǎng)絡(luò)設(shè)備,其主要功能是實(shí)現(xiàn)不同通信協(xié)議之間的轉(zhuǎn)換,尤其是將基于Modbus協(xié)議的設(shè)備或系統(tǒng)與使用其他
    的頭像 發(fā)表于 04-11 15:51 ?675次閱讀