1. Viestintäkanava
- Kanavatyyppi: TCP/IP
- Fyysinen liitäntä: RJ45-Ethernet-kaapeliliitäntä / Wi-Fi-yhteys
2. TCP/IP-tiedonsiirto
2.1 Verkon määritykset
- Verkkotila: Dynaaminen IP-osoitteen hankinta DHCP:n avulla
- Varatila: Sovelluksessa määritetty staattinen IP-osoite
DHCP-tilassa laite pyytää virran kytkemisen jälkeen automaattisesti IP-osoitetta DHCP-palvelimelta. Kun osoite on saatu onnistuneesti, laite lähettää tietonsa mDNS-verkossa. Lähetettävä palvelun nimi on:
_nexblue_modbus._tcp.local
Tämän voivat tunnistaa automaattisesti mDNS:ää tukevat EMS-järjestelmät, kuten Home Assistant ja Tibber.
2.2 Tiedonsiirtoportti
2.3 Yksikön tunniste
- Oletusarvo: 200
- Määritettävä alue: 1–247
Modbus TCP:ssä laitetunnus (Unit ID) on looginen tunniste, joka on säilytetty RTU-yhteensopivuuden vuoksi. Se käyttää samaa konfiguraatioparametria kuin RTU-tilassa käytetty orjaosoite.
2.4 Rekisterimääritelmät
2.4.1 Rekisterityypit
| Rekisterityyppi | Toiminto | Toimintakoodi | Kuvaus |
| Syöttörekisterit | Lue syöttörekisterit | 0x04 | Vain luku -rekisterit, jotka palauttavat mittaus- tai tilatietoja, kuten jännite, virta, teho, lämpötila, kertynyt energia jne. |
| Rekisterien ylläpito | Lue rekisterien sisältö | 0x03 | Luku- ja kirjoitusrekisterit. Ohjainlaite voi lukea nykyisen kokoonpanon, virranrajoitukset, toimintatilan jne. |
| Rekisterien ylläpito | Kirjoita yksittäinen säilytysrekisteri | 0x06 | Päälaite kirjoittaa yhden konfigurointiparametrin tai komennon, kuten maksimivirran asetuksen tai latauksen aloittamisen tai lopettamisen. |
| Rekisterien ylläpito | Kirjoita useita säilytysrekistereitä | 0x10 | Pääohjelma kirjoittaa useita peräkkäisiä rekistereitä kerralla; tätä käytetään konfiguraation tai jäsenneltyjen parametriryhmien eräpäivityksiin. |
Nämä neljä ovat IEC 61131-3-, EN 61107- ja ISO Modbus -määritysten mukaisia perustoimintakoodeja, joita lähes kaikki isäntälaitteet, ohjelmoitavat logiikkayksiköt (PLC) ja EMS-järjestelmät tukevat oletusarvoisesti.
2.4.2 Rekisterin osoitteiden suunnittelu (osoitekartta)
| Periaate | Kuvaus |
| Pituus | Modbus-kehyksen osoitekenttä on 16-bittinen merkitsemätön kokonaisluku. |
| Kerrostettu osiointi | Jako toimintojen mukaan: Tunnistaminen → Asemataso → Liittimittäin. Pidä logiikka selkeänä ja helposti laajennettavana. |
| Yhtenäinen lähtökohta | Kaikki rekisterit käyttävät loogisia osoitteita. Looginen osoitteistus alkaa yleensä numerosta 0. Asiakirjassa esitetään sekä desimaali- että heksadesimaali-muodot. |
| Suuntaussääntö | 32-bittisten tietojen on aloitettava parillisesta osoitteesta, jotta vältetään rekisterirajojen ylittäminen. |
| Varattu laajennustila | Jokaisella alueella on varattuja paikkoja, jotta tulevissa versioissa voidaan lisätä kenttiä yhteensopivuutta vaarantamatta. |
| Merkistökoodaus | Jokainen rekisteri on 2 tavua. Merkkijonot ovat kiinteän pituisia, eikä niihin lisätä 0x00-täytebittejä käyttämättömien tavujen tilalle. |
| Tavun/sanan järjestys | Yhden rekisterin tavujärjestys on Big-Endian. Monirekisteritiedoissa käytetään Little-Endian-sanajärjestystä DCBA. |
| Käyttötavat | Syöttö tapahtuu koodilla 0x04. Tallennusrekisterit luetaan koodilla 0x03 ja niihin kirjoitetaan koodilla 0x06 (yksittäinen) tai 0x10 (useita). |
2.4.3 Tunniste, versio ja aika (syöte, 0x04)
| Osoite | Nimi | Tyyppi | Yksikkö | Pääsy | Kuvaus |
| 0000–0007 / 0x0000–0x0007 | Tuotemerkki | STRING(16) | — | RO | 2 tavua rekisteriä kohti, UTF-8/ASCII. |
| 0008–0015 / 0x0008–0x000F | Malli | STRING(16) | — | RO | Laitemalli. |
| 0016–0027 / 0x0010–0x001B | Sarjanumero | STRING(24) | — | RO | Laitteen sarjanumero. |
| 0028–0035 / 0x001C–0x0023 | Laiteohjelmistoversio | STRING(16) | — | RO | Esimerkiksi: 04.00.19. |
| 0036 / 0x0024 | Modbus-taulukon versio | UINT16 | — | RO | Kartoitusversionumero, esimerkiksi 0x0100. |
| 0037 / 0x0025 | Liittimien lukumäärä | UINT16 | — | RO | Liittimien lukumäärä: 1 tai 2. |
| 0038–0039 / 0x0026–0x0027 | Päivämäärä | UINT32 | VVVVKKPP | RO | 32-bittinen parillinen kohdistus. Esimerkki: 20251202. |
| 0040–0041 / 0x0028–0x0029 | Aika | UINT32 | HHMMSS | RO | Esimerkki: 155630 tarkoittaa kello 15:56:30. |
| 0042 / 0x002A | Aikavyöhyke | UINT16 | minuuttia | RO | Esimerkki: UTC+2 → +120. |
| 0044 | Laitteistoversio | STRING(16) | — | RO | Laitteistoversio. |
| 0043–0099 | Varattu | — | — | — | Varattu tulevaa tunnistamista, sertifikaatteja, valmistustietoja jne. varten. |
2.4.4 Reaaliaikainen tila ja mittaus (tulo, 0x04)
| Osoite | Nimi | Tyyppi | Yksikkö | Pääsy | Kuvaus |
| 0100 / 0x0064 | Chargepointin tila | UINT16 | — | RO | - 0: Saatavilla
- 1: Valmistautuminen
- 2: Lataaminen
- 3: EVSE-latauslaite, käytöstä poistettu
- 4: SuspendedEV
- 5: Viimeistely
- 6: Varattu
- 7: Ei saatavilla
- 8: Viallinen
|
| 0102–0103 / 0x0066–0x0067 | Nykyinen L1 | FLOAT32 | A | RO | 32-bittinen parillinen kohdistus. |
| 0104–0105 / 0x0068–0x0069 | Nykyinen L2 | FLOAT32 | A | RO | — |
| 0106–0107 / 0x006A–0x006B | Nykyinen L3 | FLOAT32 | A | RO | — |
| 0108–0109 / 0x006C–0x006D | Jännite L1–N | FLOAT32 | V | RO | — |
| 0110–0111 / 0x006E–0x006F | Jännite L2–N | FLOAT32 | V | RO | — |
| 0112–0113 / 0x0070–0x0071 | Jännite L3–N | FLOAT32 | V | RO | — |
| 0114–0115 / 0x0072–0x0073 | Vaihekulma L1 | FLOAT32 | ° | RO | L1-N:ään suhteutettu vaihekulma. |
| 0116–0117 / 0x0074–0x0075 | Vaihekulma L2 | FLOAT32 | ° | RO | L1-N:ään suhteutettu vaihekulma. |
| 0118–0119 / 0x0076–0x0077 | Vaihekulma L3 | FLOAT32 | ° | RO | L1-N:ään suhteutettu vaihekulma. |
| 0120–0121 / 0x0078–0x0079 | Aktiiviteho L1 | FLOAT32 | W | RO | — |
| 0122–0123 / 0x007A–0x007B | Aktiiviteho L2 | FLOAT32 | W | RO | — |
| 0124–0125 / 0x007C–0x007D | Aktiiviteho L3 | FLOAT32 | W | RO | — |
| 0126–0127 / 0x007E–0x007F | Aktiiviteho yhteensä | FLOAT32 | W | RO | — |
| 0128–0129 / 0x0080–0x0081 | Istunnon energia | FLOAT32 | kWh | RO | Nykyinen istunto. |
| 0130–0133 / 0x0082–0x0085 | Lifetime Energy | UINT64 | Mikä | RO | Kumulatiivinen energia. 64-bittinen, 4 rekisteriä. |
| 0134–0135 / 0x0086–0x0087 | Varavirta | FLOAT32 | A | RO | Varavirta asetetaan NexBlue tai pilvipalvelun kautta. |
| 0136–0137 / 0x0088–0x0089 | Suurin latausvirta | FLOAT32 | A | RO | Suurin latausvirta asetetaan NexBlue tai pilvipalvelun kautta. |
| 0138 / 0x008A | Vaiheittainen lataus | UINT16 | — | RO | - 0: Mukautuva
- 1: Yksivaiheinen pakko
- 2: Kolmivaihevirta
|
| 0137–0399 / 0x0088–0x018F | Varattu | — | — | — | Varattu jännitteelle, tehokertoimelle, taajuudelle, vaihekohtaiselle teholle jne. |
2.4.5 Ohjaus ja turvallisuus (Holding, luku 0x03 / kirjoitus 0x06 tai 0x10)
Huomautukset: Jos laturin verkkovirta katkeaa ja palaa, laite palaa automaattisesti oletusarvoihin, ja asetukset on määritettävä uudelleen.
| Osoite | Nimi | Tyyppi | Yksikkö | Pääsy | Kuvaus |
| 1000–1001 / 0x03E8–0x03E9 | Virranrajoitus | FLOAT32 | A | RW | Aseman virranrajoitus. Oletusarvo 16 A. Säätöalue 0–32 A. |
| 1002–1003 / 0x03EA–0x03EB | Vararaja | FLOAT32 | A | RW | Katkaisun varavirta voidaan asettaa vain arvoihin 0–16. Alle 6 olevat arvot käsitellään arvona 0. |
| 1004–1005 / 0x03EC–0x03ED | Varamenetelmän aikakatkaisu | UINT32 | s | RW | Heartbeat-aikakatkaisun kynnysarvo. Oletusarvo 5 minuuttia. Vähimmäisarvo 30 sekuntia. Enimmäisarvo 30 minuuttia. |
| 1006 / 0x03EE | IF_START | UINT16 | — | RW | - Käynnistys-/pysäytysohjaus
- 0: PYSÄYTYS
- 1: ALOITA
|
| 1007 / 0x03EF | Suoritusaikavaihe-tila | UINT16 | — | RW | Arvot: - 0: Mukautuva
- 1: Yksivaiheinen pakko
- 2: Kolmivaihevirta
Kytkentärajoitukset: - Suositeltu vähimmäisväli vaiheenvaihtojen välillä: 10 minuuttia
- Enintään 2 vaihekytkintä minkä tahansa yhden tunnin jakson aikana
- Enintään 6 vaihekytkintä yhden latauskerran aikana
|
| 1008–1999 | Varattu | — | — | — | Varattu laajennuksille. |
2.4.6 Hälytykset ja virheet (virhe / varoitus)
| Osoite | Nimi | Tyyppi | Yksikkö | Pääsy | Kuvaus |
| 0400 / 0x0190 | Virheiden bittijoukko | UINT16 | — | RO | - Bitti 0: CP-jännitteen poikkeama
- Bitti 1: vaihejohtimen vuotovirta
- Bitti 2: virran poikkeama / ylivirta
- Bitti 3: jännitteen poikkeama / ylijännite tai alijännite
- Bitti 4: lämpötila poikkeava / liian korkea tai liian matala
- Bit5: rele jumissa
- Bitti 6: RCD:n itsetesti epäonnistui
- Bit7: CP-diodin oikosulku
- Bitti 8: PEN auki
- Bit9: PE-vuoto
- Bit10: PE auki
- Bit11: PP-arvo poikkeava
- Bitti 12–15: varattu
|
| 0401 / 0x0191 | Varoitusbittijoukko | UINT16 | — | RO | - Bitti 0: mittaripiirissä vika
- Bitti 1: piirilevyjen välinen tiedonsiirto poikkeava
- Bitti 2: RFID-taajuudessa poikkeama
- Bitti 3: 868 RF-arvo poikkeava
- Bitti 4: 4G-moduulin toimintahäiriö
- Bit5: kannen auki – poikkeava tilanne
- Bitti 6: varattu
- Bitti 7: TN-järjestelmän vaihehäviö poikkeava
- Bitti 8: IT-neutraali ylivirta
- Bit9: verkossa on häiriö
- Bit10: MID-tila
- Bitti 11–15: varattu
|
| 0402 / 0x0192 | Odotusbittijoukko | UINT16 | — | RO | - Bitti 0: varajärjestelmä käytössä, koska CT on pois käytöstä
- Bitti 1: varajärjestelmä käytössä, koska päälaite on pois käytöstä
- Bit2: keskeytetty vähäisen vakavuuden virheen vuoksi / latausprofiilin virta on 0 OCPP:n kautta
- Bit3: latausasema vähentää virtaa latauksen aikana
- Bit4: ensimmäinen pyyntö lähetetty, mutta isäntä ei ole vastannut
- Bitti 5: kuormituksen rajoitussuojaus käytössä
- Bitti 6: Modbusin laukaisema varajärjestelmä
- Bitti 6–15: varattu
|
Liite
Toimintakoodit
Modbus-järjestelmän toimintakoodi ilmaisee, minkä toiminnon isäntälaite haluaa suorittaa orjalaitteelle. Jokaisessa kehyksessä on 1 tavun pituinen toimintakoodi.
| Hex | Merkitys | Kohde |
| 0x01 | Lue kelat | Bittilähdöt |
| 0x02 | Lue erilliset tulot | Bittitulot |
| 0x03 | Lue rekisteritiedot | 16-bittinen |
| 0x04 | Lue syöttörekisterit | 16-bittinen |
| 0x05 | Kirjoita Single Coil | Bitti |
| 0x06 | Kirjoita yksittäisen omistuksen rekisteri | 16-bittinen |
| 0x0F | Kirjoita useita käämejä | Bitti |
| 0x10 | Kirjoita useita pitorekistereitä | 16-bittinen |
Yleisten Modbus-tietotyyppien yhteenveto
| Tietotyyppi | Käytetyt rekisterit | Bittileveys | C-tyyppi | Merkitys ja käyttö | Tyypillisiä esimerkkejä |
| UINT16 | 1 | 16-bittinen | uint16_t | Allekirjoittamaton kokonaisluku | Tilakoodit, luettelot, laskurit, liittimien lukumäärä. |
| INT16 | 1 | 16-bittinen | int16_t | Merkitty kokonaisluku | Lämpötila, korjausarvot, aikavyöhyke. |
| UINT32 | 2 | 32-bittinen | uint32_t | Allekirjoittamaton pitkä kokonaisluku | Aikaleimat, energianmittaus, sekuntilaskurit. |
| INT32 | 2 | 32-bittinen | int32_t | Allekirjoitettu pitkä kokonaisluku | Teho, suuntarajat. |
| FLOAT32 | 2 | 32-bittinen | kellua | Yksinkertaisen tarkkuuden liukuluku, IEEE 754. | Virta, jännite, teho, energia jne. |
| UINT64 | 4 | 64-bittinen | uint64_t | Erittäin suuri kokonaisluku | Kokonaisenergia, kumulatiivinen mittaus. |
| STRING[n] | n/2 | n × 8-bittinen | char[] | Tekstitiedot | Merkki, malli, sarjanumero, versionumero. |