Documentación de NexBlue

Modelos compatibles Edge 2 , Edge Max, Point 2 (Reino Unido)
Firmware mínimo 03.09.88
Modelos compatibles Delta, Delta Max, Delta Max (Reino Unido)
Firmware mínimo 03.08.59

1. Canal de comunicación

  • Tipo de canal: TCP/IP
  • Interfaz física: conexión mediante cable Ethernet RJ45 / conexión Wi-Fi

2. Comunicación TCP/IP

2.1 Configuración de la red

  • Modo de red: obtención dinámica de direcciones IP mediante DHCP
  • Modo de reserva: dirección IP estática configurada en la aplicación
Requisito previo: Modbus TCP debe estar activado en la aplicación « NexBlue » antes de establecer una conexión Modbus TCP. Accede a la configuración del cargador y activa Modbus TCP.

En modo DHCP, el dispositivo solicita automáticamente una dirección IP al servidor DHCP. Una vez obtenida la dirección, el dispositivo difunde su información a través de mDNS. El nombre del servicio de difusión es:

_nexblue_modbus._tcp.local

Los sistemas EMS compatibles con mDNS, como Home Assistant y Tibber, pueden detectarlo automáticamente.


2.2 Puerto de comunicación

  • Puerto Modbus TCP: 502

2.3 Identificador de la unidad

  • Valor por defecto: 200
  • Rango configurable: 1–247

En Modbus TCP, el ID de unidad es un identificador lógico que se mantiene para garantizar la compatibilidad con RTU. Utiliza el mismo parámetro de configuración que la dirección de esclavo utilizada en el modo RTU.


2.4 Definiciones de los registros

2.4.1 Tipos de registros

Tipo de registro Función Código de función Descripción
Registros de entrada Leer registros de entrada 0x04 Registros de solo lectura que proporcionan mediciones o información de estado, como tensión, corriente, potencia, temperatura, energía acumulada, etc.
Registros de tenencia Leer los registros de retención 0x03 Registros de lectura/escritura. El maestro puede leer la configuración actual, los límites actuales, el estado del modo, etc.
Registros de tenencia Escribir en el registro de retención único 0x06 El maestro introduce un único parámetro de configuración o comando, como el ajuste de la corriente máxima o el inicio o la interrupción de la carga.
Registros de tenencia Escribir en varios registros de retención 0x10 El maestro escribe varios registros consecutivos a la vez, lo que se utiliza para actualizaciones por lotes de la configuración o de grupos de parámetros estructurados.

Estos cuatro son los códigos de función fundamentales reconocidos por las normas IEC 61131-3, EN 61107 y la especificación Modbus de la ISO, y son compatibles de forma predeterminada con casi todos los dispositivos maestros, PLC y sistemas EMS.

2.4.2 Planificación de direcciones de registro (mapa de direcciones)

Principio Descripción
Longitud El campo de dirección de una trama Modbus es un entero sin signo de 16 bits.
División por capas División por función: Identificación → A nivel de estación → Por conector. Mantén la lógica clara y fácil de ampliar.
Punto de partida común Todos los registros utilizan direcciones lógicas. El direccionamiento lógico suele comenzar en 0. El documento muestra tanto el formato decimal como el hexadecimal.
Regla de alineación Los datos de 32 bits deben comenzar en una dirección par para evitar cruzar los límites de los registros.
Espacio reservado para la ampliación Cada área deja espacios libres para que en futuras versiones se puedan añadir campos sin afectar a la compatibilidad.
Codificación de caracteres Cada registro tiene una longitud de 2 bytes. Las cadenas tienen una longitud fija y no se rellenan con 0x00 en los bytes no utilizados.
Orden de bytes/palabras Los valores de un solo registro utilizan el orden de bytes «Big-Endian».
Los valores de varios registros utilizan el formato «Little-Endian» completo (DCBA): orden de bytes «Little-Endian» dentro de cada registro de 16 bits y orden de palabras «Little-Endian» (la palabra menos significativa primero).
Métodos de acceso La entrada utiliza el código 0x04. Los registros de retención se leen con el código 0x03 y se escriben con el código 0x06 (una vez) o 0x10 (varias veces).

2.4.3 Identificación, versión y hora (datos de entrada, 0x04)

Dirección Nombre Tipo Unidad Acceso Descripción
0000–0007 / 0x0000–0x0007 Marca STRING(16) RO 2 bytes por registro, UTF-8/ASCII.
0008–0015 / 0x0008–0x000F Modelo STRING(16) RO Modelo del dispositivo.
0016–0027 / 0x0010–0x001B Número de serie STRING(24) RO Número de serie del dispositivo.
0028–0035 / 0x001C–0x0023 Versión del firmware STRING(16) RO Por ejemplo: 04.00.19.
0036 / 0x0024 Versión de la asignación Modbus UINT16 RO

