Danfoss SonoMeter 40 Wired M-Bus Protocol Description Instruction Manual

June 4, 2024
Danfoss

Danfoss-logo

Danfoss SonoMeter 40 Wired M-Bus Protocol Description

Danfoss-SonoMeter-40-Wired-M-Bus-Protocol-Description-
product

General structure of protocol

General features of protocol

  • Meter uses an M-bus protocol.
  • Default baud rate: 2400 bps, Even, 1 Stop.
  • The Baud rate can be changed.
  • The protocol is the same for the Mbus interface and for the optical interface.
  • The primary address of Mbus is individual for the Mbus interface and for the optical interface.

Data strings

Data string to meter SND_NKE:

1 2 3 4 5
10h 40h A CS 16h
  • A – M-bus primary address of meter
  • CS – control sum (the youngest byte of amount of 2-nd and 3-rd bytes)

Data string to meter SND_UD2

1| 2| 3| 4| 5| 6| 7| 8…n- 2| n- 1| n
---|---|---|---|---|---|---|---|---|---
68h| L| L| 68h| 53h 73h| A| 51h| Data bytes| CS| 16h

  • L – length of string (the number of bytes from 5-th to n-2 byte)
  • A – M-bus primary address of meter
  • CS – control sum (the youngest byte of the amount of 5-th to n-2 bytes)

Data string to meter REQ_UD2:

1 2 3 4 5
10h 5Bh 7Bh A CS 16h
  • A – M-bus primary address of the meter
  • CS – control sum (the youngest byte of the amount of 2-nd and 3-rd bytes)

The answer of the meter CON:

  • E5h

Answer of the meter RSP_UD2:

1| 2| 3| 4| 5| 6| 7| 8…11| 12, 13| 14| 15| 16| 17| 18,19
---|---|---|---|---|---|---|---|---|---|---|---|---|---
68h| L| L| 68h| C| A| CI| ID| Man| Vrs| Md| TC| St| Sign
20| | | | | | n-2| n- 1| n
---|---|---|---|---|---|---|---|---
DIF| VIF| Data|  | DIF| VIF| Data| CS| 16h

  • L – length of string (the number of bytes from 5-th to n-2 byte)
  • C – „C field“ (08)
  • A – M-bus primary address of the meter
  • CI – „CI field“
  • ID – identification number of a meter (BSD8, used for secondary addressing, can be changed – see paragraph 4.1),
  • Man – Manufacturer code (Danfoss A/S manufacturer code is „DFS“, 10 D3)
  • Vrs – number of protocol versions (0Bh)
  • Md – code of medium (for „heat / cold energy“: 0Dh)
  • TC – counter of telegrams
  • St – meter status code
  • Sign – 00 00
  • The bytes 20…n-2 is data from the meter:
    • DIF – code of data format
    • VIF – code of data units
    • Data– values of data
  • CS – control sum (the youngest byte of the amount of 5-th to n-2 bytes).

Selection of the data type

Master sends to the meter telegram SND_UD2:

68h 03h 03h 68h 53h 73h A 50h CS 16h

Selection of the data type “All data”

68h 04h 04h 68h 53h 73h A 50h 00h CS 16h

Answer of the meter CON (if A not equal FFh):

  • E5h

Selection of the data type “User data”
Master sends to the meter telegram SND_UD2:

68h 04h 04h 68h 53h 73h A 50h 10h CS 16h

Answer of the meter CON (if A not equal FFh):

  • E5h

Selection of the data type “Simple billing” (Years logger)
Master sends to the meter telegram SND_UD2:

68h 04h 04h 68h 53h 73h A 50h 20h CS 16h

Answer of the meter CON (if A not equal FFh):

  • E5h

Selection of the data type “Enhanced billing” (Days logger)
Master sends to the meter telegram SND_UD2:

68h 04h 04h 68h 53h 73h A 50h 30h CS 16h

Answer of the meter CON (if A not equal FFh):

  • E5h

Selection of the data type “Multi tariff billing” (Months logger)
Master sends to the meter telegram SND_UD2:

68h 04h 04h 68h 53h 73h A 50h 40h CS 16h

Answer of the meter CON (if A not equal FFh):

  • E5h

Selection of the data type “Instantaneous values”
Master sends to the meter telegram SND_UD2:

68h 04h 04h 68h 53h 73h A 50h 50h CS 16h

Answer of the meter CON (if A not equal FFh):

  • E5h

Selection of the data type “Load management values for management” (Hours logger)
Master sends to the meter telegram SND_UD2:

68h 04h 04h 68h 53h 73h A 50h 60h CS 16h

Answer of the meter CON (if A not equal FFh):

  • E5h

Selection of the data type “Installation and startup”
Master sends to the meter telegram SND_UD2:

68h 04h 04h 68h 53h 73h A 50h 80h CS 16h

Answer of the meter CON (if A not equal FFh):

  • E5h

Master sends to the meter telegram SND_UD2:

68h 04h 04h 68h 53h 73h A 50h 90h CS 16h

Selection of the data type “Testing”
Answer of the meter CON (if A not equal FFh):

  • E5h

The parameter list for preselecting

If not satisfied with Default parameter lists (presented in tables 1 … 9). Obtain the desired parameter list presented in Table 11th.
(Paragraph 2.1 … 2.9) Additionally it is needed to send the parameter selecting telegram SND_UD2:

