IAMMETER añade compatibilidad con SunSpec Modbus/TCP: guía de asignación de modelos e integración
El firmware i.91.065.18 de IAMMETER añade un mapa de solo lectura de modelos de medidor enteros SunSpec al servicio Modbus/TCP existente. Ofrece al software que entiende los modelos SunSpec una forma estándar de descubrir un medidor IAMMETER y leer determinados valores eléctricos a través de la red local.
Se trata de una ampliación de la interfaz, no de un sistema de medición que sustituya al actual. El medidor sigue recopilando datos de la misma manera. Los registros Modbus, la API HTTP, los payloads MQTT y la configuración NEM existentes de IAMMETER no cambian.
SunSpec define modelos estándar de información de dispositivo que pueden asignarse a registros de retención (holding registers) de Modbus. Su mapa comienza con un marcador SunS, seguido de los modelos Common y los específicos del dispositivo, que un cliente puede descubrir leyendo en secuencia el ID y la longitud de cada modelo. El paquete de especificaciones SunSpec Modbus documenta el patrón de descubrimiento de modelos, incluidas las ubicaciones del mapa Modbus basadas en 0 y las reglas de valores no implementados. SunSpec Modbus se utiliza en integraciones de energía distribuida, incluidos medidores, inversores y equipos de almacenamiento.
IAMMETER implementa un subconjunto concreto y de solo lectura para datos de medición. Este firmware no se ha presentado para la certificación SunSpec. No considere esta función como una certificación, una conformidad SunSpec completa ni una garantía de que todos los clientes SunSpec de terceros funcionen sin configuración.
Modelos IAMMETER compatibles y asignaciones de medidor
| Medidor IAMMETER | Modelo de medidor entero SunSpec | Interpretación eléctrica |
|---|---|---|
| WEM3080 | 201 | Monofásico |
| WEM2067 | 202 | Bifásico (split phase) |
| WEM3050T | 203 | Trifásico en estrella (wye) |
| WEM3080T | 203 | Trifásico en estrella (wye) |
| WEM3046T | 203 | Trifásico en estrella (wye) |
| WEM3063T | 203 | Trifásico en estrella (wye) |
En el caso del WEM2067, el Modelo 202 representa una instalación bifásica real (split phase). No describe dos circuitos monofásicos independientes como si fueran la misma disposición eléctrica.
El código del Modelo 204 cuenta con cobertura de pruebas en host, pero el firmware todavía no lo detecta ni lo selecciona automáticamente para el WEM3080TD. Por lo tanto, este artículo no afirma la disponibilidad del Modelo 204. El WEM3046TE tampoco ha recibido aún una verificación dedicada de identificación de modelo. La primera versión ofrece únicamente modelos enteros: los modelos de coma flotante 211 a 214 no están disponibles.
Qué puede leer un cliente
Los modelos de medidor enteros exponen la tensión de fase, la corriente de fase, la potencia activa de fase, la potencia activa total, la frecuencia, el factor de potencia de fase y los acumuladores de energía activa importada/exportada por fase y totales. El Modelo Common proporciona datos de identificación del dispositivo, como el modelo, la versión de firmware y el número de serie.
La energía se representa en Wh en el mapa SunSpec; el factor de potencia se representa como un porcentaje. Los puntos de energía total reutilizan los campos totales existentes del medidor y la semántica NEM. En esta asignación, IAMMETER no recalcula un total trifásico sumando los acumuladores de fase. Dado que el ajuste NEM afecta al significado de esos acumuladores, un cliente no debe suponer que la energía total siempre sea igual a la suma de la energía de las fases.
Algunos campos están ausentes de forma intencionada en esta primera versión: potencia reactiva y energía reactiva, potencia aparente y energía aparente, factor de potencia total multifásico y flags de eventos. Sus ubicaciones estándar permanecen en el modelo y devuelven el marcador de no disponible correspondiente. Un cliente SunSpec debe reconocer los valores no disponibles en lugar de interpretarlos como mediciones.
La interpretación de la tensión es importante
Los valores de fase provienen del medidor. Algunos puntos de tensión de línea se derivan para la asignación del modelo:
- La tensión de línea del Modelo 202 es
UA + UB. - La tensión de línea del Modelo 203 es una aproximación de la tensión de fase multiplicada por
√3; no es una medición directa entre líneas. Un sistema desequilibrado o una desviación del ángulo de fase pueden generar error.
Esta distinción es importante para las aplicaciones que necesitan una tensión entre líneas medida directamente. Compruebe la definición del punto del modelo y la disposición de la conexión antes de utilizar un valor derivado para decisiones de control o de cumplimiento normativo.
Conexión con Modbus/TCP
Active el servicio Modbus/TCP existente del medidor y conéctese a su dirección de LAN:
| Elemento | Ajuste |
|---|---|
| Host | Dirección IP del medidor en la LAN |
| Puerto TCP | 502 |
| Función de lectura | 03 — Read Holding Registers |
| Dirección de inicio SunSpec | 40000 |
| Acceso de escritura | No compatible con el mapa SunSpec de IAMMETER |
Las direcciones de esta guía son direcciones de petición Modbus basadas en 0. Algunas aplicaciones muestran números de registro basados en 1, así que verifique su convención antes de configurar una lectura; una dirección desfasada en uno no devolverá el marcador esperado.
Utilice la siguiente secuencia de descubrimiento:
- Lea dos registros en la dirección
40000. Las palabras esperadas son0x5375y0x6E53, el marcador ASCIISunS. - Lea el Modelo Common 1 a partir de
40002. - Lea el modelo de medidor a partir de
40070. La lectura de 107 registros obtiene su ID de modelo, su longitud y la región de datos completa. - Lea el marcador final en
40177.
Una sola petición Modbus no puede leer más de 125 registros, así que lea el Modelo Common y el modelo de medidor por separado. Los clientes deberían descubrir los ID y las longitudes de los modelos en lugar de fijar en el código una suposición sobre cualquier secuencia futura de modelos.
Valores enteros y factores de escala
Los puntos enteros de SunSpec utilizan factores de escala. Convierta un entero en bruto con:
valor real = entero del registro × 10^factor de escala
Por ejemplo:
W = 12345
W_SF = 1
potencia activa real = 123450 W
Los factores de escala pueden cambiar según el rango. Lea un modelo de medidor completo en cada ciclo de sondeo para que un valor y su factor de escala provengan de la misma respuesta. No almacene los factores de escala en caché de forma indefinida.
Validación y límites actuales
Las pruebas en host cubren la disposición del modelo, la conversión, el desbordamiento, el comportamiento de solo lectura y las comprobaciones de regresión de los registros existentes. Un medidor de pruebas WEM3080T ha confirmado el descubrimiento del Modelo 203 y las lecturas continuas, con la tensión y la potencia verificadas frente a las interfaces HTTP y Modbus existentes.
Otros modelos de medidor y clientes de terceros concretos aún necesitan más pruebas físicas. El firmware i.91.065.18 se compiló, se subió y se volvió a descargar para verificar el archivo; el archivo de esta versión no se flasheó durante este ciclo de validación.
El firmware no incluye la mejora pendiente del framing TCP. Actualmente espera una petición completa en una operación de recepción. Las peticiones TCP fragmentadas o combinadas pueden cerrar la conexión. Envíe una petición y espere su respuesta antes de la siguiente, reconociendo que esto no elimina todos los riesgos de segmentación TCP.
Encaje en una instalación IAMMETER
Utilice el mapa SunSpec cuando un cliente local esté diseñado para descubrir y leer modelos de medidor SunSpec. Utilice el mapa de registros Modbus/TCP de IAMMETER existente cuando una aplicación necesite registros específicos de IAMMETER. La ruta Modbus local existente sigue siendo útil para la integración del medidor de energía con Home Assistant, mientras que HTTP, MQTT e IAMMETER Cloud siguen siendo opciones independientes.
Descargue el firmware: i.91.065.18.bin.
Antes de actualizar, revise el modelo de su medidor, el método de conexión y el acceso a la red local. Esta es una interfaz de datos de solo lectura; no ofrece control de inversores, operaciones de escritura ni ninguna afirmación de interoperabilidad SunSpec completa con terceros.