NexBlue -Dokumentation

Geeignete Modelle Edge 2 , Edge Max, Point 2 (UK)
Mindestversion der Firmware 03.09.88
Geeignete Modelle Delta, Delta Max, Delta Max (Großbritannien)
Mindest-Firmware-Version 03.08.59

1. Kommunikationskanal

  • Kanaltyp: TCP/IP
  • Physikalische Schnittstelle: RJ45-Ethernet-Kabelanschluss / WLAN-Verbindung

2. TCP/IP-Kommunikation

2.1 Netzwerkkonfiguration

  • Netzwerkmodus: Dynamische IP-Adressvergabe über DHCP
  • Fallback-Modus: In der App konfigurierte statische IP-Adresse
Voraussetzung: Modbus TCP muss in der „ NexBlue “-App aktiviert sein, bevor eine Modbus-TCP-Verbindung hergestellt werden kann. Rufen Sie die Einstellungen des Ladegeräts auf und aktivieren Sie Modbus TCP.

Im DHCP-Modus fordert das Gerät automatisch eine IP-Adresse vom DHCP-Server an. Nachdem eine Adresse erfolgreich bezogen wurde, sendet das Gerät seine Informationen über mDNS im Broadcast-Modus. Der Name des Broadcast-Dienstes lautet:

_nexblue_modbus._tcp.local

Dies kann automatisch von EMS-Systemen erkannt werden, die mDNS unterstützen, wie beispielsweise Home Assistant und Tibber.


2.2 Kommunikationsanschluss

  • Modbus-TCP-Port: 502

2.3 Geräte-ID

  • Standardwert: 200
  • Einstellbarer Bereich: 1–247

Bei Modbus TCP ist die Geräte-ID eine logische Kennung, die aus Gründen der RTU-Kompatibilität beibehalten wird. Sie verwendet denselben Konfigurationsparameter wie die im RTU-Modus verwendete Slave-Adresse.


2.4 Registerdefinitionen

2.4.1 Registertypen

Registrierungstyp Funktion Funktionscode Beschreibung
Eingaberegister Eingaberegister lesen 0x04 Schreibgeschützte Register, die Messwerte oder Statusinformationen wie Spannung, Strom, Leistung, Temperatur, kumulierte Energie usw. zurückgeben.
Bestandsregister Lese-Halte-Register 0x03 Lese-/Schreibregister. Der Master kann die aktuelle Konfiguration, die aktuellen Grenzwerte, den Modusstatus usw. auslesen.
Bestandsregister Einzelnes Halteregister schreiben 0x06 Der Master gibt einen einzelnen Konfigurationsparameter oder Befehl ein, beispielsweise die Einstellung für den maximalen Strom oder den Start bzw. Stopp des Ladevorgangs.
Bestandsregister Mehrere Halteregister schreiben 0x10 Der Master schreibt mehrere aufeinanderfolgende Register gleichzeitig, was für Sammelaktualisierungen von Konfigurationen oder strukturierten Parametergruppen genutzt wird.

Diese vier sind die grundlegenden Funktionscodes, die von der IEC 61131-3, der EN 61107 und der ISO-Modbus-Spezifikation anerkannt werden und standardmäßig von fast allen Mastern, SPSen und EMS-Systemen unterstützt werden.

2.4.2 Planung der Registeradressen (Adresszuordnung)

