0% found this document useful (0 votes)
11 views21 pages

Se Modbus Interface For Solaredge Terramax Inverter Technical Note

Uploaded by

hasan.islam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views21 pages

Se Modbus Interface For Solaredge Terramax Inverter Technical Note

Uploaded by

hasan.islam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 21

Version 1.

0 May 2024

Modbus Interface for the SolarEdge TerraMax™


Inverter -Technical Note
Revision History
Version 1.0, May 2024: Initial Version
Contents
Overview .................................................................................................................................................................................................. 2
Communication technologies ......................................................................................................................................................... 2
SunSpec ............................................................................................................................................................................................. 3
Modbus.............................................................................................................................................................................................. 3
SunSpec support................................................................................................................................................................................... 3
Use cases for MODBUS over RS485 .............................................................................................................................................. 3
Physical connection ...................................................................................................................................................................... 3
Single inverter connection ......................................................................................................................................................... 4
Connection to a non-SolarEdge monitoring device only (without connection to the Monitoring
platform) ......................................................................................................................................................................................... 4
Connection to a non-SolarEdge monitoring device (with connection to the Monitoring platform) ........ 4
Use cases for MODBUS over TCP ................................................................................................................................................... 5
Single inverter connection ......................................................................................................................................................... 5
Multiple inverter connections ................................................................................................................................................... 5
Connection to a non-SolarEdge monitoring device only (without connection to the SolarEdge
Monitoring platform) ................................................................................................................................................................. 5
Connection to a non-SolarEdge monitoring device (with connection to the SolarEdge Monitoring
platform) ......................................................................................................................................................................................... 6
SolarEdge device configuration using SetApp ......................................................................................................................... 7
Modbus over RS485 configuration ......................................................................................................................................... 7
MODBUS over TCP Support ...................................................................................................................................................... 7
MODBUS over TCP configuration ......................................................................................................................................... 7
Register mapping monitoring data ............................................................................................................................................... 8
Common model MODBUS register mappings ................................................................................................................... 8
Inverter Device Status Values.................................................................................................................................................... 9
Inverter model MODBUS register mappings ...................................................................................................................... 9
MODBUS register mappings ..........................................................................................................................................................11
Dynamic power control block .................................................................................................................................................11
Enabling dynamic power control mode..............................................................................................................................12
Configure enhanced power control .....................................................................................................................................12
Non-volatile memory registers ............................................................................................................................................12
Volatile memory registers ......................................................................................................................................................13

Modbus Interface for the SolarEdge TerraMax™ Inverter – Technical Note 1


Version 1.0 May 2024

VAR (Volt-Amps Reactive) at night block ..........................................................................................................................15


Appendix A: Encode and decode examples ............................................................................................................................15
Client request and server response register .....................................................................................................................15
Modbus broadcast ......................................................................................................................................................................16
Client request register .............................................................................................................................................................16
Read single or multiple register data ..................................................................................................................................17
Client request register .............................................................................................................................................................17
Server response register .........................................................................................................................................................17
Write single register data .........................................................................................................................................................18
Client request register .............................................................................................................................................................18
Write multiple register data.....................................................................................................................................................18
Client request register .............................................................................................................................................................19
Write multiple register data – Big-Endian..........................................................................................................................19
Client request register .............................................................................................................................................................19
Abnormal response data ..........................................................................................................................................................19
Appendix B: Response time information ..................................................................................................................................19
Timing definitions ........................................................................................................................................................................20
Timing performance ...................................................................................................................................................................20
Support contact information .........................................................................................................................................................21

Overview
SolarEdge inverters supports the transmission of inverter-level monitoring data directly from the
inverter to a local non-SolarEdge device using the SunSpec open protocol for interoperability
between devices in renewable energy systems. This option can be used alongside the
connection to the SolarEdge monitoring server. This document describes the connection
method, protocol and configurations needed to implement this feature.
Direct connection to a monitoring device is useful when a network connection is unavailable,
when extensive custom data processing is required, or when authorities require direct access to
monitoring data.
In many cases, employing the direct connection alongside a SolarEdge Monitoring platform
connection is possible- and recommended. Connection to the Monitoring platform enables all
the monitoring benefits, primarily:
Proactive installer maintenance and real-time troubleshooting by SolarEdge support, using
the physical mapping available on the Monitoring platform
Module-level monitoring

Communication technologies
SolarEdge uses an open, industry-standard communications stack to provide efficient messaging
between SolarEdge and third-party devices and applications.

