0% found this document useful (0 votes)
3 views

USW DN15-DN40 Modbus protocol

The USW Series DN15-40 is an ultrasonic water meter that utilizes the Modbus protocol for communication via an RS485 interface with a power supply of 24V. It features various Modbus register mappings for reading and writing data related to flow, meter status, and temperature, among others. The meter supports a range of data types and units, allowing for detailed monitoring and management of water flow and usage.

Uploaded by

alb abyad
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

USW DN15-DN40 Modbus protocol

The USW Series DN15-40 is an ultrasonic water meter that utilizes the Modbus protocol for communication via an RS485 interface with a power supply of 24V. It features various Modbus register mappings for reading and writing data related to flow, meter status, and temperature, among others. The meter supports a range of data types and units, allowing for detailed monitoring and management of water flow and usage.

Uploaded by

alb abyad
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 24

USW Series DN15-40

Ultrasonic water meter

Modbus protocol
1. Communication interface: RS485
2. Power supply voltage 24V. After 30 seconds of power
supply, RS485 communication can be performed.
3. Communication parameters:
Default 9600bps, parity check, 8bit data bit, 1bit stop bit, 1bit start
bit.

4. MODBus register Mapping


Register address Register, name Data Stats Remarks
cell
type

1 seconds Hex write


2 minute Hex write
3 Hours Hex write
4 day Hex write
5 month Hex write
6 years Hex write

16 ModBus address Hex write 0x06 function code


512(0x200) Reverse flow Hex Read Unit mL
high 32 bits high Only
16 bits
0x201 Reverse flow
high 32 bits low
16 bits
0x202 Reverse flow low
32 bits high 16
bits
0x203 Reverse flow low
32 bits low 16
bits
0x204 Cumulative flow Hex Read Unit/mL
High 16 bits of only (according to the
high 32 bits customer's own
0x205 Cumulativeflow needs to read
high 32 bits low the data choice
16 bits is mL or the
0x206 Cumulative flow following 0.1L)
Low 32 bits high
16 bits
0x207 Low 16 bits of
low 32 bits of
cumulative flow
0x208 Meter Status Hex Read Parsing by bit
Word Only
0x209 High 16 bits of Hex Read Units 1 mL/h
instantaneous only
flow
0x20A The lower 16 bits
of instantaneous
flow
0x20B Current meter Hex Read Unit /0.01 ° C
water temperature Only
0x20C seconds Hex Read
Only
0x20D minute Hex Read
only
0x20E hour Hex Read
Only
0x20F day Hex Read
Only
0x210 month Hex Read
Only
0x211 years Hex Read
only
0x212 The higher 16 Hex Read
digits of Only
accumulated
hours worked
0x213 Lower 16 digits of Hex Read
accumulated Only
hours worked
0x214 Battery voltage Hex Read 0.01 V
Only
0x215 Attached Status Hex Read
Word Only
0x216 Meter address Hex Read
Only
0x217 software version Hex Read
number 1 Only
0x218 softwerversion Hex Read
number 2 Only
...
...
...
2048(0x800) High 16 bits of Hex Read Units 0.1L
reverse flow Only
2049(0x801) Low 16 bits of
reverse flow
2050(0x802) High 16 bits of Hex Read Units 0.1L
cumulative traffic Only
2051(0x803) Low 16 bits of
cumulative flow
2052(0x804) Meter status word Hex Read Parsing by bit
Only
2053(0x805) Instantaneous Hex Read Units 1L/h
flow Only
2054(0x806) Current meter Hex Read Only Unit 0.01 ° C
water temperature
2055(0x807) Minutes and Hex Read Only Each minute
hours \ hour is a
byte
2056(0x808) Day and month Hex Read Only One byte for
each day \
month
2057(0x809) years Hex Read Only
2058(0x80A) The higher 16 Hex Read Only
digits of
accumulated
hours worked
2059(0x80B) The lower 16 Hex Read Only
digits of
accumulated
hours worked
2060(0x80C) Battery voltage Hex Read Only 0.01 V
2061(0x80D) Attached status Hex Read Only
word
2062 Meter address Hex Read only
2063 software version Hex Read Only
number 1
2064 software version Hex Read Only
number 2
...
...
...
...

0xE00 The reverse flow


freeze data is 16
bits higher during
battery Low
alarm
The reverse flow
freeze data is 16
bits higher when
the battery low
voltage alarm is
generated
When the battery
low voltage alarm
is generated, the
forward flow
freezing data is
16 bits higher
The forward flow
freeze data is 16
bits higher when
the battery low
voltage alarm is
generated
When battery low
voltage alarm
Cumulative
working time high
16 bits
When the battery
low voltage alarm
Accumulated
working time low
16 bits
When the battery
low voltage alarm
Number of
occurrences
When the battery
is low voltage
alarm
Minutes and
hours
When the battery
is low enough to
alarm
Day and Month
When the battery
is low
years
0xE20 Reverse flow

