Danfoss M-Bus Operating guide

Danfoss M-Bus Operating guide

1

Basic information ....................................................................................................

4

 

1.1

The physical layer .............................................................................................

4

 

1.2

Wake up process and baud rate changes (IR) .......................................................

4

 

1.3

Baud rate changes ............................................................................................

4

 

1.3.1

Wait time before reply after correct message reception....................................

5

 

1.4

Data Link layer (DLL).........................................................................................

5

 

1.4.1

C field (Control field, Function field) – Field size 1 byte ...................................

5

 

1.4.2

A Field (Address Field) – 1 byte ....................................................................

6

 

1.4.3

L Field – 2 fields with a size of 1 byte ............................................................

7

 

1.4.4

CS field – 1 byte .........................................................................................

7

 

1.5

Combined Transportation and application layer .....................................................

8

 

1.5.1

CI Field (Control information field) ................................................................

8

 

1.5.2

Long header ...............................................................................................

9

 

1.5.3

Status byte and error handling ...................................................................

10

 

1.5.4

DIF & VIF configuration of data records........................................................

11

 

1.6

The standard read out .....................................................................................

13

2

Communication process .........................................................................................

16

 

2.1

M-Bus EN 13757 data frames ...........................................................................

16

 

2.2

Pulse readout .................................................................................................

17

 

2.3

Application reset .............................................................................................

17

 

2.4

Send/Confirm procedures available using the Danfoss Meter.................................

21

 

2.4.1

SND_NKE .................................................................................................

21

 

2.4.2

SND_UD ..................................................................................................

22

 

2.4.3

REQ_UD2 .................................................................................................

34

 

2.4.4

RSP_UD ...................................................................................................

35

Annex A

.....................................................................................................................

 

36

01.02.00

© Danfoss| Energy Meters| 2018.02| 2

Identify the needed telegrams from the EN13757 standard and determine how to implement the SonoSelect 10 and SonoSafe 10 communication protocol into an M-Bus telegram. This document contains the description the M-Bus protocol implemented for SonoSelect 10 and SonoSafe 10. The M-Bus protocol will follow the EN13757 standard.

According to the software architecture of the SonoSelect 10 and SonoSafe 10 the communication shall be split into three layers.

Figure 1 - OSI model and architecture of HM

The M-Bus protocol for the IR and Wired communication will be identical and therefore these two components will share the same data-link and application layer. The M-Bus will only support physical, data-link and combined transportation and application layer. The other layers stated in EN13757-3 are optional and will not be part the wired M-Bus implementation of the SonoSelect 10 and SonoSafe 10. According to the EN13757-1 standard the transportation layer must be handled in an Application Layer.

01.02.00

© Danfoss| Energy Meters| 2018.02| 3

The physical layer is a serial asynchronous half-duplex communication.

The meter act as a slave and each character communicated consist of 11-bits as shown below:

1 start bit (‘Space’)

8 data bits

1 parity bit (even)

1 stop bit (‘Mark’)

The master issues a request and the slave respond.

Since the optical interface uses the EN 13757-2 protocol, a wake-up message can be sent after every ¡die time of> 330 bit times to the heat meter. The wake up message consists of zeroes and ones alternating at the desired baud rate for a duration of (2,2 ± 0,1) s. After an idle time of 33 bit times to 330 bit times, the communication can start.

The baud rate requirements from EN13757-3 are as follows:

The IR supports 2400 and 4800 Baud

The wired baud rate supports 300, 2400, 4800 and 9600

Baud rate is kept after reset of device.

Meters with hardware issue 5 have auto baudrate detection on both the IR and Wired M-Bus interface.

Maximum data records:

The maximum data record length is 235 bytes

Wildcard search (Secondary address)

Secondary address is found by using a wildcard search (CI = 52H). The top positions are run through in ten selections from 0-9 (0FFFFFFF – 9FFFFFFF). If slave is found it answers with an ACK and the master requests the full secondary address which is returned in a RSP_UD from the slave. Any collisions and the master vary the next positions and hold the existing one.

01.02.00

© Danfoss| Energy Meters| 2018.02| 4

