AEPH do Brasil MATRIX Modbus register map
Weighing indicator: displayed weight with status (gross or net, stable, negative, overload), tare and remote tare, zero and print commands
- Official
- 12 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
- 19200 8N2 · 19200 baud, 8 data bits, none parity, 2 stop bits
- 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
- 12 holding registers
- Groups
- 3
- Translation tables
- 1
- Revision
- 1 · 2026-11-10
- Added
- ()
- File
- maps/aeph/matrix.mbmap.json · 4 KB · history
- SHA-256
- ebc3c3b303c7934f7b24daba5850ac92156ba21090cdd1453ad08ff053354b39
- Manufacturer
- aephdobrasil.com.br
Sources and notes
- Manual MATRIX, indicador universal de pesagem · version 2.0, 2018 chapter 22 (Modbus RTU protocol); linked in issue #146
Source: AEPH do Brasil MATRIX manual, chapter 22 (Modbus RTU protocol)
- Modbus RTU (slave); set PR = rtU on the indicator. FC03 reads and FC06 writes holding registers. Addresses are 0-based, as sent on the wire.
- The manual asks for 19200 bit/s, 8 data bits, no parity, 2 stop bits. The address (END) is 1 to 99.
- Weight and tare are 17-bit values split over two registers: the high byte of the first register holds the status (or the decimal places), its lowest bit is bit 16 of the value, and the second register holds bits 0-15. They are given here as separate registers because the format has no type for this layout.
- The manual's register list gives the weight and tare registers as 0x0010 and 0x0012, but its example frames read them at 10 (0x000A) and 12 (0x000C); this map follows the frames.
- The command values follow the manual's example frames (1 = tare, 2 = zero, 3 = clear tare, 4 = print); the text next to the frames disagrees in places.
- Written from the manual; this map has not been tested on a device.
| Area | Address | Name | Type | Access | Unit | Scale | Description |
|---|---|---|---|---|---|---|---|
| HR | 11 | uint16 | R | Bits 0-15 of the displayed weight; bit 16 is in the first register. Weight = bit 16 x 65536 + this value, with the decimal point and sign given by the status | |||
| HR | 10 | bool bit 0 | R | ||||
| HR | 10 | uint16 bits 8–10 | R | ||||
| HR | 10 | bool bit 11 | R | ||||
| HR | 10 | bool bit 12 | R | ||||
| HR | 10 | bool bit 13 | R | ||||
| HR | 10 | bool bit 14 | R | ||||
| HR | 10 | bool bit 15 | R | ||||
| HR | 13 | uint16 | R | Bits 0-15 of the tare; bit 16 is in the first register | |||
| HR | 12 | bool bit 0 | R | ||||
| HR | 12 | uint16 bits 8–10 | R | ||||
| HR | 2 | uint16 | W |
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).