El byte superior representa la versión principal, y el byte inferior representa la versión secundaria.

Ejemplos: 0x0100 = versión 1.0; 0x0102 = versión 1.2.

0037 / 0x0025 Número de conectores UINT16 RO Número de conectores: 1 o 2.
0038–0039 / 0x0026–0x0027 Fecha UINT32 AAAAMMDD RO Alineación par de 32 bits. Ejemplo: 20251202.
0040–0041 / 0x0028–0x0029 Hora UINT32 HHMMSS RO Ejemplo: 155630 significa las 15:56:30.
0042 / 0x002A Zona horaria UINT16 minutos RO Ejemplo: UTC+2 → +120.
0044 Versión de hardware STRING(16) RO Versión de hardware.
0043–0099 Reservado Reservado para identificación futura, certificados, información de fabricación, etc.

2.4.4 Estado y medición en tiempo real (Entrada, 0x04)

Dirección Nombre Tipo Unidad Acceso Descripción
0100 / 0x0064 Estado de Chargepoint UINT16 RO
  • 0: Disponible
  • 1: Preparación
  • 2: Carga
  • 3: EVSE suspendido
  • 4: SuspendedEV
  • 5: Acabado
  • 6: Reservado
  • 7: No disponible
  • 8: Con fallo
0102–0103 / 0x0066–0x0067Nivel 1 actualFLOAT32AROAlineación par de 32 bits.
0104–0105 / 0x0068–0x0069Nivel 2 actualFLOAT32ARO
0106–0107 / 0x006A–0x006BNivel 3 actualFLOAT32ARO
0108–0109 / 0x006C–0x006DTensión L1-NFLOAT32VRO
0110–0111 / 0x006E–0x006FTensión L2-NFLOAT32VRO
0112–0113 / 0x0070–0x0071Tensión L3-NFLOAT32VRO
0114–0115 / 0x0072–0x0073Ángulo de fase L1FLOAT32°ROÁngulo de fase con respecto a L1-N.
0116–0117 / 0x0074–0x0075Ángulo de fase L2FLOAT32°ROÁngulo de fase con respecto a L1-N.
0118–0119 / 0x0076–0x0077Ángulo de fase L3FLOAT32°ROÁngulo de fase con respecto a L1-N.
0120–0121 / 0x0078–0x0079Potencia activa L1FLOAT32WRO
0122–0123 / 0x007A–0x007BPotencia activa L2FLOAT32WRO
0124–0125 / 0x007C–0x007DPotencia activa L3FLOAT32WRO
0126–0127 / 0x007E–0x007FPotencia activa totalFLOAT32WRO
0128–0129 / 0x0080–0x0081Energía de sesiónFLOAT32kWhROSesión actual.
0130–0133 / 0x0082–0x0085Energía de por vidaUINT64¿QuéROEnergía acumulada. 64 bits, 4 registros.
0134–0135 / 0x0086–0x0087Corriente de reservaFLOAT32AROCorriente de reserva configurada a través de NexBlue o la nube.
0136–0137 / 0x0088–0x0089Corriente máxima de cargaFLOAT32AROLa corriente máxima de carga se configura a través de NexBlue o de la nube.
0138 / 0x008A Carga por fases UINT16 RO
  • 0: Adaptativo
  • 1: Monofásico forzado
  • 2: Fuerza trifásica
0137–0399 / 0x0088–0x018F Reservado Reservado para tensión, factor de potencia, frecuencia, potencia por fase, etc.

2.4.5 Control y seguridad (Holding, lectura 0x03 / escritura 0x06 o 0x10)

Notas: Si se produce un corte y se restablece la alimentación de CA del cargador, este volverá automáticamente a los valores predeterminados y habrá que volver a configurarlo.
Dirección Nombre Tipo Unidad Acceso Descripción
1000–1001 / 0x03E8–0x03E9 Límite de corriente FLOAT32 A RW Límite de corriente a nivel de estación. Valor predeterminado: 16 A. Rango: 0–32 A.
1002–1003 / 0x03EA–0x03EB Límite de reserva FLOAT32 A RW La corriente de desconexión de seguridad solo se puede ajustar entre 0 y 16. Los valores inferiores a 6 se consideran 0.
1004–1005 / 0x03EC–0x03ED Tiempo de espera de reserva UINT32 s RW Umbral de tiempo de espera de Heartbeat. Por defecto: 5 minutos. Mínimo: 30 segundos. Máximo: 30 minutos.
1006 / 0x03EE IF_START UINT16 RW

