Electron do Brasil GRIDSCAN 5000 Modbus register map
Transformer hydrogen and oil temperature sensor with Modbus RTU
- Official
- 57 registers
- Modbus RTU
- Revision 1 · 2026-11-10
- Identity: 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 8N1 · 19200 baud, 8 data bits, none parity, 1 stop bit
- Byte / word order
- ABCD · bytes big-endian, words high first
- Addresses
- 0-based
Connection values are defaults: the device may be configured differently.
Map
- Registers
- 57 holding registers
- Groups
- 7
- Translation tables
- 6
- Revision
- 1 · 2026-11-10
- Added
- ()
- File
- maps/electron/gdscan-5000.mbmap.json · 13 KB · history
- SHA-256
- a377730b978323e6b33a1fe19af65eaab03b8297fdc04324a8172f5a10302376
- Manufacturer
- electron.com.br
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 | Product serial number | holding 41 | string[10] |
Sources and notes
- Mapa de Registradores MODBUS RTU, GRIDSCAN 5000 · version 1.0 linked in issue #131
Source: Electron do Brasil, Mapa de Registradores MODBUS RTU, GRIDSCAN 5000, v1.0
- Addresses are the register numbers of the document, which starts at 0 (hydrogen at registers 0 and 1), so address_base is 0. The document lists them as holding registers (function 03).
- Default connection from the document: 19200 baud, 8 data bits, no parity, 1 stop bit (the framing register also allows 2 stop bits, even and odd parity), RS-485 two-wire, unit ID 1. Set the master timeout to 10 seconds or more.
- 32-bit values (hydrogen, rates, calibration values) are read with the high word first. The document asks to read the high word before the low word: read both registers in one request.
- Strings are ASCII, two characters per register, up to 19 characters, null-terminated. Dates are packed as month and day in one register (high and low byte) and the year in the next.
- The document also describes discrete inputs (function 02, addresses 0 to 67) that repeat the status bits and mark which values are valid; they are not mapped here.
- The document also says input registers 0 to 14 exist, but gives no table for them, so only holding registers are mapped.
- Written from the manufacturer's document; not tested on a device.
| Area | Address | Name | Type | Access | Unit | Scale | Description |
|---|---|---|---|---|---|---|---|
| HR | 0 | uint32 ABCD | R | ppm | Dissolved hydrogen in ppm H2, unscaled. Read the high word (register 0) first; the value is 0 until the ready bit of the unit status is set | ||
| HR | 7 | uint16 | R | °C | ×0.01 −100 | Internal temperature of the electronics; above 105 °C can damage the device | |
| HR | 8 | uint16 | R | °C | ×0.01 −100 | 0 until the first measurement; the sensor is calibrated up to 105 °C | |
| HR | 13 | uint32 ABCD | R | ppm/day | −20000000 | Raw value is stored with an offset of 20,000,000; negative means falling hydrogen. Trends reset to zero after a power cycle | |
| HR | 15 | uint32 ABCD | R | ppm/week | −20000000 | Raw value is stored with an offset of 20,000,000; negative means falling hydrogen. Trends reset to zero after a power cycle | |
| HR | 17 | uint32 ABCD | R | ppm/month | −20000000 | Raw value is stored with an offset of 20,000,000; negative means falling hydrogen. Trends reset to zero after a power cycle | |
| HR | 31 | string[10] | R | ||||
| HR | 41 | string[10] | R | ||||
| HR | 51 | string[10] | R | ||||
| HR | 61 | string[10] | R | ||||
| HR | 81 | uint16 bits 8–15 | R | ||||
| HR | 81 | uint16 bits 0–7 | R | ||||
| HR | 82 | uint16 | R | ||||
| HR | 83 | uint16 bits 8–15 | R | ||||
| HR | 83 | uint16 bits 0–7 | R | ||||
| HR | 84 | uint16 | R | ||||
| HR | 87 | uint16 bits 8–15 | R | ||||
| HR | 87 | uint16 bits 0–7 | R | ||||
| HR | 88 | uint16 | R | ||||
| HR | 89 | string[10] | R | Text in the form x:y:z (major, minor, product designator), for example 3:7:A | |||
| HR | 111 | bool bit 15 | R | Hydrogen readings are valid | |||
| HR | 111 | bool bit 14 | R | Cleared by reading the register | |||
| HR | 111 | bool bit 12 | R | An unrecoverable error occurred; see registers 112 and 113 | |||
| HR | 111 | uint16 bits 3–5 | R | ||||
| HR | 112 | bool bit 15 | R | ||||
| HR | 112 | bool bit 14 | R | ||||
| HR | 112 | bool bit 13 | R | ||||
| HR | 113 | bool bit 8 | R | Cleared by setting the clock or cycling the power | |||
| HR | 113 | bool bit 4 | R | ||||
| HR | 113 | bool bit 1 | R | ||||
| HR | 113 | bool bit 0 | R | ||||
| HR | 121 | uint16 | RW | First step of the DGA adjustment: write when an oil sample is taken. Not within 24 hours of installation or of the last DC command. The document gives no value to write | |||
| HR | 122 | uint16 | RW | Second step: write after registers 126 to 129 are set. Needs a prior DA and takes up to 10 seconds to answer. The document gives no value to write | |||
| HR | 125 | uint16 | RW | Clears the DGA adjustment. The document gives no value to write | |||
| HR | 126 | uint32 ABCD | RW | ppm | Laboratory hydrogen result, written before command DB | ||
| HR | 128 | uint16 bits 8–15 | RW | The date must match the internal clock for command DB to be accepted | |||
| HR | 128 | uint16 bits 0–7 | RW | ||||
| HR | 129 | uint16 | RW | ||||
| HR | 136 | string[8] | RW | Up to 15 characters, null-terminated | |||
| HR | 144 | uint32 ABCD | RW | ×0.000001 −0.001 | Stored as m x 1,000,000 + 1,000 (default 1093 for synthetic ester). A wrong value disables hydrogen measurement | ||
| HR | 146 | uint32 ABCD | RW | ×0.000001 −0.001 | Stored as b x 1,000,000 + 1,000 (default 40739 for synthetic ester). A wrong value disables hydrogen measurement | ||
| HR | 148 | uint16 | RW | Write 1 to open the user-defined type for editing, then 2 to save or 3 to abort | |||
| HR | 150 | uint16 | RW | Writing to unit 0 reaches every connected device. The new ID applies after a power cycle | |||
| HR | 151 | uint16 | RW | Laboratory mode runs the self-calibration every 4 hours instead of every 12 | |||
| HR | 152 | uint16 | RW | ||||
| HR | 159 | uint16 | RW | Applies after a power cycle | |||
| HR | 160 | uint16 | RW | ||||
| HR | 175 | uint16 bits 8–15 | RW | Read register 175 first; write 175 to 178 in order, the clock is saved when 178 is written | |||
| HR | 175 | uint16 bits 0–7 | RW | +2000 | Year minus 2000 in the register | ||
| HR | 176 | uint16 bits 8–15 | RW | ||||
| HR | 176 | uint16 bits 0–7 | RW | ||||
| HR | 177 | uint16 bits 8–15 | RW | ||||
| HR | 177 | uint16 bits 0–7 | RW | ||||
| HR | 178 | uint16 | RW | Write 0 | |||
| HR | 201 | string[10] | RW | Up to 19 characters; read from the lowest address, write all registers to save | |||
| HR | 211 | string[10] | RW | ||||
| HR | 221 | string[10] | RW |
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).