68h L L 68h 53h 73h A 51h SEL1 SEL2 SELN CS 16h
  • SEL selecting parameter code from the table of 11 (made out of sequence as many codes as you want to select of the parameters).

Note: It may be selected as many parameters but the Response telegram length can not exceed 250 bytes

Answer of the meter CON (if A not equal FFh):

  • E5h

Data request

Master sends to the meter telegram SND_UD2:

10h 53h 73h A CS 16h

Data request
In all cases, except A = FFh, meter response RSP_UD2 telegram with selected data (tables 1 …9) If no data record, the answer of meter is CON:

  • E5h

Application reset sub-codes and storages: All data (CI = 50 or CI = 50 00)

Default list

# Parameter DIF VIF Type Units
1 Date and time 04 6D 32 bit integer Type F
2 Date and time of error starting 34 6D 32 bit integer Type F
3 Error code 34 FD 17 32 bit integer
4 Battery operation time 04 20 32 bit integer sec
5 Working time without error 04 24 32 bit integer sec

6

|

Energy for heating

| (04 86 3B)

(04 8E 3B) (04 FB 8D 3B)

|

32 bit integer

| (kWh),

(MJ),

(Mcal).

7

|

Energy for cooling *

| (04 86 3C)

(04 8E 3C) (04 FB 8D 3C)

|

32 bit integer

| (kWh),

(MJ),

(Mcal).

8

|

Energy of tariff 1 *

| (84 10 86 3x)

(84 10 8E 3x)

(84 10 FB 8D 3x)

|

32 bit integer

| (kWh),

(MJ),

(Mcal).

9

|

Energy of tariff 2 *

| (84 20 86 3x)

(84 20 8E 3x)

(84 20 FB 8D 3x)

|

32 bit integer

| (kWh),

(MJ),

(Mcal).

10| Volume| 04 13| 32 bit integer| 0,001 m3
11| Volume of pulse input 1 | 84 40 13| 32 bit integer| 0,001 m3
12| Volume of pulse input 2
| 84 80 40 13| 32 bit integer| 0,001 m3
13| Power| 04 2B| 32 bit integer| W
14| Flow rate| 04 3B| 32 bit integer| 0,001m3/h
15| Temperature 1| 02 59| 16 bit integer| 0,01ºC
16| Temperature 2| 02 5D| 16 bit integer| 0,01ºC
17| Temperature difference| 02 61| 16 bit integer| 0,01K
18| Serial number| 0C 78| 32bit BCD8|
19| CRC| 02 7F| 16 bit integer| CRC16

x = B – for energy for heating, x = C – for energy for cooling.

Meter data coding

Application reset sub-codes and storages: User data (CI = 50 10)

Default list

# Parameter DIF VIF Type Units
1 Date and time 04 6D 32 bit integer Type F
2 Date and time of error starting 34 6D 32 bit integer Type F
3 Error code 34 FD 17 32 bit integer
4 Battery operation time 04 20 32 bit integer sec
5 Volume of pulse input 1 * 84 40 13 32 bit integer 0,001 m3
6 Volume of pulse input 2 * 84 80 40 13 32 bit integer 0,001 m3
7 Pulse value of input 1 * 02 93 28 16 bit integer 0,001 m3
8 Pulse value of input 2 * 02 93 29 16 bit integer 0,001 m3
9 Pulse value of output 1 * 02 93 2A 16 bit integer 0,001 m3
10 Pulse value of output 2 * 02 93 2B 16 bit integer 0,001 m3
11 Software version 01 FD 0E 8 bit integer
12 Yearly set day 42 EC 7E Type G
13 Monthly set day 82 08 EC 7E Type G
14 Meter type 0D FD 0B 88 bit string
15 Serial number 0C 78 32bit BCD8
16 CRC 02 7F 16 bit integer CRC16

Application reset sub-codes and storages: Simple billing (Years logger) (CI = 50 20)

Default list

# Parameter DIF VIF Type Units
1 Logger date and time 44 6D 32 bit integer Type F
2 Logger working time without error 44 24 32 bit integer sec

3

|

Logger energy for heating

| (44 86 3B)

(44 8E 3B) (44 FB 8D 3B)

|

32 bit integer

| (kWh),

(MJ),

(Mcal).

4

|

Logger energy for cooling *

| (44 86 3C)

(44 8E 3C) (44 FB 8D 3C)

|

32 bit integer

| (kWh),

(MJ),

(Mcal).

5

|

Logger energy of tariff 1 *

| (C4 10 86 3x) (C4 10 8E 3x) (C4 10 FB 8D 3x)|

32 bit integer

| (kWh),

(MJ),

(Mcal).

6

|

Logger energy of tariff 2 *

| (C4 20 86 3x) (C4 20 8E 3x) (C4 20 FB 8D 3x)|

32 bit integer

| (kWh),

(MJ),

(Mcal).

7| Logger volume| 44 13| 32 bit integer| 0,001 m3
8| Logger volume of pulse input 1 | C4 40 13| 32 bit integer| 0,001 m3
9| Logger volume of pulse input 2
| C4 80 40 13| 32 bit integer| 0,001 m3
10| CRC| 02 7F| 16 bit integer| CRC16

x = B – for energy for heating, x = C – for energy for cooling