After reception of valid telegram the slave has to wait between 11bit time and (330 bit times + 50ms) before answering (EN1434-3)

Baud rate

Min.

Max.

300 Baud

36,7ms

1150ms

 

 

 

2400 Baud

4,6ms

187,5ms

 

 

 

4800 Baud

2,3ms

118,8ms

 

 

 

9600 Baud

1,2ms

84,4ms

 

 

 

In this section the data link layer is described. One of the frames used in the M-Bus standard is shown below. The other M-Bus frames can be found in section 4.1.

The function field specifies the direction of the data flow and has various additional tasks in both calling and replying directions but many of these are optional and therefore not implemented.

Bit Number

7

6

5

4

3

2

1

0

 

 

 

 

 

 

 

 

 

Calling

0

1

FCB

FCV

F3

F2

F1

F0

direction

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Reply

0

0

ACD

DFC

F3

F2

F1

F0

Direction

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Bit7 reserved for future use.

Bit6 specifies the direction of the data flow. If it is set to 1 the communication has the direction Master to slave and vice versa if it is set to 0.

FCB The slave do not act on this bit and is always sending new data.

FCV The slave ignores this bit.

DFC (data flow control) Not supported must be 0.

ACD (Access demand) Not supported must be 0.

01.02.00

© Danfoss| Energy Meters| 2018.02| 5

Control field F3-F0 the control field code tells the function or action of the message. The control field has 7 predefined control field shown below.

Name

C field binary

C field

Telegram

Description

 

 

(HEX)

 

 

 

 

 

 

 

SND_NKE

0100 0000

40

Short frame

Initialization of slave

 

 

 

 

 

SND_UD

01F1 0011

53/73

Long/Control

Send user data to slave

 

 

 

 

 

REQ_UD1

01F1 1010

5A/7A

Short frame

Request class 1 data

 

 

 

 

 

REQ_UD2

01F1 1011

5B/7B

Short frame

Request class 2 data

 

 

 

 

 

REQ_SKE

0100 1001

49

Short frame

Status request

 

 

 

 

 

RSP_SKE

0000 1011

0B

Short frame

Status data, slave to

 

 

 

 

master

 

 

 

 

 

RSP_UD

00AD 1000

08

Long/Control

Data transfer from slave

 

 

 

 

to master after request

 

 

 

 

 

REQ_UD1 telegrams are answered with ACK because the Alarm protocols are not supported.

The primary address of the meter can be set to a value from 0-250. The default primary address is part of the serial number (red letters: ssssswwNNyyww) and is always a number from 00-99. To change the primary address either use the SonoApp or M-Bus command described later in this document.

Point-to-point addressing (0xFE) is intended for communication using the infrared eye or for network with only one slave (used for test of network with one slave).

Broadcast (0xFF) is used to communicate across the network to all the slaves e.g. to set a new baud rate on all slaves at the same time. Be aware that no acknowledge byte is replied from the slave in broadcast mode.

The secondary address can be used to select a slave. This slave can then afterwards be contacted using the primary address FDH. All slaves have an unique secondary address which ensures only a single slave answers.

Addressing Form

Slave Addressing

Primary addressing

0-250

 

 

Secondary

253 (FDH)

addressing and

 

selected slave

 

 

 

Point-to-Point

254 (FEH)

addressing

 

 

 

Broadcast

255 (FFH)

 

 

01.02.00

© Danfoss| Energy Meters| 2018.02| 6

The Length Field (L Field) defines the number of bytes (expressed in hex value) of the Active Data making up the telegram, plus 3 bytes for the C, A and Cl Fields.

This field is always transmitted twice in Long Telegrams (RSP_UD) see 4.1.

The Checksum (CS Field) serves to recognize transmission and synchronization faults. The checksum is calculated on the Active Data making up the telegram, plus 3 bytes for the C, A and Cl Fields. All bytes are added together in a 8 bit unsigned integer, which means that when the value gets larger than FFh it will wrap around and start all over.

01.02.00

© Danfoss| Energy Meters| 2018.02| 7

