SMA Developer - Integre productos de SMA en sus aplicaciones fotovoltaicas

SMA Developer actúa como archivo centralizado de la documentación sobre las interfaces empleadas en los productos de SMA. Con la documentación aquí publicada, SMA apuesta principalmente por interfaces abiertas y estandarizadas para facilitar la integración entre sistemas con los productos de SMA en las aplicaciones fotovoltaicas más variadas.

SMA le permite acceder de forma sencilla y cómoda a nuestros productos sin tener que cerrar un acuerdo personal de confidencialidad (NDA) adicional. Buena parte de la documentación está disponible para su descarga gratuita. Para algunas descargas, debe hacerse un breve registro previo.

SMA abre sus puertas a proveedores externos

Leer el artículo del blog

Ámbitos de aplicación

Conexión de inversores de SMA

Con la información que aquí se ofrece, ponemos el énfasis en la utilización de estándares para que el esfuerzo de integración, por su parte, sea el menor posible. El primer gran paso en esta dirección ya se llevó a cabo con la introducción de una interfaz SMA Modbus® y una interfaz SunSpec®-Modbus® directa en los inversores. Esto permite que no se requieran componentes adicionales para obtener un acceso directo a los datos de nuestros equipos. Este es un paso claro hacia la reducción de costes de los sistemas tanto para usted como para su cliente.

SMA Modbus interface
SMA Cluster Controller

Conexión con un equipo de comunicación de rango superior

Para monitorizar y controlar de forma central los inversores de string, la conexión de los inversores de SMA se puede establecer también con una interfaz Modbus® de SMA estandarizada y con un equipo de comunicación de rango superior.

Entre otras cosas, SMA ofrece con estas soluciones una posibilidad universal para la monitorización, una solución para la comercialización directa de la energía y una conexión para ajustar la potencia activa y reactiva.

Buena solución para la conexión a la gestión energética

También en relación a la gestión de la energía, SMA ofrece ya una solución. Hasta que se alcance una estandarización en este segmento, pueden hacer uso ya y de forma ilimitada de la interfaz de protocolo disponible SEMP (Simple Energy Management Protocol) del Sunny Home Manager.

SEMP - Simple Energy Management Protocol

Descargas


Aquí puede descargar la documentación gratuita para desarrolladores:

Interfaz de protocolo SMA Modbus® (ethernet + WLAN)

para inversores (directa)
para Cluster Controller
para Sunny WebBox

SMA Data1 – librería de software (RS485)

YASDI

Para estas descargas es necesario registrarse, ya que deben aceptarse los términos y condiciones:

Interfaz de protocolo SEMP

para Sunny Home Manager


Interfaz de protocolo para el contador de energía

para SMA ENERGY METER
Source code example for integration of SMA Energy Meter

Interfaz de protocolo SPEEDWIRE DEVICE DISCOVERY

Con Speedwire Device Discovery pueden encontrarse equipos en la red local.
para todos los equipos SMA Speedwire o SMA Speedwire/ Webconnect

Servicio técnico y asistencia para desarrolladores de SMA


Tenga en cuenta que, más allá de la información facilitada aquí, no podemos ofrecer más soporte para el desarrollo de la integración de nuestros productos. No obstante, si tiene alguna sugerencia sobre la información que se ofrece, escríbanos: Developer@SMA.de

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.