Bronkhorst Digital Mass Flow / Pressure (MBC) Modbus register map
Also covers MBC3, MBCII, EL-FLOW, IN-FLOW, CORI-FLOW, LIQUI-FLOW L30, MASS-VIEW
Digital multibus mass flow and pressure meters and controllers with the Modbus slave interface
- Official
- 65 registers
- Modbus RTU
- Revision 1 · 2026-10-18
- Identity: firmware, serial number
Official: Written from the manufacturer's documentation, but not tested on a device yet. Check the map against the manufacturer's documentation before you write to a live device. Tested it? Report a test.
Communication
- Protocol
- Modbus RTU
- Unit ID
- 1
- Serial
- 19200 8E1 · 19200 baud, 8 data bits, even parity, 1 stop bit
- Byte / word order
- ABCD · bytes big-endian, words high first
- Addresses
- 0-based
- Max read
- 50 registers per request
Connection values are defaults: the device may be configured differently.
Map
- Registers
- 65 holding registers
- Groups
- 8
- Revision
- 1 · 2026-10-18
- Added
- ()
- File
- maps/bronkhorst/mbc-modbus.mbmap.json · 11 KB · history
- SHA-256
- b591b0c59ab1a17b6eac41caec1dee53493b1dddf3918110e3b0177b970ddf9b
- Manufacturer
- bronkhorst.com
Device identity
What a tool can read to check that this map fits the connected device (SPEC.md section 4.7). Registers with a role are read like any other register.
| Role | Register | Address | Type | Values |
|---|---|---|---|---|
| Serial number | Serial number | holding 61720 | string[8] | |
| Firmware | Firmware version | holding 61736 | string[3] |
Sources and notes
- Instruction manual: Modbus slave interface for digital Mass Flow / Pressure instruments · version 9.17.035, 2013-03-27 section 4.4.6, the table of commonly used parameters, plus the interface settings of sections 3 and 4
Source: Bronkhorst, Modbus slave interface for digital Mass Flow / Pressure instruments, document 9.17.035 (27-03-2013)
- Addresses are the PDU addresses of the manual (register number minus 1). The manual lists only the most commonly used parameters.
- RS485 two-wire, RTU (MBC3 and MASS-VIEW can also use ASCII). Delivered with address 1 and 19200 baud; 9600, 19200 and 38400 baud everywhere, 57600 and 115200 on MBC3 only.
- Parity is even and fixed on MBCII, CORI-FLOW and MASS-VIEW; MBC3 allows even, odd or none (no parity needs 2 stop bits).
- Byte parameters read as a 16-bit register with the upper byte 0. Floats and long integers use two registers, high word first; strings hold two characters per register, first character in the high byte.
- Reading a part of a two-register parameter returns exception 02; reading a write-only register returns exception 04.
- A reply takes up to 100 ms. A read response is limited to 100 bytes at 9600 baud, 200 at 19200 and 400 at 38400.
- Meaning of the values (units, control modes, alarm modes) is in the Operation instructions for digital instruments, document 9.17.023.
| Area | Address | Name | Type | Access | Unit | Scale | Description |
|---|---|---|---|---|---|---|---|
| HR | 0 | uint16 | W | ||||
| HR | 10 | uint16 | RW | ||||
| HR | 31 | uint16 | RW | Range 0 to 32767 | |||
| HR | 32 | uint16 | R | ||||
| HR | 33 | uint16 | RW | ||||
| HR | 34 | uint16 | RW | ||||
| HR | 35 | uint16 | R | ||||
| HR | 36 | uint16 | RW | ||||
| HR | 46 | uint16 | RW | ||||
| HR | 47 | uint16 | RW | ||||
| HR | 48 | uint16 | RW | ||||
| HR | 52 | uint16 | R | ||||
| HR | 1063 | uint16 | R | ||||
| HR | 3105 | uint16 | RW | ||||
| HR | 3106 | uint16 | RW | ||||
| HR | 3107 | uint16 | RW | ||||
| HR | 3109 | uint16 | RW | ||||
| HR | 3110 | uint16 | RW | ||||
| HR | 3111 | uint16 | RW | ||||
| HR | 3113 | uint16 | RW | ||||
| HR | 3329 | uint16 | RW | ||||
| HR | 3330 | uint16 | RW | ||||
| HR | 3331 | uint16 | RW | ||||
| HR | 3333 | uint16 | RW | ||||
| HR | 3334 | uint16 | RW | ||||
| HR | 3336 | uint16 | RW | ||||
| HR | 3628 | uint16 | RW | ||||
| HR | 3653 | uint16 | RW | ||||
| HR | 3665 | uint16 | RW | ||||
| HR | 3666 | uint16 | RW | ||||
| HR | 3681 | uint16 | RW | ||||
| HR | 3682 | uint16 | RW | ||||
| HR | 3688 | uint16 | W | ||||
| HR | 3717 | uint16 | RW | ||||
| HR | 4010 | uint16 | RW | Slave address, 1 to 247. Rotary switches, when set to a valid address, take over | |||
| HR | 33064 | float32 ABCD | RW | ||||
| HR | 33072 | float32 ABCD | RW | ||||
| HR | 33080 | float32 ABCD | RW | ||||
| HR | 33088 | float32 ABCD | RW | ||||
| HR | 33112 | float32 ABCD | RW | ||||
| HR | 33120 | float32 ABCD | RW | ||||
| HR | 33128 | float32 ABCD | RW | ||||
| HR | 33160 | string[5] | RW | ||||
| HR | 33272 | string[4] | RW | ||||
| HR | 41216 | float32 ABCD | R | ||||
| HR | 41240 | float32 ABCD | RW | ||||
| HR | 41272 | float32 ABCD | R | ||||
| HR | 41392 | float32 ABCD | RW | ||||
| HR | 59400 | float32 ABCD | RW | ||||
| HR | 59416 | float32 ABCD | RW | ||||
| HR | 59448 | string[2] | R | ||||
| HR | 61704 | string[3] | R | ||||
| HR | 61712 | string[7] | RW | ||||
| HR | 61720 | string[8] | RW | ||||
| HR | 61728 | string[8] | RW | ||||
| HR | 61736 | string[3] | R | ||||
| HR | 61744 | string[7] | RW | ||||
| HR | 62120 | float32 ABCD | RW | ||||
| HR | 62128 | float32 ABCD | RW | ||||
| HR | 62136 | float32 ABCD | RW | ||||
| HR | 62584 | float32 ABCD | R | ||||
| HR | 62728 | float32 ABCD | RW | ||||
| HR | 62736 | float32 ABCD | RW | ||||
| HR | 62752 | float32 ABCD | RW | ||||
| HR | 64840 | uint32 ABCD | RW | Baud rate; 57600 and 115200 only on MBC3 instruments |
No registers match
Try part of the name, an address (decimal or 0x hex) or clear the filters.
Help improve this map
- I tested it on a deviceReport whether it worked, even if you did not write the map.
- Suggest a correctionEdit the file on GitHub; it opens a pull request.
- Report a problemA wrong address, type, scale or byte order.
- Read the formatWhat each key of the file means (SPEC.md).