The CI-Field declares the transportation direction and the Application protocol (if exists). The CI-Field declares also which type of Transport Layer (“None”, “Short” and “Long” header) is applied.

In the SonoSelect/Safe meters with wired M-Bust the long header (0x72) is always used.

The SonoSelect/Safe meters supports the following CI-Fields.

CI-field (HEX)

Direction

 

 

50

Application reset

 

 

51

Data send to device

 

 

52

Slave select (no header)

 

 

72

The telegram contains data for the master

 

with long header

 

 

B8

Set baud rate 300 (only wired M-Bus)

 

 

BB

Set Baud Rate to 2400

 

 

BD

Set Baud Rate to 9600

 

 

01.02.00

© Danfoss| Energy Meters| 2018.02| 8

The long header contains 12 bytes which is used to identify the Meter, hold track of new or old message and to apply encryption.

The encryption is not currently available for wired Danfoss Meters which means the configuration field always is 0000H.

The 12 byte long header is shown in the table below:

Byte Nr.

Size(Byte)

Value(Hex)

Description

1-4

4

xx xx xx xx

Meter identification number

 

 

 

 

5-6

2

D310

Manufacturer’s ID (DFS Danfoss 10D3h)

 

 

 

 

7

1

xx

Version number firmware (00-FF)

 

 

 

 

8

1

04/0C

Medium: Heat outlet/inlet

 

 

 

 

9

1

xx

Access Number (00-FF-> 00)

 

 

 

 

10

1

xx

Status

 

 

 

 

11-12

2

0000

Configuration

 

 

 

 

The identification number (secondary address) is a non-changeable (according to OMS) number in between 00000000 and 99999999. The identification number is part of the Danfoss Meters serial number and is unique. (In installations with other meters where same address is present the address can be change with SonoApp or M-Bus command shown later)

The secondary address is derived from the serial number. The serial number has the following format:

ssssswwNNyyww

The secondary address has the following format

ywwsssss

The manufactures ID is used to identify the manufacture of the Meter. Each manufacture has a flag consisting of three capital letters which can be combined to two bytes according to EN13757-3. The Danfoss manufacture flag is DFS (10D3h) and this flag is always part of the long header.

The version number is used to identify if the meter is of type:

SonoSafe (0x01)

SonoSelect (0x02).

The medium byte identifies the flow sensor installation of the Meter and has two settings for each meter type:

Heat Inlet meters (supply 0x0C)

Heat Outlet meters (return 0x04).

Cooling Meter (Volume measured at return temperature: outlet)

01.02.00

© Danfoss| Energy Meters| 2018.02| 9

Cooling Meter (Volume measured at flow temperature: inlet)

Combined meter

Water meter (For pulse readout only)

The Access Number has an unsigned binary coding and is incremented (modulo 256) by one after each RSP-UD is send from the slave.

The status byte is used to indicate different potential errors in the Meter. The errors are stated in the table below:

Bit

Meaning with bit set

Significance with bit not set

0,1

See table 5

See table 5

 

 

 

2

Power Low

Power Ok

 

 

 

3

Permanent error

No Permanent error

 

 

 

4

Temporary error

No Temporary error

 

 

 

5

Specific to manufacturer

Specific to manufacturer

 

 

 

6

Specific to manufacturer

Specific to manufacturer

 

 

 

7

Specific to manufacturer

Specific to manufacturer

 

 

 

 

 

 

 

Status bit 1 bit 0

 

 

 

 

 

0 0

No Error

 

 

 

 

0 1

Application busy

 

 

 

 

1 0

Any application error

 

 

 

 

1 1

Abnormal condition/alarm

 

 

 

The status bit shall be used in this meaning:

Power low:

Warning – The bit “Power Low” is set only to signal interruption of external power supply or end of battery life time

Permanent error:

Failure – The bit “Permanent error” is set only if the meter signals a fatal device error which requires a service action.

Temporary error:

Warning – The bit “Temporary error” is set only if the meter signals a slight error condition which not immediately requires a service action. This could be an error which may later disappear.

Any application error:

The application error shall be used to communicate a failure during the interpretation or execution of a received command, e.g. a message which could not be decrypted.

