日本欧美一区-日本欧美一区二区三区片-日本强好片久久久久久AAA-日本-区一区二区三区A片-日本人伦一区二区三区-日本人妻A片成人免费看

電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設(shè)計(jì) | 電子開發(fā)網(wǎng)Rss 2.0 會(huì)員中心 會(huì)員注冊
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 電子開發(fā) >> PLC基礎(chǔ)入門教程 >> 正文

MODBUS常用功能碼

作者:佚名    文章來源:本站原創(chuàng)    點(diǎn)擊數(shù):    更新時(shí)間:2022/11/27

1 簡述

Modbus寄存器分為四種,如表1.1所示:

表1.1 寄存器分類

寄存器種類 數(shù)據(jù)類型 訪問類型 功能碼 PLC地址 寄存器地址
線圈寄存器 讀寫 01H 05H 0FH 00001-09999 0000H-FFFFH
離散輸入寄存器 只讀 02H 10001-19999 0000H-FFFFH
輸入寄存器 只讀 04H 30001-39999 0000H-FFFFH
保持寄存器 讀寫 03H 06H 10H 40001-49999 0000H-FFFFH

2 常用功能碼

Modbus中常用的功能碼有8個(gè),可以分為位操作和字操作兩類,如表2.1所示:

表2.1 常用功能碼

功能碼 描述 PLC地址 寄存器地址 位/字操作 操作數(shù)量
01H 讀線圈寄存器 00001-09999 0000H-FFFFH 位操作 單個(gè)或多個(gè)
02H 讀離散輸入寄存器 10001-19999 0000H-FFFFH 位操作 單個(gè)或多個(gè)
03H 讀保持寄存器 40001-49999 0000H-FFFFH 字操作 單個(gè)或多個(gè)
04H 讀輸入寄存器 30001-39999 0000H-FFFFH 字操作 單個(gè)或多個(gè)
05H 寫單個(gè)線圈寄存器 00001-09999 0000H-FFFFH 位操作 單個(gè)
06H 寫單個(gè)保持寄存器 40001-49999 0000H-FFFFH 字操作 單個(gè)
0FH 寫多個(gè)線圈寄存器 00001-09999 0000H-FFFFH 位操作 多個(gè)
10H 寫多個(gè)保持寄存器 40001-49999 0000H-FFFFH 字操作 多個(gè)

3 讀線圈寄存器(01H)

功能碼01H讀取Modbus從機(jī)中線圈寄存器的狀態(tài),可以是單個(gè)寄存器,或者多個(gè)連續(xù)的寄存器。

3.1 發(fā)送

假設(shè)從機(jī)地址為01H,讀取的線圈寄存器的起始地址為0017H,讀取38個(gè)寄存器,指令如表3.1所示:

表3.1 讀線圈寄存器指令:

從機(jī)地址 功能碼

起始地址
高位

起始地址

低位

寄存器數(shù)量

高位

寄存器數(shù)量

低位

CRC高位

CRC低位

01 01 00 17 00 26 0D D4

3.2 響應(yīng)

各線圈的狀態(tài)與數(shù)據(jù)內(nèi)容的每個(gè)bit對(duì)應(yīng),1代表ON,0代表OFF。如果查詢的線圈數(shù)量不是8的倍數(shù),則在最后一個(gè)字節(jié)的高位補(bǔ)0。

表3.2.1 讀線圈狀態(tài)的返回結(jié)果

從機(jī)地址 功能碼 返回字節(jié)數(shù) 數(shù)據(jù)1 數(shù)據(jù)2 數(shù)據(jù)3 數(shù)據(jù)4 數(shù)據(jù)5 CRC高位 CRC低位
01 01 05 CD 6B B2 0E 1B 44 EA

其中,第一個(gè)字節(jié)CDH對(duì)應(yīng)線圈0017H到001E的狀態(tài),轉(zhuǎn)為二進(jìn)制是11001101,其中bit0對(duì)應(yīng)0017H,bit7對(duì)應(yīng)001E,如表3.2.2所示:

表3.2.2 線圈0017H到001EH的狀態(tài)

001EH 001DH 001CH 001BH 001AH 0019H 0018H 0017H
1 1 0 0 1 1 0 1
ON ON OFF OFF ON ON OFF ON

