Danfoss SonoMeter 40 Wired M-Bus Protocol Description Instruction Manual
- June 4, 2024
- Danfoss
Table of Contents
Danfoss SonoMeter 40 Wired M-Bus Protocol Description
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:
- 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.
- 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)
Read User Manual Online (PDF format) >>