M-Bus (Meter-Bus) is a European standard (EN 13757-2 physical and link layer, EN 13757-3 application layer) for the remote reading of water, gas or electricity meters. M-Bus is also usable for other types of consumption meters. The M-Bus interface is made for communication on two wires, making it cost-effective. A radio variant of M-Bus Wireless M-Bus is also specified in EN 13757-4.
The M-Bus was developed to fill the need for a system for the networking and remote reading of utility meters, for example to measure the consumption of gas or water in the home. This bus fulfills the special requirements of remotely powered or battery-driven systems, including consumer utility meters. When interrogated, the meters deliver the data they have collected to a common master, such as a hand-held computer, connected at periodic intervals to read all utility meters of a building. An alternative method of collecting data centrally is to transmit meter readings via a modem.
Other applications for the M-Bus such as alarm systems, flexible illumination installations, heating control, etc. are suitable.
Relation to the OSI model
Since no bus system was available for the requirements of meter reading, the M-Bus was developed by Professor Horst Ziegler of the University of Paderborn in cooperation with Texas Instruments Deutschland GmbH and Techem GmbH. The concept was based on the ISO-OSI Reference Model, in order to realize an open system which could use almost any desired protocol.
Since the M-Bus is not a network, and therefore does not - among other things - need a transport or session layer, the levels four to six of the OSI model are empty. Therefore, only the physical, the data link, the network and the application layer are provided with functions.
|Frame||2. Data link||IEC 60870|
- Automatic meter reading
- Feed-in tariff
- Virtual power plant
- Net metering
- Smart meter
- Utility submeter
- OLE for process control
- rSCADA libmbus An Open Source M-bus library written in C.
- jMBus M-Bus master Java library at openmuc.org.
- Valley.Net.Protocols.MeterBus An Open Source M-Bus library written in C#.
-  the free scada project