Documentation NexBlue

Lieu concerné : SDU

Modèles concernés : Edge 2, Edge Max et Point (Royaume-Uni)

Version du micrologiciel prise en charge : 03.09.61 et versions ultérieures

1. Canal de communication

  • Type de canal : TCP/IP
  • Interface physique : connexion par câble Ethernet RJ45 / connexion Wi-Fi

2. Communication TCP/IP

2.1 Configuration du réseau

  • Mode réseau : obtention dynamique d'une adresse IP via DHCP
  • Mode de secours : adresse IP statique configurée dans l'application

En mode DHCP, après la mise sous tension, l'appareil demande automatiquement une adresse IP au serveur DHCP. Une fois l'adresse obtenue, l'appareil diffuse ses informations via mDNS. Le nom du service diffusé est :

_nexblue_modbus._tcp.local

Cela peut être détecté automatiquement par les systèmes EMS prenant en charge le protocole mDNS, tels que Home Assistant et Tibber.


2.2 Port de communication

  • Port Modbus TCP : 502

2.3 Identifiant de l'unité

  • Valeur par défaut : 200
  • Plage configurable : 1–247

Dans Modbus TCP, l'ID d'unité est un identifiant logique conservé à des fins de compatibilité avec le mode RTU. Il utilise le même paramètre de configuration que l'adresse d'esclave utilisée en mode RTU.


2.4 Définitions des registres

2.4.1 Types de registres

Type de registreFonctionCode de fonctionDescription
Registres d'entréeLire les registres d'entrée0x04Registres en lecture seule qui fournissent des mesures ou des informations d'état telles que la tension, le courant, la puissance, la température, l'énergie cumulée, etc.
Registres de conservationLire les registres de maintien0x03Registres de lecture/écriture. Le maître peut lire la configuration actuelle, les limites de courant, l'état du mode, etc.
Registres de conservationÉcriture dans un registre de maintien unique0x06Le maître saisit un seul paramètre de configuration ou une seule commande, comme le réglage du courant maximal ou le démarrage/l'arrêt de la charge.
Registres de conservationÉcrire dans plusieurs registres de maintien0x10Le maître écrit simultanément dans plusieurs registres consécutifs, ce qui permet d'effectuer des mises à jour par lots de la configuration ou de groupes de paramètres structurés.

Ces quatre codes de fonction sont les codes fondamentaux reconnus par les normes CEI 61131-3, EN 61107 et la spécification Modbus de l'ISO ; ils sont pris en charge par défaut par la quasi-totalité des maîtres, des automates programmables et des systèmes EMS.

