1. Kommunikationskanal
- Kanaltype: TCP/IP
- Fysisk grænseflade: RJ45-ethernetkabelforbindelse / Wi-Fi-forbindelse
2. TCP/IP-kommunikation
2.1 Netværkskonfiguration
- Netværksindstilling: Dynamisk IP-tildeling via DHCP
- Reservetilstand: Statisk IP-adresse konfigureret i appen
I DHCP-tilstand anmoder enheden automatisk om en IP-adresse fra DHCP-serveren, når den tændes. Når enheden har modtaget en adresse, sender den sine oplysninger via mDNS. Navnet på den udsendte tjeneste er:
_nexblue_modbus._tcp.local
Dette kan automatisk opdages af EMS-systemer, der understøtter mDNS, såsom Home Assistant og Tibber.
2.2 Kommunikationsport
2.3 Enheds-ID
- Standardværdi: 200
- Indstillingsområde: 1–247
I Modbus TCP er enheds-ID’et en logisk identifikator, der opretholdes af hensyn til RTU-kompatibilitet. Den bruger den samme konfigurationsparameter som slaveadressen, der anvendes i RTU-tilstand.
2.4 Registerdefinitioner
2.4.1 Registreringstyper
| Registreringstype | Funktion | Funktionskode | Beskrivelse |
| Indgangsregistre | Læs indgangsregistre | 0x04 | Skrivebeskyttede registre, der returnerer måleværdier eller statusoplysninger såsom spænding, strøm, effekt, temperatur, akkumuleret energi osv. |
| Registre over aktieindehavere | Læsning af holderegistre | 0x03 | Læse-/skriveregistre. Masteren kan aflæse den aktuelle konfiguration, strømgrænser, driftsstatus osv. |
| Registre over aktieindehavere | Skriv til et enkelt holderegister | 0x06 | Masteren indtaster en enkelt konfigurationsparameter eller kommando, f.eks. indstilling af maksimal strøm eller start/stop af opladning. |
| Registre over aktieindehavere | Skriv til flere holderegistre | 0x10 | Masteren skriver flere på hinanden følgende registre på én gang, hvilket anvendes til batchopdateringer af konfigurationer eller strukturerede parametregrupper. |
Disse fire er de grundlæggende funktionskoder, der er defineret i IEC 61131-3, EN 61107 og ISO Modbus-specifikationen, og de understøttes som standard af næsten alle masterenheder, PLC’er og EMS-systemer.
2.4.2 Planlægning af registeradresser (adressekort)
| Princip | Beskrivelse |
| Længde | Adressefeltet i en Modbus-ramme er et 16-bit heltal uden fortegn. |
| Lagopdelt opdeling | Opdeling efter funktion: Identifikation → Stationsniveau → Pr. stik. Sørg for, at logikken er klar og let at udvide. |
| Et fælles udgangspunkt | Alle registre bruger logiske adresser. Den logiske adressering starter typisk ved 0. Dokumentet viser både decimaltal og hexadecimaltal. |
| Justeringsregel | 32-bit data skal starte på en lige adresse for at undgå at krydse registergrænser. |
| Reserveret plads til udvidelse | Hvert område indeholder plads til udvidelse, så der i fremtidige versioner kan tilføjes felter uden at kompromittere kompatibiliteten. |
| Tegnkodning | Hvert register er 2 byte. Strengene har fast længde og udfyldes ikke med 0x00 for ubrugte byte. |
| Byte-/ordrækkefølge | Byte-rækkefølgen for enkeltregistre er Big-Endian. Data med flere registre bruger Little-Endian-ordrækkefølgen DCBA. |
| Adgangsmetoder | Indlæsning sker med 0x04. Holderegistrene læses med 0x03 og skrives med 0x06 (enkelt) eller 0x10 (flere). |
2.4.3 Identifikation, version og tid (inddata, 0x04)
| Adresse | Navn | Type | Enhed | Adgang | Beskrivelse |
| 0000–0007 / 0x0000–0x0007 | Mærke | STRING(16) | — | RO | 2 byte pr. register, UTF-8/ASCII. |
| 0008–0015 / 0x0008–0x000F | Model | STRING(16) | — | RO | Enhedsmodel. |
| 0016–0027 / 0x0010–0x001B | Serienummer | STRING(24) | — | RO | Enhedens serienummer. |
| 0028–0035 / 0x001C–0x0023 | Firmwareversion | STRING(16) | — | RO | For eksempel: 04.00.19. |
| 0036 / 0x0024 | Modbus-tabelversion | UINT16 | — | RO | Kortlægningsversionsnummer, f.eks. 0x0100. |
| 0037 / 0x0025 | Antal stik | UINT16 | — | RO | Antal stik: 1 eller 2. |
| 0038–0039 / 0x0026–0x0027 | Dato | UINT32 | ÅÅÅÅMMDD | RO | 32-bit jævn justering. Eksempel: 20251202. |
| 0040–0041 / 0x0028–0x0029 | Tid | UINT32 | HHMMSS | RO | Eksempel: 155630 betyder 15:56:30. |
| 0042 / 0x002A | Tidszone | UINT16 | minutter | RO | Eksempel: UTC+2 → +120. |
| 0044 | Hardwareversion | STRING(16) | — | RO | Hardwareversion. |
| 0043–0099 | Reserveret | — | — | — | Forbeholdt fremtidig identifikation, certifikater, produktionsoplysninger osv. |
2.4.4 Status og måling i realtid (indgang, 0x04)
| Adresse | Navn | Type | Enhed | Adgang | Beskrivelse |
| 0100 / 0x0064 | Chargepoint-tilstand | UINT16 | — | RO | - 0: Tilgængelig
- 1: Forberedelse
- 2: Opladning
- 3: SuspendedEVSE
- 4: SuspendedEV
- 5: Efterbehandling
- 6: Reserveret
- 7: Ikke tilgængelig
- 8: Defekt
|
| 0102–0103 / 0x0066–0x0067 | Nuværende L1 | FLOAT32 | A | RO | 32-bit jævn justering. |
| 0104–0105 / 0x0068–0x0069 | Nuværende L2 | FLOAT32 | A | RO | — |
| 0106–0107 / 0x006A–0x006B | Nuværende L3 | FLOAT32 | A | RO | — |
| 0108–0109 / 0x006C–0x006D | Spænding L1-N | FLOAT32 | V | RO | — |
| 0110–0111 / 0x006E–0x006F | Spænding L2-N | FLOAT32 | V | RO | — |
| 0112–0113 / 0x0070–0x0071 | Spænding L3-N | FLOAT32 | V | RO | — |
| 0114–0115 / 0x0072–0x0073 | Fasevinkel L1 | FLOAT32 | ° | RO | Fasevinkel i forhold til L1-N. |
| 0116–0117 / 0x0074–0x0075 | Fasevinkel L2 | FLOAT32 | ° | RO | Fasevinkel i forhold til L1-N. |
| 0118–0119 / 0x0076–0x0077 | Fasevinkel L3 | FLOAT32 | ° | RO | Fasevinkel i forhold til L1-N. |
| 0120–0121 / 0x0078–0x0079 | Aktiv effekt L1 | FLOAT32 | W | RO | — |
| 0122–0123 / 0x007A–0x007B | Aktiv effekt L2 | FLOAT32 | W | RO | — |
| 0124–0125 / 0x007C–0x007D | Aktiv effekt L3 | FLOAT32 | W | RO | — |
| 0126–0127 / 0x007E–0x007F | Aktiv effekt i alt | FLOAT32 | W | RO | — |
| 0128–0129 / 0x0080–0x0081 | Sessionens energi | FLOAT32 | kWh | RO | Nuværende session. |
| 0130–0133 / 0x0082–0x0085 | Lifetime Energy | UINT64 | Hvad | RO | Akkumuleret energi. 64-bit, 4 registre. |
| 0134–0135 / 0x0086–0x0087 | Reservestrøm | FLOAT32 | A | RO | Reservestrøm indstilles via NexBlue eller skyen. |
| 0136–0137 / 0x0088–0x0089 | Maksimal ladestrøm | FLOAT32 | A | RO | Den maksimale ladestrøm indstilles via NexBlue eller cloud-tjenesten. |
| 0138 / 0x008A | Faseopladning | UINT16 | — | RO | - 0: Adaptiv
- 1: Tving enfaset
- 2: Tving trefaset
|
| 0137–0399 / 0x0088–0x018F | Reserveret | — | — | — | Forbeholdt spænding, effektfaktor, frekvens, effekt pr. fase osv. |
2.4.5 Styring og sikkerhed (Holding, læsning 0x03 / skrivning 0x06 eller 0x10)
Bemærkninger: Hvis opladerens vekselstrømsforsyning afbrydes og genstartes, vil den automatisk vende tilbage til standardværdierne og skal derfor indstilles på ny.
| Adresse | Navn | Type | Enhed | Adgang | Beskrivelse |
| 1000–1001 / 0x03E8–0x03E9 | Strømbegrænsning | FLOAT32 | A | RW | Strømbegrænsning på stationsniveau. Standardværdi: 16 A. Indstillingsområde: 0–32 A. |
| 1002–1003 / 0x03EA–0x03EB | Reservegrænse | FLOAT32 | A | RW | Afbrydelsesstrømmen ved fallback kan kun indstilles til 0–16. Værdier under 6 behandles som 0. |
| 1004–1005 / 0x03EC–0x03ED | Timeout for fallback | UINT32 | s | RW | Tærskelværdi for timeout ved hjerterytme. Standardværdi: 5 minutter. Minimum: 30 sekunder. Maksimum: 30 minutter. |
| 1006 / 0x03EE | IF_START | UINT16 | — | RW | - Start/stop-styring
- 0: STOP
- 1: START
|
| 1007 / 0x03EF | Kørselstid Fase Tilstand | UINT16 | — | RW | Værdier: - 0: Adaptiv
- 1: Tving enfaset
- 2: Tving trefaset
Omskiftningsbegrænsninger: - Anbefalet minimumsinterval mellem faseskift: 10 minutter
- Højst 2 faseomskiftninger inden for en hvilken som helst periode på 1 time
- Højst 6 faseomskiftninger i løbet af en enkelt opladning
|
| 1008–1999 | Reserveret | — | — | — | Forbeholdt udvidelser. |
2.4.6 Alarmer og fejl (Fejl / Advarsel)
| Adresse | Navn | Type | Enhed | Adgang | Beskrivelse |
| 0400 / 0x0190 | Fejlbitsæt | UINT16 | — | RO | - Bit 0: Unormal CP-spænding
- Bit 1: Lækage i faseledningen
- Bit 2: fejl i strøm / overstrøm
- Bit 3: unormal spænding / overspænding eller underspænding
- Bit 4: unormal temperatur / for høj eller for lav
- Bit 5: relæet sidder fast
- Bit 6: RCD-selvtest mislykkedes
- Bit7: CP-diode i kortslutning
- Bit8: PEN åben
- Bit9: PE-lækage
- Bit10: PE åben
- Bit11: PP unormal
- Bit 12–15: reserveret
|
| 0401 / 0x0191 | Advarselsbitsæt | UINT16 | — | RO | - Bit 0: Fejl i målerchippen
- Bit 1: Fejl i kommunikationen mellem kortene
- Bit 2: Unormal RFID-RF-signal
- Bit 3: 868 RF unormal
- Bit 4: Fejl i 4G-modulet
- Bit 5: Dæksel åbent – fejl
- Bit 6: reserveret
- Bit7: Unormal faseforskydning i TN-systemet
- Bit8: IT-neutral overstrøm
- Bit9: uregelmæssigheder i nettet
- Bit10: MID-tilstand
- Bit 11–15: reserveret
|
| 0402 / 0x0192 | Ventende bitsæt | UINT16 | — | RO | - Bit 0: reservefunktion, da CT er offline
- Bit 1: Fallback på grund af, at hovedenheden er offline
- Bit2: sat på pause på grund af en fejl med lav alvorlighed / strømmen i opladningsprofilen er 0 via OCPP
- Bit3: Værten reducerer strømmen midt i opladningen
- Bit 4: Første anmodning er sendt, men værten har ikke svaret
- Bit 5: Beskyttelse mod strømafbrydelser er aktiv
- Bit 6: Fallback udløst af Modbus
- Bit 6–15: reserveret
|
Bilag
Funktionskoder
En funktionskode i Modbus angiver, hvilken handling masteren ønsker at udføre på slaven. Hver ramme indeholder en funktionskode på 1 byte.
| Hex | Betydning | Mål |
| 0x01 | Læs spoler | Bit-udgange |
| 0x02 | Læs diskrete indgange | Bit-indgange |
| 0x03 | Læs registrene over aktiebeholdninger | 16-bit |
| 0x04 | Læs indgangsregistre | 16-bit |
| 0x05 | Skriv »Single Coil« | Bit |
| 0x06 | Skriv til registeret for enkeltbeholdninger | 16-bit |
| 0x0F | Skriv flere spoler | Bit |
| 0x10 | Skriv til flere holderegistre | 16-bit |
Oversigt over almindelige Modbus-datatyper
| Datatype | Anvendte registre | Bitbredde | Type C | Betydning og anvendelse | Typiske eksempler |
| UINT16 | 1 | 16-bit | uint16_t | Uunderskrevet heltal | Statuskoder, enum-typer, tællere, antal forbindelser. |
| INT16 | 1 | 16-bit | int16_t | Tegnforet heltal | Temperatur, justeringsværdier, tidszone. |
| UINT32 | 2 | 32-bit | uint32_t | Usigneret langt heltal | Tidskoder, energimåling, sekundtællere. |
| INT32 | 2 | 32-bit | int32_t | Tegnede lange heltal | Effekt, retningsværdier. |
| FLOAT32 | 2 | 32-bit | float | Float med enkeltpræcision, IEEE 754. | Strøm, spænding, effekt, energi osv. |
| UINT64 | 4 | 64-bit | uint64_t | Et meget stort heltal | Samlet energiforbrug, kumulativ måling. |
| STRING[n] | n/2 | n × 8 bit | char[] | Tekstinformation | Mærke, model, serienummer, versionsnummer. |