10.5.9
1. 功能說明
11功能碼主要用于獲取從設(shè)備通信計(jì)數(shù)器中的狀態(tài)字和事件計(jì)數(shù)的值,本功能碼不支持廣播模式。通過在通信報(bào)文之前和之后讀取通信事件計(jì)數(shù)值,可以確定從設(shè)備是否正常處理報(bào)文。
對(duì)于正常完成報(bào)文處理和傳輸?shù)膱?chǎng)合,事件計(jì)數(shù)器增加1;而對(duì)于異常響應(yīng)、輪詢命令或讀事件計(jì)數(shù)器(即0x0B功能碼)的場(chǎng)合,則計(jì)數(shù)器不變。通過【0x08診斷功能】中的子功能碼【Restart Communication Option(0x0001)】和【Clear Counters and Diagnostic Register(0x000A)】可以復(fù)位事件寄存器。
2. 查詢報(bào)文
下表中的示例表示獲取通信事件計(jì)數(shù)器的查詢報(bào)文內(nèi)容,其中從站設(shè)備地址為5。
功能碼11查詢報(bào)文示例:
字段 | 例 (Hex) | ASCII模式字符型 | RTU模式8位 (Hex) |
幀頭 | “:” | ||
從設(shè)備地址 | 0x05 | “0”,“5” | 0x05 |
功能碼 | 0x0B | “0”,“B” | 0x0B |
差錯(cuò)校驗(yàn) | LRC(2字符) | CRC(2字節(jié)) | |
幀尾 | CR/LF | ||
合計(jì)字節(jié)數(shù) | 9 | 4 |
3. 響應(yīng)報(bào)文
對(duì)于從設(shè)備,在正常情況下,響應(yīng)報(bào)文返回2字節(jié)的狀態(tài)字和2字節(jié)的事件計(jì)數(shù)。其中,如果從站設(shè)備處于忙狀態(tài),那么狀態(tài)字為0xFFFF,否則狀態(tài)字為0x0000。在表4-18的示例中,狀態(tài)字為0x0000,表示從站設(shè)備外于空閑狀態(tài)。事件計(jì)數(shù)的值為0x03E8,表示記錄了1000(0x03E8)個(gè)事件。
功能碼11響應(yīng)報(bào)文示例
字段 | 例 (Hex) | ASCII模式字符型 | RTU模式8位 (Hex) |
幀頭 | “:” | ||
從設(shè)備地址 | 0x05 | “0”,“5” | 0x05 |
功能碼 | 0x0B | “0”,“B” | 0x0B |
子功能碼 (高位) | 0x00 | “0”,“0” | 0x00 |
子功能碼 (低位) | 0x00 | “0”,“0” | 0x00 |
數(shù)據(jù) (高位) | 0x03 | “0”,“3” | 0x03 |
數(shù)據(jù) (低位) | 0xE8 | “E”,“8” | 0xB8 |
差錯(cuò)校驗(yàn) | LRC(2字符) | CRC(2字節(jié)) | |
幀尾 | CR/LF | ||
合計(jì)字節(jié)數(shù) | 17 | 8 |
10.5.10
1. 功能說明
12功能碼主要用于從從設(shè)備獲取狀態(tài)字、事件計(jì)數(shù)、報(bào)文計(jì)數(shù)以及事件字節(jié)字段。其中,狀態(tài)字和事件計(jì)數(shù)與功能碼11(0x0B)獲取的值一致。報(bào)文計(jì)數(shù)包含加電重啟、清除計(jì)數(shù)器之后的報(bào)文數(shù)量,報(bào)文計(jì)數(shù)與通過診斷功能碼08(0x08)、子功能碼11(0x0B)獲取的值一致。事件字節(jié)字段包含0~64字節(jié),用來定義各種事件。
2. 查詢報(bào)文
下表中的示例表示獲取通信事件記錄的查詢報(bào)文內(nèi)容,其中從站地址位5。
功能碼12查詢報(bào)文示例:
字段 | 例(Hex) | ASCII模式字符型 | RTU模式8位(Hex) |
幀頭 | “:” | ||
從設(shè)備地址 | 0x05 | “0”,“5” | 0x05 |
功能碼 | 0x0c | “0”,“c” | 0x0c |
差錯(cuò)校驗(yàn) | LRC(2字符) | CRC(2字節(jié)) | |
幀尾 | CR/LF | ||
合計(jì)字節(jié)數(shù) | 9 | 4 |
3. 響應(yīng)報(bào)文
對(duì)于從站設(shè)備,在正常情況下,響應(yīng)報(bào)文包括一個(gè)2字節(jié)的狀態(tài)字字段、一個(gè)2字節(jié)的事件計(jì)數(shù)字段、一個(gè)2字節(jié)的消息計(jì)數(shù)字段以及0~64字節(jié)的事件字段。因?yàn)槭录侄问亲冮L(zhǎng)的,所以增加了一個(gè)1節(jié)的數(shù)據(jù)長(zhǎng)度字段,以方便讀取響應(yīng)數(shù)據(jù),如下表所示。
功能碼12響應(yīng)報(bào)文示例:
字段 | 例 (Hex) | ASCII模式字符型 | RTU模式8位 (Hex) |
幀頭 | “:” | ||
從設(shè)備地址 | 0x05 | “0”,“5” | 0x05 |
功能碼 | 0x0c | “0”,“c” | 0x0c |
字節(jié)數(shù) | 0x08 | “0”,“8” | 0x08 |
狀態(tài)字 (高位) | 0x00 | “0”,“0” | 0x00 |
事件計(jì)數(shù) (高位) | 0x03 | “0”,“3” | 0x03 |
事件計(jì)數(shù) (低位) | 0xE8 | “E”,“8” | 0xE8 |
消息計(jì)數(shù) (高位) | 0x01 | “0”,“1” | 0x01 |
消息計(jì)數(shù) (低位) | 0xF6 | “F”,“6” | 0xF6 |
事件0 | 0x20 | “2”,“0” | 0x20 |
事件1 | 0x00 | “0”,“0” | 0x00 |
差錯(cuò)校驗(yàn) | LRC(2字符) | CRC(2字節(jié)) | |
幀尾 | CR/LF | ||
合計(jì)字節(jié)數(shù) | 17 | 8 |
如您在使用瑞薩MCU/MPU產(chǎn)品中有任何問題,可識(shí)別下方二維碼或復(fù)制網(wǎng)址到瀏覽器中打開,進(jìn)入瑞薩技術(shù)論壇尋找答案或獲取在線技術(shù)支持。
https://community-ja.renesas.com/zh/forums-groups/mcu-mpu/
未完待續(xù)
推薦閱讀
Moubus功能碼詳解 - RZ MPU工業(yè)控制教程連載(30)
讀取保持寄存器值 - RZ MPU工業(yè)控制教程連載(31)
寫單個(gè)線圈與單個(gè)保持寄存器相關(guān) - RZ MPU工業(yè)控制教程連載(32)