2.4.2 Planification des adresses de registre (carte d'adresses)

PrincipeDescription
LongueurLe champ d'adresse d'une trame Modbus est un entier non signé de 16 bits.
Partitionnement par couchesPartition par fonction : Identification → Au niveau de la station → Par connecteur. Veillez à ce que la logique soit claire et facile à étendre.
Point de départ communTous les registres utilisent des adresses logiques. L'adressage logique commence généralement à 0. Le document présente à la fois les formats décimal et hexadécimal.
Règle d'alignementLes données 32 bits doivent commencer à une adresse paire afin d'éviter de franchir les limites des registres.
Espace réservé à l'extensionChaque zone comporte des espaces réservés afin que les versions futures puissent ajouter des champs sans compromettre la compatibilité.
Encodage des caractèresChaque registre occupe 2 octets. Les chaînes de caractères sont de longueur fixe et ne sont pas complétées par des 0x00 pour les octets inutilisés.
Ordre des octets/motsL'ordre des octets pour un registre unique est « Big-Endian ». Les données multi-registres utilisent l'ordre des mots « Little-Endian » DCBA.
Modes d'accèsLa valeur d'entrée est 0x04. Les registres de maintien sont lus avec 0x03 et écrits avec 0x06 (en mode simple) ou 0x10 (en mode multiple).

2.4.3 Identification, version et heure (entrée, 0x04)

AdresseNomTypeUnitéAccèsDescription
0000–0007 / 0x0000–0x0007MarqueSTRING(16)RO2 octets par registre, UTF-8/ASCII.
0008–0015 / 0x0008–0x000FModèleSTRING(16)ROModèle de l'appareil.
0016–0027 / 0x0010–0x001BNuméro de sérieSTRING(24)RONuméro de série de l'appareil.
0028–0035 / 0x001C–0x0023Version du micrologicielSTRING(16)ROPar exemple : 04.00.19.
0036 / 0x0024Version du tableau ModbusUINT16RONuméro de version de mappage, par exemple 0x0100.
0037 / 0x0025Nombre de connecteursUINT16RONombre de connecteurs : 1 ou 2.
0038–0039 / 0x0026–0x0027DateUINT32AAAAMMJJROAlignement sur un nombre pair de 32 bits. Exemple : 20251202.
0040–0041 / 0x0028–0x0029HeureUINT32HHMMSSROExemple : 155630 correspond à 15 h 56 min 30 s.
0042 / 0x002AFuseau horaireUINT16minutesROExemple : UTC+2 → +120.
0044Version matérielleSTRING(16)ROVersion matérielle.
0043–0099RéservéRéservé à des fins d'identification ultérieure, de certificats, d'informations de fabrication, etc.

2.4.4 État et comptage en temps réel (entrée, 0x04)

AdresseNomTypeUnitéAccèsDescription
0100 / 0x0064État de ChargepointUINT16RO
  • 0 : Disponible
  • 1 : Préparation
  • 2 : Recharge
  • 3 : EVSE suspendu
  • 4 : SuspendedEV
  • 5 : Finitions
  • 6 : Réservé
  • 7 : Indisponible
  • 8 : Anomalie
0102–0103 / 0x0066–0x0067Niveau 1 actuelFLOAT32AROAlignement pair sur 32 bits.
0104–0105 / 0x0068–0x0069Niveau 2 actuelFLOAT32ARO
0106–0107 / 0x006A–0x006BNiveau L3 actuelFLOAT32ARO
0108–0109 / 0x006C–0x006DTension L1-NFLOAT32VRO
0110–0111 / 0x006E–0x006FTension L2-NFLOAT32VRO
0112–0113 / 0x0070–0x0071Tension L3-NFLOAT32VRO
0114–0115 / 0x0072–0x0073Angle de phase L1FLOAT32°ROAngle de phase par rapport à L1-N.
0116–0117 / 0x0074–0x0075Angle de phase L2FLOAT32°ROAngle de phase par rapport à L1-N.
0118–0119 / 0x0076–0x0077Angle de phase L3FLOAT32°ROAngle de phase par rapport à L1-N.
0120–0121 / 0x0078–0x0079Puissance active L1FLOAT32WRO
0122–0123 / 0x007A–0x007BPuissance active L2FLOAT32WRO
0124–0125 / 0x007C–0x007DPuissance active L3FLOAT32WRO
0126–0127 / 0x007E–0x007FPuissance active totaleFLOAT32WRO
0128–0129 / 0x0080–0x0081Énergie de sessionFLOAT32kWhROSession en cours.
0130–0133 / 0x0082–0x0085Énergie à vieUINT64QuROÉnergie cumulée. 64 bits, 4 registres.
0134–0135 / 0x0086–0x0087Courant de secoursFLOAT32AROCourant de secours défini via NexBlue ou le cloud.
0136–0137 / 0x0088–0x0089Courant de charge maximalFLOAT32AROCourant de charge maximal réglable via NexBlue ou le cloud.
0138 / 0x008ACharge par phaseUINT16RO
  • 0 : Adaptatif
  • 1 : Mode monophasé forcé
  • 2 : Force triphasée
0137–0399 / 0x0088–0x018FRéservéRéservé à la tension, au facteur de puissance, à la fréquence, à la puissance par phase, etc.

2.4.5 Commande et sécurité (maintien, lecture 0x03 / écriture 0x06 ou 0x10)

Remarques : en cas de coupure et de rétablissement de l'alimentation secteur du chargeur, celui-ci reprendra automatiquement ses valeurs par défaut et devra être reconfiguré.
AdresseNomTypeUnitéAccèsDescription
1000–1001 / 0x03E8–0x03E9Limite de courantFLOAT32ARWLimite de courant au niveau de la station. Valeur par défaut : 16 A. Plage : 0–32 A.
1002–1003 / 0x03EA–0x03EBLimite de repliFLOAT32ARWLe courant de coupure de secours ne peut être réglé que sur une valeur comprise entre 0 et 16. Les valeurs inférieures à 6 sont considérées comme égales à 0.
1004–1005 / 0x03EC–0x03EDDélai d'expiration de la solution de secoursUINT32sRWSeuil de délai d'expiration de la pulsation. Valeur par défaut : 5 minutes. Minimum : 30 secondes. Maximum : 30 minutes.
1006 / 0x03EEIF_STARTUINT16RW
  • Commande marche/arrêt
  • 0 : STOP
  • 1 : DÉMARRAGE
1007 / 0x03EFMode de phase d'exécutionUINT16RW

Valeurs :

  • 0 : Adaptatif
  • 1 : Mode monophasé forcé
  • 2 : Force triphasée

Contraintes de commutation :

  • Intervalle minimum recommandé entre les changements de phase : 10 minutes
  • Au maximum 2 commutations de phase par période d'une heure
  • 6 commutateurs de phase au maximum au cours d'une même session de charge
1008-1999RéservéRéservé aux extensions.

2.4.6 Alarmes et erreurs (erreur / avertissement)

AdresseNomTypeUnitéAccèsDescription
0400 / 0x0190Ensemble de bits d'erreurUINT16RO
  • Bit 0 : tension CP anormale
  • Bit 1 : fuite de ligne de phase
  • Bit 2 : anomalie de courant / surintensité
  • Bit 3 : tension anormale / surtension ou sous-tension
  • Bit 4 : température anormale / trop élevée ou trop basse
  • Bit 5 : relais bloqué
  • Bit 6 : Échec de l'autotest du disjoncteur différentiel (RCD)
  • Bit 7 : court-circuit de la diode CP
  • Bit 8 : PEN ouvert
  • Bit9 : fuite de PE
  • Bit10 : PE ouvert
  • Bit 11 : PP anormal
  • Bits 12 à 15 : réservés
0401 / 0x0191Ensemble de bits d'avertissementUINT16RO
  • Bit 0 : anomalie de la puce du compteur
  • Bit 1 : communication entre cartes anormale
  • Bit 2 : Anomalie RF RFID
  • Bit 3 : anomalie RF 868
  • Bit 4 : anomalie du module 4G
  • Bit 5 : couvercle ouvert (anomalie)
  • Bit 6 : réservé
  • Bit 7 : Anomalie de perte de phase du système TN
  • Bit 8 : surintensité neutre du circuit informatique
  • Bit9 : anomalie du réseau
  • Bit10 : mode MID
  • Bits 11 à 15 : réservés
0402 / 0x0192Ensemble de bits en attenteUINT16RO
  • Bit 0 : solution de secours en cas de mise hors ligne du CT
  • Bit 1 : basculement en mode de secours en raison de la mise hors ligne de l'unité principale
  • Bit2 : mis en pause en raison d'une erreur de faible gravité / le courant du profil de charge est égal à 0 via OCPP
  • Bit3 : le chargeur réduit le courant en cours de charge
  • Bit 4 : première requête envoyée, mais l'hôte n'a pas répondu
  • Bit 5 : protection contre les coupures de courant active
  • Bit 6 : déclenchement du mode de secours par Modbus
  • Bits 6 à 15 : réservés

Annexe

Codes de fonction

Un code de fonction dans Modbus indique l'opération que le maître souhaite effectuer sur l'esclave. Chaque trame comprend un code de fonction d'un octet.

HexSignificationCible
0x01Lire les bobinesSorties binaires
0x02Lire les entrées discrètesEntrées binaires
0x03Lire les registres de détention16 bits
0x04Lire les registres d'entrée16 bits
0x05Écrire « Single Coil »Bit
0x06Écriture dans le registre de détention unique16 bits
0x0FÉcrire plusieurs bobinesBit
0x10Écriture dans plusieurs registres de maintien16 bits

Résumé des types de données Modbus courants

Type de donnéesRegistres utilisésLargeur en bitsType CSignification et utilisationExemples typiques
UINT16116 bitsuint16_tEntier non signéCodes d'état, énumérations, compteurs, nombre de connecteurs.
INT16116 bitsint16_tEntier signéTempérature, décalages, fuseau horaire.
UINT32232 bitsuint32_tEntier long non signéHorodatages, comptage d'énergie, compteurs de secondes.
INT32232 bitsint32_tEntier long signéPuissance, valeurs directionnelles.
FLOAT32232 bitsflotterNombre à virgule flottante simple précision, norme IEEE 754.Courant, tension, puissance, énergie, etc.
UINT64464 bitsuint64_tTrès grand nombre entierÉnergie totale, comptage cumulé.
STRING[n]n/2n × 8 bitschar[]Informations textuellesMarque, modèle, numéro de série, numéro de version.