最后一個(gè)字節(jié)為1BH,對(duì)應(yīng)線圈0037H到003CH的狀態(tài),轉(zhuǎn)為二進(jìn)制是00011011,其中bit0對(duì)應(yīng)0037H,bit5對(duì)應(yīng)003CH,其余兩位用0填充,如表3.2.3所示:

表3.2.3 線圈0037H到003CH的狀態(tài)

003CH 003BH 003AH 0039H 0038H 0037H 0036H 0035H
0 0 0 1 1 0 1 1
填充 填充 OFF ON ON OFF ON ON

4 讀離散輸入寄存器(02H)

功能碼02H讀取Modbus從機(jī)中離散輸入寄存器的狀態(tài),可以是單個(gè)寄存器,或者多個(gè)連續(xù)的寄存器。

4.1 發(fā)送

假設(shè)從機(jī)地址為01H,讀取的離散輸入寄存器的起始地址為00C4H,讀取22個(gè)寄存器,指令如表4.1所示:

表4.1 讀離散輸入寄存器指令:

從機(jī)地址 功能碼 起始地址高位 起始地址低位 寄存器數(shù)量高位 寄存器數(shù)量低位 CRC高位 CRC低位
01 02 00 C4 00 16 B8 39

4.2 響應(yīng)

各個(gè)離散輸入寄存器的狀態(tài)與數(shù)據(jù)內(nèi)容的每個(gè)bit對(duì)應(yīng),1代表ON,0代表OFF。如果查詢的線圈數(shù)量不是8的倍數(shù),則在最后一個(gè)字節(jié)的高位補(bǔ)0。

表4.2.1 讀離散輸入寄存器的返回結(jié)果

從機(jī)地址 功能碼 返回字節(jié)數(shù) 數(shù)據(jù)1 數(shù)據(jù)2 數(shù)據(jù)3 CRC高位 CRC低位
01 02 03 AC DB 35 22 88

其中,第一個(gè)字節(jié)ACH對(duì)應(yīng)00C4H到00CBH寄存器的狀態(tài),轉(zhuǎn)為二進(jìn)制是10101100,其中bit0對(duì)應(yīng)00C4H,bit7對(duì)應(yīng)00CB,如表4.2.2所示:

表4.2.2 寄存器00C4H到00CBH的狀態(tài)

00CBH 00CAH 00C9H 00C8H 00C7H 00C6H 00C5H 00C4H
1 0 1 0 1 1 0 0
ON OFF ON OFF ON ON OFF OFF

最后一個(gè)字節(jié)為35H,對(duì)應(yīng)寄存器00D4H到00D9H的狀態(tài),轉(zhuǎn)為二進(jìn)制是00110101,其中bit0對(duì)應(yīng)00D4H,bit5對(duì)應(yīng)00D9H,其余兩位用0填充,如表4.2.3所示:

表4.2.3 寄存器00D4H到00D9H的狀態(tài)

00DBH 00DAH 00D9H 00D8H 00D7H 00D6H 00D5H 00D4H
0 0 1 1 0 1 0 1
填充 填充 ON ON OFF ON OFF ON

5 讀保持寄存器(03H)

功能碼03H讀取Modbus從機(jī)中保持寄存器的數(shù)據(jù),可以是單個(gè)寄存器,或者多個(gè)連續(xù)的寄存器。

5.1 發(fā)送

假設(shè)從機(jī)地址為01H,讀取的保持寄存器的起始地址為006BH,讀取3個(gè)寄存器,指令如表5.1所示:

表5.1 讀保持寄存器指令:

從機(jī)地址 功能碼 起始地址高位 起始地址低位 寄存器數(shù)量高位 寄存器數(shù)量低位 CRC高位 CRC低位
01 03 00 6B 00 03 74 17

5.2 響應(yīng)

每個(gè)保持寄存器的長度為2個(gè)字節(jié)。保持寄存器之間,低地址寄存器先傳輸,高地址寄存器后傳輸。單個(gè)保持寄存器,高字節(jié)數(shù)據(jù)先傳輸,低字節(jié)數(shù)據(jù)后傳輸。

表5.2.1 讀保持寄存器的返回結(jié)果

從機(jī)地址 功能碼 字節(jié)數(shù) 006BH高字節(jié) 006BH低字節(jié) 006CH高字節(jié) 006CH低字節(jié) 006DH高字節(jié) 006DH低字節(jié) CRC高位 CRC低位
01 03 06 00 6B 00 13 00 00 F5 79