Grundsatz Beschreibung
Länge Das Adressfeld in einem Modbus-Frame ist eine 16-Bit-Ganzzahl ohne Vorzeichen.
Schichtweise Aufteilung Aufteilung nach Funktion: Identifikation → Stationsebene → Pro Anschluss. Die Logik sollte klar und leicht erweiterbar sein.
Einheitlicher Ausgangspunkt Alle Register verwenden logische Adressen. Die logische Adressierung beginnt in der Regel bei 0. In diesem Dokument werden sowohl das dezimale als auch das hexadezimale Format angegeben.
Ausrichtungsregel 32-Bit-Daten müssen an einer geraden Adresse beginnen, um ein Überschreiten von Registergrenzen zu vermeiden.
Reservierter Platz für Erweiterungen Jeder Bereich enthält Lücken, damit in zukünftigen Versionen Felder hinzugefügt werden können, ohne die Kompatibilität zu beeinträchtigen.
Zeichenkodierung Jedes Register ist 2 Byte groß. Zeichenketten haben eine feste Länge und werden für ungenutzte Bytes nicht mit 0x00 aufgefüllt.
Byte-/Wortreihenfolge Werte mit einem Register verwenden die Big-Endian-Byte-Reihenfolge.
Werte mit mehreren Registern verwenden das vollständige Little-Endian-Format (DCBA): Little-Endian-Byte-Reihenfolge innerhalb jedes 16-Bit-Registers und Little-Endian-Wortreihenfolge (das niedrigstwertige Wort steht an erster Stelle).
Zugriffsmethoden Für die Eingabe wird 0x04 verwendet. Die Halteregister werden mit 0x03 gelesen und mit 0x06 (einmal) oder 0x10 (mehrfach) beschrieben.

2.4.3 Identifikation, Version und Zeit (Eingabe, 0x04)

Adresse Name Typ Einheit Zugang Beschreibung
0000–0007 / 0x0000–0x0007 Marke STRING(16) RO 2 Byte pro Register, UTF-8/ASCII.
0008–0015 / 0x0008–0x000F Modell STRING(16) RO Gerätemodell.
0016–0027 / 0x0010–0x001B Seriennummer STRING(24) RO Seriennummer des Geräts.
0028–0035 / 0x001C–0x0023 Firmware-Version STRING(16) RO Zum Beispiel: 04.00.19.
0036 / 0x0024 Modbus-Mapping-Version UINT16 RO

Das höhere Byte steht für die Hauptversion, das niedrigere Byte für die Nebenversion.

Beispiele: 0x0100 = Version 1.0; 0x0102 = Version 1.2.

0037 / 0x0025 Anzahl der Anschlüsse UINT16 RO Anzahl der Anschlüsse: 1 oder 2.
0038–0039 / 0x0026–0x0027 Datum UINT32 JJJJMMTT RO 32-Bit-Ausrichtung auf gerade Zahlen. Beispiel: 20251202.
0040–0041 / 0x0028–0x0029 Zeit UINT32 HHMMSS RO Beispiel: 155630 bedeutet 15:56:30.
0042 / 0x002A Zeitzone UINT16 Minuten RO Beispiel: UTC+2 → +120.
0044 Hardware-Version STRING(16) RO Hardware-Version.
0043–0099 Reserviert Für zukünftige Identifikationszwecke, Zertifikate, Fertigungsinformationen usw. reserviert.

2.4.4 Echtzeit-Status und -Messung (Eingang, 0x04)

Adresse Name Typ Einheit Zugang Beschreibung
0100 / 0x0064 Chargepoint-Status UINT16 RO
  • 0: Verfügbar
  • 1: Vorbereitung
  • 2: Aufladen
  • 3: Ausgesetzte EVSE
  • 4: Ausgesetzt (EV)
  • 5: Abschlussarbeiten
  • 6: Reserviert
  • 7: Nicht verfügbar
  • 8: Fehlerhaft