0xE40 Overloaded flow


Occurs

0xE60 An Abnormal
Water Leak
Occurs

0xE80 An abnormal pipe


burst occurs

0xEA0 Abnormal Water


Temperature

0xEC0 Abnormal sound


channel

0xEE0 Empty pipe

8192(0x2000) Reverse flow Hex Read Unit 0.1L; Read


freeze data is 16 Only hours freeze
bits higher in the data just on the
first 1 hour hour.
8193(0x2001) Reverseflow Hex Read Units 0.1L
freeze data low Only
16 bits in the first
1 hour
8194(0x2002) Forward flow Hex Read Units 0.1L
freeze data 16 Only
bits higher in last
hour
8195(0x2003) Forward flow Hex Read Units 0.1L
freeze 16 bits Only
lower in last hour
8196(0x2004) 16 digits higher
cumulative hours
worked in the
previous 1 hour
8197(0x2005) 16 digits lower
accumulated
hours worked in
the previous 1
hour
8198(0x2006) Minutes and Hex Read Each minute \
hours of the first 1 Only hour is a byte
hour
8199(0x2007) Day and month of Hex Read One byte for
the previous 1 Only each day \ month
hour
8200(0x2008) Year of the Hex Read
previous 1 hour Only
...
...
8224 Reverse flow
(0x2010) freeze data 16
bits higher in first
2 hours
0x2011 Reverse flow
freeze data low
16 bits in the first
2 hours
0x2012 Forward flow
freezes for the
first 2 hours
Data is 16 bits
higher
0x2013 Forward flow
freeze data is 16
bits lower in the
first 2 hours
0x2014 Previous 2 hours
accumulated
work time is 16
digits higher
0x2015 The accumulated
working time in
the previous 2
hours is 16 digits
lower
0x2016 Minutes and
hours of the first 2
hours
0x2017 Day and month
for the first 2
hours
0x2018 The year of the
first 2 hours
...
...
0x6FF0 The reverse flow
freeze data is 16
bits higher for the
first 1280 hours
0x6FF1 First 1280 hours
reverse flow
freeze data low
16 bits
0x6FF2 First 1280 hours
forward flow
freeze data is 16
bits higher
0x6FF3 Forward flow
frozen in the first
1280 hours is 16
bits lower
0x6FF4 The first 1280
hours
accumulated
work time is 16
digits higher
0x6FF5 The first 1280
hours
accumulated
work time is 16
digits lower
0x6FF6 Minutes and
hours of the first
1280 hours
0x6FF7 Days and months
for the first 1280
hours
0x6FF8 The year of the
first 1280 hours
...
...

0x7000 Previous 1 day Hex Read Units 0.1L


