Installation of M-Bus communication bus, part 1

An old technical proverb says that measuring means knowing. Measuring conveniently means reading meters located at energy nodes at a distance: in buildings (except for ratio heat distributors, where radio transmission is more frequent), usually using a metal bus. The classic bus system for reading energy meters is the M-Bus, whose homepage can be found at www.m-bus.com [1]. The best information will then be provided by the standard EN 13757-2 (physical and line layer) EN 13757-3 (application layer) [2] and by the manufacturers of individual devices. M-Bus is often confused with Modbus for a similar name; however, these are two different protocols with different properties.

In this text, we will not focus on the detailed principles of M-Bus communication, but we will focus on practical aspects, design, configuration and commissioning of the bus.


First of all, the meters specified and used must be equipped with an M-Bus interface. This seems like an unnecessary reminder, but beware - calorimeters and water meters are usually a heating supply and heaters often do not know each other in various additional modules, cards and interfaces. Therefore, check with the manufacturer or local representative whether the meter already contains an M-Bus interface or is only ready for them, and you need to purchase a battery module, power supply module, M-Bus card or similar device. Many meters (eg Schrack DIZ/EIZ electricity meters, Actaris +m water meters, etc.) form one indivisible unit with the M-Bus part, which simplifies the design. However, it is necessary to specify an M-Bus card for other devices, such as the Siemens Ultraheat UH50 or Actaris CF Echo II. This is because it is possible to insert cards supporting other methods of communication into the slot in the meter, such as a GSM card for sending readings via SMS. (If, as designers, we encounter the need to combine these systems, for example in a centralized heat source, where the meters are connected by cable, and remote heat exchanger stations using GSM readings, it is necessary to take this into account and choose a reading system that can communicate in both ways. - e.g. Domat SoftPLC Runtime, which contains drivers for both the M-Bus protocol and for reading using SMS modules supplied by, for example, the company Enbra.)

Also read the second part of the article with tips for working with communication converters.

Make sure that there is a free interface on the meter for the measurement and control system. It may happen that distribution companies (distribution plants, gas plants ...) will want to use the meter's communication line for their billing readings. Multiple reading systems cannot be connected to one interface! These situations are solved either by choosing a meter with multiple positions, which can be fitted with two cards, or by using a so-called M-Bus splitter - a device that allows to connect two masters to one M-Bus bus [3].

The topology of the M-Bus is relatively free - branches, etc. can be made on the bus, depending on how the meters are located; however, circular topology is not recommended. It is not necessary to terminate the bus with various resistors, terminators, etc., as we are used to from RS485 or LON lines. We recommend connecting in boxes using screw terminals, for so-called Wago terminals choose types for communication purposes, not high-current types. It's a good idea to design the topology so that the bus can be easily disconnected into several sections - this is useful for service interventions where a short circuit needs to be located.

The M-Bus protocol is designed so that the maximum number of addressable meters is 250. It does not have a master address. Several addresses are reserved for bulk messages, ie broadcasts and service telegrams, however, when installing the bus, the main limiting factor is the power of the converter that supplies the bus. All manufacturers state the maximum number of meters that can be connected to their converter, sometimes the maximum current of the converter is stated and from it the number of meters can be calculated by dividing this value by the so-called unit load (1.5 mA), ie the typical consumption current of one meter the meter does not communicate). The M-Bus is powered from the converter, at rest the output voltage of the converter should be 36 V DC, during transmission the converter reduces the voltage to 24 V and thus sends a log. 0.

The problem occurs in connection with the resistance of the bus line. Due to the constant consumption of the meters, a voltage drop occurs on it, so we will no longer measure 36 V on more distant meters, but a lower value. At no point on the bus, however, should the voltage fall below 24 V. During transmission, a drop of 12 V represents the minimum bus voltage of 12 V, which is the value required to successfully supply the meters.

When responding to a query, the meter communicates by reducing its internal resistance and thereby increasing the current drawn from the converter. The converter evaluates these fluctuations as logic signals. The quiescent current of the meter is max. 1.5 mA, the current in the active state is 11 to 20 mA. It is worth noting that for 200 meters on one bus, which is no exception, the total quiescent current is 300 mA and the communication current is 315 mA, which is a relatively small difference that the transmitter must be able to detect.

