唯讀型記憶體讀取指令(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