bit order: lsb first
byte order: big endian
Data bits:8
Parity: None
Stop bits: 1
Floating point number follows IEEE754-1985. The float32 below stands for 32bits Single precision floating point number.
Register: Length of 2 Byte or 16bit which is unit length of memory in Modbus RTU.
Byte: 8 bit length
Modbus memory is divided into two categories, read-only and read-write.
Read-only type is mainly for flow meter status related memory, such as instantaneous flow rate. This is also the most commonly used memory. Detail information in following page:
Read-only memory read instruction(04) and memory lists
Read-write memory is mainly to set-up parameters such as pipe diameter, and to reset variables, such as set zero on the cumulative flow. Read-write memory is only readable by using instruction 03. You can only change one parameter at a time with the write operation. If the length of the target register is 1, please use instruction 06. If the length is 2 registers, please use instruction 30. Please see read-write memory detail page below:
Read-write memory instruction detail information as below:
Read-write memory read instruction(03)
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.
Format of command (03) from master
Description of master command
The example will read A01 pipe diameter options and A02 Scale Factor.
slave address: 01(address of this flowmeter)
function code: 03(read instruction)
Address of first reading register: 0000(Address of first register to read)
Quantity of registers to be read: 0003 (need to read 2 registers from 0000)
CRC: 05 CB (Calculating error correcting code according to CRC algorithm)
Format of flowmeter response(03)
Description of flowmeter response example
slave address: 01(address of this flowmeter)
function code: 03(read instruction)
Amount of response Byte: 06 (3 register=6byte)
Data Byte:
00 00(Current pipe diameter is 1inch PVC)
3F 80 00 00(Current Scale Factor is 1.0)
CRC: 2C 89 (Calculating error correcting code according to CRC algorithm)
This instruction if for memory with 1 register length only, please refer to the .
Format of command (06) from master
Description of master command
This example will change A01 pipe diameter option
slave address: 01(address of this flowmeter)
function code: 06(Single Register write instruction)
Address of first reading register: 0000(memory address to write)
Write data: 0000 (1" PVC pipe)
CRC: C40B (Calculating error correcting code according to CRC algorithm)
Format of flowmeter response(06)
Description of flowmeter response example
Valid command received. It will output the same command back to master.
slave address: 01(address of this flowmeter)
function code: 06(Single Register write instruction)
Address of first reading register: 0000(memory address to write)
Write data: 0000 (1" PVC pipe)
CRC: C40B (Calculating error correcting code according to CRC algorithm)
This instruction if for memory with 2 register length only, please refer to the .
Format of command (30) from master
Description of master command
This example will change A02 Scale Factor value to 2.50
slave address: 01(address of this flowmeter)
function code: 30(double Register write instruction)
Address of first reading register: 0001(memory address to write)
Write data: 40 20 00 00 (Change A02 Scale Factor value to 2.50)
CRC: 98 0E (Calculating error correcting code according to CRC algorithm)
Format of flowmeter response(30)
Description of flowmeter response example
Valid command received. It will output the same command back to master.
slave address: 01(address of this flowmeter)
function code: 30(double Register write instruction)
Address of first reading register: 0001(memory address to write)
Write data: 40 20 00 00 (Change A02 Scale Factor value to 2.50)
CRC: 98 0E (Calculating error correcting code according to CRC algorithm)
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
03
00
00
00
03
05
CB
Byte#
1
2
3
4
5
6
7
8
9
10
11
Node ID
Slave Address
Function Code
Amount of response Byte
Data Byte #1
Data Byte
#2
Data Byte
#3
Data Byte
#4
Data Byte #5
Data Byte
#6
CRC
CRC
Example
01~FF
01
03
06
00
00
3F
80
00
00
2C
89
Byte# | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
Node ID | Slave Address | Function Code | Memory address to write | Memory address to write | Write data | Write data | Write data | Write data | CRC | CRC |
Example 01~FF | 01 | 30 | 00 | 01 | 40 | 20 | 00 | 00 | 98 | 0E |
Byte# | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
Node ID | Slave Address | Function Code | Memory address to write | Memory address to write | Write data | Write data | CRC | CRC |
Example 01~FF | 01 | 06 | 00 | 00 | 00 | 01 | 48 | 0A |
Byte# | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
Node ID | Slave Address | Function Code | Memory address to write | Memory address to write | Write data | Write data | CRC | CRC |
Example 01~FF | 01 | 06 | 00 | 00 | 00 | 01 | 48 | 0A |
Register location | Memory definition | Data type |
0001 | scale factor | float 32 |
0304 | upper limit | float 32 |
0306 | lower limit | float 32 |
030B | Total Target | float 32 |
0406 | 4mA Value | float 32 |
0408 | 20mA Value | float 32 |
040B | 4mA Adjust | float 32 |
040D | 20mA Adjust | float 32 |
Byte# | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
Node ID | Slave Address | Function Code | Memory address to write | Memory address to write | Write data | Write data | Write data | Write data | CRC | CRC |
Example 01~FF | 01 | 30 | 00 | 01 | 40 | 20 | 00 | 00 | 98 | 0E |
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.
Format of command (04) from master
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)
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)
How to use these charts
Read-only memory list
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
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
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.
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
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-write function
R stands for readable, W stands for writable. Some memories are write-only.
Register location
Register length
Memory definition
Data type
Read-write function
Remarks
A group parameters
0000
1
pipe type
unsigned int 16
R/W
Multiple choice parameter type
0001
2
scale factor
float 32
R/W
0003
1
anti noise
unsigned int 16
R/W
Multiple choice parameter type
0004
1
damping
unsigned int 16
R/W
0005
1
direction
unsigned int 16
R/W
Multiple choice parameter type
0006
1
neg flow
unsigned int 16
R/W
Multiple choice parameter type
0007
1
ext mode
unsigned int 16
R/W
Multiple choice parameter type
0008
1
Fast Update
unsigned int 16
R/W
Multiple choice parameter type
B group parameters
0100
1
vol unit
unsigned int 16
R/W
Multiple choice parameter type
0101
1
time unit
unsigned int 16
R/W
Multiple choice parameter type
0102
1
total unit
unsigned int 16
R/W
Multiple choice parameter type
0103
1
speed unit
unsigned int 16
R/W
Multiple choice parameter type
0104
1
Decimal Places
unsigned int 16
R/W
Multiple choice parameter type
C group parameters
0200
1
total method
unsigned int 16
R/W
Multiple choice parameter type
0201
1
clear total
unsigned int 16
W
0202
1
history function
unsigned int 16
R/W
Multiple choice parameter type
0203
1
clear history
unsigned int 16
W
D group parameters
0300
1
paddle alarm
unsigned int 16
R/W
Multiple choice parameter type
0301
1
magnetic alarm
unsigned int 16
R/W
Multiple choice parameter type
0302
1
battery alarm
unsigned int 16
R/W
Multiple choice parameter type
0303
1
flow limit alarm
unsigned int 16
R/W
Multiple choice parameter type
0304
2
upper limit
float 32
R/W
0306
2
lower limit
float 32
R/W
0308
1
hyster value
unsigned int 16
R/W
0309
1
total alram
unsigned int 16
R/W
Multiple choice parameter type
030A
1
total trigger
unsigned int 16
R/W
Multiple choice parameter type
030B
2
total target
float 32
R/W
030D
1
iout alarm
unsigned int 16
R/W
Multiple choice parameter type
030E
1
velocity alarm
unsigned int 16
R/W
Multiple choice parameter type
030F
1
pulse overlap
unsigned int 16
R/W
Multiple choice parameter type
E group parameters
0400
1
nc no
unsigned int 16
R/W
Multiple choice parameter type
0401
1
oct info
unsigned int 16
R/W
Multiple choice parameter type
0402
1
pulse width
unsigned int 16
R/W
Multiple choice parameter type
0403
1
modbus ID
unsigned int 16
R/W
0404
1
modbus baud
unsigned int 16
R/W
Multiple choice parameter type
0405
1
iout definition
unsigned int 16
R/W
Multiple choice parameter type
0406
2
0mA/ 4mA value
float 32
R/W
0408
2
20mA value
float 32
R/W
040A
1
iout error
unsigned int 16
R/W
Multiple choice parameter type
040B
2
4mA adj
float 32
R/W
040D
2
20mA adj
float 32
R/W
040F
1
Iout Range
unsigned int 16
R/W
Multiple choice parameter type
0410
1
PulseV2Unit
unsigned int 16
R/W
Multiple choice parameter type
F group parameters
0500
2
sim rate
float 32
R/W
0502
1
sim on - reserved
const
R
0503
1
sim pulse - reserved
const
R
G group parameters
0600
1
set year*1
unsigned int 16
R/W
0601
1
set month*1
unsigned int 16
R/W
0602
1
set day*1
unsigned int 16
R/W
0603
1
set time*2
unsigned int 16
R/W
0604
1
date format
unsigned int 16
R/W
Multiple choice parameter type
H group parameters
0700
1
led brightness
unsigned int 16
R/W
Multiple choice parameter type
0701
1
lcd brightness
unsigned int 16
R/W
Multiple choice parameter type
0702
1
green light
unsigned int 16
R/W
Multiple choice parameter type
0703
1
lang
unsigned int 16
R/W
Multiple choice parameter type
0704
1
paddle init
unsigned int 16
W
0705
1
reset
unsigned int 16
W
0706
1
Lock Device
unsigned int 16
R/W
Multiple choice parameter type
0707
1
Password
unsigned int 16
R/W
Only 4 digits
Memory address
Memory definition
unsigned int 16 value
Corresponding option
Remarks
0000
pipe type
0
1 inch
1
3/4 inch
2
2 inch
3
Scale Mode
4
2-1/2 inch
5
1-1/4 inch
6
1-1/2 inch
7
1 inch V2
Memory address
Memory definition
unsigned int 16 value
Corresponding option
Remarks
0003
anti noise
0
off
1
on
Memory address
Memory definition
unsigned int 16 value
Corresponding option
Remarks
0005
direction
0
normal
1
inverse
Memory address
Memory definition
unsigned int 16 value
Corresponding option
Remarks
0006
neg flow
0
off
1
on
Memory address
Memory definition
unsigned int 16 value
Corresponding option
Remarks
0007
ext mode
0
off
1
on
Memory address
Memory definition
unsigned int 16 value
Corresponding option
Remarks
0008
Fast Update
0
off
1
on
Memory address
Memory definition
unsigned int 16 value
Corresponding option
Remarks
0100
vol unit
0
L
1
m3
2
us gallon
3
imperial gallon
4
ft3
Memory address
Memory definition
unsigned int 16 value
Corresponding option
Remarks
0101
time unit
0
second
1
minute
2
hour
3
day
Memory address
Memory definition
unsigned int 16 value
Corresponding option
Remarks
0102
total unit
0
L
1
m3
2
us gal
3
imp gal
4
ft3
Memory address
Memory definition
unsigned int 16 value
Corresponding option
Remarks
0103
speed unit
0
m/s
1
ft/s
Memory address
Memory definition
unsigned int 16 value
Corresponding option
Remarks
0104
Decimal Places
0
0
1
1
2
2
3
3
4
4
Memory address
Memory definition
unsigned int 16 value
Corresponding option
Remarks
0200
total method
0
pos
1
neg
2
net
Memory address
Memory definition
unsigned int 16 value
Corresponding option
Remarks
0202
history function
0
off
1
on
Memory address
Memory definition
unsigned int 16 value
Corresponding option
Remarks
0300
paddle alarm
0
off
1
on
Memory address
Memory definition
unsigned int 16 value
Corresponding option
Remarks
0301
magnetic alarm
0
off
1
on
Memory address
Memory definition
unsigned int 16 value
Corresponding option
Remarks
0302
battery alarm
0
off
1
on
Memory address
Memory definition
unsigned int 16 value
Corresponding option
Remarks
0303
flow limit alarm
0
off
1
on
Memory address
Memory definition
unsigned int 16 value
Corresponding option
Remarks
0309
total alarm
0
off
1
on
Memory address
Memory definition
unsigned int 16 value
Corresponding option
Remarks
030A
total trigger
0
higher than target
1
lower than target
Memory address
Memory definition
unsigned int 16 value
Corresponding option
Remarks
030D
iout alarm
0
off
1
on
Memory address
Memory definition
unsigned int 16 value
Corresponding option
Remarks
030E
velocity alarm
0
off
1
on
Memory address
Memory definition
unsigned int 16 value
Corresponding option
Remarks
030F
pulse overlap
0
off
1
on
Memory address
Memory definition
unsigned int 16 value
Corresponding option
Remarks
0400
nc no
0
nc
1
no
Memory address
Memory definition
unsigned int 16 value
Corresponding option
Remarks
0401
oct info
0
alarm a
1
alarm a b
2
alarm a b c
3
over flow volume
4
over total
5
paddle pulse
6
PulseV2
7
off
Memory address
Memory definition
unsigned int 16 value
Corresponding option
Remarks
0402
pulse width
0
0.5ms
1
1ms
2
10ms
Memory address
Memory definition
unsigned int 16 value
Corresponding option
Remarks
0404
modbus baud
0
9600
1
19200
2
38400
3
57600
4
off
Memory address
Memory definition
unsigned int 16 value
Corresponding option
Remarks
0405
iout definition
0
flow volume
1
velocity
2
total
3
off
Memory address
Memory definition
unsigned int 16 value
Corresponding option
Remarks
040A
iout error
0
2.4 mA & 21.6 mA
1
2.4 mA
2
21.6 mA
3
4&20mA or 0&20mA
Memory address
Memory definition
unsigned int 16 value
Corresponding option
Remarks
040F
Iout Range
0
4-20mA
1
0-20mA
Memory address
Memory definition
unsigned int 16 value
Corresponding option
Remarks
0410
PulseV2Unit
0
0.001
1
0.002
2
0.003
3
0.005
4
0.007
5
0.01
6
0.02
7
0.03
8
0.05
9
0.07
10
0.1
11
0.2
12
0.3
13
0.5
14
0.7
15
1.0
Memory address
Memory definition
unsigned int 16 value
Corresponding option
Remarks
0604
date format
0
yyyy-mm-dd
1
yyyy/mm/dd
2
dd/mm/yyyy
3
mm/dd yy
Memory address
Memory definition
unsigned int 16 value
Corresponding option
Remarks
0700
led brightness
0
low
1
medium
2
high
Memory address
Memory definition
unsigned int 16 value
Corresponding option
Remarks
0701
lcd brightness
0
low
1
medium
2
high
Memory address
Memory definition
unsigned int 16 value
Corresponding option
Remarks
0702
green light
0
always on
1
10 seconds
2
60 seconds
Memory address
Memory definition
unsigned int 16 value
Corresponding option
Remarks
0703
Language
0
English
1
Traditional Chinese
2
Simplified Chinese
Memory address
Memory definition
unsigned int 16 value
Corresponding option
Remarks
0706
Lock Device
0
Off
1
On
2
60 seconds