0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Modbus协议诊断功能说明

瑞萨MCU小百科 来源:瑞萨MCU小百科 2024-11-05 10:33 次阅读

10.5.8

(0x08)诊断功能

1. 功能说明

08功能码仅用于串行链路,主要用于检测主设备和从设备之间的通信故障,或检测从设备的各种内部故障,该功能码不支持广播。为了区别各诊断类型,查询报文中提供了2字节的子功能码字段。

通常在正常的响应报文中,从设备将原样回复功能码和子功能码。

2. 查询报文

查询报文中需要指定从设备地址、功能码以及子功能码。

例如,下表中标识了子功能码“原样返回查询数据”的诊断功能,其中子功能码为0(0x0000)。在子功能码为0x0000的情况下,数据字段可以为任意值。各子功能码的详细意义可参考下表。

功能码08查询报文示例:

字段
(Hex)
ASCII模式字符型 RTU模式8位
(Hex)
帧头 “:”
从设备地址 0x05 “0”,“5” 0x05
功能码 0x08 “0”,“8” 0x08
子功能码
(高位)
0x00 “0”,“0” 0x00
子功能码
(低位)
0x00 “0”,“0” 0x00
数据
(高位)
0x04 “0”,“4” 0x04
数据
(低位)
0xB0 “B”,“0” 0xB0
差错校验 LRC(2字符) CRC(2字节)
帧尾 CR/LF
合计字节数 17 8

本功能码中,子功能码由2字节构成,取值则根据意义而不同;数据字段由2字节构成,其取值由子功能码确定。

3. 响应报文

响应报文的各项构成和意义如下表所示。对于从设备,在保持寄存器正常变更的情况下会返回与查询报文相同的响应报文。如果修改失败,则返回一个异常响应。

功能码08响应报文示例:

字段
(Hex)
ASCII模式字符型 RTU模式8位
(Hex)
帧头 “:”
从设备地址 0x05 “0”,“5” 0x05
功能码 0x08 “0”,“8” 0x08
子功能码
(高位)
0x00 “0”,“0” 0x00
子功能码
(低位)
0x00 “0”,“0” 0x00
数据
(高位)
0x04 “0”,“4” 0x04
数据
(低位)
0xB0 “B”,“0” 0xB0
差错校验 LRC(2字符) CRC(2字节)
帧尾 CR/LF
合计字节数 17 8

4. 诊断子功能码

各常用的诊断子功能码的定义如下。

Return Query Data(00)

诊断内容 原样返回查询报文
子功能码 0x000x00
查询报文数据字段 任意16为数据
响应报文数据字段 同查询报文

Restart Communication Option(01)

诊断内容 重启通信选项;用于初始化并重新启动从站设备,清楚所有通信事件计数器;如果端口处于 Listen Only Mode,则不返回响应;否则在重启之前返回响应
子功能码 0x00,0x01
查询报文数据字段 0x00,0x00保持事件记录;0xFF,0x00清除事件记录
响应报文数据 同查询报文
诊断内容 重启通信选项;用于初始化并重新启动从站设备,清楚所有通信事件计数器;如果端口处于 Listen Only Mode,则不返回响应;否则在重启之前返回响应
字段

Return Diagnostics Register(02)

诊断内容 返回诊断寄存器
子功能码 0x00,0x04
查询报文数据字段 0x00,0x00
响应报文数据字段 诊断寄存器的内容

Force Listen Only Mode

诊断内容 强制只听模式;强制被寻址的从站设备进入只听模式,使得此设备与网络中的其他设备断开,不返回响应
子功能码 0x00,0x04
查询报文数据字段 0x00,0x00
响应报文数据字段 不返回响应

Clear Counters and Diagnostic Register

诊断内容 清除计数器和诊断寄存器
子功能码 0x00,0x0A
查询报文数据字段 0x00,0x00
响应报文数据字段 同查询报文

Return Bus Message Count(11,0x0B)

诊断内容 返回总线报文计数
子功能码 0x00,0x0B
查询报文数据字段 0x00,0x00
响应报文数据字段 返回报文的技数值

Return Bus Communication Error Count(12,0x0C)

诊断内容 返回总线通信CRC差错计数
子功能码 0x00,0x0C
查询报文数据字段 0x00,0x00
响应报文数据字段 返回报文的CRC出错总数

Return Bus Exception Error Count(13,0x0D)

诊断内容 返回总线异常差错计数
子功能码 0x00,0x0D
查询报文数据字段 0x00,0x00
响应报文数据字段 返回异常响应的总数

Return Slave Message Count(14,0x0E)

诊断内容 返回从站设备报文总数
子功能码 0x00,0x0E
查询报文数据字段 0x00,0x00
响应报文数据字段 返回从站设备接收报文总数

