M-Bus Rev. 4.8
M-Bus Rev. 4.8 communication protocol
Supported device types and versions
Communication implements data reading from devices that support the M-Bus protocol by the Rev. 4.8 specification. Communication was tested with MULTICAL® III, MULTICAL® 5 measuring devices by KARMSTRUP Company, CALSTREEM EEM-C measuring device by Danfoss Company, and PolluTherm Pt500 by Sensus.
The communication was also verified against the water flow meter Sensus MeiStream 150 with communication module HRI-Mei using an EthMBus-5 converter manufactured by JC-e (it was necessary to configure a converter to TCP mode and use a TCP/IP-TCP line category).
Communication line configuration
Communication line category: Serial, SerialOverUDP Device Redundant, MOXA IP Serial Library, RFC2217 Client, TCP/IP-TCP.
Note: when using TCP/IP-TCP or RFC2217 Client lines, in case of redundant systems multiple names/addresses separated by commas can be entered.Standard settings for most of the M-Bus devices:
Mode 1: Baud rate 300, 8 bit, 1 stop bit, even parity, RTS=1, DTR=1.
Mode 2: Baud rate 2400, 8 bit, 1 stop bit, even parity, RTS=1, DTR=1.
Line protocol parameters
The following station protocol parameters can be defined:
Keyword | Full name | Meaning | Unit | Default value |
|---|---|---|---|---|
CHBR | Change Baudrate | Value Yes means that communication will be switched between modes 1 and 2 (only Serial line). | - | No |
SNKEBR | Send SND_NKE as Broadcast | The Yes value means that the SND_NKE (slave device initialization) command is sent as Broadcast before reading from the first station on the line. | - | Yes |
Communication station configuration
Communication protocol: M-Bus Rev 4.8
The station address is a decimal number within the range of 1..250 – slave address, it is derived from the serial number of the measurement device (last three digits). If the last three digits are greater than 250, the highest digit is not to be taken into account. If the serial number is one of the numbers of 000, 300, 400, 500, 600, 700, 800, 900, then it must be changed.
Station protocol parameters
The following station protocol parameters can be defined:
Keyword | Full name | Meaning | Unit | Default value |
|---|---|---|---|---|
ASCM | Address Scan Mode | Each reading of values increments the station address. This mode can be used to find a device with an unknown address. | - | No |
RC | Retry Count | Request repetition count in case of a communication error. | - | 2 |
RT | Retry Timeout | Delay between request repetition in case of a communication error. | ms | 100 ms |
WFT | Wait First Timeout | First waiting for a response after sending the request. | ms | 800 ms |
WT | Wait Timeout | Delay after transmitting the request before reading the response. | ms | 500 ms |
MWR | Max Wait Retry | Repetition count of response readings till its finalization. | - | 40 |
| ||||
WAI | Wait After SND_NKE Broadcast | Delay after sending a broadcast SND_NKE, before reading from the first station on a communication line. | ms | 8000 ms |
WBR | Wait before REQ_UD2 Request | Delay before sending the REQ_UD2 request to a slave. | ms | 4000 ms |
SFAI | Set FCB Bit after SND_NKE | The parameter specifies whether an FCB bit in a first request after sending SND_NKE should be set to 1 (YES) or 0 (NO). | - | YES |
AFOR | Accept Following Records (0=disable,255=read all) | If the slave station has Variable Data available, the parameter specifies the number of records read during one polling of the station. A value of 255 means that all available records will be read. | - | 0 |
RESB | Send Application Reset before REQ_UD2 | Optional sending of "application reset" message (50h) prior to reading the values from the station. | - | NO |
WUL | WakeUp Length | Length (given in characters) of the so-called wake-up message sent before each request. Value 0 disables the sending of the wake-up message. | bytes | 0 |
WUD | WakeUp Delay | The delay between the wake-up message and a request. | ms | 400 |
ARB | Accept Reply To Broadcast | If the station has address 254 (according to the protocol definition it is a broadcast address to which stations can respond), this parameter allows processing the response from any station. The practical use is on lines with a single station - in case of its exchange, it is not necessary to find out the address of a new device. | - | YES |
| ||||
FULL_DEBUG | Full Debug | Enables debug logs on the communication and acquired data. | - | NO |
| ||||
MULTICALIII | Multical III | Enables decoding the Manufacture specific data of Multical III device. | - | NO |