Tiza Group

Home / Guides / Protection, control and communications

Inverter integration to SCADA: Modbus and SunSpec

How solar plant inverters are integrated into SCADA and the PPC over Modbus: register maps, SunSpec models, scale factors, data loggers and testing.

By Shadai García, CEO and protection engineer at Tiza Group.

Modbus TCP · 502PLC / gatewaySCADARS-485 · Modbus RTU120 Ω120 Ωaddr. 1meteraddr. 2analyzeraddr. 3chargerMBAP + PDUclient (master)slaves03: read registers (addr. 1)registers requested06: write register (addr. 3)confirmation echoRTU frameaddr.functiondataCRCmaster read from slave 1write: slave 3 returns the echoon TCP: MBAP header instead of addr. and CRCRTU: 3.5-character silence between framesDataCoilsInputsRegisters© tizagrp.comModbus TCP · 502PLC / gatewaySCADARS-485 · Modbus RTU120 Ω120 Ωaddr. 1meteraddr. 2analyzeraddr. 3chargerMBAP + PDUclient (master)slaves03: read registers (addr. 1)registers requested06: write register (addr. 3)confirmation echoRTU frameaddr.functiondataCRCmaster read from slave 1write: slave 3 returns the echoon TCP: MBAP header instead of addr. and CRCRTU: 3.5-character silence between framesDataCoilsInputsRegisters© tizagrp.com
Modbus RTU and Modbus TCP: registers, function codes and frames. Location in the system and operating principle. Illustrative: real values come from the nameplate and the manufacturer's manual.
Short answer

Solar plant inverters are integrated into the SCADA and the plant controller almost always over Modbus, either directly or through the manufacturer's data logger at each station. Modbus only carries 16-bit registers; what each register means is defined by the manufacturer's map or, if the inverter supports it, by the SunSpec information models, which arrange data in blocks with an identifier, a length and scale factors. The integration is closed with point-to-point tests, setpoint write tests and loss-of-communication tests.

What is integrated and why

In a solar plant, each inverter delivers measurements (power, voltage, current, energy, temperature), statuses and alarms, and receives active and reactive power limiting setpoints. Two systems with different demands use that information:

  • The plant SCADA, to supervise, alarm and keep historical records.
  • The power plant controller (PPC), which distributes setpoints to meet at the point of interconnection what the grid code and the system operator require. Its control loop demands short response times; see PPC of a solar plant.

The most common protocol at this level is Modbus, as RTU over RS-485 or as TCP over Ethernet. How the protocol works, its frames and its limits are in Modbus RTU and TCP.

Two architectures

ArchitectureHow it worksIn favorTo watch
Through the manufacturer’s data loggerEach station has a data logger that reads its inverters and exposes the data to the SCADA and the PPCLess traffic on the ring; manufacturer control functions built inOne more hop with its timing; the logger’s own map
DirectThe SCADA or the PPC reads each inverter over Modbus TCP, or through a serial-to-Ethernet converterFull integrator control over the map and the pollingMore traffic; the PPC must handle many devices

In both, the plant network and its timing are covered in solar plant communications. If the data logger offers a manufacturer plant-control profile, check how it coexists with a PPC from another vendor before deciding.

The register map problem

Modbus defines four data types (coils, discrete inputs, input registers and holding registers) and 16-bit registers. It does not say what each register means, how a 32-bit integer or a float is represented, or in what order the two words go. The manufacturer decides all of that in its register map. That is why integrating inverters from two brands, or two firmware versions of the same one, may require two different maps.

What is checked for each point of the map:

  • Read or write function and address (with the manufacturer’s numbering convention, from 0 or from 1).
  • Data type, sign and word order.
  • Unit and scale.
  • Whether the value is instantaneous, accumulated or a status coded in bits.
  • For setpoints: allowed range, whether they are lost on restart, and whether the inverter returns to a default value when communication is cut.

What SunSpec provides

The SunSpec Alliance publishes information models that arrange the Modbus registers of inverters, meters and batteries. An inverter that supports them presents its data as a chain of blocks: each starts with its model identifier and its length, so the master can walk through them and know what is there without a custom map. Some models from the official repository:

