Electron do Brasil MNO Modbus register map
Oil level monitor (Monitor de Nível de Óleo): float level, alarm and shutdown thresholds, four relays, analog output and Modbus RTU
- Official
- 45 registers
- Modbus RTU
- Revision 1 · 2026-11-10
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
- 9600 8N1 · 9600 baud, 8 data bits, none parity, 1 stop bit
- Byte / word order
- ABCD · bytes big-endian, words high first
- Addresses
- 1-based · wire address = address − 1
Connection values are defaults: the device may be configured differently.
Map
- Registers
- 45 holding registers
- Groups
- 6
- Translation tables
- 7
- Revision
- 1 · 2026-11-10
- Added
- ()
- File
- maps/electron/mno.mbmap.json · 11 KB · history
- SHA-256
- 6eee0d795b6d89b0ccd36789d04f7d2ec4cfac3d8de5fa8104b501f185e8b94c
- Manufacturer
- electron.com.br
Sources and notes
- Mapa de Registradores Modbus RTU, MNO – Monitor de Nível de Óleo · version 3.0.2 linked in issue #135
Source: Electron do Brasil, Mapa de Registradores Modbus RTU, MNO – Monitor de Nível de Óleo, v3.0.2
- All registers are holding registers. The document numbers them 1 to 38 and calls the type Read Holding Register (40.000), so the addresses are 1-based (address on the wire = number minus 1). The document does not say so explicitly: if a read fails, try address_base 0.
- The document allows 2400 to 57600 bps, 8 data bits, 1 stop bit and no, even or odd parity. It gives no default baud rate or slave address: 9600 N and 1 are placeholders; the slave address is in register 25.
- Levels are shown in the document with one decimal and a scale of -1000:10, which it does not explain. They are given as raw values: check against the display before applying a scale. The shutdown delay has no unit in the document.
- Registers 7, 9, 12, 18, 19 and 20 are bit fields, one entry per bit. The command bits are write-only. The baud rate, parity and protocol registers (22 to 24) are read-only in this document. Registers 26, 29 and 33 to 34 are not in the document.
- The serial number is 48 bits in registers 35 to 37; it is given as a 16-bit register and a 32-bit one, so it has no serial role.
- Written from the manufacturer's document; not tested on a device.
| Area | Address | Name | Type | Access | Unit | Scale | Description |
|---|---|---|---|---|---|---|---|
| HR | 1 | uint16 | RW | Range 0.1 to 100.0; the document's scale column (-1000:10) is not explained, so the value is raw (check against the display) | |||
| HR | 2 | uint16 | RW | Range 0.1 to 100.0; the document's scale column (-1000:10) is not explained, so the value is raw (check against the display) | |||
| HR | 3 | uint16 | RW | Range 0.1 to 100.0; the document's scale column (-1000:10) is not explained, so the value is raw (check against the display) | |||
| HR | 4 | uint16 | RW | Range 0.1 to 100.0; the document's scale column (-1000:10) is not explained, so the value is raw (check against the display) | |||
| HR | 5 | uint16 | RW | ×0.1 | Range 0.1 to 30.0 | ||
| HR | 6 | uint16 | RW | Range 0 to 20; the unit is not stated | |||
| HR | 7 | bool bit 0 | RW | ||||
| HR | 7 | bool bit 1 | RW | ||||
| HR | 8 | uint16 | RW | ||||
| HR | 9 | bool bit 1 | W | Write 1 | |||
| HR | 9 | bool bit 2 | W | Write 1 | |||
| HR | 9 | bool bit 3 | W | Write 1 | |||
| HR | 10 | uint16 | RW | Range 0.0 to 999.9; the document's scale column (-1000:10) is not explained, so the value is raw (check against the display) | |||
| HR | 11 | uint16 | RW | Range 0.0 to 1000.0; the document's scale column (-1000:10) is not explained, so the value is raw (check against the display) | |||
| HR | 12 | bool bit 0 | RW | ||||
| HR | 12 | bool bit 1 | RW | ||||
| HR | 12 | bool bit 2 | RW | ||||
| HR | 12 | bool bit 3 | RW | ||||
| HR | 13 | int16 | RW | Range -10.0 to 10.0; the document's scale column (-1000:10) is not explained, so the value is raw (check against the display) | |||
| HR | 14 | uint16 | RW | ||||
| HR | 15 | int16 | RW | Range -10.0 to 10.0; the document's scale column (-1000:10) is not explained, so the value is raw (check against the display) | |||
| HR | 16 | int16 | RW | Range -50.0 to 250.0; the document's scale column (-1000:10) is not explained, so the value is raw (check against the display) | |||
| HR | 17 | int16 | RW | Range -50.0 to 250.0; the document's scale column (-1000:10) is not explained, so the value is raw (check against the display) | |||
| HR | 18 | bool bit 0 | R | ||||
| HR | 18 | bool bit 1 | R | ||||
| HR | 18 | bool bit 2 | R | ||||
| HR | 19 | bool bit 0 | R | ||||
| HR | 19 | bool bit 1 | R | ||||
| HR | 19 | bool bit 2 | R | ||||
| HR | 19 | bool bit 3 | R | ||||
| HR | 19 | bool bit 4 | R | ||||
| HR | 20 | bool bit 0 | R | ||||
| HR | 21 | uint16 | RW | ||||
| HR | 22 | uint16 | R | ||||
| HR | 23 | uint16 | R | ||||
| HR | 24 | uint16 | R | ||||
| HR | 25 | uint16 | R | Range 1 to 254 | |||
| HR | 27 | int16 | RW | Range -1.00 to 1.00; the document's scale column (-1000:100) is not explained, so the value is raw (check against the display) | |||
| HR | 28 | uint16 | R | Ω | ×0.1 | Range 0.0 to 1000.0 | |
| HR | 30 | uint16 | R | Range 1 to 31 | |||
| HR | 31 | uint16 | R | Range 1 to 12 | |||
| HR | 32 | uint16 | R | Range 0 to 99 | |||
| HR | 35 | uint16 | R | Bits 32 to 47 of the 48-bit serial number | |||
| HR | 36 | uint32 ABCD | R | Registers 36 (bits 16 to 31) and 37 (bits 0 to 15) | |||
| HR | 38 | uint16 | R | Range 0 to 9999 |
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).