Documentazione NexBlue

Sede di applicazione: SDU

Modelli compatibili: Edge 2, Edge Max e Point (Regno Unito)

Versione firmware compatibile: 03.09.61 e successive

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

In modalità DHCP, all'accensione 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 trasmesso è:

_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 registrazioneFunzioneCodice funzioneDescrizione
Registri di ingressoLeggi i registri di ingresso0x04Registri di sola lettura che restituiscono valori di misura o informazioni di stato quali tensione, corrente, potenza, temperatura, energia cumulativa, ecc.
Registri di detenzioneLeggi i registri di mantenimento0x03Registri di lettura/scrittura. Il master può leggere la configurazione corrente, i limiti di corrente, lo stato della modalità, ecc.
Registri di detenzioneScrivere nel registro di temporanea singola0x06Il master inserisce un singolo parametro di configurazione o comando, come l'impostazione della corrente massima o l'avvio/interruzione della ricarica.
Registri di detenzioneScrivere su più registri di temporizzazione0x10Il 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)

PrincipioDescrizione
LunghezzaIl campo dell'indirizzo in un frame Modbus è un numero intero a 16 bit senza segno.
Partizionamento a livelliSuddivisione per funzione: Identificazione → A livello di stazione → Per connettore. Mantenere la logica chiara e facilmente estendibile.
Punto di partenza comuneTutti 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 allineamentoI dati a 32 bit devono iniziare da un indirizzo pari per evitare di superare i limiti dei registri.
Spazio riservato all'espansioneOgni area prevede degli spazi vuoti in modo che le versioni future possano aggiungere campi senza compromettere la compatibilità.
Codifica dei caratteriOgni registro occupa 2 byte. Le stringhe hanno lunghezza fissa e non vengono riempite con 0x00 per i byte non utilizzati.
Ordine dei byte/delle paroleL'ordine dei byte per i registri singoli è Big-Endian. I dati multi-registro utilizzano l'ordine delle parole Little-Endian DCBA.
Metodi di accessoL'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)

IndirizzoNomeTipoUnitàAccessoDescrizione
0000–0007 / 0x0000–0x0007MarchioSTRING(16)RO2 byte per registro, UTF-8/ASCII.
0008–0015 / 0x0008–0x000FModelloSTRING(16)ROModello del dispositivo.
0016–0027 / 0x0010–0x001BNumero di serieSTRING(24)RONumero di serie del dispositivo.
0028–0035 / 0x001C–0x0023Versione del firmwareSTRING(16)ROAd esempio: 04.00.19.
0036 / 0x0024Versione tabella ModbusUINT16RONumero di versione di mappatura, ad esempio 0x0100.
0037 / 0x0025Numero di connettoriUINT16RONumero di connettori: 1 o 2.
0038–0039 / 0x0026–0x0027DataUINT32AAAAMMGGROAllineamento pari a 32 bit. Esempio: 20251202.
0040–0041 / 0x0028–0x0029OraUINT32HHMMSSROEsempio: 155630 significa 15:56:30.
0042 / 0x002AFuso orarioUINT16minutiROEsempio: UTC+2 → +120.
0044Versione hardwareSTRING(16)ROVersione hardware.
0043–0099RiservatoRiservato a future identificazioni, certificati, informazioni di produzione, ecc.

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

IndirizzoNomeTipoUnitàAccessoDescrizione
0100 / 0x0064Stato di ChargepointUINT16RO
  • 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 / 0x008ARicarica per fasiUINT16RO
  • 0: Adattivo
  • 1: Forza monofase
  • 2: Forza trifase
0137–0399 / 0x0088–0x018FRiservatoRiservato 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.
IndirizzoNomeTipoUnitàAccessoDescrizione
1000–1001 / 0x03E8–0x03E9Limite di correnteFLOAT32ARWLimite di corrente a livello di stazione. Impostazione predefinita: 16 A. Intervallo: 0–32 A.
1002–1003 / 0x03EA–0x03EBLimite di riservaFLOAT32ARWLa 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–0x03EDTimeout di fallbackUINT32sRWSoglia di timeout dell'heartbeat. Impostazione predefinita: 5 minuti. Minimo: 30 secondi. Massimo: 30 minuti.
1006 / 0x03EEIF_STARTUINT16RW
  • Controllo Start/Stop
  • 0: STOP
  • 1: INIZIO
1007 / 0x03EFModalità "Runtime Phase"UINT16RW

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–1999RiservatoRiservato alle estensioni.

2.4.6 Allarmi ed errori (Errore / Avviso)

IndirizzoNomeTipoUnitàAccessoDescrizione
0400 / 0x0190Set di bit di erroreUINT16RO
  • 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 / 0x0191Set di bit di avvisoUINT16RO
  • 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 / 0x0192Set di bit in attesaUINT16RO
  • 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.

EsagonoSignificatoObiettivo
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 datiRegistri utilizzatiLarghezza in bitTipo CSignificato e usoEsempi tipici
UINT161a 16 bituint16_tIntero senza segnoCodici di stato, enumerazioni, contatori, numero di connettori.
INT161a 16 bitint16_tIntero con segnoTemperatura, valori di compensazione, fuso orario.
UINT322a 32 bituint32_tIntero lungo non firmatoMarcatori temporali, contatori di energia, contatori di secondi.
INT322a 32 bitint32_tIntero lungo con segnoPotenza, valori direzionali.
FLOAT322a 32 bitfloatNumero in virgola mobile a precisione singola, IEEE 754.Corrente, tensione, potenza, energia, ecc.
UINT644a 64 bituint64_tNumero intero molto grandeEnergia totale, conteggio cumulativo.
STRING[n]n/2n × 8 bitchar[]Informazioni sul testoMarca, modello, numero di serie, numero di versione.