MODBUS PROTOCOL INTERFACE
MODBUS PROTOCOL INTERFACE

MODBUS PROTOCOL INTERFACE Contact SMA

With the Modbus protocol interface, SMA makes the flexible integration of inverters possible. The benefits are obvious. Through the use of this well-known, public industry standard, other providers can integrate SMA devices into their systems without having to follow the SMA-specific inverter protocol. System data is transferred via this standardized protocol for further processing and can, as such, be flexibly integrated into any system regardless of the manufacturer. The importance for system planning: You can use SMA inverters in your preferred standard system at any time without having to take manufacturer specifics into account. Direct inverter integration into control room systems or the connection of inverters in building automation systems are both ideal applications.

Easy-to-Use

  • Easy connection of SMA inverters
  • Documented protocol standard for quick system integration


Flexible

  • Manufacturer-independent interoperability of system components through uniform protocol language


Communicative

  • Protocols uploaded directly to inverter
  • Retrieval of detailed values possible
  • High-performance Ethernet interface for the connection of data loggers or control room operated PV systems


Safety

  • Modbus recognized as an international and widespread industry standard
  • SMA, a SunSpec Alliance member, contributes to implementation of a protocol standard for PV systems

 

1 SMA Modbus: General Information

Question:

Why is the Modbus interface reaction time defined as only five to ten seconds in the technical documentation?

Answer:

The reaction time given is based on the worst-case reaction time analysis. This is with the intention of providing a reliable estimate for customers to minimize planning risks.
However, the reaction time of the SMA Modbus interface depends on many factors and is normally significantly less.

Question:

How do I read the number of MPP trackers?

Answer:

The number of MPPs cannot be read directly. However, if values relating to DC voltage (30771, 30957, 30963) are available in the case of solar irradiation, the number of MPPs can be determined using them.

Question:

Why does Modbus crash after a few days?

Answer:

This is not a crash, but instead a reaction to when more than the maximum of four TCP/Modbus connections is made.

If an attempt is made to do so, the system waits for precisely two hours. Once this time has elapsed and an existing connection has been inactive for that period, this connection is removed from our inverter bridge.

The same applies to all devices making requests to Modbus that establish a Modbus/TCP connection to the inverter but are not removed properly under fault conditions, for example.

Because we do not have any appropriate criteria for this, the inverter or the data module installed in the inverter as a TCP server cannot actively terminate the connection.

Question:

Why do I receive a NaN instead of a value for some registers at night?

Answer:

SMA inverters are controlled by two processors:

a central processing unit (CPU; usually a DSP) for controlling the power electronics and measuring PV and grid variables, and a communications processor (CP; ARM or similar) for the outward-facing interfaces.

The following apply in this respect:

  • The CPU is supplied via the PV voltage and therefore runs only when solar irradiation is available.
  • The CP is supplied via both the PV system and the grid and is therefore active at all times.


If the CPU is not active, “NaN” is shown for registers with CPU data. In most cases, this can be interpreted as “0” for the power fed in, as feeding in does not take place without the CPU.

Below a particular PV voltage (much less than 80 V), it is expected that the CPU supply voltage is no longer stable and that the measured values are therefore no longer sufficiently precise. In this case, “0” is output for some devices instead of the actual measured value. This applies in particular to the measured value for PV voltage. However, this is not relevant to the grid variables, as feeding in no longer takes place below this PV voltage.

In summary, NaN can be interpreted as “0” in practically all relevant cases for the power fed in.

Question:

Why is the register's current value not displayed and only is -1 or the maximum value showing up?

Answer:

It may be a NaN answer (Not a Number). Check in the device-specific Modbus list whether the requested device has this register address.

Question:

Why were only 9 requests (polls) out of 270 answered with OK, for example, and how can these connection problems be resolved?

Answer:

Depending on the IP stack used, it may be the case that the responses are not always sent in a package. Some IP stacks fragment responses.

The standard Modbus specification expects the following in such a case:

