讀寫型記憶體讀取指令(03)
大數字 讀寫不同格式(float32/ int64)會有1/10k 以下的差異。
不同參數大分類不能跨區讀取,一次最多40 個register 長度。超過該長度的指令會被忽略。請參考列表。
指令範例
控制端發指令(03)格式
Byte# | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
Node ID | Slave Address | Function Code | 讀取數據的啟始地址 | 讀取數據的啟始地址 | 讀取registers 總數 | 讀取registers 總數 | CRC | CRC |
範例內容01~FF | 01 | 03 | 00 | 00 | 00 | 03 | 05 | CB |
控制端發訊範例說明
這個範例會讀取A02 Preset Pipe Spec的管徑數據
slave address: 01(本流量計地址)
function code: 03(讀取指令)
讀取數據的啟始地址: 00 00(要讀取A02 Preset Pipe Spec的數據的啟始地址)
讀取registers 總數: 00 03(從 00 00 開始讀三個 register 的記憶體)
CRC: 05 CB (依 CRC 算法計算出的糾錯碼)
流量計回覆(03)格式
Byte# | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
Node ID | Slave Address | Function Code | 回覆的Byte數 | Data Byte #1 | Data Byte #2 | Data Byte #3 | Data Byte #4 | Data Byte #5 | Data Byte #6 | CRC | CRC |
範例內容01~FF | 01 | 03 | 06 | 00 | 06 | 00 | 00 | 42 | 41 | 59 | E5 |
流量計回覆範例說明
slave address: 01(本流量計地址)
function code: 03(讀取指令)
回覆的Byte數: 06(3個register=6byte)
Data Byte:
00 06(目前型態選項astm sch 80 pvc)
00 00 (讀取A02 RS485 init)
42 41 (讀取A02 RS485 init)
CRC: 59 E5 (依 CRC 算法計算出的糾錯碼)
Last updated