Return Slave No Response Counrt(15,0x0F)

诊断内容 返回从站设备无响应计数
子功能码 0x00,0x0F
查询报文数据字段 0x00,0x00
响应报文数据字段 返回加电后没有返回响应的报文的保文数量

Return Slave Busy Count(17,0x11)

诊断内容 返回从站设备忙计数
子功能码 0x00,0x11
查询报文数据字段 0x00,0x00
响应报文数据字段 返回加电后异常响应忙的报文数量

Return Bus Character Overrun Count(18,0x12)

诊断内容 返回总线字符超限计数
子功能码 0x00,0x12
查询报文数据字段 0x00,0x00
响应报文数据字段 返回超限的报文数量

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 设备
    +关注

    关注

    2

    文章

    4509

    浏览量

    70642
  • 功能码
    +关注

    关注

    0

    文章

    10

    浏览量

    2122
  • 报文
    +关注

    关注

    0

    文章

    38

    浏览量

    4029

原文标题:(0x08)诊断功能 - RZ MPU工业控制教程连载(33)

文章出处:【微信号:瑞萨MCU小百科,微信公众号:瑞萨MCU小百科】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Modbus协议说明及VC代码

    后(如故障或关机),Master端可以诊断出来,而当故障修复后,网络又可自动接通。因此,Modbus协议的可靠性较好。 下面我来简单的给大家介绍一下,对于Modbus的ASCII、RTU和TCP
    发表于 08-03 15:14

    Modbus库开发笔记之十一:关于Modbus协议栈开发的说明

    `对于Modbus协议栈的整个开发内容,前面已经说得很清楚了,接下来我们说明一下与开发没有直接关系的内容。首先,关于我为什么开发这个协议栈的问题。我们的初衷只是想能够在开发产品时不用每次都重写这一
    发表于 08-27 20:32

    modbus协议笔记

    1 Modbus协议概要​ Modbus通信协议由Modicon公司(现在的施耐德电气Schneider Electric)于1979年为可编程逻辑控制(即PLC)通信而发表。目前,Modbu
    发表于 07-02 07:17

    Modbus协议是什么?Modbus协议主要有哪些应用?

    请问一下Modbus协议是什么?Modbus协议主要有哪些应用?
    发表于 07-15 12:04

    Modbus协议的特点是什么

    Modbus协议的特点是什么?Modbus协议有哪几类功能码?
    发表于 09-26 08:13

    Modbus协议地址与协议层次

    Modbus协议地址是什么意思?Modbus协议层次有何优势?
    发表于 09-28 06:27

    Modbus协议是什么

    Modbus协议是什么?MODBUS功能码有哪些?MODBUS协议有哪几种传输模式?
    发表于 09-29 07:06

    Modbus是什么?Modbus协议有哪些优点

    Modbus是什么?Modbus协议有哪些优点?Modbus协议包括哪些?
    发表于 09-30 08:40

    FreeModbus是如何去实现Modbus协议全部功能

    Modbus是什么?FreeModbus是如何去实现Modbus协议全部功能的?
    发表于 12-10 07:34

    Modbus协议的理解

    秒,否则,接受设备将认为是传送错误。   功能码是主站告诉从站要执行的功能。例如运行命令,读取监控状态,修改参数,读取参数等。MODBUS协议制定了相关的功能代码,数据区为
    发表于 05-05 16:47

    Modbus协议应用

    详细说明modbus协议中传输过程的数据格式,并举例介绍以便读者应用
    发表于 09-06 17:54 7次下载

    modbus协议功能码及格式

    modbus协议功能码及格式
    发表于 10-28 15:56 43次下载

    Modbus协议调试工具的软件功能说明

    市面上有不少的Modbus协议调试工具,今天介绍一款由长念(上海)技术开发有限公司开发高度集成的Modbus协议调试工具,该工具可以仿真从机也可以仿真主机,与市面上常见的主机和从机分离软件不同,支持
    的头像 发表于 07-22 11:11 3782次阅读

    modbus协议功能码分类 modbus协议功能码是什么,有什么作用

    Modbus协议是一种用于工业领域常见的通信协议,它基于主从结构,用于在不同设备之间实现数据交换。Modbus协议功能码是决定数据交换类型和操作的重要部分。下面将详细介绍
    的头像 发表于 01-31 14:47 7138次阅读

    Modbus协议网关是什么?Modbus协议网关的功能

    Modbus协议网关是一种专门用于工业自动化环境中的网络设备,其主要功能是实现不同通信协议之间的转换,尤其是将基于Modbus协议的设备或系统与使用其他
    的头像 发表于 04-11 15:51 746次阅读