Before the actual Modbus data, the TCP Modbus response includes a seven-byte header, known as an MBAP header, which includes length information.

With TCP reception of a Modbus response, please check that the number of databytes received matches the length information. This is how a fragmented Modbus response can be recognized and completed with further TCP receive calls.

MODBUS request/response over TCP/IP

Source: Modbus Organization, “MODBUS Messaging on TCP/IP Implementation Guide V1.0b”, January 29, 2018

MBAP Header description

Source: Modbus Organization, “MODBUS Messaging on TCP/IP Implementation Guide V1.0b”, January 29, 2018

Question:

Why are two answers occasionally sent via Modbus upon request?

Answer:

Depending on the IP stack used, it may be the case that the responses are not always sent in a package. Some IP stacks fragment responses.

The standard Modbus specification expects the following in such a case:

Before the actual Modbus data, the TCP Modbus response includes a seven-byte header, known as an MBAP header, which includes length information.

With TCP reception of a Modbus response, please check that the number of databytes received matches the length information. This is how a fragmented Modbus response can be recognized and completed with further TCP receive calls.

MODBUS request/response over TCP/IP

Source: Modbus Organization, “MODBUS Messaging on TCP/IP Implementation Guide V1.0b”, January 29, 2018

Question:

What does error code 11 mean when requesting some Modbus registers?

Answer:

Error code 11 is sent in response when the Modbus request contains a unit ID that is different from the one set for the inverter.

Example:
If the inverter is set to unit ID = 5 and the Modbus request is made for unit ID = 3 (SMA Modbus) or unit ID = 126 (SunSpec Modbus), error code 11 is sent.

If the inverter is set to unit ID = 5, the correct Modbus request would also be for unit ID = 5 (SMA-Modbus) or unit ID = 128 (SunSpec Modbus). The unit ID in the SunSpec Modbus profile for SMA inverters derives from the preset unit ID in the SMA Modbus profile + 123.

Please check the setting of the unit ID on the inverter.

2 SMA Modbus: Registers

The following information is sorted by register number

Question:

Why do registers 30797, 30799 and 30801 no longer work in the SMA Cluster Controller?

Answer:

The registers referred to represent the line conductor grid current (AC phase currents). There has been a new definition in the SMA Data2+ object model for the AC phase currents. The old objects were unsigned by the data type.

These objects are obsolete, and new signed objects have been defined accordingly. The new SMA Data2+ objects are represented in the SMA Modbus profile on new, separate register addresses. The benefit of this adjustment for SMA and customers is that an additional SunSpec requirement (signed current) can be fulfilled.

The old objects are gradually being replaced by these new objects in every CPU at SMA (e.g., in case of new developments). This means that at the same time there is an effect on the Modbus register addresses. There is currently still some overlap in terms of SMA devices, equipped with a certain communications processor (KP-COM30), that support both old and new addresses. A general switchover is planned in the future for new development projects and forthcoming product lifecycle support products.

Old SMA addresses:

30797MB_TYPE_U32/* GridMs.A.phsA */
30799MB_TYPE_U32/* GridMs.A.phsB */
30801MB_TYPE_U32/* GridMs.A.phsC */

New SMA addresses:

30977166MB_TYPE_S32/* GridMs.A.phsA */
30979167MB_TYPE_S32/* GridMs.A.phsB */
30981168MB_TYPE_S32/* GridMs.A.phsC */

Question:

Why do registers 30797, 30799 and 30801 no longer work in the SMA Cluster Controller?

Answer:

The registers referred to represent the line conductor grid current (AC phase currents). There has been a new definition in the SMA Data2+ object model for the AC phase currents. The old objects were unsigned by the data type.

These objects are obsolete, and new signed objects have been defined accordingly. The new SMA Data2+ objects are represented in the SMA Modbus profile on new, separate register addresses. The benefit of this adjustment for SMA and customers is that an additional SunSpec requirement (signed current) can be fulfilled.