reverse flow only
freeze data is 16
bits higher
0x7001 Previous 1 day Hex Read Units 0.1L
reverse flow Only
freeze data is 16
bits lower
0x7002 Positive flow Hex Read Units 0.1L
freeze data 16 Only
bits higher in
previous day
0x7003 Number of Hex Read Unit 0.1L
forward flow Only
freezes in the
previous day
Data in the lower
16 digits
0x7004 16 digits higher
cumulative hours
worked in the
previous day
0x7005 16 digits lower
than
accumulated
hours worked in
the previous day
0x7006 Minutes and Hex Read Each minute \
hours of the Only hour is a byte
previous 1 day
0x7007 Day and month of Hex Read One byte for
the previous 1 day Only each day \ month
0x7008 Year of the Hex Read
previous 1 day Only
...
...
0x7020 Previous 2 days Hex Read Units 0.1L
reverse flow Only
freeze data is 16
bits higher
0x7021 The reverse flow Hex Read Units 0.1L
freeze data in the Only
previous 2 days
is 16 bits lower
0x7022 Positive flow Hex Read Units 0.1L
freeze data is 16 Only
bits higher in the
previous 2 days
0x7023 Previous 2 days Hex Read Units 0.1L
forward flow Only
freeze data is 16
digits lower
0x7024 16 digits higher
cumulative hours
worked in the
previous 2 days
0x7025 16 digits lower
accumulated
hours worked in
the previous 2
days
0x7026 Minutes and Hex Read Each minute \
hours of the Only hour is a byte
previous 2 days
0x7027 Days and months Hex Read One byte for
of the previous 2 Only each day \ month
days
0x7028 Previous 2 days Hex Read
of the year Only
...
...
0xCFE0 The reverse flow Hex Read Units 0.1L
freeze data in the Only
last 768 days is
16 bits higher
0xCFE1 Previous 768 Hex Read Units 0.1L
days reverse flow Only
freeze data is 16
bits lower
0xCFE2 Previous 768 Hex Read Units 0.1L
days positive flow Only
freeze data is 16
bits higher
0xCFE3 Previous 768 Hex Read Units 0.1L
days positive flow only
freeze data is 16
bits lower
0xCFE4 16 digits higher
cumulative hours
worked in the
previous 768
days
0xCFE5 Cumulative hours
worked in the
previous 768 days
Lower 16 digits
0xCFE6 Minutes and Hex Read Each minute \
hours of the first Only hour is a byte
768 days
0xCFE7 Days and months Hex Read One byte for
of the first 768 Only each day, one
days byte for each
month
0xCFE8 The year of the Hex Read
first 768 days Only
...
...
0xD000 Previous first Hex Read Units 0.1L
month reverse Only
flow freeze data
is 16 bits higher
0xD001 Previous month Hex Read Unit 0.1L
reverse flow Only
freeze data is 16
digits lower
0xD002 Previous month Hex Read Units 0.1L
forward flow Only
freeze data is 16
bits higher
0xD003 Previous month Hex Read Units 0.1L
forward flow Only
freeze data is 16
digits lower
0xD004 16 digits higher
cumulative hours
worked in the
previous month
0xD005 16 digits lower in
accumulated
hours worked in
the previous
month
0xD006 Minutes and Hex Read Each minute \
hours of the Only hour is a byte
previous month
0xD007 The day and Hex Read One byte for
month of the Only each day \ month
preceding month
0xD008 Previous 1 year Hex Read
Only
...
...
0xD020 The number of Hex Read Units 0.1L
reverse flow Only
frozen in the
previous two
months is 16 bits
higher
0xD021 Previous 2 Hex Read Units 0.1L
months reverse Only
flow freeze data
is 16 digits lower
0xD022 Previous 2 Hex Read Units 0.1L
months forward Only
flow freeze data
is 16 bits higher
0xD023 Previous 2 Hex Read Units 0.1L
months forward Only
flow freeze data
is 16 digits lower
0xD024 16 digits higher
cumulative hours
worked in the
previous 2
months
0xD025 16 digits lower in
cumulative hours
worked in the
previous 2
months
0xD026 Minutes and Hex Read Each minute \
hours of the Only hour is a byte
previous 2month
0xD027 Days and months Hex Read One byte for
of previous 2 Only each day, one
month byte for each
month
0xD028 Previous 2 month Hex Read
of the year Only
.......
...
0xEFE0 The reverse flow Hex Read Units 0.1L
freeze in the first Only
256 months is 16
bits higher
0xEFE1 The reverse flow Hex Read Unit 0.1L
freeze in the first Only
256 months is 16
bits lower
0xEFE2 The forward flow Hex Read Units 0.1L
frozen data in the Only
first 256 months
is 16 bits higher
0xEFE3 The forward flow Hex Read Units 0.1L
frozen data in the Only
first 256 months
is 16 bits lower
0xEFE4 16 digits higher in
cumulative hours
worked in the first
256 months
0xEFE5 16 digits lower in
cumulative hours
worked in the first
256 months
0xEFE6 Minutes and Hex Read Each minute \
hours of the first Only hour is a byte
256 months
0xEFE7 Days and months Hex Read One byte for
for the first 256 Only each day \ month
months
0xEFE8 The first 256 Hex Read
months of the Only
year
...
...
0xFF00 Meter Serial Hex Read The high 4-bit
number Only address of the
meter address
id4,id3(cj188)
0xFF01 Meter Serial Hex Read The lower 4 digit
number Only address of the
meter address
id2,id1(cj188
meter address)

4. Supported Function codes


0x03 Read register data
0x10 Writes multiple registers; Only support simultaneous write
time seconds timesharing day month year
0x6 Write the modbus address
0x05 button state, meter and other meters active last time
data. For the point-to-point meter, some abnormal states of
the imeters can be actively uploaded, and the meter is the
host.

5. Support the broadcast address command


TheUpper computer sends hexadecimal: 00 03 00 01 00 02 94 1A
Address: 00;
Reading function code: 03;
Data register address: 0001, data length 0002
CRC16 Check: CRCL, CRCH: 94 1A
6 Write multiple registers 0x10
For the time being, only write
support:second/minute/hour/day/month/year

7 Meter active last time 0x05 (As a host, the meter does not
need to feedback after receiving channel data from the slave
machine)

Points to note:
1 Write time is not recommended at the hour, because there
will be data freezing action at the hour
2 Read hour freeze data just on the hour. The same day
freeze and the month freeze problem

Reading command:
3.1 Reading of real-time data
Example 1:
Software hexadecimal sending:
00 03 02 00 00 08 44 65

