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

Function

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

float32

0002

2

instantaneous flow velocity

float32

0004

2

totalized flow volume

float32

0006

2

instantaneous flow rate

int32

The value is the cumulative flow X100 integer

0008

2

instantaneous flow velocity

int32

The value is the cumulative flow X100 integer

000A

2

totalized flow volume

int32

The value is the cumulative flow X100 integer

000C

2

Iout current value uA

unsigned int32

000E

1

error code a

unsigned int16

First byte is 0, due to no definition.

000F

1

error code b

unsigned int16

First byte is 0, due to no definition.

0010

1

error code c

unsigned int16

First byte is 0, due to no definition.

0011

1

error code d

unsigned int16

First byte is 0, due to no definition.

0012

1

System Status

unsigned int16

First byte is 0, due to no definition.

0013

4

totalized flow volume

int64

The value represents cumulative flow multiplied by 100,000, rounded to the nearest integer (introduced in P1203).

0017

2

Dosing

loat32

(introduced in P1203).

0019

2

Dosing

int32

The value represents cumulative flow multiplied by 100 rounded to the nearest integer (introduced in P1203).

001B

4

Dosing

int64

The value represents cumulative flow multiplied by 100,000, rounded to the nearest integer (introduced in P1203).

Last updated