10.5.9
1. 功能说明
11功能码主要用于获取从设备通信计数器中的状态字和事件计数的值,本功能码不支持广播模式。通过在通信报文之前和之后读取通信事件计数值,可以确定从设备是否正常处理报文。
对于正常完成报文处理和传输的场合,事件计数器增加1;而对于异常响应、轮询命令或读事件计数器(即0x0B功能码)的场合,则计数器不变。通过【0x08诊断功能】中的子功能码【Restart Communication Option(0x0001)】和【Clear Counters and Diagnostic Register(0x000A)】可以复位事件寄存器。
2. 查询报文
下表中的示例表示获取通信事件计数器的查询报文内容,其中从站设备地址为5。
功能码11查询报文示例:
字段 | 例 (Hex) | ASCII模式字符型 | RTU模式8位 (Hex) |
帧头 | “:” | ||
从设备地址 | 0x05 | “0”,“5” | 0x05 |
功能码 | 0x0B | “0”,“B” | 0x0B |
差错校验 | LRC(2字符) | CRC(2字节) | |
帧尾 | CR/LF | ||
合计字节数 | 9 | 4 |
3. 响应报文
对于从设备,在正常情况下,响应报文返回2字节的状态字和2字节的事件计数。其中,如果从站设备处于忙状态,那么状态字为0xFFFF,否则状态字为0x0000。在表4-18的示例中,状态字为0x0000,表示从站设备外于空闲状态。事件计数的值为0x03E8,表示记录了1000(0x03E8)个事件。
功能码11响应报文示例
字段 | 例 (Hex) | ASCII模式字符型 | RTU模式8位 (Hex) |
帧头 | “:” | ||
从设备地址 | 0x05 | “0”,“5” | 0x05 |
功能码 | 0x0B | “0”,“B” | 0x0B |
子功能码 (高位) | 0x00 | “0”,“0” | 0x00 |
子功能码 (低位) | 0x00 | “0”,“0” | 0x00 |
数据 (高位) | 0x03 | “0”,“3” | 0x03 |
数据 (低位) | 0xE8 | “E”,“8” | 0xB8 |
差错校验 | LRC(2字符) | CRC(2字节) | |
帧尾 | CR/LF | ||
合计字节数 | 17 | 8 |
10.5.10
1. 功能说明
12功能码主要用于从从设备获取状态字、事件计数、报文计数以及事件字节字段。其中,状态字和事件计数与功能码11(0x0B)获取的值一致。报文计数包含加电重启、清除计数器之后的报文数量,报文计数与通过诊断功能码08(0x08)、子功能码11(0x0B)获取的值一致。事件字节字段包含0~64字节,用来定义各种事件。
2. 查询报文
下表中的示例表示获取通信事件记录的查询报文内容,其中从站地址位5。
功能码12查询报文示例:
字段 | 例(Hex) | ASCII模式字符型 | RTU模式8位(Hex) |
帧头 | “:” | ||
从设备地址 | 0x05 | “0”,“5” | 0x05 |
功能码 | 0x0c | “0”,“c” | 0x0c |
差错校验 | LRC(2字符) | CRC(2字节) | |
帧尾 | CR/LF | ||
合计字节数 | 9 | 4 |
3. 响应报文
对于从站设备,在正常情况下,响应报文包括一个2字节的状态字字段、一个2字节的事件计数字段、一个2字节的消息计数字段以及0~64字节的事件字段。因为事件字段是变长的,所以增加了一个1节的数据长度字段,以方便读取响应数据,如下表所示。
功能码12响应报文示例:
字段 | 例 (Hex) | ASCII模式字符型 | RTU模式8位 (Hex) |
帧头 | “:” | ||
从设备地址 | 0x05 | “0”,“5” | 0x05 |
功能码 | 0x0c | “0”,“c” | 0x0c |
字节数 | 0x08 | “0”,“8” | 0x08 |
状态字 (高位) | 0x00 | “0”,“0” | 0x00 |
事件计数 (高位) | 0x03 | “0”,“3” | 0x03 |
事件计数 (低位) | 0xE8 | “E”,“8” | 0xE8 |
消息计数 (高位) | 0x01 | “0”,“1” | 0x01 |
消息计数 (低位) | 0xF6 | “F”,“6” | 0xF6 |
事件0 | 0x20 | “2”,“0” | 0x20 |
事件1 | 0x00 | “0”,“0” | 0x00 |
差错校验 | LRC(2字符) | CRC(2字节) | |
帧尾 | CR/LF | ||
合计字节数 | 17 | 8 |
如您在使用瑞萨MCU/MPU产品中有任何问题,可识别下方二维码或复制网址到浏览器中打开,进入瑞萨技术论坛寻找答案或获取在线技术支持。
https://community-ja.renesas.com/zh/forums-groups/mcu-mpu/
未完待续
推荐阅读
Moubus功能码详解 - RZ MPU工业控制教程连载(30)
读取保持寄存器值 - RZ MPU工业控制教程连载(31)
写单个线圈与单个保持寄存器相关 - RZ MPU工业控制教程连载(32)