6 讀輸入寄存器(04H)

功能碼04H讀取Modbus從機(jī)中輸入寄存器的數(shù)據(jù),可以是單個(gè)寄存器,或者多個(gè)連續(xù)的寄存器。

6.1 發(fā)送

假設(shè)從機(jī)地址為01H,讀取的保持寄存器的起始地址為0008H,讀取2個(gè)寄存器,指令如表6.1所示:

表6.1 讀輸入寄存器指令:

從機(jī)地址 功能碼 起始地址高位 起始地址低位 寄存器數(shù)量高位 寄存器數(shù)量低位 CRC高位 CRC低位
01 04 00 6B 00 02 00 17

6.2 響應(yīng)

每個(gè)輸入寄存器的長度為2個(gè)字節(jié)。輸入寄存器之間,低地址寄存器先傳輸,高地址寄存器后傳輸。單個(gè)輸入寄存器,高字節(jié)數(shù)據(jù)先傳輸,低字節(jié)數(shù)據(jù)后傳輸。

表6.2.1 讀輸入寄存器的返回結(jié)果

從機(jī)地址 功能碼 字節(jié)數(shù) 0008H高字節(jié) 0008H低字節(jié) 0009H高字節(jié) 0009H低字節(jié) CRC高位 CRC低位
01 04 04 00 0A 00 0B 9A 41

7 寫單個(gè)線圈寄存器(05H)

功能碼05H寫單個(gè)線圈寄存器,F(xiàn)F00H請求線圈處于ON狀態(tài),0000H請求線圈處于OFF狀態(tài)。

7.1 發(fā)送

假設(shè)從機(jī)地址為01H,線圈寄存器的地址為00ACH,使其處于ON狀態(tài)的指令如表7.1所示:

表7.1 寫單個(gè)線圈指令:

從機(jī)地址 功能碼 寄存器地址高位 寄存器地址低位 數(shù)據(jù)高位 數(shù)據(jù)低位 CRC高位 CRC低位
01 05 00 AC FF 00 4C 1B

7.2 響應(yīng)

如果寫入成功,返回發(fā)送的指令,即010500ACFF004C1B。

8 寫單個(gè)保持寄存器(06H)

功能碼06H寫單個(gè)保持寄存器。

8.1 發(fā)送

假設(shè)從機(jī)地址為01H,保持寄存器的地址為0001H,數(shù)據(jù)位0003H,指令如表8.1所示:

表8.1 寫單個(gè)保持寄存器指令:

從機(jī)地址 功能碼 寄存器地址高位 寄存器地址低位 數(shù)據(jù)高位 數(shù)據(jù)低位 CRC高位 CRC低位
01 06 00 01 00 03 98 0B

8.2 響應(yīng)

如果寫入成功,返回發(fā)送的指令,即010600010003980B。

9 寫多個(gè)線圈寄存器(0FH)

功能碼0FH寫多個(gè)線圈寄存器。如果對(duì)應(yīng)的數(shù)據(jù)位為1,表示線圈狀態(tài)為ON;如果對(duì)應(yīng)的數(shù)據(jù)位為0,表示線圈狀態(tài)為OFF。線圈寄存器之間,低地址寄存器先傳輸,高地址寄存器后傳輸。單個(gè)線圈寄存器,高字節(jié)數(shù)據(jù)先傳輸,低字節(jié)數(shù)據(jù)后傳輸。如果寫入的線圈寄存器的個(gè)數(shù)不是8的倍數(shù),則在最后一個(gè)字節(jié)的高位補(bǔ)0。

9.1 發(fā)送

假設(shè)從機(jī)地址為01H,線圈寄存器的起始地址為0013H,寫入10個(gè)寄存器,指令如表9.1.1所示:

表9.1.1 寫入多個(gè)線圈寄存器指令

從機(jī)地址 功能碼 起始地址高位 起始地址低位 數(shù)量高位 數(shù)量低位 字節(jié)數(shù) 數(shù)據(jù)1 數(shù)據(jù)2 CRC高位 CRC低位
01 0F 00 13 00 0A 02 CD 01 72 CB

其中,CDH對(duì)應(yīng)線圈0013H到001AH的內(nèi)容,01H對(duì)應(yīng)線圈001B到001CH的內(nèi)容,未使用位用0填充。

