Documentazione NexBlue

Modelli compatibili Edge 2 , Edge Max, Point 2 (Regno Unito)
Firmware minimo 03.09.88
Modelli compatibili Delta, Delta Max, Delta Max (Regno Unito)
Firmware minimo 03.08.59

1. Canale di comunicazione

  • Tipo di canale: TCP/IP
  • Interfaccia fisica: connessione tramite cavo Ethernet RJ45 / connessione Wi-Fi

2. Comunicazione TCP/IP

2.1 Configurazione della rete

  • Modalità di rete: acquisizione dinamica dell'indirizzo IP tramite DHCP
  • Modalità di riserva: IP statico configurato nell'app
Prerequisito: Prima di stabilire una connessione Modbus TCP, è necessario abilitare il protocollo Modbus TCP nell'app " NexBlue ". Accedere alle impostazioni del caricabatterie e attivare Modbus TCP.

In modalità DHCP, il dispositivo richiede automaticamente un indirizzo IP al server DHCP. Una volta ottenuto l'indirizzo, il dispositivo trasmette le proprie informazioni tramite mDNS. Il nome del servizio di trasmissione è:

_nexblue_modbus._tcp.local

Questo può essere rilevato automaticamente dai sistemi EMS che supportano mDNS, come Home Assistant e Tibber.


2.2 Porta di comunicazione

  • Porta Modbus TCP: 502

2.3 ID unità

  • Valore predefinito: 200
  • Intervallo configurabile: 1–247

In Modbus TCP, l’ID unità è un identificatore logico mantenuto per garantire la compatibilità con la modalità RTU. Utilizza lo stesso parametro di configurazione dell’indirizzo slave utilizzato in modalità RTU.


2.4 Definizioni dei registri

2.4.1 Tipi di registro

Tipo di registrazione Funzione Codice funzione Descrizione
Registri di ingresso Leggi i registri di ingresso 0x04 Registri di sola lettura che restituiscono valori di misura o informazioni di stato quali tensione, corrente, potenza, temperatura, energia cumulativa, ecc.
Registri di detenzione Leggi i registri di mantenimento 0x03 Registri di lettura/scrittura. Il master può leggere la configurazione corrente, i limiti di corrente, lo stato della modalità, ecc.
Registri di detenzione Scrivere nel registro di temporanea singola 0x06 Il master inserisce un singolo parametro di configurazione o comando, come l'impostazione della corrente massima o l'avvio/interruzione della ricarica.
Registri di detenzione Scrivere su più registri di temporizzazione 0x10 Il master scrive contemporaneamente più registri consecutivi; questa operazione viene utilizzata per gli aggiornamenti in batch della configurazione o di gruppi di parametri strutturati.

Questi quattro sono i codici funzione fondamentali riconosciuti dalle norme IEC 61131-3, EN 61107 e dalla specifica ISO Modbus, e sono supportati di default da quasi tutti i master, i PLC e i sistemi EMS.

2.4.2 Pianificazione degli indirizzi di registro (mappa degli indirizzi)

Principio Descrizione
Lunghezza Il campo dell'indirizzo in un frame Modbus è un numero intero a 16 bit senza segno.
Partizionamento a livelli Suddivisione per funzione: Identificazione → A livello di stazione → Per connettore. Mantenere la logica chiara e facilmente estendibile.
Punto di partenza comune Tutti i registri utilizzano indirizzi logici. L'indirizzamento logico inizia in genere da 0. Il documento riporta sia il formato decimale che quello esadecimale.
Regola di allineamento I dati a 32 bit devono iniziare da un indirizzo pari per evitare di superare i limiti dei registri.
Spazio riservato all'espansione Ogni area prevede degli spazi vuoti in modo che le versioni future possano aggiungere campi senza compromettere la compatibilità.
Codifica dei caratteri Ogni registro occupa 2 byte. Le stringhe hanno lunghezza fissa e non vengono riempite con 0x00 per i byte non utilizzati.
Ordine dei byte/delle parole I valori a registro singolo utilizzano l'ordine dei byte Big-Endian.
I valori a più registri utilizzano il formato Little-Endian completo (DCBA): ordine dei byte Little-Endian all'interno di ciascun registro a 16 bit e ordine delle parole Little-Endian (prima la parola meno significativa).
Metodi di accesso L'input utilizza il codice 0x04. I registri di mantenimento vengono letti con il codice 0x03 e scritti con il codice 0x06 (singolo) o 0x10 (multiplo).

2.4.3 Identificazione, versione e ora (dati in ingresso, 0x04)