When designing particularly longer or more equipped buses, we must also make sure that the voltage at any point of the bus in any state (the most critical will probably be master transmission, ie reducing the power supply to 24 V) does not fall below the 12 V. the conductor is positive and the other is negative, but according to the standard, the meters must be designed so that they do not care about polarity. This is a nice feature that reduces wiring errors. In projects, therefore, it is not necessary to mark the polarity of the meters in any particular way, the note "arbitrary polarity" is appropriate, so that the installer is sure that he really does not have to think about it.

Calculation of voltage drop on the bus

According to [1], the maximum bus length is 1000 m. A standard JYSTY 2 × 0.8 mm2 communication cable is recommended for wiring. This cable has a nominal resistance of 3.8 Ohm / 100 m. Let's now look at a few examples that show the voltage drops on a line for the case of a longer initial line, from the end of which several shorter risers branch to the ground. There are two meters for each apartment, TV and SV. We neglect the decreases on the risers.

Bus topology for the following examples of voltage drop calculation

With line d = 300 m and one raiser 7 high × 4 flats × 2 meters (SV+TV) on the raiser = 4 × 7 × 2 × 1.5 mA = 84 mA;
drop = 3 × 3.8 Ohm/100m × 2 (there and back) × 0.084 A = 1.9 V ... OK,

with line d = 800 m and one raiser 7 floors high × 4 flats × 2 meters (SV+TV) on the raiser= 84 mA;
drop = 8 × 3.8 × 2 (there and back) Ohm × 0.084 A = 5.1 V ... OK,

with line d = 600 m and 4 risers at the end, each one 7 floors high× 4 flats × 2 meters (SV+TV) = 336 mA;
drop = 6 × 3.8 × 2 (there and back) Ohm × 0.336 A = 15.3 V ... not OK, because 24 V − 15.3 V = 8.7 V, which is less than the prescribed 12 V.

It is obvious that even with a rich reserve in the length of the line (say up to 600 m including risers) and the correct number of meters (224 pieces), there may be a situation where losses on the line make communication impossible.

When using a thicker conductor with a cross-section of 1 mm2 and a nominal resistance of 1.76 Ohm / 100 m, the ratios from the third example change as follows:

with line d = 600 m and 4 raisers at the end, each one 7 floors high × 4 flats × 2 meters (SV+TV) = 336 mA;
drop = 6 × 1.76 × 2 (there and back) Ohm × 0.336 A = 7 V ... OK, because 24 V − 7 V = 17 V, which is more than the prescribed 12 V.

We see that the choice of cable type can have a quite significant effect on the operation of the bus.

Example: Using a UTP cable

The type of cable was not specified strongly enough in the project, the installers used a standard UTP cable with a core diameter of 0.5 mm, ie a cross-section of 0.35 mm2. The topology was similar to that of the examples, though not with such distances. The bus behaved "mysteriously", some meters were sometimes visible, sometimes not, diagnostics was also difficult due to the method of assembly, when the ends of the risers were twisted into one bundle and insulated with tape. In addition, the technician believed that the problem was in the mechanical contacts in the terminals where the cables from the meters to the riser were connected. The parallel connection of more cores helped (and thus increase the effective cross-section of the conductor) - due to the low communication speeds, it is not necessary to use a twisted pair cable.

Setting meters, communication speeds

Let us assume that the meters will be installed in hard-to-reach places: in installation shafts, ceilings, under the locks of offices, shops, tenants, etc. So we try to avoid the need for any further manipulation of the meter after it is installed. On the other hand, it often happens that perfectly preset, addressed and marked meters are installed by the heating company as it occurs and the prepared forms with addresses, room numbers and circuit names remain blank or filled out carelessly. Remediation requires a lot of time and energy.

The mentioned address range 1 to 250 concerns the so-called primary addressing. In addition, there is secondary addressing, which is - simply put - marking meters with "unique" eight-digit numbers based on the serial numbers of the meters. With a probability bordering on certainty, we will not find more of the same secondary addresses on the bus. As a rule, the secondary address cannot be changed in the meter. Some drivers support secondary addressing, but the primary addressing is used more, among other reasons for greater convenience when replacing the meter, when you just need to set the same address on the new meter as the old meter. For secondary addressing, we would have to change the settings in the reading application.

