modbus tcp資料報文結構
讀取資料請求:00 01 00 00 00 06 18 03 00 02 00 02
| 資料 | 含義 |
| 00 01 | 此次通信事務處理識別符號,一般每次通信之后將被要求加1以區別不同的通信資料報文 |
| 00 00 | 表示協議識別符號,00 00為modbus協議 |
| 00 06 | 資料長度,用來指示接下來資料的長度,單位字 |
| 18 | 設備地址,用以標識連接在串行線或者網路上的遠程服務端的地址,以上七個位元組也被稱為modbus報文頭 |
| 03 | 功能碼,此時代碼03為讀取保持暫存器資料 |
| 00 02 | 起始地址 |
| 00 02 | 暫存器數量,(word數量) |
讀取資料回應:00 01 00 00 00 05 18 03 02 12 34
| 資料 | 含義 |
| 00 01 | 此次通信事務處理識別符號,應答報文要求與先前對應的請求保持一致 |
| 00 00 | 協議識別符號,與先前對應的請求保持一致 |
| 00 05 | 資料長度,用來指示接下來資料的長度,單位位元組 |
| 18 | 設備地址,應答報文要求與先前對應的請求保持一致 |
| 03 | 正常情況下應答報文要求與先前對應的請求保持一致,如果出錯則回傳0x80+先前的功能碼(讀取錯誤碼83) |
| 02 | 接下來的資料的位元組長度 |
| 12 34 | 被讀取的保持暫存器中的資料值 |
寫入資料請求:00 01 00 00 00 11 18 10 00 00 00 05 0A 00 00 00 00 00 00 00 03 00 00
| 資料 | 含義 |
| 00 01 | 此次通信事務處理識別符號,一般每次通信之后將被要求加1以區別不同的通信資料報文 |
| 00 00 | 表示協議識別符號,00 00為modbus協議 |
| 00 11 | 資料長度,用來指示接下來資料的長度,單位位元組 |
| 18 | 設備地址,用以標識連接在串行線或者網路上的遠程服務端的地址,以上七個位元組也被稱為modbus報文頭 |
| 10 | 功能碼,此時代碼10為寫入暫存器資料 |
| 00 00 | 起始地址 |
| 00 05 | 寫暫存器數量 |
| 0A | 寫入資料的位元組個數 |
| ---- | 寫入的資料 |
寫入資料回應:00 01 00 00 00 06 18 10 00 00 00 05
| 資料 | 含義 |
| 00 01 | 此次通信事務處理識別符號,應答報文要求與先前對應的請求保持一致; |
| 00 00 | 協議識別符號,與先前對應的請求保持一致 |
| 00 06 | 資料長度,用來指示接下來資料的長度,單位位元組 |
| 18 | 設備地址,應答報文要求與先前對應的請求保持一致 |
| 10 | 正常情況下應答報文要求與先前對應的請求保持一致,如果出錯則回傳0x80+先前的功能碼(寫入錯誤碼90) |
| 00 00 | 寫入起始地址 |
| 00 05 | 寫入暫存器長度 |
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/231494.html
標籤:其他