Modbus Interface for the SolarEdge TerraMax™ Inverter – Technical Note 2


Version 1.0 May 2024

The communications stack components are briefly described below:

SunSpec
SunSpec is an application-layer communications protocol designed to achieve interoperability
between Distributed Energy Resource (DER) components and smart grid applications.

Modbus
Modbus is a serial communications protocol used to connect data collection terminals to a
centralized processing unit. SolarEdge products use Modbus to perform SunSpec messaging
over two types of physical or link-layer channels:
Modbus RTU: Remote Terminal Unit (RTU) Modbus over a serial RS485 connection
Modbus TCP: Modbus over an Ethernet connection
SolarEdge systems support a single Modbus Leader – either a single Modbus RTU or a single
Modbus TCP.

SunSpec support
The SolarEdge TerraMax inverter is SunSpec-supported and can be configured by SetApp.

Use cases for MODBUS over RS485


This section describes RS485 options to connect the inverter to a non-SolarEdge monitoring
device.

Physical connection
The connection is performed using an RS485 connector with a twisted pair cable. The
transmission mode in SolarEdge inverters is set to RTU (binary).
The COM port default properties are: 115200 bps, 8 data bits, no parity, 1 stop bit, no flow
control. Baud rate can be changed between 9600bps to 115200bps (supported from CPU
version 2.0549).
The RS485 bus can be configured to support connections to a non-SolarEdge monitoring
device. For a Leader-Follower connection between TerraMax SolarEdge inverters, CAN-Bus must
be used.
The SolarEdge TerraMax inverter with SetApp configuration has one built-in RS485-1 and one
CAN-Bus port. The Lead inverter connects to up to 12 follower inverters, through the CAN-Bus
Port.

Modbus Interface for the SolarEdge TerraMax™ Inverter – Technical Note 3


Version 1.0 May 2024

Single inverter connection


Use the RS485 bus for connecting to a non-SolarEdge monitoring device. Use the Ethernet
connection or any of the optional wireless connection options to connect to the SolarEdge
Monitoring platform.

Connection to a non-SolarEdge monitoring device only (without connection to the


Monitoring platform)
Use CAN-bus to connect Followers to the Leader and RS485-1 to connect the Leader to a non-
SolarEdge monitoring device.
Every inverter in the CAN-Bus should be configured to a different device ID (MODBUS ID).

Connection to a non-SolarEdge monitoring device (with connection to the Monitoring


platform)
Use the RS485-1 bus for connection to a non-SolarEdge monitoring device. Every inverter in the
Can-Bus should be configured to a different device ID (MODBUS ID). Connect the router to the
Leader inverter.

Modbus Interface for the SolarEdge TerraMax™ Inverter – Technical Note 4


Version 1.0 May 2024

Use cases for MODBUS over TCP


This section describes MODBUS over TCP options, to connect the inverter to a non-SolarEdge
monitoring device.

Single inverter connection


Use Ethernet for connecting to a non-SolarEdge monitoring device.

Multiple inverter connections


Connection to a non-SolarEdge monitoring device only (without connection to the
SolarEdge Monitoring platform)
Use Ethernet for connection to a non-SolarEdge monitoring device.

Modbus Interface for the SolarEdge TerraMax™ Inverter – Technical Note 5


Version 1.0 May 2024

Connection to a non-SolarEdge monitoring device (with connection to the SolarEdge


Monitoring platform)
Use Ethernet for connection to a non-SolarEdge monitoring device.
Option 1 (direct connection) – Connect each inverter to the Ethernet router via Ethernet cables.

Modbus Interface for the SolarEdge TerraMax™ Inverter – Technical Note 6


Version 1.0 May 2024

Option 2 – Connect the Leader only to the Ethernet router via Ethernet cables.

SolarEdge device configuration using SetApp


This section describes how to configure a SolarEdge device to be monitored by a non-SolarEdge
monitoring device using SetApp.
NOTE
The actual SetApp configuration procedures may differ from the ones shown in this document.

To reach the main setup menu, access SetApp and tap Commissioning  Site Communication:

Modbus over RS485 configuration


To configure the SolarEdge TerraMax Leader inverter:
1. Under the Site Communication menu, set the following:
RS485-1  Protocol  SunSpec (Non-SE Logger)
RS485-1  Device ID, and enter the MODBUS address (a unique value 1…247). This sets the
register C_DeviceAddress.
2. If needed, set the baud rate to a preferred value: RS485-1  Baud rate and enter the rate.
The default value is 115200.

