Documentation NexBlue

Modèles concernés Edge 2 , Edge Max, Point 2 (Royaume-Uni)
Version minimale du micrologiciel 03/09/88
Modèles concernés Delta, Delta Max, Delta Max (Royaume-Uni)
Version minimale du micrologiciel 03.08.59

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
Condition préalable : Le protocole Modbus TCP doit être activé dans l'application « NexBlue » avant d'établir une connexion Modbus TCP. Accédez aux paramètres du chargeur et activez le protocole Modbus TCP.

En mode DHCP, 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 registre Fonction Code de fonction Description
Registres d'entrée Lire les registres d'entrée 0x04 Registres 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 conservation Lire les registres de maintien 0x03 Registres 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 unique 0x06 Le 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 maintien 0x10 Le 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, et 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)

Principe Description
Longueur Le champ d'adresse d'une trame Modbus est un entier non signé de 16 bits.
Partitionnement par couches Partition par fonction : Identification → Au niveau de la station → Par connecteur. Veillez à ce que la logique soit claire et facile à étendre.
Point de départ commun Tous 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'alignement Les données 32 bits doivent commencer à une adresse paire afin d'éviter de franchir les limites des registres.
Espace réservé à l'extension Chaque zone comporte des espaces réservés afin que les versions futures puissent ajouter des champs sans compromettre la compatibilité.
Encodage des caractères Chaque 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/mots Les valeurs à registre unique utilisent l'ordre des octets Big-Endian.
Les valeurs à registres multiples utilisent le format Little-Endian complet (DCBA) : ordre des octets Little-Endian au sein de chaque registre de 16 bits et ordre des mots Little-Endian (le mot le moins significatif en premier).
Modes d'accès La 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)

Adresse Nom Type Unité Accès Description
0000–0007 / 0x0000–0x0007 Marque STRING(16) RO 2 octets par registre, UTF-8/ASCII.
0008–0015 / 0x0008–0x000F Modèle STRING(16) RO Modèle de l'appareil.
0016–0027 / 0x0010–0x001B Numéro de série STRING(24) RO Numéro de série de l'appareil.
0028–0035 / 0x001C–0x0023 Version du micrologiciel STRING(16) RO Par exemple : 04.00.19.
0036 / 0x0024 Version du mappage Modbus UINT16 RO

L'octet de poids fort correspond à la version majeure, tandis que l'octet de poids faible correspond à la version mineure.

Exemples : 0x0100 = version 1.0; 0x0102 = version 1.2.

0037 / 0x0025 Nombre de connecteurs UINT16 RO Nombre de connecteurs : 1 ou 2.
0038–0039 / 0x0026–0x0027 Date UINT32 AAAAMMJJ RO Alignement sur un nombre pair de 32 bits. Exemple : 20251202.
0040–0041 / 0x0028–0x0029 Heure UINT32 HHMMSS RO Exemple : 155630 correspond à 15 h 56 min 30 s.
0042 / 0x002A Fuseau horaire UINT16 minutes RO Exemple : UTC+2 → +120.
0044 Version matérielle STRING(16) RO Version matérielle.
0043–0099 Ré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)

Adresse Nom Type Unité Accès Description
0100 / 0x0064 État de Chargepoint UINT16 RO
  • 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 / 0x008A Charge par phase UINT16 RO
  • 0 : Adaptatif
  • 1 : Mode monophasé forcé
  • 2 : Force triphasée
0137–0399 / 0x0088–0x018F Ré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 revient automatiquement aux valeurs par défaut et celles-ci doivent être réexécutées.
Adresse Nom Type Unité Accès Description
1000–1001 / 0x03E8–0x03E9 Limite de courant FLOAT32 A RW Limite de courant au niveau de la station. Valeur par défaut : 16 A. Plage : 0–32 A.
1002–1003 / 0x03EA–0x03EB Limite de repli FLOAT32 A RW Le 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–0x03ED Délai d'expiration de la solution de secours UINT32 s RW Seuil de délai d'expiration de la pulsation. Valeur par défaut : 5 minutes. Minimum : 30 secondes. Maximum : 30 minutes.
1006 / 0x03EE IF_START UINT16 RW

Valeurs :

  • 0 : STOP
  • 1 : DÉMARRAGE

Contraintes d'autorisation :

  • Si le chargeur est actuellement contrôlé par OCPP, il n'est pas possible de démarrer ou d'arrêter la charge via ce registre.
  • Veuillez également tenir compte des conflits potentiels avec d'autres méthodes d'autorisation, telles que NexBlue , le portail ou OpenAPI.
  • Il est recommandé de n'utiliser qu'un seul moyen de paiement à la fois.
1007 / 0x03EF Mode de phase d'exécution UINT16 RW

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-1999 Réservé Réservé aux extensions.

2.4.6 Alarmes et erreurs (erreur / avertissement)

Adresse Nom Type Unité Accès Description
0400 / 0x0190 Ensemble de bits d'erreur UINT16 RO
  • 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 / 0x0191 Ensemble de bits d'avertissement UINT16 RO
  • 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 / 0x0192 Ensemble de bits en attente UINT16 RO
  • 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.

Hex Signification Cible
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ées Registres utilisés Largeur en bits Type C Signification et utilisation Exemples typiques
UINT16 1 16 bits uint16_t Entier non signé Codes d'état, énumérations, compteurs, nombre de connecteurs.
INT16 1 16 bits int16_t Entier signé Température, décalages, fuseau horaire.
UINT32 2 32 bits uint32_t Entier long non signé Horodatages, comptage d'énergie, compteurs de secondes.
INT32 2 32 bits int32_t Entier long signé Puissance, valeurs directionnelles.
FLOAT32 2 32 bits flotter Nombre à virgule flottante simple précision, norme IEEE 754. Courant, tension, puissance, énergie, etc.
UINT64 4 64 bits uint64_t Très grand nombre entier Énergie totale, comptage cumulé.
STRING[n] n/2 n × 8 bits char[] Informations textuelles Marque, modèle, numéro de série, numéro de version.