A common question is whether it is possible to combine different types of devices on the bus. In principle, this is possible, but it very much depends on how the reading software is written - more precisely the M-bus driver in the "master" - the main unit. It is always better to have this option confirmed by the meter supplier. Some drivers only support a limited set of meters.

Measurement and control designers may therefore, as part of the requirements for other professions, require the meter supplier (heating, refrigeration, gas, sanitation or heavy current professions) to provide addressable and preconfigured meters of safely supported types as part of its delivery. They achieve this in the project with approximately the following texts:

“Professions supplying heat, cold, water, electricity meters with M-Bus communication will supply these meters already set with primary addresses in ranges according to the requirements of the MaR profession, which integrates these readings. It is preferable to use meters (here are listed the types with which the MaR supplier can communicate without problems and has been tested). Other types of meters need to be approved by the M&A supplier. The delivery of meters will include a table with the following data:

  • meter type (eg "Actaris +m")
  • its location (especially room number, eg "1.145")
  • the name of the circuit that is being measured (eg "Water Bistro")
  • set primary address (eg "21").

Addressing only by secondary addresses (serial numbers) is not permitted. "

The list of preferred types appears in the specifications due to the fact that the internal structures of telegrams may differ for different manufacturers and for different types (and firmware versions!) of meters. The reading software can then read meaningless values for unknown types, resp. some types may not be selectable from the list of supported meters at all. Therefore, it is necessary to check with the software vendor or PLC whether

  • we must choose from a fixed set of supported types
  • new types can be added from the manufacturer of the readout program to the driver for a fee
  • new types of manufacturers will be added free of charge as part of expanding their system
  • new types can be configured by a more experienced application programmer himself if he receives the necessary information.

The difference between the penultimate and the last option is that the release of a new driver by the manufacturer may take some time, while the handover period does not wait. For "manual" configuration, it is enough to fill in several parameters in the table (so-called DIF, VIF, offsets), or to copy an XML file with definitions. This is the most convenient and fastest way. Obtaining documents from the manufacturer or supplier of the meter is no longer a problem today, and companies usually know what they want, because a similar question has been raised by several suppliers of reading software.

Example of a part of the configuration XML file of meters in the Domat SoftPLC environment

It is also advisable to pre-determine the address ranges for the individual professions in order to avoid collisions - for example calorimeters 1...100, electricity meters 101...150, water meters 151...200. Addresses on the bus do not have to be consecutive, but they must be unique.

The M-Bus supports standard communication speeds of 300 to 9600 bps. The speed of 2400 bps is most often used, it is also the default set speed for most meters. If the meter can communicate at multiple speeds, the speed is set either via the display and buttons on the meter, or via the bus using a configuration program and a converter, similar to an address. Before commissioning, it is therefore advisable to find out how these settings are made, obtain the appropriate programs and converters and, if possible, test the settings in the peace of the office. We may find that we need a special cable to set other parameters of the meter (eg for a pulse converter Siemens AEW 310.2 it is necessary to have a USB cable, for other meters an optical head, etc.). If we need to configure only a few devices, it pays to order them from the supplier already preset.

All devices on the bus should communicate at the same speed. Theoretically, it would be possible to communicate with different meters at different speeds, but in practice it is not used for obvious reasons. At the same time, the reader system driver would have to support this function. Usually, a speed of 2400 bps is used, which is low enough to withstand older lines and possible electromagnetic interference. The speed of data transfer does not matter so much in this case, we are interested in readings in the order of hours or higher, so the response time in minutes is more than sufficient.

In distribution networks, auxiliary values ​​from meters, such as flow and return temperatures, are used to optimize morning ignition and other control functions. Even here, however, due to longer transmission routes, we remain at a speed of 2400 bps.

In the second part, we will find some tips for working with communication converters, which connect the M-Bus to a PLC or PC with visualization, as well as tips for connecting pulse converters.