唯讀型記憶體讀取指令(04)及記憶體列表

讀取指令中register長度必需小於等於 20個 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(讀取指令)

讀取數據的啟始地址: 0000(要讀取的數據的啟始地址)

讀取registers 總數: 0002 (需要從 0000 開始讀兩個 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 長度
位元
資料型式
備註

Flowrate

0x00 0x00

2

4

float

Total

0x00 0x04

2

4

float

Flowrate*100

0x00 0x06

2

4

float

Total*100

0x00 0x0A

2

4

float

error code a

0x00 0x0E

1

2

int

error code b

0x00 0x0F

1

2

int

error code c

0x00 0x10

1

2

int

error code d

0x00 0x11

1

2

int

System Status

0x00 0x12

1

2

int

Total(64)

0x00 0x13

4

8

longlong

Dosing(float)

0x00 0x17

2

4

float

Dosing100(32)

0x00 0x19

2

4

float

Dosing(64)

0x00 0x1B

4

8

longlong

M

0x00 0x53

1

2

int

m

0x00 0x54

1

2

int

flow*100_2

0x00 0x55

2

4

float

na

0x00 0x57

2

4

total*100_2

0x00 0x59

2

4

float