此時(shí),線圈寄存器的內(nèi)容如表9.1.2所示:

表9.1.2 線圈寄存器0013H到001CH的內(nèi)容

001AH 0019H 0018H 0017H 0016H 0015H 0014H 0013H
1 1 0 0 1 1 0 1
0022H 0021H 0020H 001FH 001EH 001DH 001CH 001BH
0 0 0 0 0 0 0 1

9.2 響應(yīng)

如果寫入成功,返回寫入的寄存器數(shù)量,如表9.2所示:

表9.2 寫多個(gè)線圈寄存器的返回結(jié)果

從機(jī)地址 功能碼 起始地址高位 起始地址低位 數(shù)量高位 數(shù)量低位 CRC高位 CRC低位
01 0F 00 13 00 0A 24 09

10 寫多個(gè)保持寄存器(10H)

功能碼10H寫多個(gè)保持寄存器,其中每個(gè)保持寄存器的長度為兩個(gè)字節(jié)。

10.1 發(fā)送

假設(shè)從機(jī)地址為01H,保持寄存器的起始地址為0001H,寫入2個(gè)寄存器,指令如表10.1所示:

表10.1 寫入多個(gè)保持寄存器指令

從機(jī)地址 功能碼 起始地址高位 起始地址低位 數(shù)量高位 數(shù)量低位 字節(jié)數(shù) 0001H高位 0001H低位 0002H高位 0002H低位 CRC高位 CRC低位
01 10 00 01 00 02 04 00 0A 01 02 92 30

10.2 響應(yīng)

如果寫入成功,返回寫入的寄存器數(shù)量,如表10.2所示:

表10.2 寫多個(gè)保持寄存器的返回結(jié)果

從機(jī)地址 功能碼 起始地址高位 起始地址低位 數(shù)量高位 數(shù)量低位 CRC高位 CRC低位
01 10 00 01 00 02 10 08
Tags:功能碼,modbus,通訊  
責(zé)任編輯:admin
相關(guān)文章列表
S7-200和組態(tài)王的連接,cpu226 PLC 與組態(tài)王如何連接
基于S7-200SMART實(shí)現(xiàn)Modbus TCP通信_(tái)200smart modbus tcp
三菱plc FX3U與三菱E800變頻器專用指令通信應(yīng)用,IVDR指令和 IVCK
三菱PLC的modbus-rtu通訊實(shí)例_三菱小型PLC FX3U系列Modbus 通訊教
西門子200SMART與眾辰變頻器的MODBUS通信實(shí)例40001和十六進(jìn)制的轉(zhuǎn)
西門子S7-200 smart通過modbus rtu 協(xié)議采集K37A數(shù)據(jù)項(xiàng)目案例
昆侖通態(tài)MCGS觸摸屏和西門子V20變頻器之間的MODBUS通訊
Modbus通信協(xié)議介紹以及Modbus Poll、Slave軟件使用介紹_modbus 
【工具教程】Modbus Slave使用教程
干貨 | Modscan32  Modsim32 Modbus協(xié)議調(diào)試分享_modbus調(diào)試
Modscan32軟件的使用 Modsim32
西門子plc控制英威騰變頻器實(shí)例,西門子200SMART的MODBUS通訊!
施耐德PM500電量表通過MODBUS協(xié)議與組態(tài)王通訊
組態(tài)軟件的無線485通訊實(shí)例,組態(tài)王modbus通訊實(shí)例
S7-200高速脈沖輸出應(yīng)用,HDEF、HSC、PLS
S7-200網(wǎng)絡(luò)通訊協(xié)議的選擇,CP243-1,PPI、MPI、PROFIBUS、TCP/IP
【STEP7 MicroWIN軟件】S7-200多主站連接以太網(wǎng)通訊設(shè)置說明
組態(tài)王和三菱plc 基于數(shù)傳電臺(tái)的組態(tài)王控制實(shí)現(xiàn)遠(yuǎn)程采集控制器PL
KingView組態(tài)王與信捷PLC通訊解決方案 MODBUS通訊設(shè)置
KingView組態(tài)王通過modbus與第三方設(shè)備通訊,如何實(shí)現(xiàn)字節(jié)或字的
請文明參與討論,禁止漫罵攻擊,不要惡意評(píng)論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個(gè)字
[ 查看全部 ] 網(wǎng)友評(píng)論
推薦文章
最新推薦
關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