MODBUS over TCP Support


MODBUS/TCP uses the Ethernet media in physical layers to carry the MODBUS message
handling structure and can support many devices in one network; it is easier to integrate into
the Local Area Network (LAN) of a company.
Here, it is used for remote 3rd party monitoring and control. MODBUS TCP is agnostic of the
server connection. It only works over LAN. When configured, MODBUS TCP does not initiate a
connection - the server waits for a client to connect. Only one connection is supported.
NOTE
The MODBUS TCP function is disabled by default. When enabled, it supports TCP port 1502 by
default. The port number can be reconfigured.

MODBUS over TCP configuration

Modbus Interface for the SolarEdge TerraMax™ Inverter – Technical Note 7


Version 1.0 May 2024

To setup MODBUS TCP:


1. Select Site Communication  Modbus TCP  Enable. A new Port menu is added to the
screen (the default port is 1502).
2. To modify the TCP port, select Port, set the port number and tap Done.
NOTE
The default device ID of the inverter connected to the Ethernet is 1.
NOTE
The TCP server idle time is 2 minutes. To leave the connection open, the request should be made
within 2 minutes. The connection can remain open without any MODBUS requests.

Register mapping monitoring data


This section describes the register mapping for the inverter monitoring data (read-only
MODBUS protocol data). SolarEdge inverter mapping for monitoring data is based on the open
protocol managed by SunSpec: SunSpec Alliance Interoperability Specification – Inverter Models
v1.0. Refer to the SunSpec Alliance Interoperability Specification – Common Models (Elements)
document for a detailed protocol description.
The register mapping can be downloaded from the SunSpec Alliance web page:
http://www.sunspec.org/
SolarEdge inverters supports the following mappings:
SunSpec module ID 101, 1021 and 103 register mappings
SolarEdge three-phase TerraMax inverter also supports SunSpec module ID 160 register
mappings

Common model MODBUS register mappings


The base Register Common Block is set to 40001 (MODBUS PLC address [base 1]) or 40000
(MODBUS Protocol Address [base 0]).
All parameters are defined in the SunSpec Common block definition, except for the C_Options
register, which is set to NOT_IMPLEMENTED.
C_Manufacturer is set to SolarEdge
C_Model is set to the appropriate inverter model, for example SE5000
C_Version contains the CPU software version with leading zeroes, for example 0002.0611
C_SerialNumber contains the inverter serial number
C_DeviceAddress is the device MODBUS ID

1
Supported only in split-phase configurations (Japanese grid and 240V grid in North America)

Modbus Interface for the SolarEdge TerraMax™ Inverter – Technical Note 8


Version 1.0 May 2024

Address
(base Size Name Type Description
(base 1)
0)
Value = "SunS" (0x53756e53).
40000 40001 2 C_SunSpec_ID uint32 Uniquely identifies this as a SunSpec
MODBUS Map
Value = 0x0001. Uniquely identifies
40002 40003 1 C_SunSpec_DID uint16 this as a SunSpec Common Model
Block
40003 40004 1 C_SunSpec_Length uint16 65 = Length of block in 16-bit registers
String(3 Value Registered with SunSpec =
40004 40005 16 C_Manufacturer
2) "SolarEdge "
String(3
40020 40021 16 C_Model SolarEdge Specific Value
2)
String(1
40044 40045 8 C_Version SolarEdge Specific Value
6)
String(3
40052 40053 16 C_SerialNumber SolarEdge Unique Value
2)
40068 40069 1 C_DeviceAddress uint16 MODBUS Unit ID

Inverter Device Status Values


The following I_Status_* values are supported:

Parameter Value Description


I_STATUS_OFF 1 Off
I_STATUS_SLEEPING 2 Sleeping (auto-shutdown) – Night mode
I_STATUS_STARTING 3 Grid Monitoring/wake-up
I_STATUS_MPPT 4 Inverter is ON and producing power
I_STATUS_THROTTLED 5 Production (curtailed)
I_STATUS_SHUTTING_DOWN 6 Shutting down
I_STATUS_FAULT 7 Fault
I_STATUS_STANDBY 8 Maintenance/setup

Inverter model MODBUS register mappings