Application reset sub-codes and storages: Enhanced billing (Days logger) (CI = 50 30)

Default list

# Parameter DIF VIF Type Units
# Parameter DIF VIF Type Units
1 Logger date and time 84 08 6D 32 bit integer Type F
2 Average temperature 1 82 08 59 16 bit integer 0,01ºC
3 Average temperature 2 82 08 5D 16 bit integer 0,01ºC
4 Logger working time without error 84 08 24 32 bit integer sec

5

|

Logger energy for heating

| (84 08 86 3B)

(84 08 8E 3B)

(84 08 FB 8D 3B)

|

32 bit integer

| (kWh),

(MJ),

(Mcal).

6

|

Logger energy for cooling *

| (84 08 86 3C)

(84 08 8E 3C)

(84 08 FB 8D 3C)

|

32 bit integer

| (kWh),

(MJ),

(Mcal).

7

|

Logger energy of tariff 1 *

| (84 18 86 3x)

(84 18 8E 3x)

(84 18 FB 8D 3x)

|

32 bit integer

| (kWh),

(MJ),

(Mcal).

8

|

Logger energy of tariff 2 *

| (84 28 86 3x)

(84 28 8E 3x)

(84 28 FB 8D 3x)

|

32 bit integer

| (kWh),

(MJ),

(Mcal).

9| Logger volume| 84 08 13| 32 bit integer| 0,001 m3
10| Logger volume of pulse input 1 | 84 48 13| 32 bit integer| 0,001 m3
11| Logger volume of pulse input 2
| 84 88 40 13| 32 bit integer| 0,001 m3
12| Logger duration when q > qmax| 84 08 BB 58| 32 bit integer| sec
13| CRC| 02 7F| 16 bit integer| CRC16

x = B – for energy for heating, x = C – for energy for cooling.

Application reset sub-codes and storages: Multi tariff billing (Months logger) (CI = 50 40)

Default list

# Parameter DIF VIF Type Units
1 Logger date and time 84 08 6D 32 bit integer Type F
2 Average temperature 1 82 08 59 16 bit integer 0,01ºC
3 Average temperature 2 82 08 5D 16 bit integer 0,01ºC
4 Logger working time without error 84 08 24 32 bit integer sec

5

|

Logger energy for heating

| (84 08 86 3B)

(84 08 8E 3B)

(84 08 FB 8D 3B)

|

32 bit integer

| kWh (MJ)

(Mcal)

6

|

Logger energy for cooling *

| (84 08 86 3C)

(84 08 8E 3C)

(84 08 FB 8D 3C)

|

32 bit integer

| kWh (MJ)

(Mcal)

7

|

Logger energy of tariff 1 *

| (84 18 86 3x)

(84 18 8E 3x)

(84 18 FB 8D 3x)

|

32 bit integer

| kWh (MJ)

(Mcal)

8

|

Logger energy of tariff 2 *

| (84 28 86 3x)

(84 28 8E 3x)

(84 28 FB 8D 3x)

|

32 bit integer

| kWh (MJ)

(Mcal)

9| Logger volume| 84 08 13| 32 bit integer| 0,001 m3
10| Logger volume of pulse input 1 | 84 48 13| 32 bit integer| 0,001 m3
11| Logger volume of pulse input 2
| 84 88 40 13| 32 bit integer| 0,001 m3
12| Logger duration when q > qmax| 84 08 BE 58| 32 bit integer| sec
13| CRC| 02 7F| 16 bit integer| CRC16

x = B – for energy for heating, x = C – for energy for cooling

Remark
If meter is specially configured, in table 5 listed monthly parameters data is transmitted and in accordance after inquiry (“All data” table 1) data transmission.

Application reset sub-codes and storages: Instantaneous values (CI = 50 50)

Default list

# Parameter DIF VIF Type Units
1 Date and time 04 6D 32 bit integer Type F
2 Date and time of error starting 34 6D 32 bit integer Type F
3 Error code 34 FD 17 32 bit integer
4 Battery operation time 04 20 32 bit integer sec
5 Working time without error 04 24 32 bit integer sec

6

|

Energy for heating

| (04 86 3B)

(04 8E 3B) (04 FB 8D 3B)

|

32 bit integer

| (kWh),

(MJ),

(Mcal).

7

|

Energy for cooling *

| (04 86 3C)

(04 8E 3C) (04 FB 8D 3C)

|

32 bit integer

| (kWh),

(MJ),

(Mcal).

8

|

Energy of tariff 1 *

| (84 10 86 3x)

(84 10 8E 3x)

(84 10 FB 8D 3x)

|

32 bit integer

| (kWh),

(MJ),

(Mcal).

9

|

Energy of tariff 2 *

| (84 20 86 3x)

(84 20 8E 3x)

(84 20 FB 8D 3x)

|

32 bit integer

| (kWh),

(MJ),

(Mcal).

10| Volume| 04 13| 32 bit integer| 0,001 m3
11| Volume of pulse input 1 | 84 40 13| 32 bit integer| 0,001 m3
12| Volume of pulse input 2
| 84 80 40 13| 32 bit integer| 0,001 m3
13| Power| 04 2B| 32 bit integer| W
14| Flow rate| 04 3B| 32 bit integer| 0,001m3/h
15| Temperature 1| 02 59| 16 bit integer| 0,01ºC
16| Temperature 2| 02 5D| 16 bit integer| 0,01ºC
17| Temperature difference| 02 61| 16 bit integer| 0,01K
18| Meter type| 0D FD 0B| 88 bit string| –
19| Serial number| 0C 78| 32bit BCD8| –
20| CRC| 02 7F| 16 bit integer| CRC16

