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