The old objects are gradually being replaced by these new objects in every CPU at SMA (e.g., in case of new developments). This means that at the same time there is an effect on the Modbus register addresses. There is currently still some overlap in terms of SMA devices, equipped with a certain communications processor (KP-COM30), that support both old and new addresses. A general switchover is planned in the future for new development projects and forthcoming product lifecycle support products.

Old SMA addresses:

30797MB_TYPE_U32/* GridMs.A.phsA */
30799MB_TYPE_U32/* GridMs.A.phsB */
30801MB_TYPE_U32/* GridMs.A.phsC */


New SMA addresses:

30977166MB_TYPE_S32/* GridMs.A.phsA */
30979167MB_TYPE_S32/* GridMs.A.phsB */
30981168MB_TYPE_S32/* GridMs.A.phsC */

Question:

Why do registers 30797, 30799 and 30801 no longer work in the SMA Cluster Controller?

Answer:

The registers referred to represent the line conductor grid current (AC phase currents). There has been a new definition in the SMA Data2+ object model for the AC phase currents. The old objects were unsigned by the data type.

These objects are obsolete, and new signed objects have been defined accordingly. The new SMA Data2+ objects are represented in the SMA Modbus profile on new, separate register addresses. The benefit of this adjustment for SMA and customers is that an additional SunSpec requirement (signed current) can be fulfilled.

The old objects are gradually being replaced by these new objects in every CPU at SMA (e.g., in case of new developments). This means that at the same time there is an effect on the Modbus register addresses. There is currently still some overlap in terms of SMA devices, equipped with a certain communications processor (KP-COM30), that support both old and new addresses. A general switchover is planned in the future for new development projects and forthcoming product lifecycle support products.

Old SMA addresses:

30797MB_TYPE_U32/* GridMs.A.phsA */
30799MB_TYPE_U32/* GridMs.A.phsB */
30801MB_TYPE_U32/* GridMs.A.phsC */

New SMA addresses:

30977166MB_TYPE_S32/* GridMs.A.phsA */
30979167MB_TYPE_S32/* GridMs.A.phsB */
30981168MB_TYPE_S32/* GridMs.A.phsC */

Question:

Does the active power set point need to be changed in small or specific increments?

Answer:

If, for example, you want to change the active power set point from 70% to 10%, it is not required to do it in small or specific increments. Just transmit the new value. The inverter accepts this command and generates the curve in both directions.

Question:

If active power limitation by the system controls is absent and the inverter no longer receives any control commands (e.g., due to an interruption in communication), does it return to a default value?
What is this default value and how long is the timeout?

Answer:

The action that the inverter is to perform in the event of an interruption in communication can be set via Modbus.
Register 41193 is used for the operating mode for absent active power limitation. The time for the timeout, during which the previously defined action is to be performed, must also be set in register 41195. If you have opted for a fallback power, the power level must be set as a % in register 41197.

Question:

Why are multiple registers (40155/40497) available for MAC addresses?

Answer:

SMA register 40155 for the MAC address is incorrect, obsolete and marked as not to be used. Use the newer register, 40497.

Question:

Why are multiple registers (40155/40497) available for MAC addresses?

Answer:

SMA register 40155 for the MAC address is incorrect, obsolete and marked as not to be used. Use the newer register, 40497.

3 SMA SunSpec Modbus: General Information

Question:

Which registers may be cyclically written for system control without destroying the device’s flash memory?

Answer:

Please observe the relevant safety information in the documentation (safety information section). Registers for cyclical changes are marked with the addition „Parameters for system control.“

4 SMA SunSpec Modbus: Registers

The following information is sorted by register number

Question:

Why is a value of 325 returned instead of the expected ID:101 for a single-phase inverter in the case of the SB nn00TL-21, PKG 2.60 and SB nn00TLST-21, PKG 2.60 inverters?

Answer:

This is an error in SMA mapping that no longer occurs in this way with other inverters. The aim is to eliminate this error in future versions. The value of 325 can be set as equal to 101.

Question:

Why is the value not available for the SMA inverters?

Answer:

