您好,歡迎來(lái)電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>電子百科>通信技術(shù)>

modbus常用功能碼解讀

2018年02月08日 09:06 電子發(fā)燒友整理 作者: 用戶評(píng)論(0

Modbus是一種單主站的主/從通信模式。Modbus網(wǎng)絡(luò)上只能有一個(gè)主站存在,主站在 Modbus網(wǎng)絡(luò)上沒(méi)有地址,從站的地址范圍為 0 - 247,其中 0 為廣播地址,從站的實(shí)際地址范圍為 1 - 247。 Modbus通信標(biāo)準(zhǔn)協(xié)議可以通過(guò)各種傳輸方式傳播,如 RS232C、RS485、光纖、無(wú)線電等。

Modbus具有兩種串行傳輸模式,ASCII 和 RTU。它們定義了數(shù)據(jù)如何打包、解碼的不同方式。支持 Modbus 協(xié)議的設(shè)備一般都支持 RTU 格式。通信雙方必須同時(shí)支持上述模式中的一種。

下文為大家介紹modbus常用功能碼解讀。

01H-讀線圈狀態(tài)

1)描述:讀從機(jī)線圈寄存器,位操作,可讀單個(gè)或者多個(gè);

2)發(fā)送指令:

假設(shè)從機(jī)地址位0x01,寄存器開始地址0x0023,寄存器結(jié)束抵制0x0038,總共讀取21個(gè)線圈。協(xié)議圖如下:

modbus常用功能碼解讀

3)響應(yīng):

返回?cái)?shù)據(jù)的每一位對(duì)應(yīng)線圈狀態(tài),1-ON,0-OFF,如下圖;

modbus常用功能碼解讀

上表中data1表示0x0023-0x002a的線圈狀態(tài),data1的最低位代表最低地址的線圈狀態(tài),可以理解為小端模式;

modbus常用功能碼解讀

data2表示地址0x002b-0x0033的線圈狀態(tài),如下表:

modbus常用功能碼解讀

data3表示地址0x0034-0x0038的線圈狀態(tài),不夠8位,字節(jié)高位填充為0,如下表:

modbus常用功能碼解讀

02H-讀離散輸入狀態(tài)

1):讀離散輸入寄存器,位操作,可讀單個(gè)或多個(gè),協(xié)議類似功能碼0X01協(xié)議,此處??;

03H-讀保持寄存器

1)描述:讀保持寄存器,字節(jié)指令操作,可讀單個(gè)或者多個(gè);

2)發(fā)送指令:

從機(jī)地址0x01,保持寄存器起始地址0x0032,讀2個(gè)保持寄存器

modbus常用功能碼解讀

3)響應(yīng):

modbus常用功能碼解讀

數(shù)據(jù)存儲(chǔ)順序

modbus常用功能碼解讀

04H-讀輸入寄存器

1)描述:讀輸入寄存器,字節(jié)指令操作,可讀單個(gè)或者多個(gè);

2)發(fā)送指令:同03H;

3)響應(yīng):同03H;

05H-寫單個(gè)線圈

1)描述:寫單個(gè)線圈,位操作,只能寫一個(gè),寫0xff00表示設(shè)置線圈狀態(tài)為ON,寫0x0000表示設(shè)置線圈狀態(tài)為OFF

2)發(fā)送指令:

設(shè)置0x0032線圈為ON;

modbus常用功能碼解讀

3)響應(yīng):

同發(fā)送指令;

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

1)描述:寫單個(gè)保持寄存器,字節(jié)指令操作,只能寫一個(gè);

2)發(fā)送指令:

寫0x0032保持寄存器為0x1232;

modbus常用功能碼解讀

3)響應(yīng):同發(fā)送指令;

0FH-寫多個(gè)線圈

1)描述:寫多個(gè)線圈寄存器。若數(shù)據(jù)區(qū)的某位值為“1”表示被請(qǐng)求的相應(yīng)線圈狀態(tài)為ON,若某位值為“0”,則為狀態(tài)為OFF。

2)發(fā)送指令:

線圈地址為0x04a5,寫12個(gè)線圈,

modbus常用功能碼解讀

上圖中DATA1為0x0c,表示:

modbus常用功能碼解讀

DATA2為0x02,不夠8位,字節(jié)高位填充0:

modbus常用功能碼解讀

3)響應(yīng):

modbus常用功能碼解讀

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

1)描述:寫多個(gè)保持寄存器,字節(jié)指令操作,可寫多個(gè);

2)發(fā)送指令:

保持寄存器起始地址為0x0034,寫2個(gè)寄存器4個(gè)字節(jié)的數(shù)據(jù);

modbus常用功能碼解讀

3)響應(yīng):

modbus常用功能碼解讀

非常好我支持^.^

(251) 50.1%

不好我反對(duì)

(250) 49.9%

( 發(fā)表人:李建兵 )

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?