VOOL LMC turi Modbus TCP serverį vietinėms integracijoms. Pastato valdymo sistema (BMS), energijos valdymo sistema (EMS), Home Assistant ar bet kuris kitas Modbus klientas gali nuskaityti objekto pagrindinio įvado sroves ir įtampas kiekvienai fazei, o turėdamas rašymo teisę — nustatyti tinklo jungties srovės ribą, kurią naudoja apkrovos valdymas. Prieinama nuo LMC programinės įrangos v6.4.0.
Tai atskira sąsaja nuo paties įkroviklio Modbus sąsajos (žr. įkroviklio Modbus vadove). LMC registrų žemėlapyje nėra atskirų įkroviklių matavimų, energijos skaitiklių ar įkroviklių paleidimo/stabdymo registrų — tam naudokite įkroviklio sąsają.
Pradžia
Modbus TCP LMC įrenginyje pagal numatytuosius nustatymus išjungtas ir jį įjungia VOOL palaikymo komanda. Parašykite [email protected], nurodykite LMC serijos numerį ir ar jums reikia tik skaitymo (stebėsenos), ar ir rašymo teisės. Rašymo teisė taip pat pagal numatytuosius nustatymus išjungta ir ją įjungia palaikymo komanda. Aktyvavimo ir prievado nustatymų per patį Modbus pakeisti negalima.
Susitarkite dėl aktyvavimo su palaikymo komanda — LMC serijos numeris, tik skaitymas ar skaitymas ir rašymas.
Patikrinkite vietinio ryšio duomenis. LMC vietinį IPv4 adresą sužinokite iš montuotojo ar tinklo administratoriaus (arba maršrutizatoriaus prijungtų įrenginių sąraše). Naudokite LMC Ethernet arba Wi-Fi ryšį; jei prijungti abu, patikrinkite, kuris adresas aptarnauja Modbus — serveris vienu metu klauso vieno adreso.
Sukonfigūruokite Modbus klientą pagal toliau pateiktus nustatymus ir nuskaitykite pirmąjį matavimą.
Nustatymas | Reikšmė |
Protokolas | Modbus TCP — LMC yra serveris, jūsų sistema yra klientas |
Serverio adresas | LMC vietinis IPv4 adresas |
TCP prievadas | Numatytasis 502 (naudokite palaikymo komandos patvirtintą prievadą) |
Unit ID / įrenginio ID | Naudokite 1, jei klientas reikalauja reikšmės. LMC jos nepaiso — ji nepasirenka pavaldaus įkroviklio. |
Skaičių formatas | Float32, du registrai vienai reikšmei, vyresnysis žodis ir vyresnysis baitas pirmi (ABCD, „big-endian, no word swap“) |
Adresų žymėjimas | Nuo nulio prasidedantys dešimtainiai adresai (žr. „Adresai ir kodavimas“) |
Modbus TCP neturi autentifikavimo ir šifravimo. Bet kas, pasiekiantis prievadą, gali skaityti sąsają. Leiskite prieigą tik patikimoms sistemoms ir niekada neatverkite prievado į internetą. Rašymo teisė taikoma visiems rašomiems registrams — įskaitant įrenginio ir sąrašų komandas — ir jos negalima apriboti tik srovės ribos nustatymu.
Pirmasis matavimas
Nuskaitykite L1 fazės srovę: funkcija 03 (Read Holding Registers), pradinis adresas 600 (dešimtainis, nuo nulio), kiekis 2 registrai, dekoduokite kaip float32 ABCD. Vienetas: amperai.
Pavyzdys: jei du registrai grąžina 0x41A4 ir 0x0000, reikšmė yra 20,5 A. Sujunkite abu registrus į vieną 32 bitų slankiojo kablelio skaičių — nelaikykite nė vieno registro atskira reikšme ir netaikykite mastelio koeficiento.
Matavimų registrai (tik skaitymui)
Skaitykite funkcija FC03 (holding registers) arba FC04 (input registers) tais pačiais nuo nulio prasidedančiais adresais.
Registrai | Matavimas | Vienetas | Vieta 26 registrų atsakyme |
600–601 | Pagrindinio įvado srovė L1 | A | 0–1 |
602–603 | Pagrindinio įvado srovė L2 | A | 2–3 |
604–605 | Pagrindinio įvado srovė L3 | A | 4–5 |
606–619 | Rezervuota — skaitant grąžinamas nulis | — | 6–19 (nepaisykite) |
620–621 | Pagrindinio įvado įtampa L1 | V | 20–21 |
622–623 | Pagrindinio įvado įtampa L2 | V | 22–23 |
624–625 | Pagrindinio įvado įtampa L3 | V | 24–25 |
Viską nuskaitykite iš karto: pradžia 600, kiekis 26. Arba tik sroves (pradžia 600, kiekis 6) ar tik įtampas (pradžia 620, kiekis 6). Stulpelis „vieta“ skaičiuojamas nuo nulio grąžintame masyve — tai ne registro adresas.
Ką reiškia „pagrindinio įvado srovė“: tai LMC apskaičiuota bendra kiekvienos fazės srovė. Kai skaitiklis (srovės transformatoriai) yra pagrindiniame įvade, reikšmė gaunama iš skaitiklio. Jei skaitiklis matuoja tik kitas pastato apkrovas, LMC prideda įkroviklių sroves. Todėl lyginant rodmenis su kita sistema svarbu, kaip montuotojas sukonfigūravo matavimą. Nulinis ar nekintantis rodmuo savaime neįrodo, kad skaitiklis veikia.
Tinklo jungties srovės ribos nustatymas (rašymo teisė)
Reikia VOOL palaikymo komandos įjungtos rašymo teisės. Neteisinga srovės riba gali leisti apkrovas, viršijančias instaliacijos galią, ir suveikti apsaugos įtaisus. Naudokite tik montuotojo patvirtintas ribas ir niekada neviršykite instaliacijos vardinės galios.
Tinklo jungties srovės riba yra kiekvienos fazės srovės biudžetas, kuriuo remiasi apkrovos valdymas. Ji taikoma visai tinklo jungčiai, įskaitant kitas pastato apkrovas — tai ne atskiro įkroviklio srovė.
Registrai | Nustatymas | Vienetas | Formatas / prieiga |
104–105 | Tinklo jungties srovės riba | A | Float32 / skaitymas-rašymas |
Nuskaitykite esamą reikšmę — FC03, pradžia 104, kiekis 2. Išsaugokite ją, jei reikėtų atkurti.
Įrašykite suderintą ribą kaip vieną float32 reikšmę funkcija FC16 (Write Multiple Registers), du registrai vienoje užklausoje. Pavyzdys 32 A: registras 104 =
0x4200, registras 105 =0x0000.Nuskaitykite atgal ir patikrinkite, tada stebėkite instaliaciją. Vien rašymo atsakymas neįrodo, kad pakeitimas įsigaliojo.
Konfigūracijos pakeitimai yra nuolatiniai ir veikia apkrovos valdymą darbo metu.
Adresai ir kodavimas
Visi čia nurodyti adresai yra nuo nulio prasidedantys dešimtainiai protokolo adresai. Kiekis — tai 16 bitų registrų, o ne reikšmių skaičius; kiekviena skaitinė reikšmė užima du iš eilės einančius registrus. Klientai naudoja skirtingus žymėjimus; L1 srovei nuskaityti įveskite:
Kliento žymėjimas | Įveskite |
Nuo nulio prasidedantis adresas / poslinkis | 600 |
Nuo vieneto prasidedantis registro numeris (registras 1 = adresas 0) | 601 |
Holding registro nuoroda (40001 = adresas 0) | 40601 |
Nesiųskite 40601 kaip protokolo adreso.
Matavimai ir nustatymai pateikiami inžineriniais vienetais, be mastelio.
Jungikliai: float32 0.0 = išjungta, 1.0 = įjungta (bet kuri nenulinė reikšmė laikoma „įjungta“).
Režimai: dokumentuotas sveikasis pasirinkimas, užkoduotas kaip float32, pvz., 1.0.
Dažnos reikšmės: 0.0 =
0x0000 0x0000; 1.0 =0x3F80 0x0000; 20.5 =0x41A4 0x0000; 32.0 =0x4200 0x0000.Sąrašų komandos naudoja neapdorotus sveikuosius skaičius — žr. toliau.
Užklausų taisyklės
Funkcija | Paskirtis |
03 — Read Holding Registers | Bet kuri skaitoma sritis |
04 — Read Input Registers | Tik matavimai (600–625) |
16 (0x10) — Write Multiple Registers | Rašomos reikšmės ir komandų blokai |
FC06 (Write Single Register) nepalaikoma ir grąžina išimtį 02 — naudokite FC16 net vienai reikšmei. Coil registrai nenaudojami.
Skaitoma sritis (imtinai) | Turinys | Funkcijos |
104–111 | Tinklo riba, veikimo režimai, antenos nustatymas | FC03 |
240–283 | Apkrovos valdymo derinimas | FC03 |
600–625 | Matavimai ir rezervuoti nuliai | FC03, FC04 |
Kiekvienas skaitymas turi neišeiti iš vienos srities ribų. Skaitymas už jų — įskaitant komandų registrus — grąžina išimtį 02.
Skaitines reikšmes rašykite nuo jų pirmojo registro ir rašykite abu registrus. Iš eilės einančias rašomas reikšmes galima sujungti į vieną užklausą, bet ne per nepažymėtą tarpą.
Komandų blokus rašykite tiksliu jų pradiniu adresu ir tiksliu kiekiu.
Sąsaja netikrina šiame straipsnyje nurodytų paleidimo intervalų — reikšmes tikrinkite savo kliente ir naudokite baigtinius skaičius.
Įprastas rašymo atsakymas tik patvirtina užklausos gavimą. Nuskaitykite nustatymus atgal ir prieš kartodami patikrinkite, ar komandos įvykdytos.
Trikčių šalinimas
Požymis | Ką patikrinti |
Ryšys atmetamas arba baigiasi laikas | Patikrinkite su palaikymo komanda, ar Modbus įjungtas; patikrinkite LMC vietinį IPv4 adresą ir prievadą, pasiekiamumą ir ugniasienės taisykles. Jei prijungti ir Ethernet, ir Wi-Fi, patikrinkite, kuris adresas klauso. Modbus neperžengia potinklių ir VLAN. |
Skaitymas grąžina išimtį 02 | Patikrinkite adresų žymėjimą, kiekį ir sričių ribas. FC04 skaito tik 600–625. Komandų registrų skaityti negalima. |
Rašymas grąžina išimtį 02 | Patikrinkite rašymo teisę su palaikymo komanda. Naudokite FC16, rašomą adresą ir pilną reikšmę ar bloką. FC06 atmetama. |
Neįtikimai dideli ar maži skaičiai | Dekoduokite kaip float32 ABCD, du registrai vienai reikšmei, be mastelio. Patikrinkite, ar adresas nepasislinkęs per vieną. |
Nuliniai ar nekintantys matavimai | Patikrinkite atsakymo vietas ir rezervuotą intervalą. Paprašykite palaikymo komandos patikrinti skaitiklį ir matavimo konfigūraciją. |
Rašymas pavyksta, bet reikšmė nepasikeičia | Nuskaitykite atgal, patikrinkite kodavimą ir leistinas reikšmes. Vien patvirtinimas negarantuoja, kad pakeitimas pritaikytas. |
Integracija veikė, o paskui nustojo | LMC vietinis IP galėjo pasikeisti po maršrutizatoriaus keitimo ar atnaujinimo — maršrutizatoriuje priskirkite LMC (ir įkrovikliams) statinį IP arba DHCP rezervaciją. Programinės įrangos atnaujinimas ar paslaugos paleidimas iš naujo taip pat nutraukia seansą; nekartokite atnaujinimo komandos automatiškai po laiko pabaigos. |
Išimtys: 01 Illegal Function — neatpažinta funkcija. 02 Illegal Data Address — registrų žemėlapio patikros klaidos ir išjungtas rašymas. 03 Illegal Data Value — neteisingas protokolo kiekis (pvz., FC16 rašymas už 1–123 registrų ribų); tai nereiškia, kad buvo tikrintas nustatymo intervalas.
Išplėstiniai nustatymai (rašymo teisė — reikšmes suderinkite su VOOL palaikymo komanda)
Šie nustatymai keičia apkrovos valdymo elgseną arba aparatinės įrangos konfigūraciją. Visi yra skaitomos ir rašomos float32 reikšmės. Intervalai yra paleidimo ribos, o ne rekomenduojami nustatymai — prieš keisdami nuskaitykite įdiegtas reikšmes.
Veikimo režimai ir antena
Registrai | Nustatymas | Reikšmės |
106–107 | Pagrindinio įvado matavimo režimas | 0 = skaitiklis pagrindiniame įvade, įskaitant įkroviklius; 1 = skaitiklis matuoja kitas pastato apkrovas, LMC prideda įkroviklių sroves |
108–109 | Apkrovos valdymo režimas | 0 = prioritetinis paskirstymas; 1 = vienodas galios paskirstymas |
110–111 | Naudoti išorinę Wi-Fi anteną | 0 = išjungta; 1 = įjungta. Reikia suderinamos aparatinės įrangos ir antenos; įsigalioja LMC paleidus iš naujo |
Apkrovos valdymo derinimas
Registrai | Nustatymas | Vienetas | Intervalas / reikšmės |
240–241 | Atskaitos kitimo greičio riba įjungta (srovės didinimas) | — | 0 = išjungta; 1 = įjungta |
242–243 | Atskaitos kitimo greičio riba | A/s | 0–32 |
244–245 | Srovės slenkstis paleidimo didinimui užbaigti | A | 0–32 |
246–247 | Vienodas galios paskirstymas: pradinis srovės žingsnis | A | 0,01–32 |
248–249 | Vienodas galios paskirstymas: numatytasis srovės žingsnis | A | 0,01–32 |
250–251 | Vienodas galios paskirstymas: mažiausias vienodos srovės slenkstis | A | 0–32 |
252–253 | Vienodas galios paskirstymas: delsa prieš uždraudžiant įkroviklio krovimą | s | 0–86400 |
254–255 | Vienodas galios paskirstymas: delsa prieš leidžiant įkroviklio krovimą | s | 0–86400 |
256–257 | Fazių apkrovos valdymas įjungtas | — | 0 = išjungta; 1 = įjungta |
258–259 | Fazių perjungimo delsa | s | 0–30 |
260–261 | Fazių perjungimo srovės slenkstis | A | 0–1000 |
262–263 | Fazių perjungimo asimetrijos slenkstis | % | 0–100 |
264–265 | Fazės perkrovos sustabdymas įjungtas | — | 0 = išjungta; 1 = įjungta |
266–267 | Priverstinis vienfazis krovimas tvarkant fazės perkrovą | — | 0 = išjungta; 1 = įjungta |
268–269 | Fazės perkrovos išjungimo laikas | s | 0–86400 |
270–271 | Sustabdymo vengimas įjungtas | — | 0 = išjungta; 1 = įjungta |
272–273 | Sustabdymo 1 pakopos srovės slenkstis | A | 0–32 |
274–275 | Sustabdymo 1 pakopos išlaikymo laikas | s | 0–600 |
276–277 | Sustabdymo 2 pakopos srovės slenkstis | A | 0–32 |
278–279 | Sustabdymo 2 pakopos išlaikymo laikas | s | 0–600 |
280–281 | Sustabdymo 3 pakopos srovės slenkstis | A | 0–32 |
282–283 | Sustabdymo 3 pakopos išlaikymo laikas | s | 0–600 |
Įrenginio ir sąrašų komandos (tik rašymui)
Komandoms reikia rašymo teisės, jų negalima skaityti (išimtis 02), jos gali nutraukti veikimą ar pakeisti instaliacijos konfigūraciją — naudokite jas tik kaip suderintos priežiūros ar paleidimo procedūros dalį.
Įrenginio komandos
FC16, lygiai du registrai pradiniu adresu. Įrašius float32 1.0 (0x3F80 0x0000) — ar bet kurią nenulinę reikšmę — komanda paleidžiama; 0.0 nieko nedaro.
Registrai | Komanda | Poveikis |
4–5 | Atnaujinti LMC programinę įrangą | Paleidžia numatytąjį programinės įrangos atnaujinimą. Apie užbaigimą per Modbus nepranešama. |
12–13 | Iš naujo paleisti LMC paslaugą | Iš naujo paleidžia valdiklio programą ir nutraukia Modbus ryšį. |
Įkroviklių sąrašas
Įrašykite lygiai 7 registrus nuo 8900 viena FC16 užklausa. Neapdoroti beženkliai sveikieji skaičiai, ne float32. Sąrašo per Modbus nuskaityti atgal negalima.
Registras | Laukas | Kodavimas / paskirtis |
8900 | Pakomandė | 1 = pridėti; 2 = pašalinti; 3 = atnaujinti; 4 = išvalyti |
8901–8903 | Įkroviklio serijos numeris | 6 baitai, kiekviename registre vyresnysis baitas pirmas. Serijos nr. 112233445566 → 0x1122, 0x3344, 0x5566 |
8904 | Multipoint ID | 0–255, tik jaunesnysis baitas — taškas, kuriam priskirtas įkroviklis |
8905 | Vėliavėlės | Bitas 0 įjungia įkrovikliui OCPP 1.6 (naudokite 1); kitus bitus palikite nulinius |
8906 | Rezervuota | Įrašykite 0 |
Pašalinimui naudojamas tik serijos numeris (kituose laukuose įrašykite nulį). Išvalymas atstato numatytąjį sąrašą ir nepaiso turinio. Nežinoma pakomandė patvirtinama, bet ignoruojama.
Multipoint sąrašas
Multipoint — tai prijungimo taškas su savo srovės riba. Įrašykite lygiai 4 registrus nuo 8920 viena FC16 užklausa, neapdoroti beženkliai sveikieji skaičiai. Sąrašo per Modbus nuskaityti atgal negalima.
Registras | Laukas | Kodavimas / paskirtis |
8920 | Pakomandė | 1 = pridėti; 2 = pašalinti; 3 = atnaujinti; 4 = išvalyti |
8921 | Multipoint ID | 1–255. Taškas 0 yra tinklo jungtis ir šiomis komandomis jo pakeisti negalima |
8922 | Srovės riba | Sveikais amperais, uint16 (0–65535), neviršijant suderintos instaliacijos galios |
8923 | Tėvinio multipoint ID | Įrašykite 0 (be tėvinio) — nenulinių tėvinių ši komanda nepalaiko |
Pašalinimui naudojamas tik multipoint ID. Prieš šalindami tašką, pašalinkite jam priskirtus įkroviklius ir vaikinius taškus. Išvalymas atstato numatytuosius nustatymus. Gautą konfigūraciją patvirtinkite su palaikymo komanda.
Susisiekite su palaikymo komanda
Dėl aktyvavimo, rašymo teisės ar pagalbos su integracija rašykite [email protected] ir nurodykite LMC serijos numerį. Pranešdami apie problemą taip pat nurodykite kliento programinę įrangą, LMC vietinį IP ir prievadą, funkcijos kodą, pradinį adresą, kiekį, atsakymą ar išimtį, įvykio laiką ir, jei žinote, LMC programinės įrangos versiją.
Šis straipsnis apima LMC Modbus sąsają, atsiradusią LMC programinėje įrangoje v6.4.0. Prieš diegdami sudėtingesnę integraciją, paprašykite palaikymo komandos patvirtinti, kokios funkcijos prieinamos jūsų įdiegtoje programinėje įrangoje.