Address: 00h 0;
Reading function code: 03;
Data register address: 0000, data length 0008
CRC16 Check: CRCL, CRCH: 45 DD
Water meter Reply:
11 03 10 00 00 00 00 00 00 7E BD 00 00 00 00 00 01 F0 89
FA 75

11 03 10 00 00 00 00 00 00 00 00 00 00 00 00 00 93 62 DC
F8 4E
Water meter Modbus Address: 17 (0x11)
Data byte length: 10h 16
Read reverse flow 8 bytes: 00 00 00 00 00 00 7E BD: that is
0x7EBD, decimal 32.445 L.
Flow 8 bytes: 00 00 00 00 00 01 F0 89 is 0x1F089, 127.113 L
in decimal.
Example 2:
Software hexadecimal sending:
00 03 08 02 00 03 A7 BA
11 03 06 00 00 04 F7 00 40 5D 87
11 03 06 00 01 79 4F 00 40 F8 0E
Flow 4 bytes: 00 00 04 F7 is 0x4F7, 127.1L in decimal
Status 2 bytes: 00 4
3.2 Read of historical data
1, historical data can be read one time at a time.
2, the hourly historical data can only read 16 registers at a
time, and the daily and monthly historical data can read 32
registers at a time.
3, the existing history register is only used for 8 contents, and
the rest is reserved register
4, the number of existing historical data records, 316 hours of
historical data, 366 days of historical data, 84 months of
historical records. It may be adjusted later according to the
need. Set 0xFF for all data in the hyperhistory

Example 1:
Read the historical hour data
Upper computer hexadecimal sending:
00 03 20 02 00 04 EF D8 // Accumulated flow and
accumulated working time 1 hour before reading
Meter feedback: 11 03 08 00 01 79 4F 00 00 00 1D 4F B9

00 03 20 10 00 06 CE 1C // 2 hours before reading


cumulative reverse flow, cumulative flow and cumulative
operating time Meter feedback: 11 03 0C 00 00 00 00 01 6C
4E 00 00 00 00 1C F3 17

11 03 2C 00 00 00 00 00 01 11 48 00 00 00 15 3B 09 09 03
07 E5 FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 4C 62

11 03 2C 00 00 00 00 00 00 00 36 00 00 00 00 3B 0C 08 03
07 E5 FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF AF 6E

11 03 2C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
07 D0 FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 16 A5
Read the freeze day data
00 03 70 20 00 06 DF 13 /// Read the previous 2 days
11 03 0C 00 00 00 00 00 00 00 00 00 00 00 00 83 7C

11 03 40 00 00 00 00 00 00 8F 3E 00 00 00 0B 3B 17 08 03
07 E5 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF
FF FF FF FF FF 00 ED

Read frozen month data

00 03 D0 20 00 06 FD 13 /// Read the previous 2month

3.3 Write multiple registers 0x10


Only the meter time register can be written

11 10 00 01 00 06 0C 00 07 00 23 00 12 00 03 00 05 07 E4
FC BA

00 07 00 23 00 12 00 03 00 05 07 E4the time and


date:18:35.07 on 3 May 2020

11 10 00 01 00 06 13 5B
Meter feedback
11 10 00 0C 00 06 82 98
Addendum
Table System Status word ST
Status ST The first byte defines the table
D0 D1 D2 D3 D4 D5 D6 D7
Flow Installati
Battery Tempe sensor on
Definition Reser voltage Pipe Water rature failure position
burst Leaks anoma or status
ly empty
pipe
0: 0: 0: 0: 0: 0:
Instructio Reser Normal normal Normal Norma normal
normal
ns chu 1: pipe 1: 1: faulty 1:
1: low burst Leakin 1: Revers
voltage g anoma e
ly

Status ST Second byte Define table


D0 D1 D2 D3 D4 D5 D6 D7
Definition flowover Abnorma Res Res Res Res Reserve Meter
load sensor erve erve erve erve status
sound
channel
0:
Instructio 0: Normal 0: Normal rese Res Res Rese Reserve
1: 1: Fault Normal
ns rve erve erve rve
Overload 1:
Verified
measur
ement
Append status word

Status ST2 First byte define table


D0 D1 D2 D3 D4 D5 D6 D7
Definition Reservatio Reserve Reserv Reserv Reser Reserve Reserve
ns e e ve
Instructio Reservatio Reserve Reserv Reserv Reser Reserve reserve
ns ns e e ve

Status ST2 Second byte Define table


D0 D1 D2 D3 D4 D5 D6 D7
Definition Reservatio Rese Reser Res Reser reserve Reserv Button
ns rve ve erve ve e upload
0:
Instructio Reservatio Rese Reser Res Reser Reserv Reserv
Normal
ns ns rve ve erve ve e e
1: Key

You might also like