Register map(s) for this device, with a note of how far each has been checked. Addresses are 0-based, as on the wire. Scale and byte order are confirmed only at the hardware-verified rung.
Round-trips through a real Modbus stack with no overlapping addresses and a word-order-sensitive codec — the map is internally coherent and wire-decodable. Does NOT prove byte-order or scaling match a real device: the emulator is seeded from the map's own types, so a uniformly wrong byte-order still round-trips. Only hardware-verified confirms byte-order/scale on the wire.
| point | address (0-based) | type | scale | unit |
|---|---|---|---|---|
| cell_1_voltage | 0 | I16 | 0.001 | |
| cell_2_voltage | 1 | I16 | 0.001 | |
| cell_3_voltage | 2 | I16 | 0.001 | |
| cell_4_voltage | 3 | I16 | 0.001 | |
| cell_5_voltage | 4 | I16 | 0.001 | |
| cell_6_voltage | 5 | I16 | 0.001 | |
| cell_7_voltage | 6 | I16 | 0.001 | |
| cell_8_voltage | 7 | I16 | 0.001 | |
| cell_9_voltage | 8 | I16 | 0.001 | |
| cell_10_voltage | 9 | I16 | 0.001 | |
| cell_11_voltage | 10 | I16 | 0.001 | |
| cell_12_voltage | 11 | I16 | 0.001 | |
| cell_13_voltage | 12 | I16 | 0.001 | |
| cell_14_voltage | 13 | I16 | 0.001 | |
| cell_15_voltage | 14 | I16 | 0.001 | |
| cell_16_voltage | 15 | I16 | 0.001 | |
| bms_temperature | 16 | I16 | 0.1 | |
| cell_temperature_1 | 17 | I16 | 0.1 | |
| cell_temperature_2 | 18 | I16 | 0.1 | |
| cell_temperature_3 | 19 | I16 | 0.1 | |
| cell_temperature_4 | 20 | I16 | 0.1 | |
| current | 21 | I16 | 0.1 | |
| module_voltage | 22 | U16 | 0.001 | |
| remain_capacity | 23 | U16 | 0.001 | |
| module_total_capacity | 24 | U16 | 0.001 | |
| cycle_number | 25 | U16 | 1 | |
| cell_high_voltage_limit | 100 | I16 | 0.001 | |
| cell_low_voltage_limit | 101 | I16 | 0.001 | |
| cell_under_voltage_limit | 102 | I16 | 0.001 | |
| charge_high_temperature_limit | 103 | I16 | 0.1 | |
| charge_low_temperature_limit | 104 | I16 | 0.1 | |
| charge_current_limit | 105 | I16 | 0.1 | |
| module_high_voltage_limit | 106 | I16 | 0.001 | |
| module_low_voltage_limit | 107 | I16 | 0.001 | |
| module_under_voltage_limit | 108 | I16 | 0.001 | |
| discharge_high_temperature_limit | 109 | I16 | 0.1 | |
| discharge_low_temperature_limit | 110 | I16 | 0.1 | |
| discharge_current_limit | 111 | I16 | 0.1 | |
| charge_voltage_limit | 200 | U16 | 0.001 | |
| discharge_voltage_limit | 201 | U16 | 0.001 | |
| max_charge_current | 202 | I16 | 0.1 | |
| max_discharge_current | 203 | I16 | 0.1 |
⚠ Please contact PYLONTECH first, before doing any change on these settings. — Starkest reads only; we never write a control register.
| wiring notes | RS485 asynchronous serial communication. |
| protocol notes | For manual charge/discharge management settings, the command must be sent periodically. If the battery does not receive the command again within 10 seconds, it automatically reverts to the latest automatic values. |
| identification notes | Device serial number is retrieved via command 93H. Software version is retrieved via command 96H. |
| FC 43 device ID | not supported |
| power | 48V battery module with BMS |
| doc revision | V3.3 |
Each rung states what it proved and what it did not. Gray until proven; green is earned by hardware only.
Device not here? Upload its manual and get a checked map back. It's free.
Want it confirmed against your own device? Order hardware verification. If it doesn't check out, you don't pay.
Building on a lot of devices? License the library — machine-readable maps, the firmware matrix, and API access.