Valores:

  • 0: PARAR
  • 1: INICIO

Restricciones de autorización:

  • Si el cargador está controlado actualmente por OCPP, no es posible iniciar ni detener la carga a través de este registro.
  • Ten en cuenta también los posibles conflictos con otros métodos de autorización, como la NexBlue , el portal o OpenAPI.
  • Se recomienda utilizar solo un método de autorización de cargo a la vez.
1007 / 0x03EF Modo de fase de ejecución UINT16 RW

Valores:

  • 0: Adaptativo
  • 1: Monofásico forzado
  • 2: Fuerza trifásica

Restricciones de conmutación:

  • Intervalo mínimo recomendado entre los cambios de fase: 10 minutos
  • Máximo de 2 cambios de fase en cualquier periodo de 1 hora
  • Máximo de 6 conmutaciones de fase durante una misma sesión de carga
1008-1999 Reservado Reservado para extensiones.

2.4.6 Alarmas y errores (Error / Advertencia)

Dirección Nombre Tipo Unidad Acceso Descripción
0400 / 0x0190 Conjunto de bits de error UINT16 RO
  • Bit 0: Tensión del CP anómala
  • Bit 1: fuga en la línea de fase
  • Bit 2: anomalía de corriente / sobrecorriente
  • Bit 3: tensión anómala / sobretensión o subtensión
  • Bit 4: temperatura anómala / alta o baja
  • Bit 5: relé atascado
  • Bit 6: Fallo en la autocomprobación del RCD
  • Bit 7: Cortocircuito en el diodo CP
  • Bit8: PEN abierto
  • Bit9: fuga de PE
  • Bit10: PE abierto
  • Bit 11: PP anómalo
  • Bits 12-15: reservados
0401 / 0x0191 Conjunto de bits de advertencia UINT16 RO
  • Bit 0: fallo en el chip del contador
  • Bit 1: comunicación entre placas anómala
  • Bit 2: Anomalía en la señal de radiofrecuencia (RF) del RFID
  • Bit 3: 868 RF anómala
  • Bit 4: Anomalía en el módulo 4G
  • Bit 5: anomalía en la apertura de la tapa
  • Bit 6: reservado
  • Bit 7: Anomalía en la pérdida de fase del sistema TN
  • Bit8: Sobrecorriente neutra de TI
  • Bit9: anomalía en la red
  • Bit10: Modo MID
  • Bits 11-15: reservados
0402 / 0x0192 Conjunto de bits en espera UINT16 RO
  • Bit 0: modo de reserva debido a que el CT está desconectado
  • Bit 1: modo de reserva debido a que la unidad principal está desconectada
  • Bit2: en pausa debido a un error de baja gravedad / la corriente del perfil de carga es 0 a través de OCPP
  • Bit3: el dispositivo de carga reduce la intensidad de la corriente durante la carga
  • Bit4: se ha enviado la primera solicitud, pero el servidor no ha respondido
  • Bit 5: protección contra cortes de suministro activa
  • Bit 6: modo de reserva activado por Modbus
  • Bits 6–15: reservados

Apéndice

Códigos de función

Un código de función en Modbus indica qué operación quiere realizar el maestro en el esclavo. Cada trama incluye un código de función de 1 byte.

Hex Significado Objetivo
0x01Bobinas de lecturaSalidas de bits
0x02Leer entradas discretasEntradas de bits
0x03Leer los registros de tenenciade 16 bits
0x04Leer registros de entradade 16 bits
0x05Escribir «Single Coil»Bit
0x06Escribir en el registro de tenencia únicade 16 bits
0x0FEscribir varias bobinasBit
0x10Escribir en varios registros de retenciónde 16 bits

Resumen de los tipos de datos habituales de Modbus

Tipo de datos Registros utilizados Ancho en bits Tipo C Significado y uso Ejemplos típicos
UINT16 1 de 16 bits uint16_t Entero sin signo Códigos de estado, enumeraciones, contadores, número de conectores.
INT16 1 de 16 bits int16_t Entero con signo Temperatura, compensaciones, zona horaria.
UINT32 2 de 32 bits uint32_t Entero largo sin signo Marcas de tiempo, medición de energía, contadores de segundos.
INT32 2 de 32 bits int32_t Entero largo con signo Potencia, valores direccionales.
FLOAT32 2 de 32 bits flotar Número flotante de precisión simple, IEEE 754. Corriente, tensión, potencia, energía, etc.
UINT64 4 64 bits uint64_t Número entero muy grande Energía total, medición acumulada.
STRING[n] n/2 n × 8 bits char[] Información del texto Marca, modelo, número de serie, número de versión.