
Modbus Map SOLECTRIA XGI 1500 (Rev A)
DOCR-XXXXXX
3 of 30
Introduction
1
This manual explains the SunSpec protocol using Modbus for SOLECTRIA XGI 1000 inverters. This does not
include the history of either SunSpec or Modbus or the details regarding the creation of the protocols. It is
expected that the person(s) reading this manual have a clear understanding of both SunSpec and Modbus.
SunSpec Overview
1.1
SunSpec organizes all registers into defined groups called models. Each model begins with a header to identify
it and its length. Only the models listed in this document are supported by SOLECTRIA XGI 1000 inverters. See
Section 0 for the list of supported models.
Within each model, not all registers are supported. Unsupported registered are marked as “Reserved”. Only
use supported registers.
Data Types
1.2
Several data types are used in this document.
acc32:
An accumulated value that fills two registers. This is used for a value that increases over time.
bitfield16:
Group of 16 individual bits that fills one register. This is used to select non-mutually
exclusive options, such as alarms.
bitfield32:
Group of 32 individual bits that fills two registers. This is used to select non-mutually
exclusive options, such as alarms.
enum16:
Enumerated type that fills one register. This is used to select mutually exclusive options, such
as the state of the inverter.
float32:
Floating point number that fills two registers.
int16:
Signed integer that fills one register.
string:
Group of registers that are used to hold an alphanumeric value. Size depends on the string and
must be read for each string.
sunssf:
SunSpec scale factor.
uint16:
Unsigned integer that fills one register.
uint32:
Unsigned integer that fills two registers.
uint64:
Unsigned integer that fills four registers.