modbus常用功能碼解讀
Modbus是一種單主站的主/從通信模式。Modbus網絡上只能有一個主站存在,主站在 Modbus網絡上沒有地址,從站的地址范圍為 0 - 247,其中 0 為廣播地址,從站的實際地址范圍為 1 - 247。 Modbus通信標準協議可以通過各種傳輸方式傳播,如 RS232C、RS485、光纖、無線電等。
Modbus具有兩種串行傳輸模式,ASCII 和 RTU。它們定義了數據如何打包、解碼的不同方式。支持 Modbus 協議的設備一般都支持 RTU 格式。通信雙方必須同時支持上述模式中的一種。
下文為大家介紹modbus常用功能碼解讀。
01H-讀線圈狀態
1)描述:讀從機線圈寄存器,位操作,可讀單個或者多個;
2)發送指令:
假設從機地址位0x01,寄存器開始地址0x0023,寄存器結束抵制0x0038,總共讀取21個線圈。協議圖如下:
3)響應:
返回數據的每一位對應線圈狀態,1-ON,0-OFF,如下圖;
上表中data1表示0x0023-0x002a的線圈狀態,data1的最低位代表最低地址的線圈狀態,可以理解為小端模式;
data2表示地址0x002b-0x0033的線圈狀態,如下表:
data3表示地址0x0034-0x0038的線圈狀態,不夠8位,字節高位填充為0,如下表:
02H-讀離散輸入狀態
1):讀離散輸入寄存器,位操作,可讀單個或多個,協議類似功能碼0X01協議,此處省;
03H-讀保持寄存器
1)描述:讀保持寄存器,字節指令操作,可讀單個或者多個;
2)發送指令:
從機地址0x01,保持寄存器起始地址0x0032,讀2個保持寄存器
3)響應:
數據存儲順序
04H-讀輸入寄存器
1)描述:讀輸入寄存器,字節指令操作,可讀單個或者多個;
2)發送指令:同03H;
3)響應:同03H;
05H-寫單個線圈
1)描述:寫單個線圈,位操作,只能寫一個,寫0xff00表示設置線圈狀態為ON,寫0x0000表示設置線圈狀態為OFF
2)發送指令:
設置0x0032線圈為ON;
3)響應:
同發送指令;
06H-寫單個保持寄存器
1)描述:寫單個保持寄存器,字節指令操作,只能寫一個;
2)發送指令:
寫0x0032保持寄存器為0x1232;
3)響應:同發送指令;
0FH-寫多個線圈
1)描述:寫多個線圈寄存器。若數據區的某位值為“1”表示被請求的相應線圈狀態為ON,若某位值為“0”,則為狀態為OFF。
2)發送指令:
線圈地址為0x04a5,寫12個線圈,
上圖中DATA1為0x0c,表示:
DATA2為0x02,不夠8位,字節高位填充0:
3)響應:
10H-寫多個保持寄存器
1)描述:寫多個保持寄存器,字節指令操作,可寫多個;
2)發送指令:
保持寄存器起始地址為0x0034,寫2個寄存器4個字節的數據;
3)響應:
非常好我支持^.^
(251) 50.1%
不好我反對
(250) 49.9%
相關閱讀:
- [電子說] EtherCAT從站轉modbus RTU協議轉換網關用modbus slave測試的方法 2023-10-24
- [電子說] DLT698轉modbus協議網關把電能數據接到wincc的方法 2023-10-24
- [電子說] 軟啟動器與PLC通過ModbusRTU轉Profinet網關連接的配置案例 2023-10-24
- [電子說] Modbus485轉profinet網關連接伺服主軸驅動器與PLC的具體應用 2023-10-24
- [電子說] 通過MODBUS轉PROFINET(PROFINET轉MODBUS)網關連接EP1C系列通用伺服驅動器 2023-10-24
- [電子說] 軟啟動器與PLC通過ModbusRTU轉Profinet網關連接的配置案例 2023-10-24
- [電子說] Modbus485轉profinet網關連接伺服主軸驅動器與PLC的具體應用 2023-10-24
- [電子說] CRT-通用3-6軸MF系列多功能運動控制系統示教編輯案例 2023-10-21
( 發表人:李建兵 )