The M-Bus protocol
The M-Bus protocol is a standard protocol for reading devices like Heating Energy meter, Water Volume counters or Electricity Energy meters. M-Bus is normalized as EN 1434-3. Many manufacturers have implemented the M-Bus protocol in their products, but in some cases the M-Bus interface may be optional and must be ordered separately. The physical layer supports the data transmission as well as the power supply over a two wire cable. The data exchange follows a Master-Slave structure where the Saia PCD® is master while all counters are slaves. You can read more about M-Bus on Internet at www.m-bus.com and www.m-bus.de.
There are different possibilities to connect a PCD onto an M-Bus network.
Integrated M-Bus module PCDx.M27x(0)
Saia proposes a range of M-Bus modules PCDx.F27x that can be plugged in the 2 slots of PCD1.M2 and the 4 first slots of PCD3 or PCD2.M5 CPU. With these modules the PCD can directly be connected to the M-Bus signals without the need for an external level converter.
Fow working with these modules the "Line type" called "M-Bus/F27xx" is to be selected in the M-Bus Driver FBox. If you don’t yet have this option you can use the type PCDx.F270(0) only by selecting RS485 (but not a F271, F272 or F273).
Important: The minimum FW version on PCDx systems is 1.16.52 and on the PCDx.F27x(0) module is 1.02.02 (recommended 1.02.11). Please contact your Saia Burgess Controls agent for more information and to verify that the minimum firmware version (or a later version) is installed.
Read also the Saia FAQ 101604.
External M-Bus interface
A signal / level converter from RS232 to M-Bus can be used to connect a PCD using any of the available RS232 port of the Saia PCD®. The external converter is usually delivered and installed by the provider of the M-Bus counters. If no such converter is delivered, an external device should be recommended by the provider of the M-Bus device. Engiby have used an M-Bus interface from the company Relay AG, Germany (Type PW6, PW20 and PW60). Go to www.relay.de for more details. The PW60 also support RS 485 connection to the PCD.
Direct RS232 or RS485 connection
Some devices can be connected over RS232 or RS485 directly. Engiby has tested some devices supporting directly the M-Bus protocol on RS 232 or RS 485 (without M-Bus converter). In this case, the power supply must be wired separately. If direct RS232 connection is used, only one device can be connected to the PCD. Contact the device manufacturer for more information.
Most M-Bus devices operate at 2400 bauds and this is also supported by all Saia PCD® systems and communication modules. A lot of M-Bus devices also work at 300bauds. This speed is no longer supported by the Saia NT-Systems (e.g PCD3) when using an external level converter. It is not recommend using this baudrate. However using the Saia M-Bus modules and the option “M-Bus/F27x”, 300 bauds may be used.
Some devices also operate at 9600 bauds and this is supported by the driver and all PCD systems. Some devices support autobauding while others need a specific configuration to operate at the desired baudrate. If you have a mix-up of devices, and you don’t use the default baudrate of 2400bds, take care at the supported baudrates and the autobauding capability. In case of incompatibility you have to use different communication lines and use several Master interfaces and Driver FBoxes.
Use of Port 0 PGU
The port 0 (PGU port) can be used with the M-Bus driver with the following configuration:
- PG5 1.4 : Open the hardware settings. Activate the option ‘Full RS-232 handshaking on port 0’. Save and download the settings.
- PG5 2.x : Open the Device configurator and in the section "Onborad Communications" select "RS232/PGU".
Disable all protocols (S-Bus, Modem, etc) and set "Full RS-232 handshaking" to "Yes".
For old systems where the port 0 is also used as PGU port to download programs in the PCD, the above mentioned option does not exist or cannot be used. In this case, you must use the channel called "Channel 0/PGU" (or Channel 0/PCS1 on PCS1 systems) in the Driver FBox. The port is assigned by the driver at startup if no PGU connection is used, but the PGU port is forced in PGU protocol when a PGU cable is connected and PG5 goes online. After the use of the PGU mode with PG5, unplug the PGU cable, connect the M-Bus interface, the port is restored for M-Bus protocol. In this configuration, it is important to not connect the control signals inputs, CTS and DSR on the PCD port, or better, to connect them to signal ground.
Support of several M-Bus lines on the same PCD
Since the version 2.3.100 of the M-Bus driver library several M-Bus lines can be used on the same Saia PCD®. The standard Fupla mechanism of FBox name and reference is used.
Mix-up of devices on the same bus
Mix-up of devices from different types or different manufacturers is in general possible without problem but cannot be warranted in all cases.
The possible restrictions are:
- incompatible baudrates (not all devices support several baudrates and do not support autobauding)
- incompatible reset procedure (a required procedure for a device may disturb another one)
In case of incompatibilities, several lines must be built up and connected to different M-Bus master interfaces / ports on the Saia PCD®.
How many devices can supported by a PCD
There are no limitations set by the driver itself but increasing the number of device will soon or later reach one of these limits.
- Up to 250 devices can be addressed on one bus (with primary addressing)
- The signal converter supply the power for a limited number of device (PW6=6, PW20=20, and so on)
- The amount of devices which can be connected to a PCDx.F27x M-Bus module is limited in dependence of the type:
PCDx.F271(0): 20 slaves, PCDx.F272(0): 60 slaves, PCDx.F273(0): 120 slaves, PCDx.F270(0): 240 slaves)
- The number of PCD register is limited. Each M-Bus device will need about 20..30 registers.
- The Program memory of the PCD is also limited. Each M-Bus device will use about 400..800 lines of code.
Add about 5000 lines for the driver itself (each driver).
- The total reading cycle of all devices will be affected by the number of devices on one bus.
Depending on the type and the speed, you may need up to 1 min for 10..20 devices.
Note: Distributing the devices on several buses reduces the cycle time. Each driver works in parallel.
- We also noticed that large M-Bus networks are more often affected by cabling errors and disturbances.
Therefore, we recommend to limit the number of devices to 30..50 per network.
Test tools for M-Bus installations and devices
- NG-MScan 2 is a free Engiby tool able to scan an M-Bus network and report the full data package returned by a device. It can be installed as Add-on tool to PG5 2.x and is able to read the M-Bus over the PCD as S-Bus / M-Bus gateway.
It is especially useful if you have no possibility to send a test device to Engiby or no specification is available.
Download page NG-MScan 2
- Some manufacturer will spontaneously put a software tool at your disposal to test the connection with M-Bus counters from a PC. Such tools usually allow to scan the bus with different baudrates and are able to find out which devices are connected on the bus. This test may be useful to correctly set the baudrate and the addresses in the Driver FBox of the PCD program.
- You can also find such tools on the Internet, e.g. from www.m-bus.com or www.m-bus.de.
If you have used the Saia F27x module, you don’t have any RS232 port to connect your PC. New notebooks don’t have any RS232 interface, either. Alternatively to the use of the NG-MScan2 we recommend in these cases the use the "M-Bus Mikro-Master USB" available from www.relay.de. It can be directly connected on the M-Bus network and support a virtual COM port in Windows. Further USB to M-Bus converters are available from www.zeta-eng.ch.
Principle of the M-Bus Library
The M-Bus driver is based on a standard Driver FBox and specific FBoxes for each meter / counter type. The driver is the same for all counter devices and contains all mechanisms and data coding used by the M-Bus protocol. The particularities of each device are given by specific Fboxes. Two types of FBoxes are delivered for each device.
- A simple FBox, marked with ‘01’, which delivers formatted values in the configured unit (e.g. kWh) to individual FBox outputs.
- A compact FBox, marked with ‘02’. It delivers the values in a register array. Values and exponents are then available in individual registers. The value is not formatted but delivered "as received" from the device.
Implementation in PCD
The M-Bus standard does not ensure that every counter device can be read with a unique implementation. The procedure to read the device may vary, several reset mechanisms exist, different data coding are used, the delivered data can be specifically configured in the devices and some data are even manufacturer specific. Further on it is possible to transmit values that are greater than "32-bit values"; these values can not be processed 1:1 by the PCD.
Therefore Engiby cannot warrantee that any new device can be read with the existing function of the M-Bus library. Tests and adaptations might be required for new devices.
In general we the following statements apply:
- Almost all Water meters can be read with a generic FBox without problem
- Most Heating meters can be read with a generic FBox
- Only few Electricity meters can be read without specific implementation
If you have found a working FBox but you need few additional values, you can add the optional FBox called "Additional Values" with the same address of the main FBox (placed directly after the main FBox). You must know and correctly select the various identifications of each value (please note that even this method does not ensure that you can retrieve any value of a device).
PG5 program example
You can download this project example for a quick start.
Generic FBox for standard devices
For simple applications and very standard devices, some Generic FBox have been created. If a Generic Fbox is sufficient, no specific implementation is required.
For instance the values returned by the Heating Generic FBox are the following:
- Forward temperature
- Return temperature
- Difference temperature
Missing values are set to 0. As explained above it cannot be guaranteed that all devices can be read by this Generic FBox (depending on the implementation of the device). The initialization and/or the communication procedure may be particular and need adaptation.
Fix data structure
Some old devices may use a transmission method called "Fix data structure". One FBox has been created to support this type of devices.
Please refer to the following link for a list of ac actually supported devices:
M-Bus – List of supported devices.
Implementation of new device
On request new devices which are not yet supported can be implemented. Please contact Engiby in case you need to read such a device.
The driver is delivered with a user license for PG5 version 1.4, 2.0, 2.1, 2.2 and/or 2.3. For more information please refer to the registration procedure under Licenses Validity and Registration Procedure Valid for PG5 1.4 and 2.0. The driver can be used on several PCs inside the same company and for several Saia PCD® and installations with one single license.
Updates will be required for new features and for new PG5 main versions. The 'General Conditions for Supply of Software' from Engiby are applicable.
Furhter interesting chapters:
- M-Bus driver main page
- M-Bus Startup guide
- M-Bus Trouble shooting guide
- NG-MScan 2 software for scanning M-Bus