x = B – for energy for heating, x = C – for energy for cooling

Application reset sub-codes and storages: Load management values for management (Hours logger) (CI = 50 60)

Default list

# Parameter DIF VIF Type Units
1 Logger date and time C4 86 03 6D 32 bit integer Type F
2 Average power C4 86 03 2B 32 bit integer W
3 Average flow C4 86 03 3B 32 bit integer 0,001 m3/h
4 Average temperature 1 C2 86 03 59 16 bit integer 0,01 ºC
5 Average temperature 2 C2 86 03 5D 16 bit integer 0,01 ºC
6 Logger min flow E4 86 03 3B 32 bit integer 0,001 m3/h
7 Logger max flow D4 86 03 3B 32 bit integer 0,001 m3/h
8 Logger min temperature difference E2 86 03 61 16 bit integer 0,01 K
9 Logger max temperature difference D2 86 03 61 16 bit integer 0,01 K
10 Logger error code F4 86 03 FD 17 32 bit integer
11 Logger working time without error C4 86 03 24 32 bit integer sec

12

|

Logger energy for heating

| (C4 86 03 86 3B)

(C4 86 03 8E 3B)

(C4 86 03 FB 8D 3B)

|

32 bit integer

| (kWh),

(MJ),

(Mcal).

13

|

Logger energy for cooling *

| (C4 86 03 86 3C)

(C4 86 03 8E 3C)

(C4 86 03 FB 8D 3C)

|

32 bit integer

| (kWh),

(MJ),

(Mcal).

14

|

Logger energy of tariff 1 *

| (C4 96 03 86 3x)

(C4 96 03 8E 3x)

(C4 96 03 FB 8D 3x)

|

32 bit integer

| (kWh),

(MJ),

(Mcal).

15

|

Logger energy of tariff 2 *

| (C4 A6 03 86 3x) (C4 A6 03 8E 3x) (C4 A6 03 FB 8D 3x)|

32 bit integer

| (kWh),

(MJ),

(Mcal).

16| Logger volume| C4 86 03 13| 32 bit integer| 0,001 m3
17| Logger volume of pulse input 1 | C4 C6 03 13| 32 bit integer| 0,001 m3
18| Logger volume of pulse input 2
| C4 86 43 13| 32 bit integer| 0,001 m3
19| Logger duration when q > qmax| C4 86 03 BE 58| 32 bit integer| sec
20| CRC| 02 7F| 16 bit integer| CRC16

x = B – for energy for heating, x = C – for energy for cooling

Default list

# Parameter DIF VIF Type Units
1 Date and time 04 6D 32 bit integer Type F
2 Date and time of error starting 34 6D 32 bit integer Type F
3 Error code 34 FD 17 32 bit integer
4 Battery operation time 04 20 32 bit integer sec
5 Working time without error 04 24 32 bit integer sec
6 Test mode status 01 FF 03 8 bit integer
7 Device mode status 01 FF 04 8 bit integer
8 Software version 01 FD 0E 8 bit integer
9 Yearly set day 42 EC 7E Type G
10 Monthly set day 82 08 EC 7E Type G
11 Meter type 0D FD 0B 88 bit string
12 Serial number 0C 78 32bit BCD8
13 CRC 02 7F 16 bit integer CRC16

Application reset sub-codes and storages: Testing (CI = 50 90)

Default list

# Parameter DIF VIF Type Units
1 Date and time 04 6D 32 bit integer Type F
2 Date and time of error starting 34 6D 32 bit integer Type F
3 Error code 34 FD 17 32 bit integer
4 Battery operation time 04 20 32 bit integer sec
5 Flow rate 04 3B 32 bit integer 0,001 m3/h
6 Temperature 1 02 59 16 bit integer 0,01 ºC
7 Temperature 2 02 5D 16 bit integer 0,01 ºC
8 Temperature difference 02 61 16 bit integer 0,01 K
9 Pulse value of energy test output 02 FF 01 16 bit integer
10 Pulse value of volume test output 02 FF 02 16 bit integer
11 Test mode status 01 FF 03 8 bit integer
12 Device mode status 01 FF 04 8 bit integer
13 Volume high resolution 04 01 32 bit integer mWh
14 Energy high resolution 04 10 32 bit integer ml
15 Device configuration 01 FF 09 8 bit integer
16 Software version 01 FD 0E 8 bit integer
17 Device type 0D FD 0B 88 bit string
18 Seial number 0C 78 32bit BCD8
19 CRC 02 7F 16 bit integer CRC16

Error code encryption

Byte N| Bite N| if bite = 1| LCD indication code “ERROR xxxx”
---|---|---|---

0

| 0| –| –
1| –| –
2| Hardware status flag Er02| 8000
3| Hardware status flag Er03| 8000
4| End of battery live time| 1000
5| Hardware status flag Er05| 0008
6| –| –
7| –| –

1

| 0| –| –
1| –| –
2| Flow sensor is empty| 0001
3| Flow flows in a reverse direction| 0002
4| Flow rate less qi| –
5| –| –
6| –| –
7| –| –