01.02.00

© Danfoss| Energy Meters| 2018.02| 10

Abnormal conditions:

Shall be used if a correct working application detects an abnormal behavior like a permanent high flow.

The most critical active E-number (Error shown in the display) is sent as the status byte. The most critical error is E1 and least critical is E32.

Below is a table showing the bit pattern.

E-

 

E1

E2

E3

E4

E5

E6

E7

E8

E9

E10

E11

E12

E13

Number

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Hex

 

0x08

0x10

0x28

0x04

0x24

0x30

0x50

0x70

0x90

0xB0

0xD0

0xF0

0x48

code

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

E-

 

E14

E15

E16

E17

E18

E32

 

 

 

 

 

 

 

 

Number

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Hex

 

0x40

0x44

0x60

0x62

0x13

0x92

 

 

 

 

 

 

 

 

code

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Error type

 

 

 

 

 

E number

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Power Low

 

 

 

 

 

E4, E5, E15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Permanent error

 

 

 

 

E1, E3, E13

 

 

 

 

 

 

 

 

 

 

 

 

Temporary error

 

E2, E6, E7, E8, E9, E10, E11, E12, E14, E16,

 

 

 

 

 

 

 

 

 

 

 

E17, E18, E32

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

The application layer contains the data sent from the slave to the master or vice versa.

Every data record sent which is not manufacture specific have the following data record header (DRH)

Data Information Block (DIB)

Value Information Block (VIB)

 

DIF

DIFE

VIF

VIFE

Data

 

 

 

 

 

1 Byte

0-10Byte(s)

1 Bytes

0-10 Byte(s)

0-n Bytes

 

 

 

 

 

01.02.00

© Danfoss| Energy Meters| 2018.02| 11

The Data Information Block (DIB) contains at least one DIF but can be extended by 10 DIFE if needed.

The DIFs supported by the Danfoss Meters:

Bit

Name

 

Description

7

Extension Bit

Specifies if a DIFE byte follows:

 

 

0 = No

 

 

1 = Yes

 

 

 

6

LSB of Storage Number

0 if log is not send

 

 

 

5-4

Function Field

Specifies the kind of value

 

 

00 = instantaneous value

 

 

01 = Maximum value

 

 

10 = Minimum Value

 

 

11 = Value during error state

 

 

 

3-0

Data Field

Length and Coding of Data:

 

 

0001

(0x01): 8 Bit Integer

 

 

0010

(0x02): 16 Bit Integer

 

 

0011

(0x03): 24 Bit Integer

 

 

0100

(0x04): 32 Bit Integer

 

 

0110

(0x06): 48 bit Integer (only for record)

 

 

0111

(0x07): 64 Bit Integer (only for record)

 

 

1001

(0x09): 2 digit BCD

 

 

1010

(0x0A): 4 digit BCD

 

 

1011

(0x0B) 6 digit BCD

 

 

1100

(0x0C): 8 digit BCD

 

 

1101

(0x0D): Variable length (Only for TX)

 

 

1111

(0x0F): Manufacture Specific Data

 

 

 

 

The DIFE supported by Danfoss Meters:

Bit

Name

 

Description

7

Extension Bit

Specifies if a DIFE byte follows:

 

 

0

= No

 

 

1

= Yes

 

 

 

6

Unit

Specifies if it is pulse counter or cooling value

 

 

 

5-4

Tariff

Used oC*m^3 records

3-0

Storage number

0000 (only used for logs)

 

 

 

 

The DIFE is used for selection of pulse 1 and pulse 2 counters. If first DIFE has the unit set to 1, it is pulse counter 1 and if the unit is set in the second DIFE, it is pulse counter 2 (see 4.4.2.7). The DIFE unit 3 is used for cooling records (Energy, Volume, Max Flow, Max Power).

The DIFE storage number is used to show the log values and which type of log there are sent.

The storage number 1 & 2 are used for year log 1 and 2.

The storage number from 3-26 is used for month log 1-24.

01.02.00

© Danfoss| Energy Meters| 2018.02| 12

Loading...
+ 26 hidden pages