0102–0103 / 0x0066–0x0067Aktuelle L1FLOAT32ARO32-Bit-Ausrichtung auf gerade Werte.
0104–0105 / 0x0068–0x0069Aktuelles L2FLOAT32ARO
0106–0107 / 0x006A–0x006BAktuelles L3FLOAT32ARO
0108–0109 / 0x006C–0x006DSpannung L1-NFLOAT32VRO
0110–0111 / 0x006E–0x006FSpannung L2-NFLOAT32VRO
0112–0113 / 0x0070–0x0071Spannung L3-NFLOAT32VRO
0114–0115 / 0x0072–0x0073Phasenwinkel L1FLOAT32°ROPhasenwinkel bezogen auf L1-N.
0116–0117 / 0x0074–0x0075Phasenwinkel L2FLOAT32°ROPhasenwinkel bezogen auf L1-N.
0118–0119 / 0x0076–0x0077Phasenwinkel L3FLOAT32°ROPhasenwinkel bezogen auf L1-N.
0120–0121 / 0x0078–0x0079Wirkleistung L1FLOAT32WRO
0122–0123 / 0x007A–0x007BActive Power L2FLOAT32WRO
0124–0125 / 0x007C–0x007DWirkleistung L3FLOAT32WRO
0126–0127 / 0x007E–0x007FGesamtwirkleistungFLOAT32WRO
0128–0129 / 0x0080–0x0081SitzungsenergieFLOAT32kWhROAktuelle Sitzung.
0130–0133 / 0x0082–0x0085Lebenslange EnergieUINT64WhROKumulative Energie. 64-Bit, 4 Register.
0134–0135 / 0x0086–0x0087AusweichstromFLOAT32ARODer Fallback-Strom wird über NexBlue oder die Cloud eingestellt.
0136–0137 / 0x0088–0x0089Maximaler LadestromFLOAT32ARODer maximale Ladestrom wird über NexBlue oder die Cloud eingestellt.
0138 / 0x008A Phasenladung UINT16 RO
  • 0: Adaptiv
  • 1: Einphasenbetrieb erzwingen
  • 2: Dreiphasenbetrieb
0137–0399 / 0x0088–0x018F Reserviert Für Spannung, Leistungsfaktor, Frequenz, Phasenleistung usw. vorgesehen.

2.4.5 Steuerung und Sicherheit (Holding, Lesen 0x03 / Schreiben 0x06 oder 0x10)

Hinweise: Wenn die Wechselstromversorgung des Ladegeräts unterbrochen und wiederhergestellt wird, werden automatisch die Standardwerte wiederhergestellt und müssen erneut eingegeben werden.
Adresse Name Typ Einheit Zugang Beschreibung
1000–1001 / 0x03E8–0x03E9 Strombegrenzung FLOAT32 A RW Strombegrenzung auf Stations-Ebene. Standardwert: 16 A. Einstellbereich: 0–32 A.
1002–1003 / 0x03EA–0x03EB Ausweichgrenze FLOAT32 A RW Der Fallback-Strom für die Trennung kann nur auf Werte zwischen 0 und 16 eingestellt werden. Werte unter 6 werden als 0 behandelt.
1004–1005 / 0x03EC–0x03ED Fallback-Zeitlimit UINT32 s RW Schwellenwert für das Heartbeat-Timeout. Standardwert: 5 Minuten. Mindestwert: 30 Sekunden. Höchstwert: 30 Minuten.
1006 / 0x03EE IF_START UINT16 RW

Werte:

  • 0: STOP
  • 1: START

Berechtigungsbeschränkungen:

  • Wenn das Ladegerät derzeit über OCPP gesteuert wird, kann der Ladevorgang über dieses Register weder gestartet noch gestoppt werden.
  • Bitte berücksichtigen Sie auch mögliche Konflikte mit anderen Authentifizierungsmethoden, wie beispielsweise der NexBlue , dem Portal oder der OpenAPI.
  • Es wird empfohlen, jeweils nur eine Zahlungsautorisierungsmethode zu verwenden.
1007 / 0x03EF Laufzeit-Phasenmodus UINT16 RW

Werte:

  • 0: Adaptiv
  • 1: Einphasenbetrieb erzwingen
  • 2: Dreiphasenbetrieb

Schaltbedingungen:

  • Empfohlenes Mindestintervall zwischen den Phasenwechseln: 10 Minuten
  • Maximal 2 Phasenschalter innerhalb eines Zeitraums von einer Stunde
  • Maximal 6 Phasenschalter während eines einzelnen Ladevorgangs
1008–1999 Reserviert Für Erweiterungen reserviert.

2.4.6 Alarme und Fehler (Fehler / Warnung)

