Modbus協議有兩種不同的類型:基於串行鏈路的Modbus和基於TCP/IP的Modbus。
TCP/IP Modbus使用以太網來承載Modbus消息體,Modbus消息體可以作爲應用層數據被封裝在TCP/IP協議中來傳輸。
Modbus消息體結構可以分爲兩個部分。
MBAP |
PDU |
||||
事務標識(2B) |
協議標識(2B) |
長度(2B) |
單元標識(1B) |
功能碼(1B) |
數(nB)據 |
Modbus消息體格式
第一部分是Modbus應用協議頭(MBAP),包括以下字段:
1.事務標誌(兩字節)。用於服務器和客戶端消息的同步。
2.協議標誌(兩字節)。0表示使用的是Modbus協議,留作今後使用。
3.長度(一字節)。用來說明消息體類剩餘字節數。
4.單元標誌(一字節)。消息體被送往的從設備的地址。對於Modbus來說,從設備地址就是IP地址,因此單元標誌被設置爲0xFF。
Modbus消息體的第二部分是Modbus協議數據單元(PDU),它包括如下部分:
1.功能碼(一字節)。表示當前Modbus數據包的功能。
2.功能數據(n字節)。功能碼所需的數據,比如響應或者命令。