2

| 0| Temperature sensor 1 error or short circuit| 0080
1| Temperature sensor 1 disconnected| 0080
2| Temperature 1 < 0ºC| 00C0
3| Temperature 1 > 180ºC| 0080
4| Temperature sensor2 error or short circuit| 0800
5| Temperature sensor 2 disconnected| 0800
6| Temperature 2 < 0ºC| 0C00
7| Temperature 2 > 180ºC| 0800

3

| 0| Hardware status flag Er30| 0880
1| –| –
2| Temperature difference < 3ºC| 4000
3| Temperature difference > 150ºC| 2000
4| Flow rate greater 1,2qs| 0004
5| Hardware status flag Er35| 8000
6| –| –
7| Hardware status flag Er37| 8000

Parameters list for preselecting

#

|

Parameter

|

SEL

| DIF VIF|

Type

|

Units

---|---|---|---|---|---
CI = 50

Instantaneous

| CI = 50 60

Hours logger

| CI = 50 30

Days logger

| CI = 50 40

Months logger

| CI = 50 20

Years logger

1| Date and time stamp| C8 FF 7F 6D| 04 6D| C4 86 03 6D| 84 08 6D| 84 08 6D| 44 6D| 32 bit integer| Type F
2| Working time without error| C8 FF 7F 24| 04 24| C4 86 03 24| 84 08 24| 84 08 24| 44 24| 32 bit integer| sec
3| Error code| F8 FF 7F FD 17| 34 FD 17| F4 86 03 FD 17| B4 08 FD 17| B4 08 FD 17| 74 FD 17| 32 bit integer| –
4| Date and time of error starting| F8 FF 7F 6D| 34 6D| –| –| –| –| 32 bit integer| Type F

5

|

Energy for heating

| C8 0F FE 3B (C8 0F FE FE 3B

for „Mcal“)

| (04 86 3B)

(04 8E 3B) (04 FB 8D 3B)

| (C4 86 03 86 3B)

(C4 86 03 8E 3B)

(C4 86 03 FB 8D 3B)

| (84 08 86 3B)

(84 08 8E 3B)

(84 08 FB 8D 3B)

| (84 08 86 3B)

(84 08 8E 3B)

(84 08 FB 8D 3B)

| (44 86 3B)

(44 8E 3B) (44 FB 8D 3B)

|

32 bit integer

| kWh (MJ)

(Mcal)

6

|

Energy for cooling *

| C7 0F FE 3C (C8 0F FE FE 3C

for „Mcal“)

| (04 86 3C)

(04 8E 3C) (04 FB 8D 3C)

| (C4 86 03 86 3C)

(C4 86 03 8E 3C)

(C4 86 03 FB 8D 3C)

| (84 08 86 3C)

(84 08 8E 3C)

(84 08 FB 8D 3C)

| (84 08 86 3C)

(84 08 8E 3C)

(84 08 FB 8D 3C)

| (44 86 3C)

(44 8E 3C) (44 FB 8D 3C)

|

32 bit integer

| kWh (MJ)

(Mcal)

7| Volume| C8 FF 7F 13| 04 13| C4 86 03 13| 84 08 13| 84 08 13| 44 13| 32 bit integer| 0,001 m3

8

|

Energy of tariff 1 *

|

C8 1F 7E

| (84 10 86 3x)

(84 10 8E 3x)

(84 10 FB 8D 3x)

| (C4 96 03 86 3x)

(C4 96 03 8E 3x)

(C4 96 03 FB 8D 3x)

| (84 18 86 3x)

(84 18 8E 3x)

(84 18 FB 8D 3x)

| (84 18 86 3x)

(84 18 8E 3x)

(84 18 FB 8D 3x)

| (C4 10 86 3x) (C4 10 8E 3x) (C4 10 FB 8D 3x)|

32 bit integer

| kWh (MJ)

(Mcal)

9

|

Energy of tariff 2 *

|

C8 BF 7F 7E

| (84 20 86 3x)

(84 20 8E 3x)

(84 20 FB 8D 3x)

| (C4 A6 03 86 3x) (C4 A6 03 8E 3x) (C4 A6 03 FB 8D 3x)| (84 28 86 3x)

(84 28 8E 3x)

(84 28 FB 8D 3x)

| (84 28 86 3x)

(84 28 8E 3x)

(84 28 FB 8D 3x)

| (C4 20 86 3x) (C4 20 8E 3x) (C4 20 FB 8D 3x)|

32 bit integer

| kWh (MJ)

(Mcal)

