General M-Bus Information
This part consists of general information regarding communication support as well as what to keep in mind and control when it comes to M-bus communication. The rest of the support function is divided into the respective products. If you are unsuccessful in connecting to a meter there are a few things to cross check, please see below:
1. General Addressing
According to the M-Bus standard new meters should be delivered with a primary address of 0. If many meters are connected to the M-Bus network at the same time with a 0 address none of the meters will connect through a primary address. One way to set new primary addresses is to use secondary addresses this is if the meter can communicate with secondary addressing. However, some meters don’t support secondary addressing and if that is the case specific software from the meter supplier must be used. If the meter supports secondary addressing and address changes via the M-Bus protocol it is possible to remotely change the address. If this is not the case you more than likely have to disconnect the meters one by one from the M-Bus loop and connect the meter to an external M-Bus master to make the address change.
2. Primary Addressing
• The primary addressing should always be within the 1-250 range.
The meters are normally delivered with 0 as primary address; however this can be tested by communicating against a 0 primary address
• If you only have one meter connected it is possible to use a 254 primary address to read the meter’s true primary- and secondary address. All types of meters should answer to a 254 primary address. If more than one meter is connected to the loop a collision will occur due to the fact that all the meters will answer simultaneously.
• If the meter answers to a 0 primary address it is important to change it to a new primary address within the 1- 250 standard range. This means that it will be possible to connect another meter to the network, which can be remotely set via a 0 primary address.
• When more than one meter is connected to the network it is important to make sure that multiple meters are not connected to the same address. If that is the case none of the meters will be connectable.
• Some meters such as ABB Odin for example does not support complete primary addressing, but only a 0 address.
3. Secondary Addressing
• If the meters support secondary addressing it is possible to search for meters even though all the meters have the same primary address via for example PiiGAB’s M-Bus Wizard. It is possible to change the primary address by using the meter’s secondary address.
• Some meters such as the older Kamstrup meters do not support secondary addressing
4. Baud Rate
• When changing the baud rate it is important to read the meter’s information within a few minutes, if not the meter will, due to the M-Bus standard, return to the original baud rate.
• If you are using a baud rate of 300 it is necessary to control that the time delay is enough.
• In a case where you cannot find the meter on the M-Bus net try to change the baud rate. The baud rates most commonly used are: 300, 2400 and sometimes 9600 baud, where the 2400 baud rate is the most common. Some meters are pre programmed to 300 baud at delivery, change and try them out, however be aware of the time delay if you only reach contact when using SND_NKE.
• Most meters allow you to change the baud rate over the M-Bus net by using PiiGAB’s M-Bus Wizard.
• One prerequist is of course that the meter has a M-Bus port and/or a M-Bus card installed. Some meters have their own configuration connection that does not support M-Bus but can easily be mixed up. One example is the Mini-Bus, which cannot be sued for standard communication.
• Make sure that the M-Bus network is not connected to a pulse entrance on the meter by mistake.
• If you cannot establish contact with the meter although multiple addresses and baud rates have been tested there is more than likely an interruption on the M-Bus network or there is an incorrect connection to the meter.
• A simple way to test the M-Bus network is by measuring the voltage on the M-Bus network itself. The voltage should be in a range between 30 and 40V depending on the type of M-Bus master.
• A termination resistor is not needed on the M-Bus cabel.
6. Single/Multi telegram
The data records from a M-Bus meter are located in either one or several telegrams. In a multi-telegram meter the data records will be located in different telegrams. The most common data records are usually located in the first telegram. In a single-telegram meter are all data records located in the meter’s only telegram.
The meter can be read by the REQ_UD2 command. There is only one telegram to read.
To read a multi-telegram meter the first step is to reset the meter’s telegram counter. The meter will then respond with the first telegram on read-out. Often is the SND_NKE command enough. Sometimes must APP_RESET command be used with a sub-code.
The read-out can then be done with the REQ_UD2 command. The meter will then respond with the first telegram. Repeat the REQ_UD2 command to receive the next telegram, and so on.
Each telegram will notify if there are more data records in next telegram. This is accomplished with the Manufactory Data Header (MDH) field. The values for MDH are:
• MDH = 0x0F: No more data record in next telegram
• MDH = 0x1F: More data records in next telegram
Use the Browse template in PiiGAB Explorer or the DEBUG window in PiiGAB M-Bus Setup Wizard to find the MDH field in the telegram.
Keep track on how many telegrams should be read from the meter to acquire the necessary data records. This will also avoid reading unnecessary telegrams. For next read-out send the SND_NKE command once more to restart the procedure.
7. Time Delay
An M-Bus telegram is at its biggest 261 byte, which translates to 261*11 bits (including start, stop and parity bits) i.e. 2800 bits in the response telegram. Add to the question and the standby time before the answer is delivered. If the telegram has a size of 300 baud the time delay should be 10 seconds at a minimum. A normal timeout for a 2400 baud rate is 2-3 seconds. If the baud rate is changed from 2400 to 300 it could mean that the baud rates are too insufficiently connected.
8. M-Bus loads
It might be confusing that one M-Bus load is not equal to an M-Bus meter. According to the M-Bus standard (EN13757) one M-Bus load defined as 1.5mA. An M-Bus master specifies how many M-Bus loads it can handle. This indirectly tells how much current the master can deliver on the M-Bus loop. Most M-Bus meters only use 1 M-Bus loads but there are exceptions where an M-Bus meter uses two M-Bus loads. An M-Bus master usually indicates visually if there are too many M-Bus loads connected to an M-Bus meter. For PiiGAB M-Bus 810 and PiiGAB M-Bus 900S gateways this is visualized on the PWR led.
|2x2x0,8||73,2Ω/km||120nF/km||Halogen free, twisted pair with shielding|
|2x2x0,8||73,2Ω/km||100nF/km||Twisted pair without shielding|
*The M-Bus standard (EN13757)
- M-Bus loads: All M-Bus gateways are dimensioned according to how many M-Bus loads should be powered on the M-Bus loop. Not according to how many M-Bus meters can be connected to the M-Bus loop.
- Clienter: Number of system that should read the M-Bus meters. E.g: Citect, M-Bus OPC, PLC, SCADA or HMI.
The PiiGAB M-Bus 810 can only handle one client.
The PiiGAB M-Bus 900S can hanlde up to four clients.
- Protocols: The protocols which the client use to communicate with the gateway. Both data protocols and carrier protocols.
The PiiGAB M-Bus 810 can only handle one client communicating M-Bus over UDP/IP, TCP/IP or RS232.
The PiiGAB can hanlde M-Bus, Modbus and MBusASCII over UDP/IP, TCP/IP, RS232, RS485 or M-Bus slave.