Indirizzo Nome Tipo Unità Accesso Descrizione
0000–0007 / 0x0000–0x0007 Marchio STRING(16) RO 2 byte per registro, UTF-8/ASCII.
0008–0015 / 0x0008–0x000F Modello STRING(16) RO Modello del dispositivo.
0016–0027 / 0x0010–0x001B Numero di serie STRING(24) RO Numero di serie del dispositivo.
0028–0035 / 0x001C–0x0023 Versione del firmware STRING(16) RO Ad esempio: 04.00.19.
0036 / 0x0024 Versione della mappatura Modbus UINT16 RO

Il byte superiore rappresenta la versione principale, mentre il byte inferiore rappresenta la versione secondaria.

Esempi: 0x0100 = versione 1.0; 0x0102 = versione 1.2.

0037 / 0x0025 Numero di connettori UINT16 RO Numero di connettori: 1 o 2.
0038–0039 / 0x0026–0x0027 Data UINT32 AAAAMMGG RO Allineamento pari a 32 bit. Esempio: 20251202.
0040–0041 / 0x0028–0x0029 Ora UINT32 HHMMSS RO Esempio: 155630 significa 15:56:30.
0042 / 0x002A Fuso orario UINT16 minuti RO Esempio: UTC+2 → +120.
0044 Versione hardware STRING(16) RO Versione hardware.
0043–0099 Riservato Riservato a future identificazioni, certificati, informazioni di produzione, ecc.

2.4.4 Stato e misurazione in tempo reale (Ingresso, 0x04)

Indirizzo Nome Tipo Unità Accesso Descrizione
0100 / 0x0064 Stato di Chargepoint UINT16 RO
  • 0: Disponibile
  • 1: Preparazione
  • 2: Ricarica
  • 3: EVSE sospeso
  • 4: SuspendedEV
  • 5: Rifinitura
  • 6: Riservato
  • 7: Non disponibile
  • 8: Difettoso
0102–0103 / 0x0066–0x0067L1 attualeFLOAT32AROAllineamento pari a 32 bit.
0104–0105 / 0x0068–0x0069L2 attualeFLOAT32ARO
0106–0107 / 0x006A–0x006BL3 attualeFLOAT32ARO
0108–0109 / 0x006C–0x006DTensione L1-NFLOAT32VRO
0110–0111 / 0x006E–0x006FTensione L2-NFLOAT32VRO
0112–0113 / 0x0070–0x0071Tensione L3-NFLOAT32VRO
0114–0115 / 0x0072–0x0073Angolo di fase L1FLOAT32°ROAngolo di fase riferito a L1-N.
0116–0117 / 0x0074–0x0075Angolo di fase L2FLOAT32°ROAngolo di fase riferito a L1-N.
0118–0119 / 0x0076–0x0077Angolo di fase L3FLOAT32°ROAngolo di fase riferito a L1-N.
0120–0121 / 0x0078–0x0079Potenza attiva L1FLOAT32WRO
0122–0123 / 0x007A–0x007BPotenza attiva L2FLOAT32WRO
0124–0125 / 0x007C–0x007DPotenza attiva L3FLOAT32WRO
0126–0127 / 0x007E–0x007FPotenza attiva totaleFLOAT32WRO
0128–0129 / 0x0080–0x0081Energia di sessioneFLOAT32kWhROSessione corrente.
0130–0133 / 0x0082–0x0085Energia per tutta la vitaUINT64WhROEnergia cumulativa. 64 bit, 4 registri.
0134–0135 / 0x0086–0x0087Corrente di riservaFLOAT32AROCorrente di riserva impostata tramite NexBlue o il cloud.
0136–0137 / 0x0088–0x0089Corrente massima di caricaFLOAT32AROCorrente massima di ricarica impostabile tramite NexBlue o il cloud.
0138 / 0x008A Ricarica per fasi UINT16 RO
  • 0: Adattivo
  • 1: Forza monofase
  • 2: Forza trifase
0137–0399 / 0x0088–0x018F Riservato Riservato a tensione, fattore di potenza, frequenza, potenza per fase, ecc.

2.4.5 Controllo e sicurezza (Holding, lettura 0x03 / scrittura 0x06 o 0x10)

Note: Se l'alimentazione CA del caricabatterie subisce un'interruzione, i valori torneranno automaticamente a quelli predefiniti e dovranno essere reimpostati.
Indirizzo Nome Tipo Unità Accesso Descrizione
1000–1001 / 0x03E8–0x03E9 Limite di corrente FLOAT32 A RW Limite di corrente a livello di stazione. Impostazione predefinita: 16 A. Intervallo: 0–32 A.
1002–1003 / 0x03EA–0x03EB Limite di riserva FLOAT32 A RW La corrente di fallback di disconnessione può essere impostata solo su valori compresi tra 0 e 16. I valori inferiori a 6 vengono considerati pari a 0.
1004–1005 / 0x03EC–0x03ED Timeout di fallback UINT32 s RW Soglia di timeout dell'heartbeat. Impostazione predefinita: 5 minuti. Minimo: 30 secondi. Massimo: 30 minuti.
1006 / 0x03EE IF_START UINT16 RW