ModelContent
1Common: manufacturer, model, version, serial number; must be first
101, 102, 103Single-phase, split-phase and three-phase inverter
111 to 113The same measurements in floating point
160Extension for inverters with several MPPTs
701 to 714Distributed energy resources (DER): AC measurements, capacity, enter service, AC controls, volt-var, volt-watt, voltage and frequency trips, frequency droop, watt-var, storage and DC measurements
802Battery

The 700 series models cite IEEE 1547-2018, the US standard for interconnecting distributed resources, as their reference. Their functions (volt-var, trips, droop) are not necessarily the requirements of your market, which are set by the local grid code and the utility or system operator at the point of interconnection.

Scale factors. In the integer models, many measurements come with a scale factor register (for example, W_SF for the power of model 103). The real value is the register multiplied by ten raised to that factor. Forgetting it produces values ten or a hundred times larger or smaller.

SunSpec does not remove testing: an inverter can declare support and not implement every point, or implement the controls with its own nuances. The specification of each model is in the SunSpec Alliance public repository.

Integration tests

Integrating an inverter into the SCADA and the PPC
  1. Manufacturer map or SunSpec models of the installed firmware
  2. Reading each point. Compared with the inverter display and with a known value
  3. Scales, signs and word order
  4. Writing active and reactive power setpoints. Checking the effect on measured power
  5. Loss of communication. Quality flag in the SCADA and the inverter's fallback value
  6. Cycle time measured and signals ready for the PPC
  • Point to point. Each measurement, status and alarm is compared with the device display and, when possible, with a known value. See point-to-point signal tests.
  • Scales and signs. Power with its sign, accumulated energy that does not reset or overflow, scale factors applied.
  • Setpoints. Each write is verified by its effect, not just by the protocol response: the inverter may accept the message and limit for another reason.
  • Loss of communication. The link is cut to see the communication-lost flag in the SCADA and the inverter’s fallback behavior.
  • Cycle time. The time the master takes to scan all the inverters is measured; the PPC needs it for its control loop.

Frequent mistakes

  • Map for a different firmware version than the one installed.
  • Crossed word order in 32-bit values.
  • Scale factor read from another block or not applied.
  • Addresses shifted by one because of the numbering convention.
  • Setpoints that the inverter forgets on restart and nobody writes again.
  • Many masters polling the same inverter (SCADA, PPC, manufacturer monitoring) without coordinating the polling.

The security of these accesses, which Modbus does not provide by itself, is reviewed in the network design.

When closing the integration, it helps to document the map used with its firmware version, the list of points tested with their result, the measured cycle time and the fallback behavior of each inverter model. That record avoids repeating the work when the manufacturer updates the firmware.

We help with your integration

At Tiza Group we integrate inverters, data loggers, PPCs and SCADA with its gateways, and we test the signals through to the control center. Depending on your case we recommend which tests to run and with which equipment, and include them in the quotation. Remote work is worldwide; field testing is in Colombia, or elsewhere on request. Tell us which inverters you have. What to include when specifying a SCADA or BMS that supervises motor control centers is summarised in SCADA and BMS Specification for Motor Control Centers.

References

  • Modbus Organization, MODBUS Application Protocol Specification V1.1b3.
  • Modbus Organization, MODBUS Messaging on TCP/IP Implementation Guide.
  • SunSpec Alliance, information models (public repository sunspec/models): models 1, 101 to 103, 111 to 113, 160, 701 to 714 and 802.
  • IEEE 1547-2018: interconnection and interoperability of distributed energy resources with associated electric power system interfaces.

Frequently asked questions

What is SunSpec in an inverter?

It is a set of information models published by the SunSpec Alliance that arranges the Modbus registers of inverters, meters and batteries into standardized blocks. Each block starts with its identifier and its length; model 1 is the common one with manufacturer, model and serial number, and 103 is the three-phase inverter.

Why does the SCADA show a power ten or a hundred times higher than the real one?

Almost always because of the scale factor. In SunSpec, many measurements come as integers accompanied by a scale factor register, which is a power of ten; if the master does not apply it, or reads it from another block, the value comes out shifted.

Is it better to read the inverters directly or through the manufacturer's data logger?

It depends on the architecture. The data logger reduces traffic and usually brings the manufacturer's control functions, but it adds a hop and its own timing. Direct reading gives the integrator more control, with more load on the network. What matters is that the PPC receives measurements and sends setpoints within the time its control loop requires.

WhatsApp