verified connector library

CPS 14-36kW SC/SCA inverter

Register map(s) for this device, each at the trust rung it earned. Addresses are 0-based as on the wire. Word order and scaling are confirmed at the hardware-verified rung and at no rung below it.

interop-verified

Read + decoded cleanly over a real network vs an independent third-party Modbus test server (transport and framing; reads are remapped into the server's register window, so the map's own addresses are NOT exercised). Does NOT prove word order/scaling against the actual device.

pointaddress (0-based)typescaleunit
inverter_firmware_version5U160.01
total_lifetime_energy22U32BE1kWh
daily_energy24U160.1kWh
power_factor26I160.001
max_active_power_daily27U160.1kW
active_power29U160.1kW
apparent_power30U160.1kVA
grid_voltage_uab31U160.1V
grid_voltage_ubc32U160.1V
grid_voltage_uca33U160.1V
grid_a_phase_current34U160.1A
grid_b_phase_current35U160.1A
grid_c_phase_current36U160.1A
dc_voltage_mppt137U160.1V
dc_current_mppt138U160.1A
dc_voltage_mppt239U160.1V
dc_current_mppt240U160.1A
grid_frequency43U160.1Hz
heatsink_temperature44I160.1C
internal_temperature45I160.1C
inverter_state47U161
permanent_fault_alarm52U161
warning_alarm53U161
fault0_alarm54U161
fault1_alarm55U161
fault2_alarm56U161
fault3_alarm57U161
fault4_alarm58U161
power_on_off_cmd4096U161
temporary_active_power_setting4097U160.1%
temporary_power_factor_setting4098I160.001
temporary_reactive_power_setting4099U160.1%

link settings as documented (unverified): RTU; baud 9600/19200; FC 03,04,06,16; Half-Duplex, Data Bits: 8

bench facts as documented (unverified)
connectorRS485
sentinel valuesNot Implemented for an int16 is 0x8000. Not Implemented for a uint16 is 0xFFFF. Not Implemented for an int32 is 0x80000000. Not Implemented for a uint32 is 0xFFFFFFFF. Not Implemented for a string is 0x00.
model register0x000A
serial register0x0006
firmware register0x0005
doc revision1.0
field reports — community-sourced, unverified (checked 2026-06-11)
  • confirmed: comms defaults (baud rates [9600, 19200], RTU framing, parity N, stop bits 1, half-duplex, 8 data bits) — confirmed by 'CPS Modbus Communications For Inverter Models CPS 14-36kW Version 1.0' manual
  • confirmed: function codes (3, 4, 6, 16) — confirmed by 'CPS Modbus Communications' manual sections 2.1 and 2.3
  • confirmed: identification registers (firmware_register 0x0005, model_register 0x000A, serial_register 0x0006) — confirmed by 'CPS Modbus Communications' manual register tables
  • confirmed: sentinel values for un-implemented data types (int16: 0x8000, uint16: 0xFFFF, int32: 0x80000000, uint32: 0xFFFFFFFF, string: 0x00) — confirmed by 'CPS Modbus Communications' manual section 1.3
  • confirmed: register map addresses (e.g., daily_energy @ 24, active_power @ 29, grid_voltage_uab @ 31, heatsink_temperature @ 44, inverter_state @ 47, power_on_off_cmd @ 4096) — confirmed by 'CPS Modbus Communications' manual register tables and AGG Software Chint Power mapping

The trust ladder

Each rung states what it proved and what it did not. Gray until proven; green is earned by hardware only.

If your device isn't here, upload its register map. Generation is free, and the connector keeps the rung it earns under testing.

To prove a connector against your own device, order hardware verification. If it doesn't verify, you don't pay.

Platform builders can license the verified library: machine-readable maps, the firmware matrix, API access.