唯讀型記憶體讀取指令(04)及記憶體列表
大數字 讀寫不同格式(float32/ int64)會有1/10k 以下的差異。
一次最多40 個register 長度。超過該長度的指令會被忽略。
指令範例
控制端發指令(04)格式
Byte# | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
Node ID | Slave Address | Function Code | 讀取數據的啟始地址 | 讀取數據的啟始地址 | 讀取registers 總數 | 讀取registers 總數 | CRC | CRC |
範例內容01~FF | 01 | 04 | 00 | 00 | 00 | 02 | 71 | CB |
控制端發訊範例說明
這個範例會讀取即時流量
slave address: 01(本流量計地址)
function code: 04(讀取指令)
讀取數據的啟始地址: 00 00(要讀取的數據的啟始地址)
讀取registers 總數: 00 02 (需要從 00 00 開始讀兩個 register 的記憶體)
CRC: 71 CB(依 CRC 算法計算出的糾錯碼)
流量計回覆(04)格式
Byte# | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
Node ID | Slave Address | Function Code | 回覆的Byte數 | Data Byte #1 | Data Byte #2 | Data Byte #3 | Data Byte #4 | CRC | CRC |
範例內容01~FF | 01 | 04 | 04 | 00 | 00 | 00 | 00 | FB | 84 |
流量計回覆範例說明
slave address: 01(本流量計地址)
function code: 04(讀取指令)
回覆的Byte數: 04(2個register=4byte)
Data Byte: 00 00 00 00(假設目前即時流量為 0)
CRC: FB 84(依 CRC 算法計算出的糾錯碼)
記憶體位置及定義
本頁面的表格使用方法:
欄位名稱 | 功能 |
Register位置 | 讀寫記憶體位置與唯讀記憶體不共用。 |
Register 長度 | 這個變數的數據長度。以 Register(2Byte)為單位 |
記憶體內容 | 用來說明功能。 |
資料型式 | 標明收發數據的格式。 |
唯讀區記憶體列表
Register 位置 | Register 長度 | 記憶體內容 | 資料型式 | 註 |
0000 | 2 | 瞬時流量 | float 32 | |
0002 | 2 | 瞬時流速 | float 32 | |
0004 | 2 | 累積流量 | float 32 | |
0006 | 2 | 瞬時流量 | int 32 | 數值是瞬時流量X100取整數 |
0008 | 2 | 瞬時流速 | int 32 | 數值是瞬時流速X100取整數 |
000A | 2 | 累積流量 | int 32 | 數值是累積流量X100取整數 |
000C | 2 | Iout 電流值 uA | unsigned int 32 | |
000E | 1 | unsigned int 16 | 第一個 byte 未定義補0 | |
000F | 1 | unsigned int 16 | 第一個 byte 未定義補0 | |
0010 | 1 | unsigned int 16 | 第一個 byte 未定義補0 | |
0011 | 1 | unsigned int 16 | 第一個 byte 未定義補0 | |
0012 | 1 | unsigned int 16 | 第一個 byte 未定義補0 | |
0013 | 4 | 累積流量 | int 64 | 數值是累積流量X100,000取整數(P1203新增) |
0017 | 2 | 計量 Dosing | float32 | (P1203新增) |
0019 | 2 | 計量 Dosing | int32 | 數值是累積流量X100取整數(P1203新增) |
001B | 4 | 計量 Dosing | int64 | 數值是累積流量X100,000取整數(P1203新增) |
Last updated