Adresse Name Typ Einheit Zugang Beschreibung
0400 / 0x0190 Fehler-Bitsatz UINT16 RO
  • Bit 0: CP-Spannung abnormal
  • Bit 1: Phasenleitungsableitung
  • Bit 2: Stromabweichung / Überstrom
  • Bit 3: Spannungsfehler / Überspannung oder Unterspannung
  • Bit 4: Temperaturabweichung / zu hoch oder zu niedrig
  • Bit 5: Relais klemmt
  • Bit 6: RCD-Selbsttest fehlgeschlagen
  • Bit 7: Kurzschluss der CP-Diode
  • Bit 8: PEN offen
  • Bit9: PE-Leckage
  • Bit10: PE offen
  • Bit11: PP-Fehler
  • Bit 12–15: reserviert
0401 / 0x0191 Warn-Bitmuster UINT16 RO
  • Bit 0: Fehler am Zählerchip
  • Bit 1: Fehler bei der Kommunikation zwischen den Platinen
  • Bit 2: RFID-HF-Fehler
  • Bit 3: 868 RF-Fehler
  • Bit 4: Fehler im 4G-Modul
  • Bit 5: Abdeckung offen – Fehler
  • Bit 6: reserviert
  • Bit 7: TN-System – Phasenausfall, Störung
  • Bit 8: IT-neutraler Überstrom
  • Bit9: Netzstörung
  • Bit10: MID-Modus
  • Bit 11–15: reserviert
0402 / 0x0192 Warte-Bitsatz UINT16 RO
  • Bit 0: Ausweichlösung, da CT offline ist
  • Bit 1: Ausweichbetrieb, da Hauptgerät offline ist
  • Bit 2: angehalten aufgrund eines Fehlers mit geringem Schweregrad / Ladestrom des Ladeprofils beträgt 0 über OCPP
  • Bit 3: Der Host reduziert den Strom während des Ladevorgangs
  • Bit 4: Erste Anfrage gesendet, aber der Host hat noch nicht geantwortet
  • Bit 5: Schutz vor Lastabwurf aktiv
  • Bit 6: Durch Modbus ausgelöster Fallback
  • Bit 6–15: reserviert

Anhang

Funktionscodes

Ein Funktionscode in Modbus gibt an, welchen Vorgang der Master am Slave ausführen möchte. Jeder Frame enthält einen 1-Byte-Funktionscode.

Hex Bedeutung Ziel
0x01Spulen auslesenBit-Ausgänge
0x02Diskrete Eingänge auslesenBiteingänge
0x03Holding-Register lesen16-Bit
0x04Eingaberegister lesen16-Bit
0x05„Single Coil“ schreibenBit
0x06Einzelnes Halteregister schreiben16-Bit
0x0FMehrere Spulen schreibenBit
0x10Mehrere Halteregister schreiben16-Bit

Übersicht über gängige Modbus-Datentypen

Datentyp Verwendete Register Bitbreite Typ C Bedeutung und Verwendung Typische Beispiele
UINT16 1 16-Bit uint16_t Vorzeichenlose Ganzzahl Statuscodes, Aufzählungslisten, Zähler, Anzahl der Anschlüsse.
INT16 1 16-Bit int16_t Vorzeichenbehaftete Ganzzahl Temperatur, Offsets, Zeitzone.
UINT32 2 32-Bit uint32_t Vorzeichenlose lange Ganzzahl Zeitstempel, Energieerfassung, Sekundenzähler.
INT32 2 32-Bit int32_t Vorzeichenbehaftete lange Ganzzahl Leistung, Richtungswerte.
FLOAT32 2 32-Bit float Fließkommazahl mit einfacher Genauigkeit, IEEE 754. Strom, Spannung, Leistung, Energie usw.
UINT64 4 64-Bit uint64_t Sehr große ganze Zahl Gesamtenergie, kumulierte Messung.
STRING[n] n/2 n × 8 Bit char[] Textinformationen Marke, Modell, Seriennummer, Versionsnummer.