Valori:

  • 0: STOP
  • 1: INIZIO

Vincoli di autorizzazione:

  • Se il caricabatterie è attualmente controllato tramite OCPP, non è possibile avviare o interrompere la ricarica tramite questo registro.
  • Si prega inoltre di tenere in considerazione eventuali conflitti con altri metodi di autorizzazione, quali NexBlue , il Portale o OpenAPI.
  • Si consiglia di utilizzare un solo metodo di autorizzazione alla ricarica alla volta.
1007 / 0x03EF Modalità "Runtime Phase" UINT16 RW

Valori:

  • 0: Adattivo
  • 1: Forza monofase
  • 2: Forza trifase

Vincoli di commutazione:

  • Intervallo minimo consigliato tra i cambi di fase: 10 minuti
  • Massimo 2 commutazioni di fase in un qualsiasi periodo di 1 ora
  • Massimo 6 commutazioni di fase durante una singola sessione di ricarica
1008–1999 Riservato Riservato alle estensioni.

2.4.6 Allarmi ed errori (Errore / Avviso)

Indirizzo Nome Tipo Unità Accesso Descrizione
0400 / 0x0190 Set di bit di errore UINT16 RO
  • Bit 0: tensione CP anomala
  • Bit 1: dispersione sulla linea di fase
  • Bit 2: anomalia di corrente / sovracorrente
  • Bit 3: tensione anomala / sovratensione o sottotensione
  • Bit 4: temperatura anomala / alta o bassa
  • Bit 5: relè bloccato
  • Bit 6: Autotest dell'RCD non superato
  • Bit 7: cortocircuito del diodo CP
  • Bit 8: PEN aperto
  • Bit9: perdita di PE
  • Bit10: PE aperto
  • Bit11: PP anomalo
  • Bit 12–15: riservati
0401 / 0x0191 Set di bit di avviso UINT16 RO
  • Bit 0: anomalia del chip del contatore
  • Bit 1: comunicazione tra schede anomala
  • Bit 2: Anomalia RF RFID
  • Bit 3: 868 RF anomalo
  • Bit 4: anomalia del modulo 4G
  • Bit5: anomalia nell'apertura del coperchio
  • Bit 6: riservato
  • Bit7: Anomalia nella perdita di fase del sistema TN
  • Bit 8: sovracorrente IT neutra
  • Bit9: anomalia della rete
  • Bit10: modalità MID
  • Bit 11–15: riservati
0402 / 0x0192 Set di bit in attesa UINT16 RO
  • Bit 0: passaggio alla modalità di riserva a causa del malfunzionamento del CT
  • Bit 1: passaggio alla modalità di riserva a causa della disconnessione dell'unità principale
  • Bit2: in pausa a causa di un errore di bassa gravità / la corrente del profilo di ricarica è pari a 0 tramite OCPP
  • Bit3: l'host riduce la corrente durante la ricarica
  • Bit4: prima richiesta inviata, ma l'host non ha risposto
  • Bit 5: protezione contro il distacco di carico attiva
  • Bit 6: fallback attivato da Modbus
  • Bit 6–15: riservati

Appendice

Codici funzione

Un codice funzione in Modbus indica quale operazione il master intende eseguire sullo slave. Ogni frame include un codice funzione di 1 byte.

Esagono Significato Obiettivo
0x01Lire le bobineUscite bit
0x02Leggi gli ingressi discretiIngressi in bit
0x03Leggi i registri di detenzionea 16 bit
0x04Leggi i registri di ingressoa 16 bit
0x05Scrivi "Single Coil"Bit
0x06Scrivi nel registro di detenzione singoloa 16 bit
0x0FScrivere più bobineBit
0x10Scrivere su più registri di accumuloa 16 bit

Riepilogo dei tipi di dati Modbus più comuni

Tipo di dati Registri utilizzati Larghezza in bit Tipo C Significato e uso Esempi tipici
UINT16 1 a 16 bit uint16_t Intero senza segno Codici di stato, enumerazioni, contatori, numero di connettori.
INT16 1 a 16 bit int16_t Intero con segno Temperatura, valori di compensazione, fuso orario.
UINT32 2 a 32 bit uint32_t Intero lungo non firmato Marcatori temporali, contatori di energia, contatori di secondi.
INT32 2 a 32 bit int32_t Intero lungo con segno Potenza, valori direzionali.
FLOAT32 2 a 32 bit float Numero in virgola mobile a precisione singola, IEEE 754. Corrente, tensione, potenza, energia, ecc.
UINT64 4 a 64 bit uint64_t Numero intero molto grande Energia totale, conteggio cumulativo.
STRING[n] n/2 n × 8 bit char[] Informazioni sul testo Marca, modello, numero di serie, numero di versione.