讀寫型記憶體-讀取指令(03)
Function Code 功能碼 03
讀寫型記憶體 讀取指令,功能碼 (Function Code) 03 ,數據長度為1~125 個暫存器。可讀取單個或多個保持暫存器,用於讀取任何想要知道的設定參數。
Modbus RTU 讀取讀寫型記憶體保持暫存器 (03) 範例
以主站使用功能碼 03 讀取 "管路材質 A08 Pipe Material "的位址為例:
根據 讀寫型記憶體-讀取列表 ,起始位置為 00 0A,Reg長度為 1 (一個暫存器),資料型式:int16 (16 位元整數),讀取數量:00 01 (1 個暫存器),根據設備規格,累積流量採 Float32 格式,佔用 2 個暫存器 (4 Bytes) ,位元組順序為 Big Endian。
主站發送讀取指令 (TX 訊框)
TX 請求指令: 01 03 00 0A 00 01 A4 0ESlave Address = 01
Function Code = 03
起始暫存器位址 = 00 0A (A08 Pipe Material 讀取位址)
讀取數量 = 00 01 (1 個暫存器)
CRC 校驗碼 = A4 0E (依 CRC 算法計算出的糾錯碼)
從站回覆數據 (RX 訊框)
假設回覆 Pipe Material 代碼 3 (Hex: 00 03)。
Slave Address = 01
Function Code = 03
回傳位元數 = 02 (1 個暫存器, 2 Bytes)
數據位元組 = 00 03 (Pipe Material 代碼 (PP 材質))
CRC 校驗碼 = B8 44 (依 CRC 算法計算出的糾錯碼)
數據解析與轉換 (轉回十進制)
步驟 A:排列數據
接收數據:
00 03型式: int16 (16 位整數)
步驟 B:轉換為十進制與材質對應
將十六進制數 0003 轉換為十進制:
最終數值: 3
材質對應: 查閱 A08 Pipe Material 管路材質列表,數字 3 對應的選項是 PP 材質。
Last updated