The following table lists the supported MODBUS register values. Unsupported values are
indicated by the NOT_IMPLEMENTED value. The base register of the Device Specific block is set
to 40070 (MODBUS PLC address [base 1]), or 40069 (MODBUS Protocol Address [base 0]).
acc32 is a uint32 accumulator that should always increase. Its value is in the range of
0...4294967295.
Scale Factors: As an alternative to a floating point format, values are represented by Integer
values with a signed scale factor applied. The scale factor explicitly shifts the decimal point
to left (negative value) or right (positive value).

Modbus Interface for the SolarEdge TerraMax™ Inverter – Technical Note 9


Version 1.0 May 2024

For example, a value “Value” may have an associated value “Value_SF”


Value = “Value” * 10^ Value_SF for example:
• For “Value” = 2071 and “Value_SF” = -2 Value = 2071*10^-2 = 20.71
• For “Value” = 2071 and “Value_SF” = 2 Value = 2071*10^2 = 207100

Address
Size Name Type Units Description
(base 0) (base 1)
40069 40070 1 C_SunSpec_DID uint16 101 = single phase
102 = split phase
103 = three phase
40070 40071 1 C_SunSpec_Length uint16 Registers 50 = Length of model
block
40071 40072 1 I_AC_Current uint16 Amps AC Total Current value
40072 40073 1 I_AC_CurrentA uint16 Amps AC Phase A Current value
40073 40074 1 I_AC_CurrentB uint16 Amps AC Phase B Current value
40074 40075 1 I_AC_CurrentC uint16 Amps AC Phase C Current value
40075 40076 1 I_AC_Current_SF int16 AC Current scale factor
40076 40077 1 I_AC_VoltageAB uint16 Volts AC Voltage Phase AB
value
40077 40078 1 I_AC_VoltageBC uint16 Volts AC Voltage Phase BC
value
40078 40079 1 I_AC_VoltageCA uint16 Volts AC Voltage Phase CA
value
40079 40080 1 I_AC_VoltageAN 1 uint16 Volts AC Voltage Phase A to N
value
40080 40081 1 I_AC_VoltageBN 1 uint16 Volts AC Voltage Phase B to N
value
40081 40082 1 I_AC_VoltageCN 1 uint16 Volts AC Voltage Phase C to N
value
40082 40083 1 I_AC_Voltage_SF int16 AC Voltage scale factor
40083 40084 1 I_AC_Power int16 Watts AC Power value
40084 40085 1 I_AC_Power_SF int16 AC Power scale factor
40085 40086 1 I_AC_Frequency uint16 Hertz AC Frequency value
40086 40087 1 I_AC_Frequency_SF int16 Scale factor
40087 40088 1 I_AC_VA int16 VA Apparent Power
40088 40089 1 I_AC_VA_SF int16 Scale factor
40089 40090 1 I_AC_VAR int16 VAR Reactive Power
40090 40091 1 I_AC_VAR_SF int16 Scale factor

1
Supported only in split-phase configurations (Japanese grid and 240V grid in North America).

Modbus Interface for the SolarEdge TerraMax™ Inverter – Technical Note 10


Version 1.0 May 2024

Address
Size Name Type Units Description
(base 0) (base 1)
40091 40092 1 I_AC_PF int16 % Power Factor
40092 40093 1 I_AC_PF_SF int16 Scale factor
40093 40094 2 I_AC_Energy_WH acc32 WattHours AC Lifetime Energy
production
40095 40096 1 I_AC_Energy_WH_ uint16 Scale factor
SF
40096 40097 1 I_DC_Current uint16 Amps DC Current value
40097 40098 1 I_DC_Current_SF int16 Scale factor
40098 40099 1 I_DC_Voltage uint16 Volts DC Voltage value
40099 40100 1 I_DC_Voltage_SF int16 Scale factor
40100 40101 1 I_DC_Power int16 Watts DC Power value
40101 40102 1 I_DC_Power_SF int16 Scale factor
40103 40104 1 I_Temp_Sink int16 Degrees C Heat Sink Temperature
40106 40107 1 I_Temp_SF int16 Scale factor
40107 40108 1 I_Status uint16 Operating State
40108 40109 1 I_Status_Vendor uint16 Vendor-defined operating
state and error codes. For
error description,
meaning and
troubleshooting, refer to
Troubleshooting Alerts.

MODBUS register mappings


