10.5.6
(0x05)寫單個線圈
1. 功能說明
05功能碼用于將單個線圈寄存器(或離散輸入)設(shè)置為ON或OFF,該功能碼支持廣播模式在廣播模式下,所有從站設(shè)備的同一地址的值將被統(tǒng)一修改。查詢報文中的ON/OFF狀態(tài)由報文數(shù)據(jù)字段的常數(shù)指定,0xFF00表示 ON狀態(tài),0x0000表示OFF狀態(tài)。其他值均是非法的,并且對寄存器不起作用,將會返回異常響應(yīng)。
2. 查詢報文
查詢報文中需要指定從設(shè)備地址以及需要變更的線圈地址和設(shè)定的狀態(tài)值。需要注意的是,在查詢報文中,線圈地址從地址0開始計數(shù)。例如,如下表所示,從設(shè)備地址為 3,設(shè)置線圈地址00150為ON狀態(tài),則查詢報文中的線圈地址設(shè)置為0x95(149)。
功能碼05查詢報文示例:
| 字段 |
例 (Hex) |
ASCII 模式字符型 |
RTU模式8位 (Hex) |
| 幀頭 | “:” | ||
| 從設(shè)備地址 | 0x03 | “0”,“3” | 0x03 |
| 功能碼 | 0x05 | “0”,“5” | 0x05 |
|
起始地址 (高位) |
0x00 | “0”,“0” | 0x00 |
|
起始地址 (低位) |
0x95 | “9”,“5” | 0x95 |
|
變更數(shù)據(jù) (高位) |
0xFF | “F”,“F” | 0xFF |
|
變更數(shù)據(jù) (低位) |
0x00 | “0”,“0” | 0x00 |
| 差錯校驗 | LRC(2字符) | CRC(2字節(jié)) | |
| 幀尾 | CR/LF | ||
| 合計字節(jié)數(shù) | 17 | 8 |
本功能碼中,起始地址由2字節(jié)構(gòu)成,取值范圍為 0x0000~0xFFFF:變更目標(biāo)數(shù)據(jù)由2字節(jié)構(gòu)成,取值只能為0xFF00或0x0000。
3. 響應(yīng)報文
響應(yīng)報文的各項構(gòu)成和意義如下表所示。對于從設(shè)備,在線圈或離散輸出寄存器正常變更的情況下會返回與查詢報文相同的響應(yīng)報文。如果修改失敗,則會返回一個異常響應(yīng),對于異常響應(yīng),后續(xù)章節(jié)會進(jìn)一步詳細(xì)介紹。
功能碼05響應(yīng)報文示例:
| 字段 |
例 (Hex) |
ASCII 模式字符型 |
RTU模式8位 (Hex) |
| 幀頭 | “:” | ||
| 從設(shè)備地址 | 0x03 | “0”,“3” | 0x03 |
| 功能碼 | 0x05 | “0”,“5” | 0x05 |
|
起始地址 (高位) |
0x00 | “0”,“0” | 0x00 |
|
起始地址 (低位) |
0x95 | “9”,“5” | 0x95 |
|
變更數(shù)據(jù) (高位) |
0xFF | “F”,“F” | 0xFF |
|
變更數(shù)據(jù) (低位) |
0x00 | “0”,“0” | 0x00 |
| 差錯校驗 | LRC(2字符) | CRC(2字節(jié)) | |
| 幀尾 | CR/LF | ||
| 合計字節(jié)數(shù) | 17 | 8 |
10.5.7
(0x06)寫單個保持寄存器
1. 功能說明
06功能碼用于更新從設(shè)備的單個保持寄存器的值,該功能碼支持廣播模式,在廣播模式下所有從設(shè)備的同一地址的值將被統(tǒng)一修改。
2. 查詢報文
查詢報文中需要指定從設(shè)備地址以及需要變更的保持寄存器地址和設(shè)定的值。需要注意的是查詢報文中,寄存器地址從地址0開始計數(shù)。例如,如下表所示,從設(shè)備地址為3,設(shè)置寄存器地址40150為1200(即0x04B0),則查詢報文中的地址字段設(shè)置為0x95(149)。
功能碼06查詢報文示例:
| 字段 |
例 (Hex) |
ASCII 模式字符型 |
RTU模式8位 (Hex) |
| 幀頭 | “:” | ||
| 從設(shè)備地址 | 0x03 | “0”,“3” | 0x03 |
| 功能碼 | 0x06 | “0”,“6” | 0x06 |
|
起始地址 (高位) |
0x00 | “0”,“0” | 0x00 |
|
起始地址 (低位) |
0x95 | “9”,“5” | 0x95 |
|
變更數(shù)據(jù) (高位) |
0x04 | “0”,“4” | 0x04 |
|
變更數(shù)據(jù) (低位) |
0xB0 | “B”,“0” | 0xB0 |
| 差錯校驗 | LRC(2字符) | CRC(2字節(jié)) | |
| 幀尾 | CR/LF | ||
| 合計字節(jié)數(shù) | 17 | 8 |
本功能碼中,起始地址由2節(jié)構(gòu)成,取值范圍為 0x0000~0xFFFF;變更目標(biāo)數(shù)據(jù)由2字節(jié)構(gòu)成,取值范圍為0x0000~0xFFFF。
3. 響應(yīng)報文
響應(yīng)報文的各項構(gòu)成和意義,如下表所示。對于從設(shè)備,在保持寄存器正常變更的情況下會返回與查詢報文相同的響應(yīng)報文。如果修改失敗,則返回個異常響應(yīng)。
功能碼06響應(yīng)報文示例:
| 字段 |
例 (Hex) |
ASCII 模式字符型 |
RTU模式8位 (Hex) |
| 幀頭 | “:” | ||
| 從設(shè)備地址 | 0x03 | “0”,“3” | 0x03 |
| 功能碼 | 0x06 | “0”,“6” | 0x06 |
|
起始地址 (高位) |
0x00 | “0”,“0” | 0x00 |
|
起始地址 (低位) |
0x95 | “9”,“5” | 0x95 |
|
變更數(shù)據(jù) (高位) |
0x04 | “0”,“4” | 0x04 |
|
變更數(shù)據(jù) (低位) |
0xB0 | “B”,“0” | 0xB0 |
| 差錯校驗 | LRC(2字符) | CRC(2字節(jié)) | |
| 幀尾 | CR/LF | ||
| 合計字節(jié)數(shù) | 17 | 8 |
-
線圈
+關(guān)注
關(guān)注
14文章
1857瀏覽量
46455 -
寄存器
+關(guān)注
關(guān)注
31文章
5589瀏覽量
129073 -
功能碼
+關(guān)注
關(guān)注
0文章
10瀏覽量
2364
發(fā)布評論請先 登錄
【RA4M2-SENSOR】—— 10.實現(xiàn)modbus從站協(xié)議棧
NI提供的modbus工具包功能測試結(jié)果,但是讀線圈讀不回來,寫多個寄存器也只能寫進(jìn)去起始地址那個是什么原因呢?
Modbus協(xié)議———常用功能碼詳解
寄存器尋址方式
32位寄存器,32位寄存器是什么意思
STM32系列MCU,寫寄存器Or利用固件庫
移位寄存器的工作原理
PLC維修時如何妙用掉電保持寄存器
EE-23:使用單個索引寄存器進(jìn)行運動自動緩沖的AD1847/ADSP-2181環(huán)回示例
歐姆龍斷電保持寄存器是哪些
Modbus協(xié)議的讀取保持寄存器值
寫多個線圈與寫多個保持寄存器
EE-23:AD1847/ADSP-2181環(huán)回示例,使用單個索引寄存器實現(xiàn)SPORT自動緩沖

寫單個線圈與單個保持寄存器相關(guān)
評論