Pereiti prie pagrindinio turinio

Modbus TCP VOOL LMC įrenginyje

LMC pagrindinio įvado srovių ir įtampų skaitymas per Modbus TCP: aktyvavimas per palaikymo komandą, ryšio nustatymai, visas registrų žemėlapis, srovės ribos rašymas ir trikčių šalinimas.

J
Parašė Juhan Harm

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.

  1. Susitarkite dėl aktyvavimo su palaikymo komanda — LMC serijos numeris, tik skaitymas ar skaitymas ir rašymas.

  2. 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.

  3. 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

  1. Nuskaitykite esamą reikšmę — FC03, pradžia 104, kiekis 2. Išsaugokite ją, jei reikėtų atkurti.

  2. Į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.

  3. 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.

Ar gavote atsakymą į savo klausimą?