Dynamic power control block
The base register of the dynamic-commands block is set to 0xF300:
Enable Dynamic Power Control on address 0xF300 is disabled (set to 0) by default and
should be enabled (set to 1) for dynamic power control functionality.
Max Active Power is the inverter-rated active power. This is a read-only register.
All other settings described for the enhanced dynamic power control block are related to these
ratings.

Address Size R/W Name Type Value Range Units


F300 1 R/W Enable Dynamic Uint16 N/A
0 or 1
Power Control
F304 2 R Max Active Power Float32 Inverter rating W

Modbus Interface for the SolarEdge TerraMax™ Inverter – Technical Note 11


Version 1.0 May 2024

Enabling dynamic power control mode


To enable dynamic power control:
1. Set the following:
• Set AdvancedPwrControlEn on address 0xF142 to 1 (enable). It is 0 (disabled) by
default.
• Set ReactivePwrConfig on address 0xF104 to 4 for either Q or CosPhi control. The
default value is 0 (Fixed CosPhi mode).
NOTE
If registers are set to the correct value, do not rewrite them.

2. Issue a Commit Power Control Settings command on address 0xF100 (set to 1) to put the
settings into effect. This command stops production and restarts the inverter.
3. Initialize the enhanced power control settings on addresses 0xF308–0xF320.
4. Enable Dynamic Power Control (set to 1). It is 0 (disabled) by default.
NOTE
Dynamic Power Control should be enabled only after the initialization of the enhanced power
control operation in the previous step.
Configurations of this map can also be changed dynamically.

Configure enhanced power control


To configure the enhanced power control, use the following registers:
Non-volatile memory registers
The following registers maintain their value following an inverter restart:
Active/Reactive Preference sets the priority between active and reactive power.
• When set to 1, active power has higher priority than reactive power: The inverter
attempts to reach the active power limit first and then attempts to comply with the
reactive power limits.
• When set to 0, reactive power has higher priority than reactive power.
CosPhi/Q Preference sets whether the reactive power is controlled by CosPhi or by Q:
• When set to 1, the reactive power is controlled by Q.
• When set to 0, the reactive power is controlled by CosPhi.
Active Power Limit sets the limits for the dynamic active power control.
Command Timeout sets the timeout interval for dynamic commands. If the inverter doesn’t
receive one of the dynamic commands within this time frame, it will revert to the fallback
settings described in the bullets below. The controller command interval must be at least
Command Timeout interval / 2.
Fall-back Active Power Limit sets the fallback limit for the dynamic active power control.
Fall-back Reactive Power Limit sets the fallback limit for the dynamic reactive power control.

Modbus Interface for the SolarEdge TerraMax™ Inverter – Technical Note 12


Version 1.0 May 2024

Fall-back CosPhi sets the fallback limit for the dynamic CosPhi control.
Active Power Ramp-up Rate controls the ramp-up rate of the dynamic active power change.
It is set as the percentage per minute of the inverter’s active power limit register setting. A
value of -1 indicates that the ramp-up is disabled and that the change is immediate.
Active Power Ramp-down Rate controls the ramp-down rate of the dynamic active power
change. It is set as the percentage per minute of the inverter’s active power limit register
setting. A value of -1 indicates that the ramp-down is disabled and that the change is
immediate.
Reactive Power Ramp-up Rate controls the ramp-up rate of the dynamic reactive power
change. It is set as the percentage per minute of the inverter’s reactive power limit register
setting. A value of -1 indicates that the ramp-up is disabled and that the change is
immediate.
Reactive Power Ramp-down Rate controls the ramp-down rate of the dynamic reactive
power change. It is set as the percentage per minute of the inverter’s reactive power limit
register setting. A value of -1 indicates that the ramp-down is disabled and that the change
is immediate.
Phi Change Rate controls the change rate of the dynamic angle change. It is set in radians
per minute.
The properties of the registers described above are detailed in the table below.
Value
Address Size R/W Name Type Units
Range
F308 1 R/W Active/Reactive Preference Uint16 0 or 1 N/A
F309 1 R/W CosPhi/Q Preference Uint16 0 or 1 N/A
F310 2 R/W Command Timeout Uint32 0-65535 Sec
F312 2 R/W Fall-back Active Power Limit Float32 0-100 %
F314 2 R/W Fall-back Reactive Power Limit Float32 -100 to %
+100
F316 2 R/W Fall-back CosPhi Float32 -1 to 1 N/A
F318 2 R/W Active Power Ramp-up Rate Float32 -1*, 0-100 %/min
F31A 2 R/W Active Power Ramp-down Rate Float32 -1*, 0-100 %/min
F31C 2 R/W Reactive Power Ramp-up Rate Float32 -1*, 0-100 %/min
F31E 2 R/W Reactive Power Ramp-down Float32 %/min
-1*, 0-100
Rate
F320 2 R/W Phi Change Rate Float32 rad/mi
0 - pi
n

