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