Read-only memory read instruction(04) and memory lists

The length of total register requested by a single reading command must be less than or equal to 20 registers. Instructions longer than this will be ignored.

Instruction example

Format of command (04) from master

Byte#

1

2

3

4

5

6

7

8

Node ID

Slave Address

Function Code

Address of first reading register

Address of first reading register

Quantity of registers to be read

Quantity of registers to be read

CRC

CRC

Example 01~FF

01

04

00

00

00

02

71

CB

Description of master command

The example will read instantaneous flow volume.

slave address: 01(address of this flowmeter)

function code: 04(read instruction)

Address of first reading register: 0000(Address of first register to read)

Quantity of registers to be read: 0002 (need to read 2 registers from 0000)

CRC: 71 CB(Calculating error correcting code according to CRC algorithm)

Format of flowmeter response(04)

Byte#

1

2

3

4

5

6

7

8

9

Node ID

Slave Address

Function Code

Amount of response Byte

Data Byte #1

Data Byte

#2

Data Byte

#3

Data Byte

#4

CRC

CRC

Example

01~FF

01

04

04

00

00

00

00

FB

84

Description of flowmeter response example

slave address: 01(address of this flowmeter)

function code: 04(read instruction)

Amount of response Byte: 04 (2 register=4 byte)

Data Byte: 00 00 00 00(Assume the instantaneous flow volume is 0)

CRC: FB 84(Calculating error correcting code according to CRC algorithm)

Definition and address of memory

How to use these charts

Read-write memory type

Function

Register location

Read-write memory address is not shared with read-only memory.

Register

length

The length of variable memory. The unit is Register(2Byte).

Memory definition

For memory data description.

Data type

The format of sending and receiving data type.

Read-only memory list

Register location

Register length

Memory definition

Data type

Remarks

0000

2

instantaneous flow rate

float 32

0002

2

instantaneous flow velocity

float 32

0004

2

totalized flow volume

float 32

0006

2

analog output in micro-amp

unsigned int 32

0008

1

unsigned int 16

First byte is 0, due to no definition.

0009

1

unsigned int 16

First byte is 0, due to no definition.

000A

1

unsigned int 16

First byte is 0, due to no definition.

000B

1

unsigned int 16

First byte is 0, due to no definition.

000C

1

unsigned int 16

First byte is 0, due to no definition.

000D

1

history[1] year & month

unsigned int 16

000E

1

history[1] day

unsigned int 16

000F

1

history[1] total method

unsigned int 16

0010

2

history[1] totalized flow volume

float32

0012

1

history[2] year & month

unsigned int 16

0013

1

history[2] day

unsigned int 16

0014

1

history[2] total method

unsigned int 16

0015

2

history[2] totalized flow volume

float32

0017

1

history[3] year & month

unsigned int 16

0018

1

history[3] day

unsigned int 16

0019

1

history[3] total method

unsigned int 16

001A

2

history[3] totalized flow volume

float32

001C

1

history[4] year & month

unsigned int 16

001D

1

history[4] day

unsigned int 16

001E

1

history[4] total method

unsigned int 16

001F

2

history[4] totalized flow volume

float32

0021

1

history[5] year & month

unsigned int 16

0022

1

history[5] day

unsigned int 16

0023

1

history[5]total method

unsigned int 16

0024

2

history[5] totalized flow volume

float32

0026

1

history[6] year & month

unsigned int 16

0027

1

history[6] day

unsigned int 16

0028

1

history[6] total method

unsigned int 16

0029

2

history[6] totalized flow volume

float32

002B

1

history[7] year & month

unsigned int 16

002C

1

history[7] day

unsigned int 16

002D

1

history[7] total method

unsigned int 16

002E

2

history[7] totalized flow volume

float32

0030

1

history[8] year & month

unsigned int 16

0031

1

history[8] day

unsigned int 16

0032

1

history[8] total method

unsigned int 16

0033

2

history[8] totalized flow rate

float32

0035

1

history[9] year & month

unsigned int 16

0036

1

history[9] day

unsigned int 16

0037

1

history[9] total method

unsigned int 16

0038

2

history[9] totalized flow rate

float32

003A

1

history[10] year & month

unsigned int 16

003B

1

history[10] day

unsigned int 16

003C

1

history[10] total method

unsigned int 16

003D

2

history[10] totalized flow rate

float32

003F

1

history[11] year & month

unsigned int 16

0040

1

history[11] day

unsigned int 16

0041

1

history[11] total method

unsigned int 16

0042

2

history[11] totalized flow rate

float32

0044

1

history[12] year & month

unsigned int 16

0045

1

history[12] day

unsigned int 16

0046

1

history[12] total method

unsigned int 16

0047

2

history[12] totalized flow rate

float32

0049

1

history[13] year & month

unsigned int 16

004A

1

history[13] day

unsigned int 16

004B

1

history[13] total method

unsigned int 16

004C

2

history[13] totalized flow rate

float32

004E

1

history[14] year & month

unsigned int 16

004F

1

history[14] day

unsigned int 16

0050

1

history[14] total method

unsigned int 16

0051

2

history[14] totalized flow rate

float32

0053

1

Maximum r value

unsigned int 16

0054

1

Minimum r value

unsigned int 16

0055

2

instantaneous flow rate (multiplied by 100, rounded to the nearest integer)

signed int 32

0057

2

instantaneous flow speed (multiplied by 100, rounded to the nearest integer)

signed int 32

0059

2

totalized flow rate

signed int 32

005B

2

history[1] totalized flow rate (multiplied by 100, rounded to the nearest integer)

signed int 32

005D

2

history[2] totalized flow rate (multiplied by 100, rounded to the nearest integer)

signed int 32

005F

2

history[3] totalized flow rate (multiplied by 100, rounded to the nearest integer)

signed int 32

0061

2

history[4] totalized flow rate (multiplied by 100, rounded to the nearest integer)

signed int 32

0063

2

history[5] totalized flow rate (multiplied by 100, rounded to the nearest integer)

signed int 32

0065

2

history[6] totalized flow rate (multiplied by 100, rounded to the nearest integer)

signed int 32

0067

2

history[7] totalized flow rate (multiplied by 100, rounded to the nearest integer)

signed int 32

0069

2

history[8] totalized flow rate (multiplied by 100, rounded to the nearest integer)

signed int 32

006B

2

history[9] totalized flow rate (multiplied by 100, rounded to the nearest integer)

signed int 32

006D

2

history[10] totalized flow rate (multiplied by 100, rounded to the nearest integer)

signed int 32

006F

2

history[11] totalized flow rate (multiplied by 100, rounded to the nearest integer)

signed int 32

0071

2

history[12] totalized flow rate (multiplied by 100, rounded to the nearest integer)

signed int 32

0073

2

history[13] totalized flow rate (multiplied by 100, rounded to the nearest integer)

signed int 32

0075

2

history[14] totalized flow rate (multiplied by 100, rounded to the nearest integer)

signed int 32

Last updated