Volatile memory registers


The following registers DO NOT maintain their value following an inverter restart and must be
re-configured after the inverter restarts.

Modbus Interface for the SolarEdge TerraMax™ Inverter – Technical Note 13


Version 1.0 May 2024

Dynamic Active Power Limit controls the active power limit of the inverter dynamically. It is
set as the percentage of the Active Power Limit register setting. The dynamic active power
limit can be sent in Modbus broadcast. In broadcast mode, the leader inverter sends a
request to all followers. No response is returned.
The Modbus address space consists of 256 addresses:
0 From 1 to 247 From 248 to 255
Broadcast address Individual follower inverter Reserved
addresses

Dynamic Reactive Power Limit: This register dynamically controls the reactive power limit of
the inverter. It is set as the percentage of the Reactive Power Limit register setting.
Dynamic Cos Phi Limit controls the CosPhi of the inverter dynamically. The sign of CosPhi
determines the sign of the expected reactive power.
Value
Address Size R/W Name Type Units
Range
F322 2 R/W Dynamic Active Power Float32 %
0-100
Limit
F324 2 R/W Dynamic Reactive Float32 -100 to %
Power Limit +100
F326 2 R/W Dynamic CosPhi Limit Float32 -1 to 1 N/A
When accessing the registers, note the following:
Each register contains two bytes in big-endian order (MSB-LSB).
Each 32-bit value spans over two registers in the little-endian word order (LSB-MSB).
• If the controller does not support the little-endian word order, another map using
the big-endian word order correlating to this one exists at an offset of 0x800 from
this map.
• The two registers must be written together using Modbus function 16.
The following table summarizes all the registers mentioned above, in order of address:
Address Size R/W Name Type Value Range Units
F300 1 R/W Enable Dynamic Power Control Uint16 0 or 1 N/A
F304 2 R Max Active Power Float32 Inverter W
rating
F308 1 R/W Active/Reactive Preference Uint16 0 or 1 N/A
F309 1 R/W CosPhi/Q Preference Uint16 0 or 1 N/A
F310 2 R/W Command Timeout Uint32 0-65535 Sec
F312 2 R/W Fall-back Active Power Limit Float32 0-100 %
F314 2 R/W Fall-back Reactive Power Limit Float32 -100 to +100 %
F316 2 R/W Fall-back CosPhi Float32 -1 to 1 N/A
F318 2 R/W Active Power Ramp-up Rate Float32 -1*, 0-100 %/min
F31A 2 R/W Active Power Ramp-down Rate Float32 -1*, 0-100 %/min

Modbus Interface for the SolarEdge TerraMax™ Inverter – Technical Note 14


Version 1.0 May 2024

Address Size R/W Name Type Value Range Units


F31C 2 R/W Reactive Power Ramp-up Rate Float32 -1*, 0-100 %/min
F31E 2 R/W Reactive Power Ramp-down Float32 %/min
-1*, 0-100
Rate
F320 2 R/W Phi Change Rate Float32 rad/mi
0-pi
n
F322 2 R/W Dynamic Active Power Limit Float32 0-100 %
F324 2 R/W Dynamic Reactive Power Limit Float32 -100 to +100 %
F326 2 R/W Dynamic CosPhi Limit Float32 -1 to 1 N/A

VAR (Volt-Amps Reactive) at night block


This block is used to configure reactive power during nighttime hours.
The complete list of VAR at Night registers appears in the following table:
Address Name Size Type R/W Range Units
F1E8 VarAtNightConfig (VAR at Night 1 Int16 R/W  0: Disabled
mode)  1: Enabled
F1E9 FixedReactPwrAtNight (Q value) 2 Float R/W MIN_FLOAT to KVAR
MAX_FLOAT

NOTE:
The KVAR value should be set to
within ±60% of the kW value printed
on the inverter nameplate.
For example, if “100 kW” is printed
on the inverter, then the value
should be set between -60 KVAR
and +60 KVAR.

Appendix A: Encode and decode examples


This appendix describes how to create Modbus commands to communicate with SolarEdge
devices and read their response.