The DC power is not available as a cumulative value. It must be added up individually in SunSpec model 160 in consideration of the existing MPP-Trackers (see registers 40632 et seq.).

Question:

Why is the value not available for the SMA inverters?

Answer:

The internal temperature value is currently available only for certain inverters.

Question:

Why is the value not available for the SMA inverters?

Answer:

Register 40224 with information on the operating status was introduced at SMA only in July 2016 for the SB n000TL-US-22 device series. It may be that it cannot be offered in all inverters for this reason.

(SMA: feed-in management operating mode): activation of active power limitation setpoint

Question:

Why can I not activate the value?

Answer:

This value must be activated within the inverter’s first ten operating hours. After that, an SMA Grid Guard password is required.


Question:

Why can I not deactivate this control element by using the value “0”?

Answer:

Deactivation would not make sense for ensuring faultless operation. The inverter would ideally have to be set to default; however, SunSpec does not allow this setting. SMA therefore does not offer deactivation via SunSpec.

(SMA: operating mode of static voltage stability): activation of cos φ setpoint

Question:

Why can I not activate the value?

Answer:

This value must be activated within the inverter’s first ten operating hours. After that, an SMA Grid Guard password is required.


Question:

Why can I not deactivate this control element by using the value “0”?

Answer:

Deactivation would not make sense for ensuring faultless operation. The inverter would ideally have to be set to default; however, SunSpec does not allow this setting. SMA therefore does not offer deactivation via SunSpec.

(SMA: operating mode of static voltage stability): activation of reactive power setpoint

Question:

Why can I not activate the value?

Answer:

This value must be activated within the inverter’s first ten operating hours. After that, an SMA Grid Guard password is required.


Question:

Why can I not deactivate this control element by using the value “0”?

Answer:

Deactivation would not make sense for ensuring faultless operation. The inverter would ideally have to be set to default; however, SunSpec does not allow this setting. SMA therefore does not offer deactivation via SunSpec.

Question:

Why is the value not available for the STP nn000TL-10, PKG 2.65 inverters?

Answer:

The register is present in the inverter. For technical reasons with the STP nn000TL-10, this register cannot currently be documented in the device-specific list. There is no reason not to use the register.

Question:

Why is the value not available for the STP nn000TL-10, PKG 2.65 inverters?

Answer:

The register is present in the inverter. For technical reasons with the STP nn000TL-10, this register cannot currently be documented in the device-specific list. There is no reason not to use the register.

Question:

Why is the value not available for the STP nn000TL-10, PKG 2.65 inverters?

Answer:

The register is present in the inverter. For technical reasons with the STP nn000TL-10, this register cannot currently be documented in the device-specific list. There is no reason not to use the register.

Question:

Why is the value not available for the STP nn000TL-10, PKG 2.65 inverters?

Answer:

The register is present in the inverter. For technical reasons with the STP nn000TL-10, this register cannot currently be documented in the device-specific list. There is no reason not to use the register.

Question:

Why is the value not available for the STP nn000TL-10, PKG 2.65 inverters?

Answer:

The register is present in the inverter. For technical reasons with the STP nn000TL-10, this register cannot currently be documented in the device-specific list. There is no reason not to use the register.

Question:

Why is the value not available for the STP nn000TL-10, PKG 2.65 inverters?

Answer:

The register is present in the inverter. For technical reasons with the STP nn000TL-10, this register cannot currently be documented in the device-specific list. There is no reason not to use the register.

Question:

Why is the value not available for the STP nn000TL-10, PKG 2.65 inverters?

Answer:

The register is present in the inverter. For technical reasons with the STP nn000TL-10, this register cannot currently be documented in the device-specific list. There is no reason not to use the register.

Question:

Why is the value not available for the STP nn000TL-10, PKG 2.65 inverters?

Answer:

The register is present in the inverter. For technical reasons with the STP nn000TL-10, this register cannot currently be documented in the device-specific list. There is no reason not to use the register.

Contact SMA now

If you have any questions,
please contact SMA.

Contact us