Your browser does not support JavaScript!

Paweł Kąkol


M-Bus vs Modbus RTU - the advantage of M-Bus in meter systems

5 Minutes

Send to your friends


The article focuses on the advantages of the M-Bus protocol over Modbus RTU when used in meter buses.

In the M-Bus protocol, there is less susceptibility to interference (e.g. when running the bus in parallel with power cables - high-current) - so the bus can be run with a lower quality (i.e. cheaper) cable, e.g. without a shield collecting voltage disturbances induced by high current power cables. This lower susceptibility results from the fact that the transmission is performed with a current signal, not a differential voltage signal (as in RS485).



Pic. 1. BUS arrangement in Modbus RTU and M-Bus


On one bus (depending on the power supply at the M-Bus master) you can connect more devices (they are even found with solutions for 250 devices), the RS485 standard (Modbus RTU) allows you to connect up to 32 Slave devices (if they are made in the most popular on the market version: 1 device = 1 Unit Load, but in the best case, as in iSMA modules, it can be 1 device = 1/4 Unit Load, which still gives a maximum of 128 devices).

M-Bus indeed operates at lower speeds than Modbus RTU, but in meter systems, there is no need for it to be high because 1 reading per day is enough. In special cases, it will not be more often than once every 15 minutes. On the other hand, Modbus RTU was created for readings similar to the periods: once every 1/5/30 seconds.


M-Bus as well as Modbus RTU, depending on the speed, allows achieving different maximum bus lengths (the lower the speed, the longest possible bus). In the M-Bus protocol, you can reach up to 10 km (at 300 baud rate) of the bus length, where, in Modbus RTU it is up to 1.2 km (at 9600 baud rate - support for lower speeds in Modbus RTU is rather unheard of). Of course, it should be remembered that in both cases, the longer bus does not allow reaching the declared number of devices (instead of 250 in the M-Bus it will serve, for example, 220 devices with a long bus, and in Modbus RTU instead of 32 devices, it will be e.g. 25 devices with the longest bus).

Some of the meter manufacturers allow their devices to be powered from the M-Bus - which allows for additional savings associated with not having to run a power cord. In the case of devices with the Modbus RTU protocol, additional power must always be supplied.



Pic. 2. Cabling required for Modbus RTU and M-Bus meters


A very large number of meter manufacturers (apart from the energy meters that are powered from the measured phase), M-Bus uses battery power, which allows you to work from 2 to 5 years (depending on the transmission frequency) without replacing the battery. This means that you can save on the device supply cable, which in the case of Modbus RTU meters cannot be achieved (the Modbus RTU standard says that the device must be ready even for very frequent inquiries, e.g. every 1 second so the producers do not propose such solutions).

M-Bus has predefined types of devices (e.g. flowmeter, energy/heat/cooling meter), which allowed developers to create such a communication driver that automatically determines the measurement units, without the need for additional manual setting of 'facets' by the engineer (of course, not all solutions include this is used), Modbus RTU does not define units, therefore the engineer always has to manually set the facets if the BMS system allows him to do so.


M-Bus allows you to remotely change the configuration of devices (e.g. communication speed) using the broadcast address. Modbus RTU also has such an address, but it is not possible to change the communication speed unless the manufacturer has enabled it using the Holding Register (which rarely happens) - but there is no uniform standard for this and even if each manufacturer from the meters installed on the bus would give such a possibility, each of them would have put it on a different register anyway, so it wouldn't be possible to do it with the broadcast.

M-Bus, apart from the primary address of the device (based on almost the same rules as the device address in Modbus RTU), which is not automatically assigned, also has a secondary address (8-digit unique device address - often it is the entire or part of the device serial number). Thanks to this, the meters can be installed with the serial numbers written down (to which premises they have been installed - and so you have to do it even in Modbus RTU because, during billing, the serial number of the meter is given, based on which the invoice is issued), and then the integrator can remotely configure the devices communicating with them using the secondary address. In Modbus RTU it is necessary to configure the addresses of all meters in advance or after installation, approach each one individually and configure, and sometimes the meters (mainly water consumption meters) are in hard to reach places.

M-Bus enables the discover function of devices (with both primary and secondary address - the difference is that the search using the secondary address can take a longer time - if the search range is not limited), and in the Modbus standard, RTU has no such functionality at all.

Other articles by this author