M-bus-to-ModBus supply converter MMCR-64 RTU and TCP

M-bus to ModBus supply convertor MMCR-64

MMCR-64 is a microprocessor two-way full-duplex M-bus to Modbus converter, with ability to supply 64 or 128 M-bus slave devices. It has both modbus RTU and modbus TCP interfaces, which can work independantly of each other. It is intended for use in housing constructions and industrial buildings mainly for distant reading of tax instruments or different types of sensors. Since Modbus has very wide usage and M-bus is a “special” protocol often BMS engineers have difficulties embedding this two protocols in one system. This is where our converter take place - being smart bridge between two industrial protocols. Device is protected for short circuit in the output. Mounting of the unit is done on a standard М36 DIN-rail.

user manual RTU (obsolete)

user manual RTU and TCP

Configuration software m-bus/modbus


Main technical parameters of MMCR-64

nominal output m-bus voltage (mark) 35.5 VDC± 0.5 V
maximum count of m-bus slave devices 64 or 128
maximal output current for m-bus interface 140mA/280mA
output m-bus voltage in condition ‘0’ (space) 22 ÷ 25 VDC
maximum m-bus baud rate 4800bps
maximum RS-485/modBus baud rate 115200bps
maximum devices in RS-485 network 250
maximum devices in ModBus register Map 64/128
power supply 150-250 VAC (200-350 VDC)
power consumption < 7 W for 64 slaves; < 12 W for 128 slaves
humidity 40 ÷ 90 %
work temperature from -20° C to +55° C
storage temperature from -50° C to +90° C
longest distance in the m-bus network with one MMCR 600m
display 6 indicating leds (on, protection, output voltage, over range, collision, receiving)
dimensions (HxWxD), mm 105/107/74 mm
protection class IP30
weight 430 g

Operation of MMCR-64

Generally, the device has three separate interfaces:

  • M-bus master interface for up to 64 or 128 devices
  • ModBus RTU (RS-485) interface for connecting to PLC, PC, etc.
  • ModBus TCP (Ethernet 10/100) interface for connecting to PLC, PC, etc.

Since ModBus has wide usage and m-bus is a special protocol mainly for heat- and water meters, this device aims to connect heat-, water- and electricity meters in a building to the main SCADA. Selected m-bus devices can be activated in MMCR memory. Then, with programmed period, every m-bus device is read and information for it is updated in dedicated ModBus registers. This interval can be from 1 minute to 12 hours. That normally gives speed to the whole system, because there is no delay for the Main PLC through modbus RTU. Data is transffered immediately (not wasting time to 'read' mbus) and can be at full speed of 115200 bps. For every device there is 28 register blocks (24 up to version v2.10), in which are saved all m-bus parameters:

  • main counter value
  • m-bus primary address
  • m-bus secondary address
  • medium measured
  • unit and constant
  • tariff information (for pulse counter with tariffs – like MBSS-xx)
  • additional inputs information
  • manufacturer of m-bus device
  • status, flags and additional info

All m-bus details are important and we keep them updated. Devices in ModBus memory can be activated or deactivated. For Heat meters there are some more parameters that are saved - Volume, Power, Temperature Inlet and outlet, etc. Automatic search and activate for m-bus is available. In ModBus memory devices are activated consequentially up to 64/128 devices, but primary m-bus addresses may not be from 1 to 64 (128) – this does not matter. In which data record which m-bus device stands can be read through special registers (see ModBus map). Readout intervals are settable and some other things, which are described further.

Gineers offer software for setting MMCR-64. This software has two main TABs:

  • setting main parameters
  • reading m-bus, activating ModBus devices

Main parameters for setting are:

  • read general status – number of activated devices, m-bus details, version
  • read activated addresses
  • set important m-bus details – using 0x5B or 0x7B when REQ_UD, stop m-bus for one hour, sort m-bus devices in ModBus memory, use SND_NKE initialization when m-bus commands, etc
  • set readout/update time
  • set timeout between two m-bus readings
  • set date and time of MMCR
  • set ModBus address of MMCR-64
  • set ModBus serial port details – speed and parity
  • set TCP parameters – DHCP on/off, IP, Gateway, Mask (if DHCP is Off)
  • set m-bus serial port details – speed and parity

Software options for working with m-bus devices are:

  • searching m-bus network by primary address
  • searching m-bus network by secondary address
  • changing primary address of a device
  • changing medium of m-bus devices
  • changing main value (if device supports m-bus standard command)
  • activating particular device in ModBus memory
  • de-activate particular device in ModBus memory
  • de-activate ALL devices
  • read all active devices from ModBus side
  • set automatic SEARCH AND ACTIVATE option – easy and quick way to set all with one click

Of course, all described can be accomplished with other software using ModBus map of the device. But it is good to have quick-start and to see capabilities of the device before starting to write your own code.

More info about configuration software you can find here: MMCR Configuration software

МMCR-64 starts to operate immediately after connecting the supply voltage to it. The algorithm of work is as follows:

Starting initialization mode (0.2-0.3 s)

For about 0.2-0.3 s the device is busy with initialization of important parameters. During initialization the output is forbidden and the output voltage is 0 V. Leds ‘on’ and ‘prot’ (protection) are active. the output becomes active, the unit then measures current consumption of the connected slaves. Led ‘prot’ is turned off, led ‘out’ (allowed output) become active. If short circuit, the m-bus output is held forbidden and after a few second a new check is done, while led ‘prot’ becomes active, led ‘out’ is turned off.

Normal operation mode

From the m-bus side device continuously measures current consumption of the connected m-bus slaves. If the consumed current becomes higher than 140 mA, the led 'over' is turned on. If the consumed current becomes higher than 150mA, the m-bus output is forbidden and turned off.

From modbus side device waits for commands to perform - read/write of input or holding registers. Two interfaces are completely independent from each other. Device tracks programmed readout time period and if period has elapsed - full readout of entire m-bus network is made automatically. Then corresponding modbus registers are updated with readed data.

Mounting and electrical wiring (RTU version)