1. Kommunikasjonskanal
- Kanaltype: TCP/IP
- Fysisk grensesnitt: RJ45 Ethernet-kabeltilkobling / Wi-Fi-tilkobling
2. TCP/IP-kommunikasjon
2.1 Nettverkskonfigurasjon
- Nettverksmodus: DHCP dynamisk IP-innhenting
- Reservemodus: Statisk IP-adresse konfigurert i appen
I DHCP-modus ber enheten automatisk om en IP-adresse fra DHCP-serveren etter at den er slått på. Etter at en adresse er innhentet, kringkaster enheten informasjonen via mDNS. Navnet på kringkastingstjenesten er:
_nexblue_modbus._tcp.local
Dette kan oppdages automatisk av EMS-systemer som støtter mDNS, som Home Assistant og Tibber.
2.2 Kommunikasjonsport
2.3 Enhets-ID
- Standardverdi: 200
- Konfigurerbart område: 1–247
I Modbus TCP er enhets-ID-en en logisk identifikator som beholdes for RTU-kompatibilitet. Den bruker samme konfigurasjonsparameter som slaveadressen som brukes i RTU-modus.
2.4 Registerdefinisjoner
2.4.1 Registertyper
| Registertype | Funksjon | Funksjonskode | Beskrivelse |
| Inngangsregistre | Les inngangsregistre | 0x04 | Skrivebeskyttede registre som returnerer målinger eller statusinformasjon som spenning, strøm, effekt, temperatur, akkumulert energi osv. |
| Holdingregistre | Les holdingregistre | 0x03 | Lese-/skriveregistre. Masteren kan lese gjeldende konfigurasjon, strømgrenser, modusstatus osv. |
| Holdingregistre | Skriv enkeltstående beholdningsregister | 0x06 | Masteren skriver én konfigurasjonsparameter eller kommando, for eksempel maks. strøminnstilling eller start/stopp lading. |
| Holdingregistre | Skriv flere holderegistre | 0x10 | Masteren skriver flere påfølgende registre samtidig, som brukes til batchoppdateringer av konfigurasjon eller strukturerte parametergrupper. |
Disse fire er de grunnleggende funksjonskodene som er anerkjent av IEC 61131-3, EN 61107 og ISO Modbus-spesifikasjonen, og støttes som standard av nesten alle mastere, PLS-er og EMS-systemer.
2.4.2 Registrer adresseplanlegging (adressekart)
| Prinsipp | Beskrivelse |
| Lengde | Adressefeltet i en Modbus-ramme er et 16-bits usignert heltall. |
| Lagdelt partisjonering | Partisjonering etter funksjon: Identifikasjon → Stasjonsnivå → Per kontakt. Hold logikken tydelig og enkel å utvide. |
| Enhetlig utgangspunkt | Alle registre bruker logiske adresser. Logisk adressering starter vanligvis på 0. Dokumentet viser både desimal- og heksadesimalformater. |
| Justeringsregel | 32-bits data må starte på en partallsadresse for å unngå å krysse registergrenser. |
| Reservert utvidelsesplass | Hvert område har mellomrom slik at fremtidige versjoner kan legge til felt uten å bryte kompatibiliteten. |
| Tegnkoding | Hvert register er på 2 byte. Strenger har fast lengde og er ikke utfylt med 0x00 for ubrukte byte. |
| Byte-/ordrekkefølge | Enkeltregister-byteorden er Big-Endian. Flerregisterdata bruker Little-Endian-ordorden DCBA. |
| Tilgangsmetoder | Inndataene bruker 0x04. Holderegistre leses med 0x03 og skrives med 0x06 enkelt eller 0x10 flertall. |
2.4.3 Identifikasjon, versjon og tid (inndata, 0x04)
| Adresse | Navn | Type | Enhet | Adgang | Beskrivelse |
| 0000–0007 / 0x0000–0x0007 | Merke | STRING(16) | — | RO | 2 byte per register, UTF-8/ASCII. |
| 0008–0015 / 0x0008–0x000F | Modell | STRING(16) | — | RO | Enhetsmodell. |
| 0016–0027 / 0x0010–0x001B | Serienummer | STRING(24) | — | RO | Enhetens serienummer. |
| 0028–0035 / 0x001C–0x0023 | Fastvareversjon | STRING(16) | — | RO | For eksempel: 04.00.19. |
| 0036 / 0x0024 | Modbus-tabellversjon | UINT16 | — | RO | Kartleggingsversjonsnummer, for eksempel 0x0100. |
| 0037 / 0x0025 | Antall koblinger | UINT16 | — | RO | Antall kontakter: 1 eller 2. |
| 0038–0039 / 0x0026–0x0027 | Dato | UINT32 | ÅÅÅÅMMDD | RO | 32-bits jevn justering. Eksempel: 20251202. |
| 0040–0041 / 0x0028–0x0029 | Tid | UINT32 | TTMMSS | RO | Eksempel: 155630 betyr 15:56:30. |
| 0042 / 0x002A | Tidssone | UINT16 | minutter | RO | Eksempel: UTC+2 → +120. |
| 0044 | Maskinvareversjon | STRING(16) | — | RO | Maskinvareversjon. |
| 0043–0099 | Reservert | — | — | — | Reservert for fremtidig identifikasjon, sertifikater, produksjonsinformasjon osv. |
2.4.4 Status og måling i sanntid (inngang, 0x04)
| Adresse | Navn | Type | Enhet | Adgang | Beskrivelse |
| 0100 / 0x0064 | Ladepunktstatus | UINT16 | — | RO | - 0: Tilgjengelig
- 1: Forberedelse
- 2: Lading
- 3: Suspendert EVSE
- 4: SuspendedEV
- 5: Etterbehandling
- 6: Reservert
- 7: Ikke tilgjengelig
- 8: Feil
|
| 0102–0103 / 0x0066–0x0067 | Nåværende L1 | FLOAT32 | EN | RO | 32-bits jevn justering. |
| 0104–0105 / 0x0068–0x0069 | Nåværende L2 | FLOAT32 | EN | RO | — |
| 0106–0107 / 0x006A–0x006B | Nåværende L3 | FLOAT32 | EN | RO | — |
| 0108–0109 / 0x006C–0x006D | Spenning L1–N | FLOAT32 | V | RO | — |
| 0110–0111 / 0x006E–0x006F | Spenning L2-N | FLOAT32 | V | RO | — |
| 0112–0113 / 0x0070–0x0071 | Spenning L3-N | FLOAT32 | V | RO | — |
| 0114–0115 / 0x0072–0x0073 | Fasevinkel L1 | FLOAT32 | ° | RO | Fasevinkel referert til L1-N. |
| 0116–0117 / 0x0074–0x0075 | Fasevinkel L2 | FLOAT32 | ° | RO | Fasevinkel referert til L1-N. |
| 0118–0119 / 0x0076–0x0077 | Fasevinkel L3 | FLOAT32 | ° | RO | Fasevinkel referert til L1-N. |
| 0120–0121 / 0x0078–0x0079 | Aktiv effekt L1 | FLOAT32 | V | RO | — |
| 0122–0123 / 0x007A–0x007B | Aktiv effekt L2 | FLOAT32 | V | RO | — |
| 0124–0125 / 0x007C–0x007D | Aktiv effekt L3 | FLOAT32 | V | RO | — |
| 0126–0127 / 0x007E–0x007F | Aktiv effekt totalt | FLOAT32 | V | RO | — |
| 0128–0129 / 0x0080–0x0081 | Øktenergi | FLOAT32 | kWh | RO | Gjeldende økt. |
| 0130–0133 / 0x0082–0x0085 | Livstidsenergi | UINT64 | Hv | RO | Kumulativ energi. 64-bit, 4 registre. |
| 0134–0135 / 0x0086–0x0087 | Reservestrøm | FLOAT32 | EN | RO | Reservestrøm satt via NexBlue App eller sky. |
| 0136–0137 / 0x0088–0x0089 | Maks ladestrøm | FLOAT32 | EN | RO | Maksimal ladestrøm innstilt via NexBlue App eller sky. |
| 0138 / 0x008A | Faselading | UINT16 | — | RO | - 0: Adaptiv
- 1: Tving enfase
- 2: Tving trefase
|
| 0137–0399 / 0x0088–0x018F | Reservert | — | — | — | Reservert for spenning, effektfaktor, frekvens, effekt per fase osv. |
2.4.5 Kontroll og sikkerhet (Hold, les 0x03 / skriv 0x06 eller 0x10)
Merknader: Hvis laderen slår av strøm fra strømnettet, går den automatisk tilbake til standardverdiene og må skrives på nytt.
| Adresse | Navn | Type | Enhet | Adgang | Beskrivelse |
| 1000–1001 / 0x03E8–0x03E9 | Strømgrense | FLOAT32 | EN | RW | Strømgrense på stasjonsnivå. Standard 16A. Område 0–32A. |
| 1002–1003 / 0x03EA–0x03EB | Reservegrense | FLOAT32 | EN | RW | Reservestrøm for frakobling kan bare settes til 0–16. Verdier under 6 behandles som 0. |
| 1004–1005 / 0x03EC–0x03ED | Tidsavbrudd for reserve | UINT32 | s | RW | Terskel for tidsavbrudd for hjerteslag. Standard 5 minutter. Minimum 30 sekunder. Maksimum 30 minutter. |
| 1006 / 0x03EE | HVIS_START | UINT16 | — | RW | - Start/stopp-kontroll
- 0: STOPP
- 1: START
|
| 1007 / 0x03EF | Runtime Fase-modus | UINT16 | — | RW | Verdier: - 0: Adaptiv
- 1: Tving enfase
- 2: Tving trefase
Byttebegrensninger: - Anbefalt minimumsintervall mellom fasebrytere: 10 minutter
- Maksimalt 2-fasebrytere innen en 1-times periode
- Maksimalt 6 fasebrytere under en enkelt ladeøkt
|
| 1008–1999 | Reservert | — | — | — | Reservert for utvidelser. |
2.4.6 Alarmer og feil (Feil / Advarsel)
| Adresse | Navn | Type | Enhet | Adgang | Beskrivelse |
| 0400 / 0x0190 | Feilbitsett | UINT16 | — | RO | - Bit0: Unormal CP-spenning
- Bit1: faselinjelekkasje
- Bit2: unormal strøm / overstrøm
- Bit3: unormal spenning / overspenning eller underspenning
- Bit4: unormal/høy eller lav temperatur
- Bit5: relé fastlåst
- Bit6: Selvtest av jordfeilbryter mislyktes
- Bit7: Kortslutning i CP-diode
- Bit8: PEN åpen
- Bit9: PE-lekkasje
- Bit10: PE åpen
- Bit11: PP unormal
- Bit12–15: reservert
|
| 0401 / 0x0191 | Advarselsbitsett | UINT16 | — | RO | - Bit0: unormal målerbrikke
- Bit1: unormal kommunikasjon mellom kortene
- Bit2: Unormal RFID-radiofrekvens
- Bit3: 868 RF unormal
- Bit4: Unormal 4G-modul
- Bit5: deksel åpent unormalt
- Bit6: reservert
- Bit7: Unormalt fasetap i TN-systemet
- Bit8: IT-nøytral overstrøm
- Bit9: unormalt rutenett
- Bit10: MID-modus
- Bit11–15: reservert
|
| 0402 / 0x0192 | Ventebitsett | UINT16 | — | RO | - Bit0: reserve på grunn av CT offline
- Bit1: reserve på grunn av at hovedenheten er frakoblet
- Bit2: satt på pause på grunn av feil med lav alvorlighetsgrad / ladeprofilstrømmen er 0 via OCPP
- Bit3: vert reduserer strøm mellomlading
- Bit4: første forespørsel sendt, men verten har ikke svart
- Bit5: aktiv beskyttelse mot belastningsutkobling
- Bit6: reserve utløst av Modbus
- Bit6–15: reservert
|
Vedlegg
Funksjonskoder
En funksjonskode i Modbus angir hvilken operasjon masteren ønsker å utføre på slaven. Hver ramme inneholder en 1-byte funksjonskode.
| Heksagon | Betydning | Mål |
| 0x01 | Les spoler | Bitutganger |
| 0x02 | Les diskrete innganger | Bitinnganger |
| 0x03 | Les holdingregistre | 16-bit |
| 0x04 | Les inngangsregistre | 16-bit |
| 0x05 | Skriv enkeltspole | Bit |
| 0x06 | Skriv enkeltstående beholdningsregister | 16-bit |
| 0x0F | Skriv flere spoler | Bit |
| 0x10 | Skriv flere holdingregistre | 16-bit |
Sammendrag av vanlige Modbus-datatyper
| Datatype | Registre brukt | Bitbredde | C-type | Betydning og bruk | Typiske eksempler |
| UINT16 | 1 | 16-bit | uint16_t | Usignert heltall | Statuskoder, opplistinger, tellere, antall koblinger. |
| INT16 | 1 | 16-bit | int16_t | Signert heltall | Temperatur, forskyvninger, tidssone. |
| UINT32 | 2 | 32-bit | uint32_t | Usignert langt heltall | Tidsstempler, energimåling, sekundtellere. |
| INT32 | 2 | 32-bit | int32_t | Langt heltall med fortegn | Kraft, retningsbestemte verdier. |
| FLOAT32 | 2 | 32-bit | flyte | Enkeltpresisjonsflytende enhet, IEEE 754. | Strøm, spenning, effekt, energi osv. |
| UINT64 | 4 | 64-bit | uint64_t | Svært stort heltall | Total energi, kumulativ måling. |
| STRING[n] | n/2 | n × 8-bit | char[] | Tekstinformasjon | Merke, modell, serienummer, versjonsnummer. |