VOOL LMC:ssä on Modbus TCP -palvelin paikallisia integraatioita varten. Kiinteistöautomaatiojärjestelmä (BMS), energianhallintajärjestelmä (EMS), Home Assistant tai mikä tahansa muu Modbus-asiakas voi lukea kohteen pääliittymän virrat ja jännitteet vaiheittain sekä – kirjoitusoikeudella – asettaa kuormanhallinnan käyttämän liittymän virtarajan. Käytettävissä LMC-ohjelmiston versiosta v6.4.0 alkaen.
Tämä on erillinen laturin omasta Modbus-liitännästä (katso Laturin Modbus-käsikirja). LMC:n rekisterikartta ei sisällä yksittäisten latureiden mittauksia, energialaskureita tai laturin käynnistys-/pysäytysrekistereitä – käytä niihin laturin liitäntää.
Aloittaminen
Modbus TCP on LMC:ssä oletuksena pois käytöstä, ja VOOLin tuki ottaa sen käyttöön. Pyydä VOOLin tukea chatissa, kerro LMC:n sarjanumero ja kerro, tarvitsetko vain lukuoikeuden (seuranta) vai myös kirjoitusoikeuden. Myös kirjoitusoikeus on oletuksena pois käytöstä, ja tuki ottaa sen käyttöön. Käyttöönottoa ja porttiasetuksia ei voi muuttaa Modbusin kautta.
Sovi käyttöönotosta tuen kanssa – LMC:n sarjanumero, vain luku vai luku/kirjoitus.
Varmista paikalliset yhteystiedot. Selvitä LMC:n paikallinen IPv4-osoite asentajalta tai verkon ylläpitäjältä (tai reitittimen yhdistettyjen laitteiden luettelosta). Käytä sen Ethernet- tai Wi-Fi-yhteyttä; jos molemmat on kytketty, varmista, kumpi osoite palvelee Modbusia – palvelin kuuntelee yhtä osoitetta kerrallaan.
Määritä Modbus-asiakas alla olevilla asetuksilla ja lue ensimmäinen mittauksesi.
Asetus | Arvo |
Protokolla | Modbus TCP – LMC on palvelin, järjestelmäsi on asiakas |
Palvelimen osoite | LMC:n paikallinen IPv4-osoite |
TCP-portti | Oletuksena 502 (käytä tuen vahvistamaa porttia) |
Unit ID / laitetunnus | Käytä arvoa 1, jos asiakas vaatii arvon. LMC ei huomioi sitä – sillä ei valita alavirran laturia. |
Lukumuoto | Float32, kaksi rekisteriä arvoa kohden, ylempi sana ensin ja ylempi tavu ensin (ABCD, ”big-endian, ei sanojen vaihtoa”) |
Osoitekäytäntö | Nollapohjaiset desimaaliosoitteet (katso ”Osoitteet ja koodaus”) |
Modbus TCP:ssä ei ole todennusta eikä salausta. Mikä tahansa porttiin pääsevä voi lukea liitäntää. Rajoita pääsy luotettuihin järjestelmiin äläkä koskaan avaa porttia internetiin. Kirjoitusoikeus koskee kaikkia kirjoitettavia rekistereitä – myös laite- ja luettelokomentoja – eikä sitä voi rajata pelkkään virtaraja-asetukseen.
Ensimmäinen mittaus
Lue vaiheen L1 virta: funktio 03 (Read Holding Registers), aloitusosoite 600 (desimaali, nollapohjainen), määrä 2 rekisteriä, tulkitse muodossa float32 ABCD. Yksikkö: ampeeri.
Esimerkki: jos rekisterit palauttavat 0x41A4 ja 0x0000, arvo on 20,5 A. Yhdistä molemmat rekisterit yhdeksi 32-bittiseksi liukuluvuksi – älä käsittele kumpaakaan rekisteriä erillisenä arvona äläkä käytä skaalauskerrointa.
Mittausrekisterit (vain luku)
Lue funktiolla FC03 (holding registers) tai FC04 (input registers) samoista nollapohjaisista osoitteista.
Rekisterit | Mittaus | Yksikkö | Sijainti 26 rekisterin luvussa |
600–601 | Pääliittymän virta L1 | A | 0–1 |
602–603 | Pääliittymän virta L2 | A | 2–3 |
604–605 | Pääliittymän virta L3 | A | 4–5 |
606–619 | Varattu – luku palauttaa nollan | — | 6–19 (ohita) |
620–621 | Pääliittymän jännite L1 | V | 20–21 |
622–623 | Pääliittymän jännite L2 | V | 22–23 |
624–625 | Pääliittymän jännite L3 | V | 24–25 |
Lue kaikki kerralla: aloitus 600, määrä 26. Tai lue vain virrat (aloitus 600, määrä 6) tai vain jännitteet (aloitus 620, määrä 6). Sarake ”sijainti” lasketaan nollasta palautetun taulukon sisällä – se ei ole rekisterin osoite.
Mitä ”pääliittymän virta” tarkoittaa: se on LMC:n laskema kokonaisvirta vaihetta kohden. Kun mittari (virtamuuntajat) on pääliittymässä, arvo tulee mittarilta. Jos mittari mittaa vain muita rakennuksen kuormia, LMC lisää latureiden virrat. Asentajan mittauskokoonpanolla on siksi merkitystä, kun lukemia verrataan toiseen järjestelmään. Nolla tai muuttumaton lukema ei yksinään todista, että mittari toimii.
Liittymän virtarajan asettaminen (kirjoitusoikeus)
Edellyttää VOOLin tuen käyttöön ottamaa kirjoitusoikeutta. Väärä virtaraja voi sallia asennuksen kapasiteetin ylittävät kuormat ja laukaista suojalaitteet. Käytä vain asentajan vahvistamia rajoja äläkä koskaan ylitä asennuksen nimelliskapasiteettia.
Liittymän virtaraja on vaihekohtainen virtabudjetti, jonka puitteissa kuormanhallinta toimii. Se koskee koko liittymää, myös rakennuksen muita kuormia – se ei ole yksittäisen laturin virta.
Rekisterit | Asetus | Yksikkö | Muoto / käyttö |
104–105 | Liittymän virtaraja | A | Float32 / luku-kirjoitus |
Lue nykyinen arvo – FC03, aloitus 104, määrä 2. Säilytä se siltä varalta, että sinun täytyy palauttaa se.
Kirjoita sovittu raja yhtenä float32-arvona funktiolla FC16 (Write Multiple Registers), kaksi rekisteriä yhdessä pyynnössä. Esimerkki 32 A:lle: rekisteri 104 =
0x4200, rekisteri 105 =0x0000.Lue arvo takaisin ja varmista, ja seuraa sitten asennusta. Pelkkä kirjoitusvastaus ei todista, että muutos tuli voimaan.
Kokoonpanomuutokset ovat pysyviä ja vaikuttavat kuormanhallintaan käytön aikana.
Osoitteet ja koodaus
Kaikki tässä mainitut osoitteet ovat nollapohjaisia desimaalisia protokollaosoitteita. Määrä tarkoittaa 16-bittisten rekisterien määrää, ei arvojen määrää – jokainen numeerinen arvo käyttää kahta peräkkäistä rekisteriä. Asiakasohjelmat käyttävät eri käytäntöjä; L1-virran luvussa anna:
Asiakkaan käytäntö | Anna |
Nollapohjainen osoite / siirtymä | 600 |
Ykköspohjainen rekisterinumero (rekisteri 1 = osoite 0) | 601 |
Holding register -viittaus (40001 = osoite 0) | 40601 |
Älä lähetä arvoa 40601 protokollaosoitteena.
Mittaukset ja asetukset ovat fysikaalisissa yksiköissä, ei skaalausta.
Kytkimet: float32 0.0 = pois, 1.0 = päällä (mikä tahansa nollasta poikkeava arvo tulkitaan päälle).
Tilat: dokumentoitu kokonaislukuvalinta float32-muodossa, esim. 1.0.
Yleisiä arvoja: 0.0 =
0x0000 0x0000; 1.0 =0x3F80 0x0000; 20.5 =0x41A4 0x0000; 32.0 =0x4200 0x0000.Luettelokomennot käyttävät raakoja kokonaislukuja – katso alla.
Pyyntöjen säännöt
Funktio | Käyttö |
03 — Read Holding Registers | Mikä tahansa luettava alue |
04 — Read Input Registers | Vain mittaukset (600–625) |
16 (0x10) — Write Multiple Registers | Kirjoitettavat arvot ja komentolohkot |
FC06 (Write Single Register) ei ole tuettu ja palauttaa poikkeuksen 02 – käytä FC16:ta myös yksittäiselle arvolle. Kelloja (coils) ei käytetä.
Luettava alue (päätepisteet mukaan lukien) | Sisältö | Funktiot |
104–111 | Liittymän raja, toimintatilat, antenniasetus | FC03 |
240–283 | Kuormanhallinnan hienosäätö | FC03 |
600–625 | Mittaukset ja varatut nollat | FC03, FC04 |
Jokaisen luvun on pysyttävä yhden alueen sisällä. Alueiden ulkopuoliset luvut – myös komentorekisterit – palauttavat poikkeuksen 02.
Kirjoita numeeriset arvot niiden ensimmäisestä rekisteristä alkaen ja kirjoita molemmat rekisterit. Peräkkäiset kirjoitettavat arvot voi yhdistää yhteen pyyntöön, mutta ei kartoittamattoman välin yli.
Kirjoita komentolohkot täsmälleen niiden aloitusosoitteeseen ja määrällä.
Liitäntä ei valvo tämän artikkelin käyttöönottoalueita – tarkista arvot asiakasohjelmassa ja käytä äärellisiä lukuja.
Normaali kirjoitusvastaus vain kuittaa pyynnön. Lue asetukset takaisin ja varmista, että komennot on suoritettu, ennen kuin yrität uudelleen.
Vianmääritys
Oire | Mitä tarkistaa |
Yhteys hylätty tai aikakatkaistu | Varmista tuelta, että Modbus on käytössä; tarkista LMC:n paikallinen IPv4-osoite ja portti, tavoitettavuus ja palomuurisäännöt. Jos sekä Ethernet että Wi-Fi on kytketty, varmista, mikä osoite kuuntelee. Modbus ei ylitä aliverkkoja tai VLANeja. |
Luku palauttaa poikkeuksen 02 | Tarkista osoitekäytäntö, määrä ja alueiden rajat. FC04 lukee vain 600–625. Komentorekisterejä ei voi lukea. |
Kirjoitus palauttaa poikkeuksen 02 | Varmista kirjoitusoikeus tuelta. Käytä FC16:ta, kirjoitettavaa osoitetta ja kokonaista arvoa tai lohkoa. FC06 hylätään. |
Epäuskottavan suuria tai pieniä lukuja | Tulkitse muodossa float32 ABCD, kaksi rekisteriä arvoa kohden, ei skaalausta. Tarkista, onko osoite yhden verran pielessä. |
Nolla- tai muuttumattomat mittaukset | Tarkista vastauksen sijainnit ja varattu alue. Pyydä tukea tarkistamaan mittari ja mittauskokoonpano. |
Kirjoitus onnistuu, mutta arvo ei muutu | Lue takaisin, tarkista koodaus ja sallitut arvot. Pelkkä kuittaus ei takaa, että muutos otettiin käyttöön. |
Integraatio toimi ja lakkasi sitten toimimasta | LMC:n paikallinen IP-osoite on voinut vaihtua reititinmuutoksen tai päivityksen jälkeen – aseta LMC:lle (ja latureille) kiinteä IP-osoite tai DHCP-varaus. Myös ohjelmistopäivitys tai palvelun uudelleenkäynnistys katkaisee istunnon; älä toista päivityskomentoa automaattisesti aikakatkaisun jälkeen. |
Poikkeukset: 01 Illegal Function – tunnistamaton funktio. 02 Illegal Data Address – rekisterikartan tarkistusvirheet ja estetyt kirjoitukset. 03 Illegal Data Value – virheellinen protokollan määrä (esim. FC16-kirjoitus 1–123 rekisterin ulkopuolella); se ei tarkoita, että asetuksen arvoalue olisi tarkistettu.
Lisäasetukset (kirjoitusoikeus – sovi arvoista VOOLin tuen kanssa)
Nämä muuttavat kuormanhallinnan toimintaa tai laitteiston kokoonpanoa. Kaikki ovat luku-kirjoitus-float32-arvoja. Arvoalueet ovat käyttöönoton rajoja, eivät suositeltuja asetuksia – lue asennetut arvot ennen kuin muutat mitään.
Toimintatilat ja antenni
Rekisterit | Asetus | Arvot |
106–107 | Pääliittymän mittaustila | 0 = mittari pääliittymässä, laturit mukaan lukien; 1 = mittari mittaa muita rakennuksen kuormia, LMC lisää latureiden virrat |
108–109 | Kuormanhallintatila | 0 = priorisoitu jako; 1 = tasainen tehonjako |
110–111 | Käytä ulkoista Wi-Fi-antennia | 0 = pois; 1 = päällä. Vaatii yhteensopivan laitteiston ja antennin; tulee voimaan LMC:n uudelleenkäynnistyksen jälkeen |
Kuormanhallinnan hienosäätö
Rekisterit | Asetus | Yksikkö | Arvoalue / arvot |
240–241 | Viitearvon muutosnopeuden rajoitus käytössä (virran nosto) | — | 0 = pois; 1 = päällä |
242–243 | Viitearvon muutosnopeuden raja | A/s | 0–32 |
244–245 | Virtakynnys käynnistysnoston päättämiselle | A | 0–32 |
246–247 | Tasainen tehonjako: alkuvirran askel | A | 0.01–32 |
248–249 | Tasainen tehonjako: oletusvirran askel | A | 0.01–32 |
250–251 | Tasainen tehonjako: tasavirran vähimmäiskynnys | A | 0–32 |
252–253 | Tasainen tehonjako: viive ennen laturin latauksen estämistä | s | 0–86400 |
254–255 | Tasainen tehonjako: viive ennen laturin latauksen sallimista | s | 0–86400 |
256–257 | Vaihekohtainen kuormanhallinta käytössä | — | 0 = pois; 1 = päällä |
258–259 | Vaiheenvaihdon viive | s | 0–30 |
260–261 | Vaiheenvaihdon virtakynnys | A | 0–1000 |
262–263 | Vaiheenvaihdon epäsymmetriakynnys | % | 0–100 |
264–265 | Vaiheen ylikuorman keskeytys käytössä | — | 0 = pois; 1 = päällä |
266–267 | Pakota yksivaiheinen lataus vaiheen ylikuorman käsittelyn aikana | — | 0 = pois; 1 = päällä |
268–269 | Vaiheen ylikuorman taukoaika | s | 0–86400 |
270–271 | Keskeytyksen välttäminen käytössä | — | 0 = pois; 1 = päällä |
272–273 | Keskeytysvaiheen 1 virtakynnys | A | 0–32 |
274–275 | Keskeytysvaiheen 1 pitoaika | s | 0–600 |
276–277 | Keskeytysvaiheen 2 virtakynnys | A | 0–32 |
278–279 | Keskeytysvaiheen 2 pitoaika | s | 0–600 |
280–281 | Keskeytysvaiheen 3 virtakynnys | A | 0–32 |
282–283 | Keskeytysvaiheen 3 pitoaika | s | 0–600 |
Laite- ja luettelokomennot (vain kirjoitus)
Komennot vaativat kirjoitusoikeuden, niitä ei voi lukea (poikkeus 02) ja ne voivat keskeyttää toiminnan tai muuttaa asennuksen kokoonpanoa – käytä niitä vain osana sovittua huolto- tai käyttöönottomenettelyä.
Laitekomennot
FC16, täsmälleen kaksi rekisteriä aloitusosoitteesta. Float32-arvon 1.0 (0x3F80 0x0000) – tai minkä tahansa nollasta poikkeavan arvon – kirjoittaminen käynnistää komennon; 0.0 ei tee mitään.
Rekisterit | Komento | Vaikutus |
4–5 | Päivitä LMC:n ohjelmisto | Käynnistää oletusohjelmistopäivityksen. Valmistumisesta ei ilmoiteta Modbusin kautta. |
12–13 | Käynnistä LMC-palvelu uudelleen | Käynnistää ohjainsovelluksen uudelleen ja katkaisee Modbus-yhteyden. |
Laturiluettelo
Kirjoita täsmälleen 7 rekisteriä alkaen osoitteesta 8900 yhdessä FC16-pyynnössä. Raakoja etumerkittömiä kokonaislukuja, ei float32. Luetteloa ei voi lukea takaisin Modbusin kautta.
Rekisteri | Kenttä | Koodaus / käyttö |
8900 | Alikomento | 1 = lisää; 2 = poista; 3 = päivitä; 4 = tyhjennä |
8901–8903 | Laturin sarjanumero | 6 tavua, ylempi tavu ensin rekisteriä kohden. Sarjanumero 112233445566 → 0x1122, 0x3344, 0x5566 |
8904 | Multipoint-tunnus | 0–255, vain alempi tavu – piste, johon laturi on määritetty |
8905 | Liput | Bitti 0 ottaa laturille käyttöön OCPP 1.6:n (käytä arvoa 1); pidä muut bitit nollina |
8906 | Varattu | Kirjoita 0 |
Poisto käyttää vain sarjanumeroa (kirjoita muihin kenttiin nolla). Tyhjennys palauttaa luettelon oletuksiin eikä huomioi sisältöä. Tuntematon alikomento kuitataan mutta jätetään huomiotta.
Multipoint-luettelo
Multipoint on liitäntäpiste, jolla on oma virtaraja. Kirjoita täsmälleen 4 rekisteriä alkaen osoitteesta 8920 yhdessä FC16-pyynnössä, raakoja etumerkittömiä kokonaislukuja. Luetteloa ei voi lukea takaisin Modbusin kautta.
Rekisteri | Kenttä | Koodaus / käyttö |
8920 | Alikomento | 1 = lisää; 2 = poista; 3 = päivitä; 4 = tyhjennä |
8921 | Multipoint-tunnus | 1–255. Piste 0 on liittymä, eikä sitä voi muuttaa näillä komennoilla |
8922 | Virtaraja | Kokonaisia ampeereja, uint16 (0–65535), asennuksen sovitun kapasiteetin rajoissa |
8923 | Ylemmän multipointin tunnus | Kirjoita 0 (ei ylempää) – tämä komento ei tue nollasta poikkeavia ylempiä pisteitä |
Poisto käyttää vain multipoint-tunnusta. Poista määritetyt laturit ja alipisteet ennen pisteen poistamista. Tyhjennys palauttaa oletukset. Vahvista lopputuloksena syntyvä kokoonpano tuen kanssa.
Ota yhteyttä tukeen
Käyttöönottoa, kirjoitusoikeutta tai integraatioapua varten pyydä VOOLin tukea chatissa ja kerro LMC:n sarjanumero. Kun ilmoitat ongelmasta, kerro myös asiakasohjelmisto, LMC:n paikallinen IP-osoite ja portti, funktiokoodi, aloitusosoite, määrä, vastaus tai poikkeus, tapahtuma-aika sekä LMC:n ohjelmistoversio, jos tiedät sen.
Tämä artikkeli koskee LMC-ohjelmiston versiossa v6.4.0 käyttöön otettua LMC:n Modbus-liitäntää. Pyydä tukea vahvistamaan asennetun ohjelmistosi käytettävissä olevat toiminnot ennen kuin otat käyttöön edistyneen integraation.