Client request and server response register


To create a Modbus command to communicate with SolarEdge devices, use the following fields
to structure and parse your command:
Field Description Range
(Hexadecimal)
Transaction processing Client identifier. The user cannot change this XXXX
identifiers parameter.
Length of the following sizeof (modbusID) + SizeOf(functionCode) + 0x0000
fields SizeOf(Data)
Modbus ID Identifies a device in a network 0x00

Modbus Interface for the SolarEdge TerraMax™ Inverter – Technical Note 15


Version 1.0 May 2024

Function code Executes commands from the leader device to follower 0x00
devices
Main functions:
0x03 – Read holding register
0x06 – Preset single register
0x10 – Preset multiple registers
Data Numerical value 0x000000

NOTE
When Modbus connection is over UDP, the Server Response Register has two extra
bytes for CRC.
When encoding the registers, note the following:
• Some commands require two registers. You must write the two registers
together using Modbus function 16.
• Each register contains two bytes in Big-Endian order from the most significant
byte to the least significant byte (MSB-LSB).
• Each 32-bit value spans over two registers in the Little-Endian word order from
the least significant byte to the most significant byte (MSB-LSB).
• If the controller does not support the Little-Endian word order, there is another
linked map using the Big-Endian word order at an offset of 0x800.

Modbus broadcast
Modbus Broadcast Write command sends data to all devices on the bus; the client does not
receive a response.
For example:
Broadcast write 1 to address 0xF300 in all followers.
Client request register
Field Description Range
(Hexadecimal)
Transaction processing Client identifier. The user cannot change this XXXX
identifiers parameter.
Length of the following (sizeof(modbusID) = 1 + SizeOf(functionCode) = 1 + 0x06
fields
SizeOf(Data) = 4) = 06

Modbus ID Identifies a device in a network. 0x00


Function code Preset single register 0x06

Data Numerical values F3 00 00 01 (F300


address of starting
point, with
additional 1)

Modbus Interface for the SolarEdge TerraMax™ Inverter – Technical Note 16


Version 1.0 May 2024

Read single or multiple register data


Create a Read command of Single or Multiple Register Data to read data from the inverter using
Modbus.
For example:
From Inverter with Modbus ID 1 requested to read Dynamic Reactive Power Limit Float) two
registers: 0xF324, 0xF325.
Client request register
Use the following fields to structure your command:
Field Description Range
(Hexadecimal)
Transaction processing Client identifier. The user cannot change this XXXX
identifiers parameter.
Length of the following (sizeof (modbusID) = 1 + SizeOf(functionCode) = 1 + 0x06
fields SizeOf(Data) = 4) = 06
Modbus ID Identifies a device in a network 0x01
Function code Read holding register 0x03
Data Numerical values F3 24 00 01 (F324
address of starting
point, with
additional 1)

Server response register


Use the following fields to parse your command:
Field Description Range
(Hexadecimal)
Transaction processing Client identifier. The user cannot change this parameter. XXXX
identifiers
Length of the following (sizeof(modbusID) = 1 + SizeOf(functionCode) = 1 + 0x07
fields SizeOf(Data) = 5) = 07
Modbus ID Identifies a device in a network 0x01
Function code Read holding register 0x03
Data Numerical values 04 00 00 00 32
(04 is the data
length – 00 32
response for
F324, 00 00
response for
F325)

Modbus Interface for the SolarEdge TerraMax™ Inverter – Technical Note 17


Version 1.0 May 2024

Write single register data


Modbus Write command sends data to a single register. The server sends a response after it
finishes processing the command.
To perform the Write command, enable the Dynamic Power Control Mode.
The following is an example of writing to a single register:
Inverter with Modbus ID 1, Enable dynamic Power control. Write 1 to F300.
Client request register
Use the following fields to structure your command:
Field Description Range
(Hexadecimal)
Transaction processing Client identifier. The user cannot change this XXXX
identifiers parameter.
Length of the following (sizeof(modbusID) = 1 + SizeOf(functionCode) = 1 0x06
fields + SizeOf(Data) = 4) = 06
Modbus ID Identifies a device in a network 0x01
Function code Preset single rigester 0x06
Data Numerical values 0xF3 00 00 01. (write 1
to F300)