10| Volume of pulse input 1 | C8 FF 3F 7B| 84 40 13| C4 C6 03 13| 84 48 13| 84 48 13| C4 40 13| 32 bit integer| 0,001 m3
11| Volume of pulse input 2
| C8 BF 7F 7B| 84 80 40 13| C4 86 43 13| 84 88 40 13| 84 88 40 13| C4 80 40 13| 32 bit integer| 0,001 m3
12| Average power| C8 FF 7F 2B| 04 2B| C4 86 03 2B| 84 08 2B| 84 08 2B| 44 2B| 32 bit integer| W
13| Averago Flow rate| C8 FF 7F 3B| 04 3B| C4 86 03 3B| 84 08 3B| 84 08 3B| 44 3B| 32 bit integer| 0,001 m3/h
14| Average Temperature 1| C8 FF 7F 59| 02 59| C2 86 03 59| 82 08 59| 82 08 59| 42 59| 16 bit integer| 0,01 ºC
15| Average Temperature 2| C8 FF 7F 5D| 02 5D| C2 86 03 5D| 82 08 5D| 82 08 5D| 42 5D| 16 bit integer| 0,01 ºC
16| Average Temperature difference| C8 FF 7F 61| 02 61| C2 86 03 61| 82 08 61| 82 08 61| 42 61| 16 bit integer| 0,01 K
17| Min Power| E8 FF 7F 2B| –| E4 86 03 2B| A4 08 2B| A4 08 2B| 64 2B| 32 bit integer| W
18| Min Power date| E8 FF 7F AB 6D| –| E4 86 03 AB 6D| A4 08 AB 6D| A4 08 AB 6D| 64 AB 6D| 32 bit integer| Type F
19| Max Power| D8 FF 7F 2B| –| D4 86 03 2B| 94 08 2B| 94 08 2B| 54 2B| 32 bit integer| W
20| Max Power date| D8 FF 7F AB 6D| –| D4 86 03 AB 6D| 94 08 AB 6D| 94 08 AB 6D| 54 AB 6D| 32 bit integer| Type F
21| Min Flow rate| E8 FF 7F 3B| –| E4 86 03 3B| A4 08 3B| A4 08 3B| 64 3B| 32 bit integer| 0,001 m3/h
22| Min Flow rate Date| E8 FF 7F BB 6D| –| E4 86 03 BB 6D| A4 08 BB 6D| A4 08 BB 6D| 64 BB 6D| 32 bit integer| Type F
23| Max Flow rate| D8 FF 7F 3B| –| D4 86 03 3B| 94 08 3B| 94 08 3B| 54 3B| 32 bit integer| 0,001 m3/h
24| Max Flow rate Date| D8 FF 7F BB 6D| –| D4 86 03 BB 6D| 94 08 BB 6D| 94 08 BB 6D| 54 BB 6D| 32 bit integer| Type F
25| Min Temerature 1| E8 FF 7F DB 59| –| E2 86 03 59| A2 08 59| A4 08 59| 62 59| 16 bit integer| 0,01 ºC
26| Min Temerature 1 Date| E8 FF 7F D9 6D| –| E4 86 03 D9 6D| A4 08 D9 6D| A4 08 D9 6D| 64 D9 6D| 32 bit integer| Type F
27| Max Temperature 1| D8 FF 7F 59| –| D2 86 03 59| 92 08 59| 92 08 59| 52 59| 16 bit integer| 0,01ºC
28| Max Temperature 1 Date| D8 FF 7F D9 6D| –| D4 86 03 D9 6D| 94 08 D9 6D| 94 08 D9 6D| 54 D9 6D| 32 bit integer| Type F
29| Min temperature 2| E8 FF 7F 5D| –| E2 86 03 5D| A2 08 5D| A2 08 5D| 62 5D| 16 bit integer| 0,01ºC
30| Min Temperature 2 Date| E8 FF 7F DD 6D| –| E4 86 03 DD 6D| A4 08 DD 6D| A4 08 DD 6D| 64 DD 6D| 32 bit integer| Type F
31| Max Temperature 2| D8 FF 7F 5D| –| D2 86 03 5D| 92 08 5D| 92 08 5D| 52 5D| 16 bit integer| 0,01ºC
32| Max Temperature 2 Date| D8 FF 7F DD 6D| –| D4 86 03 DD 6D| 94 08 DD 6D| 94 08 DD 6D| 54 DD 6D| 32 bit integer| Type F
33| Min Temperature difference| E8 FF 7F 61| –| E2 86 03 61| A2 08 61| A2 08 61| 62 61| 16 bit integer| 0,01K
34| Min Temperature difference Date| E8 FF 7F E1 6D| –| E4 86 03 E1 6D| A4 08 E1 6D| A4 08 E1 6D| 64 E1 6D| 32 bit integer| Type F
35| Max Temperature difference| D8 FF 7F 61| –| D2 86 03 61| 92 08 61| 92 08 61| 52 61| 16 bit integer| 0,01K
36| Max Temperature difference Date| D8 FF 7F E1 6D| –| D4 86 03 E1 6D| 94 08 E1 6D| 94 08 E1 6D| 54 E1 6D| 32 bit integer| Type F
37| Duration when q < qmin| C8 FF 7F BE 50| 04 BE 50| C4 86 03 BE 50| 84 08 BE 50| 84 08 BE 50| 44 BE 50| 32 bit integer| sec
38| Flow min level qmin| C8 FF 7F BE 40| 05 BE 40| –| –| –| –| float| 1 m3/h
39| Duration when q > qmax| C8 FF 7F BE 58| 04 BE 58| C4 86 03 BE 58| 84 08 BE 58| 84 08 BE 58| 44 BE 58| 32 bit integer| sec
40| Flow max level qmax| C8 FF 7F BE 48| 05 BE 48| –| –| –| –| float| 1 m3/h
41| Battery operation time| C8 FF 7F 20| 04 20| –| –| –| –| 32 bit integer| sec
42| Energy high resolution| C8 FF 7F 01| 04 01| –| –| –| –| 32 bit integer|
43| Volume high resolution| C8 FF 7F 10| 04 10| –| –| –| –| 32 bit integer|

