VOOL LMC-l on kohalike integratsioonide jaoks Modbus TCP server. Hoone haldussüsteem (BMS), energiahaldussüsteem (EMS), Home Assistant või mõni muu Modbusi klient saab lugeda objekti peaühenduse voolusid ja pingeid faaside kaupa ning kirjutamisõiguse korral määrata koormushalduse kasutatava võrguühenduse voolupiirangu. Saadaval alates LMC tarkvarast v6.4.0.
See on eraldi laadija enda Modbusi liidesest (vaata laadija Modbusi juhendis). LMC registrikaart ei sisalda üksikute laadijate mõõtmisi, energiaarvesteid ega laadijate käivitamise/peatamise registreid — nende jaoks kasuta laadija liidest.
Alustamine
Modbus TCP on LMC-l vaikimisi välja lülitatud ja selle lülitab sisse VOOL-i tugi. Kirjuta aadressile [email protected], lisa LMC seerianumber ja ütle, kas vajad ainult lugemisõigust (monitooring) või ka kirjutamisõigust. Kirjutamisõigus on samuti vaikimisi väljas ja selle lülitab sisse tugi. Aktiveerimist ja pordi seadeid ei saa Modbusi kaudu muuta.
Lepi aktiveerimine toega kokku — LMC seerianumber, ainult lugemine või lugemine ja kirjutamine.
Kontrolli kohaliku ühenduse andmeid. Küsi LMC kohalik IPv4-aadress oma paigaldajalt või võrguadministraatorilt (või vaata ruuteri ühendatud seadmete loendist). Kasuta LMC Etherneti- või Wi-Fi-ühendust; kui mõlemad on ühendatud, kontrolli, milline aadress Modbusit teenindab — server kuulab korraga ühte aadressi.
Seadista oma Modbusi klient allolevate seadetega ja loe esimene mõõtmine.
Seade | Väärtus |
Protokoll | Modbus TCP — LMC on server, sinu süsteem on klient |
Serveri aadress | LMC kohalik IPv4-aadress |
TCP port | Vaikimisi 502 (kasuta toe kinnitatud porti) |
Unit ID / seadme ID | Kasuta väärtust 1, kui klient nõuab väärtust. LMC eirab seda — see ei vali alluvat laadijat. |
Numbrivorming | Float32, kaks registrit väärtuse kohta, kõrgem sõna ja kõrgem bait ees (ABCD, „big-endian, no word swap“) |
Aadresside tähistus | Nullist algavad kümnendaadressid (vaata „Aadressid ja kodeering“) |
Modbus TCP-l puudub autentimine ja krüpteerimine. Iga seade, mis pordini jõuab, saab liidest lugeda. Piira juurdepääs usaldusväärsete süsteemidega ja ära kunagi ava porti internetti. Kirjutamisõigus kehtib kõigile kirjutatavatele registritele — sealhulgas seadme- ja loendikäskudele — ning seda ei saa piirata ainult voolupiirangu seadega.
Sinu esimene mõõtmine
Loe faasi L1 voolu: funktsioon 03 (Read Holding Registers), algusaadress 600 (kümnendsüsteemis, nullist algav), kogus 2 registrit, dekodeeri kui float32 ABCD. Ühik: amprid.
Näide: kui kaks registrit tagastavad 0x41A4 ja 0x0000, on väärtus 20,5 A. Ühenda mõlemad registrid üheks 32-bitiseks ujukomaarvuks — ära käsitle kumbagi registrit eraldi väärtusena ja ära rakenda skaleerimistegurit.
Mõõtmisregistrid (ainult lugemiseks)
Loe funktsiooniga FC03 (holding registers) või FC04 (input registers) samadelt nullist algavatelt aadressidelt.
Registrid | Mõõtmine | Ühik | Asukoht 26-registrilises vastuses |
600–601 | Peaühenduse vool L1 | A | 0–1 |
602–603 | Peaühenduse vool L2 | A | 2–3 |
604–605 | Peaühenduse vool L3 | A | 4–5 |
606–619 | Reserveeritud — lugemine tagastab nulli | — | 6–19 (eira) |
620–621 | Peaühenduse pinge L1 | V | 20–21 |
622–623 | Peaühenduse pinge L2 | V | 22–23 |
624–625 | Peaühenduse pinge L3 | V | 24–25 |
Loe kõik korraga: algus 600, kogus 26. Või loe ainult voolud (algus 600, kogus 6) või ainult pinged (algus 620, kogus 6). Veerg „asukoht“ loeb tagastatud massiivis nullist — see ei ole registri aadress.
Mida „peaühenduse vool“ tähendab: see on LMC arvutatud koguvool faasi kohta. Kui arvesti (voolutrafod) on peaühenduses, tuleb väärtus arvestilt. Kui arvesti mõõdab ainult hoone muid koormusi, liidab LMC juurde laadijate voolud. Seepärast on teise süsteemi näitudega võrdlemisel oluline, kuidas paigaldaja mõõtmise seadistas. Null või muutumatu näit üksi ei tõesta, et arvesti töötab.
Võrguühenduse voolupiirangu seadmine (kirjutamisõigus)
Vajab VOOL-i toe sisse lülitatud kirjutamisõigust. Vale voolupiirang võib lubada paigaldise võimsust ületavaid koormusi ja rakendada kaitseseadmed. Kasuta ainult paigaldaja kinnitatud piiranguid ja ära kunagi ületa paigaldise nimivõimsust.
Võrguühenduse voolupiirang on faasipõhine voolueelarve, millega koormushaldus töötab. See kehtib kogu võrguühendusele, sealhulgas hoone muudele koormustele — see ei ole üksiku laadija vool.
Registrid | Seade | Ühik | Vorming / juurdepääs |
104–105 | Võrguühenduse voolupiirang | A | Float32 / lugemine-kirjutamine |
Loe olemasolev väärtus — FC03, algus 104, kogus 2. Hoia see alles juhuks, kui pead selle taastama.
Kirjuta kokkulepitud piirang ühe float32-väärtusena funktsiooniga FC16 (Write Multiple Registers), kaks registrit ühes päringus. Näide 32 A jaoks: register 104 =
0x4200, register 105 =0x0000.Loe tagasi ja kontrolli, seejärel jälgi paigaldist. Ainult kirjutamise vastus ei tõesta, et muudatus jõustus.
Seadistuse muudatused on püsivad ja mõjutavad koormushaldust töö ajal.
Aadressid ja kodeering
Kõik siinsed aadressid on nullist algavad kümnendsüsteemis protokolliaadressid. Kogus tähendab 16-bitiste registrite arvu, mitte väärtuste arvu — iga arvväärtus kasutab kahte järjestikust registrit. Kliendid kasutavad erinevaid tähistusi; L1 voolu lugemiseks sisesta:
Kliendi tähistus | Sisesta |
Nullist algav aadress / nihe | 600 |
Ühest algav registri number (register 1 = aadress 0) | 601 |
Holding-registri viide (40001 = aadress 0) | 40601 |
Ära saada 40601 protokolliaadressina.
Mõõtmised ja seaded on inseneriühikutes, ilma skaleerimiseta.
Lülitid: float32 0.0 = väljas, 1.0 = sees (iga nullist erinevat väärtust käsitletakse kui „sees“).
Režiimid: dokumenteeritud täisarvuline valik float32-na kodeeritud, nt 1.0.
Levinud väärtused: 0.0 =
0x0000 0x0000; 1.0 =0x3F80 0x0000; 20.5 =0x41A4 0x0000; 32.0 =0x4200 0x0000.Loendikäsud kasutavad töötlemata täisarve — vaata allpool.
Päringu reeglid
Funktsioon | Kasutus |
03 — Read Holding Registers | Iga loetav piirkond |
04 — Read Input Registers | Ainult mõõtmised (600–625) |
16 (0x10) — Write Multiple Registers | Kirjutatavad väärtused ja käsuplokid |
FC06 (Write Single Register) ei ole toetatud ja tagastab erandi 02 — kasuta FC16 ka ühe väärtuse jaoks. Coil-registreid ei kasutata.
Loetav piirkond (kaasa arvatud) | Sisu | Funktsioonid |
104–111 | Võrgupiirang, töörežiimid, antenni seade | FC03 |
240–283 | Koormushalduse häälestus | FC03 |
600–625 | Mõõtmised ja reserveeritud nullid | FC03, FC04 |
Iga lugemine peab jääma ühe piirkonna sisse. Lugemised väljaspool neid — sealhulgas käsuregistrid — tagastavad erandi 02.
Kirjuta arvväärtused nende esimesest registrist alates ja kirjuta mõlemad registrid. Järjestikused kirjutatavad väärtused võib ühendada ühte päringusse, kuid mitte üle kaardistamata vahe.
Kirjuta käsuplokid täpselt nende algusaadressile ja täpse kogusega.
Liides ei kontrolli selles artiklis toodud kasutuselevõtu vahemikke — valideeri väärtused oma kliendis ja kasuta lõplikke arve.
Tavaline kirjutamise vastus ainult kinnitab päringu vastuvõtmist. Loe seaded tagasi ja kontrolli enne kordamist, et käsud lõpetati.
Tõrkeotsing
Sümptom | Mida kontrollida |
Ühendus keelatakse või aegub | Kontrolli toega, et Modbus on sisse lülitatud; kontrolli LMC kohalikku IPv4-aadressi ja porti, ligipääsetavust ja tulemüüri reegleid. Kui nii Ethernet kui Wi-Fi on ühendatud, kontrolli, milline aadress kuulab. Modbus ei ületa alamvõrke ega VLAN-e. |
Lugemine tagastab erandi 02 | Kontrolli aadresside tähistust, kogust ja piirkondade piire. FC04 loeb ainult 600–625. Käsuregistreid ei saa lugeda. |
Kirjutamine tagastab erandi 02 | Kontrolli toega kirjutamisõigust. Kasuta FC16, kirjutatavat aadressi ja täielikku väärtust või plokki. FC06 lükatakse tagasi. |
Ebausutavalt suured või väikesed arvud | Dekodeeri kui float32 ABCD, kaks registrit väärtuse kohta, ilma skaleerimiseta. Kontrolli, ega aadress pole ühe võrra nihkes. |
Null- või muutumatud mõõtmised | Kontrolli vastuse asukohti ja reserveeritud vahemikku. Palu toel kontrollida arvestit ja mõõtmise seadistust. |
Kirjutamine õnnestub, kuid väärtus ei muutu | Loe tagasi, kontrolli kodeeringut ja lubatud väärtusi. Ainult kinnitus ei taga, et muudatus rakendati. |
Integratsioon töötas, siis lakkas | LMC kohalik IP võis pärast ruuteri vahetust või uuendust muutuda — määra ruuteris LMC-le (ja laadijatele) staatiline IP või DHCP-reserveering. Ka tarkvarauuendus või teenuse taaskäivitus katkestab seansi; ära korda uuenduskäsku pärast aegumist automaatselt. |
Erandid: 01 Illegal Function — tundmatu funktsioon. 02 Illegal Data Address — registrikaardi valideerimise vead ja keelatud kirjutamine. 03 Illegal Data Value — vigane protokolli kogus (nt FC16 kirjutamine väljaspool 1–123 registrit); see ei tähenda, et seade vahemikku kontrolliti.
Täpsemad seaded (kirjutamisõigus — lepi väärtused kokku VOOL-i toega)
Need muudavad koormushalduse käitumist või riistvara seadistust. Kõik on lugemis-kirjutamis float32-väärtused. Vahemikud on kasutuselevõtu piirid, mitte soovitatud seaded — loe enne muutmist paigaldatud väärtused.
Töörežiimid ja antenn
Registrid | Seade | Väärtused |
106–107 | Peaühenduse mõõtmise režiim | 0 = arvesti peaühenduses, sh laadijad; 1 = arvesti mõõdab hoone muid koormusi, LMC liidab laadijate voolud |
108–109 | Koormushalduse režiim | 0 = prioriteedipõhine jagamine; 1 = võrdne võimsuse jagamine |
110–111 | Kasuta välist Wi-Fi antenni | 0 = väljas; 1 = sees. Vajab ühilduvat riistvara ja antenni; jõustub pärast LMC taaskäivitust |
Koormushalduse häälestus
Registrid | Seade | Ühik | Vahemik / väärtused |
240–241 | Referentsi muutumiskiiruse piirang sees (voolu tõstmine) | — | 0 = väljas; 1 = sees |
242–243 | Referentsi muutumiskiiruse piirang | A/s | 0–32 |
244–245 | Voolulävi käivitusaegse tõstmise lõpetamiseks | A | 0–32 |
246–247 | Võrdne võimsuse jagamine: algne vooluaste | A | 0,01–32 |
248–249 | Võrdne võimsuse jagamine: vaikimisi vooluaste | A | 0,01–32 |
250–251 | Võrdne võimsuse jagamine: minimaalne võrdse voolu lävi | A | 0–32 |
252–253 | Võrdne võimsuse jagamine: viivitus enne laadija laadimise keelamist | s | 0–86400 |
254–255 | Võrdne võimsuse jagamine: viivitus enne laadija laadimise lubamist | s | 0–86400 |
256–257 | Faasipõhine koormushaldus sees | — | 0 = väljas; 1 = sees |
258–259 | Faasivahetuse viivitus | s | 0–30 |
260–261 | Faasivahetuse voolulävi | A | 0–1000 |
262–263 | Faasivahetuse ebasümmeetria lävi | % | 0–100 |
264–265 | Faasi ülekoormuse peatamine sees | — | 0 = väljas; 1 = sees |
266–267 | Sunnitud ühefaasiline laadimine faasi ülekoormuse käsitlemisel | — | 0 = väljas; 1 = sees |
268–269 | Faasi ülekoormuse väljaoleku aeg | s | 0–86400 |
270–271 | Peatamise vältimine sees | — | 0 = väljas; 1 = sees |
272–273 | Peatamise 1. astme voolulävi | A | 0–32 |
274–275 | Peatamise 1. astme hoideaeg | s | 0–600 |
276–277 | Peatamise 2. astme voolulävi | A | 0–32 |
278–279 | Peatamise 2. astme hoideaeg | s | 0–600 |
280–281 | Peatamise 3. astme voolulävi | A | 0–32 |
282–283 | Peatamise 3. astme hoideaeg | s | 0–600 |
Seadme- ja loendikäsud (ainult kirjutamiseks)
Käsud vajavad kirjutamisõigust, neid ei saa lugeda (erand 02) ning need võivad katkestada töö või muuta paigaldise seadistust — kasuta neid ainult kokkulepitud hooldus- või kasutuselevõtu protseduuri osana.
Seadmekäsud
FC16, täpselt kaks registrit algusaadressil. Float32 väärtuse 1.0 (0x3F80 0x0000) — või mis tahes nullist erineva väärtuse — kirjutamine käivitab käsu; 0.0 ei tee midagi.
Registrid | Käsk | Toime |
4–5 | Uuenda LMC tarkvara | Käivitab vaikimisi tarkvarauuenduse. Lõpetamisest Modbusi kaudu ei teatata. |
12–13 | Taaskäivita LMC teenus | Taaskäivitab kontrolleri rakenduse ja katkestab Modbusi ühenduse. |
Laadijate loend
Kirjuta täpselt 7 registrit alates aadressist 8900 ühes FC16 päringus. Töötlemata märgita täisarvud, mitte float32. Loendit ei saa Modbusi kaudu tagasi lugeda.
Register | Väli | Kodeering / kasutus |
8900 | Alamkäsk | 1 = lisa; 2 = eemalda; 3 = uuenda; 4 = tühjenda |
8901–8903 | Laadija seerianumber | 6 baiti, iga registri kõrgem bait ees. Seerianumber 112233445566 → 0x1122, 0x3344, 0x5566 |
8904 | Multipoint ID | 0–255, ainult madalam bait — punkt, millele laadija on määratud |
8905 | Lipud | Bitt 0 lülitab laadijale sisse OCPP 1.6 (kasuta 1); muud bitid jäta nulliks |
8906 | Reserveeritud | Kirjuta 0 |
Eemaldamine kasutab ainult seerianumbrit (kirjuta teistesse väljadesse null). Tühjendamine lähtestab loendi vaikeväärtustele ja eirab sisu. Tundmatu alamkäsk kinnitatakse, kuid jäetakse tähelepanuta.
Multipointide loend
Multipoint on oma voolupiiranguga ühenduspunkt. Kirjuta täpselt 4 registrit alates aadressist 8920 ühes FC16 päringus, töötlemata märgita täisarvud. Loendit ei saa Modbusi kaudu tagasi lugeda.
Register | Väli | Kodeering / kasutus |
8920 | Alamkäsk | 1 = lisa; 2 = eemalda; 3 = uuenda; 4 = tühjenda |
8921 | Multipoint ID | 1–255. Punkt 0 on võrguühendus ja seda ei saa nende käskudega muuta |
8922 | Voolupiirang | Täisamprites, uint16 (0–65535), paigaldise kokkulepitud võimsuse piires |
8923 | Ülemmultipointi ID | Kirjuta 0 (ülemat pole) — nullist erinevaid ülemaid see käsk ei toeta |
Eemaldamine kasutab ainult multipointi ID-d. Enne punkti eemaldamist eemalda sellele määratud laadijad ja alampunktid. Tühjendamine taastab vaikeväärtused. Kontrolli tulemuseks olevat seadistust toega.
Võta ühendust toega
Aktiveerimiseks, kirjutamisõiguse saamiseks või integratsiooniga abi saamiseks kirjuta aadressile [email protected] ja lisa LMC seerianumber. Probleemist teatades lisa ka kliendi tarkvara, LMC kohalik IP ja port, funktsiooni kood, algusaadress, kogus, vastus või erand, toimumise aeg ning võimalusel LMC tarkvara versioon.
See artikkel käsitleb LMC tarkvaras v6.4.0 lisandunud LMC Modbusi liidest. Enne keerukama integratsiooni kasutuselevõttu palu toel kinnitada, millised funktsioonid sinu paigaldatud tarkvaras saadaval on.