For example:
Write 600ms to Q filter time in register D21E.
Use the following fields to structure your command:
Field Description Range
(Hexadecimal)
Transaction processing Client identifier. The user cannot change this XXXX
identifiers parameter.
Length of the following (sizeof(modbusID) = 1 + SizeOf(functionCode) = 1 0x06
fields + SizeOf(Data) = 4) = 06
Modbus ID Identifies a device in a network 0x01
Function code Preset multiple rigester 0x10
Data Numerical values 0xD2 1E 00 02 04 00
00 02 58. (write 600 to
0xD21E)

Write multiple register data


Modbus Write command sends to a range of registers. The server sends a response after it
finishes processing the command.
For example:
Inverter with Modbus ID 1, Set Dynamic Reactive Power Limit to 100. Write 0x64 to F324.

Modbus Interface for the SolarEdge TerraMax™ Inverter – Technical Note 18


Version 1.0 May 2024

Client request register


Use the following fields to structure your command:
Field Description Range (Hexadecimal)
Transaction processing Client identifier. The user cannot change this XXXX
identifiers parameter.
Length of the following (sizeof(modbusID) = 1 + SizeOf(functionCode) = 0x08
fields 1 + SizeOf(Data) = 4) = 08
Modbus ID Identifies a device in a network 0x01
Function code Preset multiple registers = 0x10 0X10

Data Numerical values F3 24 00 00 00 64

Write multiple register data – Big-Endian


Similar to the previous example, to use a big-endian notation, add an offset of 0x800 to the
register address.
For example:
Inverter with Modbus ID 1, Set Dynamic Reactive Power Limit to 100. Write 0x64 FB24.
Client request register
Use the following fields to structure your command:
Field Description Range (Hexadecimal)
Transaction processing Client identifier. The user cannot change this XXXX
identifiers parameter.
Length of the following (sizeof(modbusID) = 1 + SizeOf(functionCode) = 0x08
fields 1 + SizeOf(Data) = 4) = 08
Modbus ID Identifies a device in a network 0x01
Function code Preset multiple registers = 0x10 0X10
Data Numerical values FB 24 64 00 00 00

Abnormal response data


If you input abnormal data in the Modbus, the leader/follower device returns the following
errors and messages:
Error Message
Wrong address in Read/Write command Illegal data address
Incorrect value Follower/leader device failure

NOTE
The adjustable parameters in Modbus registers are intended for long-term storage.
Periodic changes in this parameter may damage the flash memory.

Appendix B: Response time information


This appendix displays typical and max data processing and the reaction time of the Modbus

Modbus Interface for the SolarEdge TerraMax™ Inverter – Technical Note 19


Version 1.0 May 2024

interface.

Timing definitions

Type of Time Definition


Processing time of This is the time required by SolarEdge products to process the
setpoint incoming setpoint Modbus command.
Reaction time of This is the time between the changing of the setpoint until it comes
setpoint into effect.
Response time The is the time between the query and its acknowledgment.
Data transfer interval For system stability, this is the time separation period between data
transfers.

Timing performance
Command type Timing Definitions Time [s]
Read Response time (includes Processing time) < 0.5 s
Response time (includes Processing time) < 0.5 s
Reaction time of Active Power (P) <1s
Write
setpoint (dynamic) Reactive Power (Q) <4s
Commit < 1.5 s1

Timing Definitions time [s]


Data transfer interval < 0.1 s

Modbus Interface for the SolarEdge TerraMax™ Inverter – Technical Note 20


Version 1.0 May 2024

NOTE
Changing the number of follower devices, or performing single/multiple
read/write commands has a minor effect on response time.
Adding a Communication Commercial Gateway (CCG) as an interface may cause
longer response times.
To optimize the reaction time, set the following register in the table below to 600ms. This also
requires a commit command:
Address Name Size Type Units
(base 0) (base 1)
D21E D21F QFilterTime 2 uint32 ms
1Static write command needs to be followed by a commit. This may cause a longer response time.

Support contact information


If you have technical problems concerning SolarEdge products, please contact us:

https://www.solaredge.com/service/support
Before contacting us, please make sure you have the following information at hand:
The model and serial number of the product in question.
The error indicated on the product SetApp mobile application LCD screen or on the
Monitoring platform or by the LEDs, if there is such an indication.
The system configuration information, including the type and number of modules
connected and the number and length of strings.
The communication method to the SolarEdge server if the site is connected.
The product's software version as it appears in the ID status screen.

Modbus Interface for the SolarEdge TerraMax™ Inverter – Technical Note 21

You might also like