x = B – for energy for heating, x = C – for energy for cooling.

Remarks:

  1. Table 1…11 energy and volume DIF VIF codes are provided of comma position for 0,001 MWh, 0,001 GJ, 0,001 Gcal, and 0,001 m3. Other values can be set for energy and volume.
  2. Table 1…11 parameters marked “*”, will be transmitted only if the conditions are kept:
Parameter Condition
Energy for cooling . Logger energy for cooling Heat meter application type –

for measurement of energy consumed for heating and cooling
Energy of tariff 1. Logger energy of tariff 1| Tariff 1 function is On
Energy of tariff 2, Logger energy of tariff 2| Tariff 2 function is On
Volume of pulse input 1, Logger pulse input 1| Pulse input 1 is active
Volume of pulse input 2, Logger pulse input 2| Pulse input 2 is active
Pulse value of output 1| Pulse output 1 is active
Pulse value of output 2| Pulse output 2 is active

CRC16 checksum calculation algorithm
  • The polynomial x^0 + x^5 + x^12.
  • const __u16 crc_ccitt_table[256] = {
    • 0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, 0x6536, 0x74bf,
    • 0x8c48, 0x9dc1, 0xaf5a, 0xbed3, 0xca6c, 0xdbe5, 0xe97e, 0xf8f7, 0x1081, 0x0108, 0x3393, 0x221a, 0x56a5, 0x472c, 0x75b7, 0x643e, 0x9cc9, 0x8d40, 0xbfdb, 0xae52, 0xdaed, 0xcb64, 0xf9ff,
    • 0xe876, 0x2102, 0x308b, 0x0210, 0x1399, 0x6726, 0x76af, 0x4434, 0x55bd, 0xad4a, 0xbcc3, 0x8e58, 0x9fd1, 0xeb6e, 0xfae7, 0xc87c, 0xd9f5, 0x3183, 0x200a, 0x1291, 0x0318, 0x77a7, 0x662e,
    • 0x54b5, 0x453c, 0xbdcb, 0xac42, 0x9ed9, 0x8f50, 0xfbef, 0xea66, 0xd8fd, 0xc974, 0x4204, 0x538d, 0x6116, 0x709f, 0x0420, 0x15a9, 0x2732, 0x36bb, 0xce4c, 0xdfc5, 0xed5e, 0xfcd7, 0x8868,
    • 0x99e1, 0xab7a, 0xbaf3, 0x5285, 0x430c, 0x7197, 0x601e, 0x14a1, 0x0528, 0x37b3, 0x263a, 0xdecd, 0xcf44, 0xfddf, 0xec56, 0x98e9, 0x8960, 0xbbfb, 0xaa72, 0x6306, 0x728f, 0x4014, 0x519d,
    • 0x2522, 0x34ab, 0x0630, 0x17b9, 0xef4e, 0xfec7, 0xcc5c, 0xddd5, 0xa96a, 0xb8e3, 0x8a78, 0x9bf1, 0x7387, 0x620e, 0x5095, 0x411c, 0x35a3, 0x242a, 0x16b1, 0x0738, 0xffcf, 0xee46, 0xdcdd,
    • 0xcd54, 0xb9eb, 0xa862, 0x9af9, 0x8b70, 0x8408, 0x9581, 0xa71a, 0xb693, 0xc22c, 0xd3a5, 0xe13e, 0xf0b7, 0x0840, 0x19c9, 0x2b52, 0x3adb, 0x4e64, 0x5fed, 0x6d76, 0x7cff, 0x9489, 0x8500,
    • 0xb79b, 0xa612, 0xd2ad, 0xc324, 0xf1bf, 0xe036, 0x18c1, 0x0948, 0x3bd3, 0x2a5a, 0x5ee5, 0x4f6c, 0x7df7, 0x6c7e, 0xa50a, 0xb483, 0x8618, 0x9791, 0xe32e, 0xf2a7, 0xc03c, 0xd1b5, 0x2942,
    • 0x38cb, 0x0a50, 0x1bd9, 0x6f66, 0x7eef, 0x4c74, 0x5dfd, 0xb58b, 0xa402, 0x9699, 0x8710, 0xf3af, 0xe226, 0xd0bd, 0xc134, 0x39c3, 0x284a, 0x1ad1, 0x0b58, 0x7fe7, 0x6e6e, 0x5cf5, 0x4d7c,
    • 0xc60c, 0xd785, 0xe51e, 0xf497, 0x8028, 0x91a1, 0xa33a, 0xb2b3, 0x4a44, 0x5bcd, 0x6956, 0x78df, 0x0c60, 0x1de9, 0x2f72, 0x3efb, 0xd68d, 0xc704, 0xf59f, 0xe416, 0x90a9, 0x8120, 0xb3bb,
    • 0xa232, 0x5ac5, 0x4b4c, 0x79d7, 0x685e, 0x1ce1, 0x0d68, 0x3ff3, 0x2e7a, 0xe70e, 0xf687, 0xc41c, 0xd595, 0xa12a, 0xb0a3, 0x8238, 0x93b1, 0x6b46, 0x7acf, 0x4854, 0x59dd, 0x2d62, 0x3ceb,
    • 0x0e70, 0x1ff9, 0xf78f, 0xe606, 0xd49d, 0xc514, 0xb1ab, 0xa022, 0x92b9, 0x8330, 0x7bc7, 0x6a4e, 0x58d5, 0x495c, 0x3de3, 0x2c6a, 0x1ef1, 0x0f78.
  • crc_ccitt – recompute the CRC for the data buffer
  • @crc – previous CRC value
  • @buffer – data pointer
  • @len – number of bytes in the buffer
  • u16 crc_ccitt(u16 crc, u8 const *buffer, size_t len){ while (len–)
  • crc = (crc >> 8) ^ crc_ccitt_table[(crc ^ (*buffer++)) & 0xff]; return crc;

Settings the parameters of meter

Master sends to the meter string SND_UD2 with new identification number „ID“ (BCD8 format):

68h 09h 09h 68h 53h 73h A 51h 0Ch 79h ID CS 16h

Changing the identification number

Answer of the meter CON (if A not equal FFh):

  • E5h

Changing the identification number, Manufacturer ID and Medium
Master sends to the meter string SND_UD2 with new Complete ID (64 bit integer):

68h 0Dh 0Dh 68h 53h 73h A 51h 07h 79h Complete ID (64 bit) CS 16h

Answer of the meter CON (if A not equal FFh):

  • E5h

Structure of “Complete ID” (64 bit integer):

Identification number „ID“ Manufacturer ID Generation Medium
4 byte (BCD8 format) 2 byte 1 byte 1 byte

Remark: Generation code is ignored (In meter Generation code is fixed 0Bh)

Changing the primary address

Master sends to the meter string SND_UD2 with new primary address „aa“:

68h 06h 06h 68h 53h 73h A 51h 01h 7Ah aa CS 16h

Answer of the meter CON (if A not equal FFh):

  • E5h

Changing the data and time of the meter
Master sends to the meter string SND_UD2 with new primary address „aa“:

68h 09h 09h 68h 53h 73h A 51h 04h 6Dh Dat and time (Type F) CS 16h

Answer of the meter CON (if A not equal FFh):

  • E5h

Changing the yearly set day
Master sends to the meter string SND_UD2 with new set data:

68h| 08h| 08h| 68h| 53h 73h| A| 51h| 42h| ECh| 7Eh| Month and day (Type G)| CS| 16h
---|---|---|---|---|---|---|---|---|---|---|---|---

Answer of the meter CON (if A not equal FFh):

  • E5h

Changing the monthly set day
Master sends to the meter string SND_UD2 with new set data:

68h 09h 09h 68h 53h 73h A 51h 82h 08h ECh 7Eh Day (Type G) CS 16h

Answer of the meter CON (if A not equal FFh):

  • E5h

Remark: Changing the identification number and the set date is possible only when meter is set to SERVICE mode.

Changing the baud rate
Master sends to the meter string SND_UD2 with new baud rate code „BR“:

68h 03h 03h 68h 53h 73h A BR CS 16h

Answer of the meter CON (if A not equal FFh) with old baud rate:

  • E5h

Values of BR code:

  • BR=B8h – for changing boud rate to 300 bps
  • BR=B9h – for changing boud rate to 600 bps
  • BR=BAh – for changing boud rate to 1200 bps
  • BR=BBh – for changing boud rate to 2400 bps
  • BR=BCh – for changing boud rate to 4800 bps
  • BR=BDh – for changing boud rate to 9600 bps

Secondary addressing

Master sends to the meter string SND_UD2:

68h 0Bh 0Bh 68h 53h 73h FD 52 NN NN NN NN HH HH ID MM CS 16h

Selecting of the meter

  • NN – Identification number (secondary adress) BCD8 format (if „F“- this number ignored)
  • HH – Manufacturer code, HST format (if „FF“- this byte ignored)
  • ID – Identification code, HST format (if „FF“- ignored)
  • MM – Medium code, SMED format (if „FF“- ignored)

The meter, whose identification number is the same, is selected for further communication and sends an answer CON:

  • E5h

Communication with selected meter

Communication with selected meter carried out as usual:

  • the data type for reading is selected by sending to meter strig SND_UD2 (see paragraph 2), only in this case, the M-bus address must be FDh,
  • the answer of the selected meter CON:
    • E5h

for data request master sends to the meter string (M-bus address must be FDh):

10h 53h 73h FDh CS 16h
  • meter response RSP_UD2 telegram with selected data (tables 1 …9)

Deselection of secondary addressing mode
Master sends to the meter telegram SND_NKE with adress FDh:

10h 40h FDh CS 16h

Danfoss A/S
Climate Solutions danfoss.com +45 7488 2222.

Any information, including, Dut not limited to information on the selection of the product, its application or use, product design, weight, dimensions, capacity or any other technical data in product manuals, catalogs descriptions, advertisements, etc. and whether made available in writing, orally, electronically, online or via download, shall be considered informative and is only binding it and to the
Danfos reserves the right to alter its products without notice. This also applies to products ordered but not delivered provided that such alterations can be made without changes to the form, fit, or
function of the product.

All trademarks in this material are property of Danfoss A/S or Danfoss group companies. Danfoss and the Danfoss logo are trademarks of Danfoss A/S. All rights reserved.

Read User Manual Online (PDF format)

Loading......

Download This Manual (PDF format)

Download this manual  >>

Danfoss User Manuals

Related Manuals