TapHome
Zajednica Beta Energija i mjerenje

SolaX X3-Ultra Hybrid Inverter — monitoring and power control (Modbus RTU)

Predložak zajednice za trofazni hibridni izmjenjivač SolaX X3-Ultra preko Modbus RTU na priključku RS-485 COM 1: uređaji za Energy Dashboard za fotonaponsku proizvodnju, mrežu, bateriju i potrošnju, SOC baterije, napon mreže i kodovi kvarova, postavke izmjenjivača koje se upisuju samo pri promjeni te daljinsko upravljanje AC snagom (način 1 daljinskog upravljanja SolaX) za punjenje i pražnjenje prema spot cijenama. 19200 baud, 8N1, Slave ID 1.

SolaXModbus RTU19 uređajaRevizija 1.0 Posljednje ažuriranje: 10. studenoga 2026.

Autor Martin Keller

SolaX X3-Ultra Hybrid Inverter — monitoring and power control (Modbus RTU)

Uvoz u aplikaciju TapHomeHardver › Modbus › Dodaj iz predloška

Preuzmite predložak
Na ovoj stranici

Upute za integraciju

SolaX X3-Ultra (X3-ULT-15K, 20K, 25K, 30K) trofazni je hibridni izmjenjivač (inverter) za fotonaponske panele i baterije. Ovaj predložak zajednice, autora Martina Kellera, povezuje ga sa sustavom TapHome preko Modbus RTU na priključku RS-485 COM 1 (19200 baud, 8N1), a temelji se na registrima za čitanje protokola SolaX Modbus V3.29 i na protokolu SolaX Modbus V001.02. Nudi cjelovit skup mjernih uređaja za Energy Dashboard, praćenje baterije, mreže i kvarova, postavke izmjenjivača koje se upisuju samo kad se njihova vrijednost stvarno promijeni te daljinsko upravljanje AC snagom (način 1 daljinskog upravljanja SolaX): punjenje baterije iz mreže ili njezino pražnjenje u mrežu na naredbu, na primjer prema spot cijenama električne energije.

Kako preuzeti predložak

Predlošci zajednice ne nude se na popisu predložaka u aplikaciji TapHome. Prijavite se na portal.taphome.com, preuzmite XML ovog predloška i uvezite ga u centralnu jedinicu Core na sučelju Modbus RTU (ili na sučelju Modbus TCP kada se koristi pristupnik RS-485 na Ethernet). Za praćenje bez daljinskog upravljanja snagom dostupan je službeni predložak SolaX X3 Hybrid Ultra. Modul ranije uvezen iz službenog predloška ne ažurira se sam: uvezite ovaj predložak kao novi modul i uklonite stari.

Hardversko spajanje

X3-Ultra ima jedan višenamjenski priključak COM 1 (konektor RJ45 s označenim nosačem kabela). Isti fizički pinovi imaju različite funkcije, ovisno o tome koji se označeni položaj nosača kabela koristi. Za integraciju s Modbus uređajima drugih proizvođača koristite položaj RS485, odnosno vodove REMOTE_485A i REMOTE_485B.

Raspored pinova priključka COM 1

Raspored pinova priključka COM 1 na SolaX X3-Ultra za svih šest označenih položaja (Parallel-1, Parallel-2, BMS-1, BMS-2, RS485, DRM)

Raspored pinova položaja RS485 (jedini položaj važan za TapHome):

PinSignalSpajanje na TapHome
1REMOTE_485AA+ / D+
2REMOTE_485BB− / D−
3PARALLEL_485AAne koristiti (samo za pribor SolaX)
4PARALLEL_485AAne koristiti (samo za pribor SolaX)
5PARALLEL_485BBne koristiti (samo za pribor SolaX)
6PARALLEL_485BBne koristiti (samo za pribor SolaX)
7REMOTE_485Aisti signal kao pin 1
8REMOTE_485Bisti signal kao pin 2

Pinovi 3–6 pripadaju kanalu SolaX PARALLEL_485 i rezervirani su za proizvode SolaX (Adapter Box G2, EV-Charger, DataHub). Pinovi 1, 2, 7 i 8 namijenjeni su uređajima koji nisu proizvodi SolaX. Na pinove 3–6 nemojte spajati Modbus master drugog proizvođača.

Ožičenje RS-485

Umetanje konektora RJ45 u položaj RS485 nosača kabela COM 1

Pravila ožičenja iz korisničkog priručnika X3-Ultra (odjeljak 8.6.4):

  • Vrsta kabela: mrežni kabel CAT5E ili CAT6
  • Najveća duljina: komunikacijski kabel RS-485 ne smije biti dulji od 30 m
  • Konektor RJ45: postojeći konektor kabela odreže se, a novi konektor RJ45 krimpa se prema rasporedu pinova; ne prihvaćaju svi uređaji potpuno ožičen mrežni kabel s 8 pinova
  • Položaj u nosaču kabela: konektor RJ45 ide u utor s oznakom RS485 (ne u Parallel-1, Parallel-2, BMS-1, BMS-2 ni DRM); konektor uskoči u priključak COM 1 i osigura se okretnom maticom
  • Samo jedan Modbus master: priključak smije koristiti samo jedan Modbus master. Odspojite drugi Modbus nadzor na istom priključku, inače izmjenjivač odgovara obojici i očitanja postaju nestabilna

Korisnički priručnik ne navodi pravilo za zaključenje (terminaciju) sabirnice RS-485 na položaju RS485 priključka COM 1.

Brojilo ili CT za vrijednosti mreže

Uređaji mreže ovog predloška (Grid - power balance, Iz mreže, Na mrežu, Potrošnja) očitavaju snagu predaje u mrežu koju izmjenjivač mjeri vlastitim brojilom ili strujnim transformatorom (CT). Brojilo ili CT spaja se na priključak COM 2 (Meter/CT: METER_485A na pinu 4, METER_485B na pinu 5 ili ulazi CT) i postavlja se na zaslonu izmjenjivača u Menu → Setting → Advance Setting → Meter/CT Setting. To je zaseban vod RS-485: na njega ne spajajte TapHome.

Mogućnosti spajanja

  • Izravno Modbus RTU: par RS485 priključka COM 1 spojite izravno na sabirnicu RS-485 centralne jedinice Core. Najmanje kašnjenje, preporučeno za daljinsko upravljanje snagom.
  • Pristupnik RS-485 na Ethernet: kada je izmjenjivač daleko od centralne jedinice Core, na par RS485 priključka COM 1 može se spojiti pristupnik RS-485 na Ethernet drugog proizvođača; predložak se tada uvozi na sučelju Modbus TCP.
  • Modul za nadzor SolaX: sam izmjenjivač ne podržava Modbus TCP. Modbus TCP (port 502) dostupan je samo preko modula za nadzor SolaX, s ciklusom upita od približno 1 sekunde (protokol V3.29).

Konfiguracija

Uključivanje komunikacije Modbus na izmjenjivaču

Na zaslonu LCD izmjenjivača otvorite:

1
Menu → Setting → Advance Setting → Modbus

Izbornik Advance Setting traži lozinku instalatera (prema korisničkom priručniku početno 2014; priručnik preporučuje da je promijenite). U izborniku Modbus postavite Baud Rate i Address vanjskog komunikacijskog protokola:

ParametarZadano u predloškuZadano na izmjenjivaču (protokol V3.29)
Modbus adresa (Slave ID)11
Brzina prijenosa1920019200
ParitetNoneNone
Podatkovni bitovi88
Stop bitovi11

Brzina prijenosa na izmjenjivaču i na sučelju Modbus RTU sustava TapHome mora biti ista. Ako komunikacija ne radi, najprije provjerite brzinu prijenosa.

Izmjenjivač Modbus adresu javlja i u holding registru H:0x00AF, a brzinu prijenosa u holding registru H:0x00B0 (protokol V3.29).

Parametar uvoza

Pri uvozu predloška parametar uvoza Modbus Slave ID (zadano 1) mora odgovarati Modbus adresi postavljenoj na zaslonu izmjenjivača.

Mogućnosti uređaja

Energy Dashboard

UređajOčitanje
PV proizvodnjaUlazna snaga PV1 + PV2 + PV3 (A:0x000A, A:0x000B, A:0x0124) u kW; ukupna fotonaponska energija (A:0x0094–0x0095) u kWh. Snaga PV1–PV3 i ukupna AC izlazna energija izmjenjivača (A:0x0052) servisni su atributi.
Iz mreže / Na mrežuDio snage mreže koji se preuzima i dio koji se predaje, s brojila ili CT-a (A:0x0046–0x0047, niža riječ prva), s ukupnim brojačima energije (A:0x004A i A:0x0048, 0,01 kWh).
Na bateriju / Od baterijeDio snage baterije 1 pri punjenju i pri pražnjenju (A:0x0016), s ukupnom energijom punjenja i pražnjenja (A:0x0021, A:0x001D).
PotrošnjaIzračunata potrošnja kuće: AC snaga izmjenjivača umanjena za predaju u mrežu. SolaX nema registar potrošnje; trošila na izlazu EPS (rezervno napajanje) nisu uključena.
Baterija (SOC)Stanje napunjenosti baterije 1 (A:0x001C). Preostala energija i energija koja se još može napuniti (A:0x0118, A:0x0116) servisni su atributi.

Energy Manager

Za smart rule Energy Manager odaberite Grid - power balance. Vrijednost ima predznak: pozitivna je pri preuzimanju iz mreže, negativna pri predaji viška. Uređaji Iz mreže i Na mrežu nikad nisu negativni i ne prikazuju višak.

Praćenje

  • Battery 2 - state of charge — drugi priključak baterije (BAT 2), sa snagom i temperaturom kao servisnim atributima; bez druge baterije očitava 0
  • Battery - temperature — očitava se kao vrijednost s predznakom, pa se temperature ispod 0 °C prikazuju ispravno
  • Inverter - AC power — zbroj triju faznih snaga na AC priključku izmjenjivača u kW
  • Grid - voltage L1 — s naponima mreže L2 i L3 te trima frekvencijama mreže kao servisnim atributima

Postavke izmjenjivača

UređajČitanjeUpis
Settings - work modeH:0x008B: Self use, Feed-in priority, Backup, Manual, Peak shaving, Time of use (posljednja dva ovise o firmveru)0x001F
Settings - manual modeH:0x008C: Stop charge and discharge, Force charge, Force discharge (djeluje samo u radnom načinu Manual)0x0020
Settings - self-use minimum SOCviši bajt registra H:0x00930x0061
Settings - night charge from gridniži bajt registra H:0x00930x0062
Settings - night charge target SOCH:0x00940x0063
Settings - export limitH:0x00B6, u kW (10 W po koraku na X3)0x0042

SolaX ove postavke čita s drugih adresa od onih na koje ih upisuje, pa se ugrađena funkcija sustava TapHome „upiši samo ako je različito” ne može koristiti. Zato svaka skripta za upis najprije pročita postavku i upisuje (funkcija 06) samo kad se nova vrijednost razlikuje; kad izmjenjivač javlja da su postavke zaključane, najprije upiše lozinku postavki 2014 u registar 0x0000. Najmanji SOC i cilj noćnog punjenja nikad ne padaju ispod 10 % (raspon SolaX). Nijedan od ovih uređaja ne upisuje periodično.

Ove postavke su registri EEPROM (SolaX ih označava sa ★, približno 1 milijun ciklusa upisa). Mijenjajte ih rijetko i nikad iz čestih automatizacija: za punjenje i pražnjenje prema spot cijenama koristite Remote control - AC power target.

Remote control - AC power target

Ovaj uređaj koristi način 1 daljinskog upravljanja SolaX (VPP), odnosno upravljanje snagom na AC priključku izmjenjivača.

  • Predznak: pozitivan cilj znači da izmjenjivač preuzima snagu na svojem AC priključku (puni bateriju, iz mreže ako fotonaponska snaga nije dovoljna); negativan cilj znači da snagu predaje (prazni bateriju, a ono što kuća ne potroši odlazi u mrežu). Vrijednost u kW.
  • 0 završava daljinsko upravljanje: predložak jednom upiše način 0 i izmjenjivač se vraća u svoj radni način. Ciljevi manji od 0,5 W računaju se kao 0.
  • Bilo koja druga vrijednost: ako je izmjenjivač zaključan, predložak najprije upiše lozinku postavki 2014 (otključavanje se gubi nakon svakog ponovnog pokretanja izmjenjivača), a zatim jednim Modbus zahtjevom (funkcija 0x10) upiše 13 registara 0x007C–0x0088: način 1, cilj, trajanje 120 s i vremensko ograničenje 60 s. Naredba se ponavlja svakih 60 s dok cilj nije 0. Ako je TapHome prestane slati, izmjenjivač zadržava cilj najviše 2 minute, još 1 minutu drži 0 W na svojem AC priključku, a zatim se sam vraća u svoj radni način.
  • Radni način Manual blokira daljinsko upravljanje. SolaX ne pokreće daljinsko upravljanje dok je izmjenjivač u radnom načinu Manual: najprije ga prebacite na Self use (ili drugi način).
  • Izmjenjivač ograničava cilj na raspon prikazan u atributima modula (najmanji i najveći cilj daljinskog upravljanja).
  • Radnja modula End remote control odmah upisuje način 0. Dok cilj nije 0, sljedeće ponavljanje ponovno pokreće daljinsko upravljanje: za trajno zaustavljanje postavite cilj na 0.
  • Ovaj uređaj nemojte kombinirati s daljinskim upravljanjem iz oblaka SolaX Cloud ili od agregatora energije: dok je cilj 0, predložak u roku od 60 s završava svaki način daljinskog upravljanja.
  • Daljinsko upravljanje treba centralnu jedinicu Core koja svih 13 registara upisuje jednim zahtjevom. To vrijedi za svaku centralnu jedinicu Core od 2022. ako modul zadrži MaxPrefetchGroupSize 32 iz ovog predloška.
  • Servisni atribut Actual AC power prikazuje djelatnu snagu koju izmjenjivač javlja na svojem AC priključku, u W (A:0x0106).

SolaX u svojem protokolu ne označava registre daljinskog upravljanja (0x007C–0x0088) kao registre EEPROM, ali ni pisanim putem ne potvrđuje suprotno. Ovaj se predložak oslanja na iskustvo zajednica Home Assistant i openHAB, koje te registre upisuju svakih nekoliko sekundi do nekoliko minuta.

Atributi i radnje modula

  • Run mode (servisni atribut) — stanje izmjenjivača kao tekst: Waiting, Checking, Normal, Fault, Permanent fault, Update, Off-grid waiting, Off-grid, Self testing, Idle, Standby, Remote control (kod 20); ostali kodovi prikazuju se kao Other
  • Machine type (servisni atribut) — X1 (single-phase) ili X3 (three-phase), holding registar H:0x0105
  • Settings lock (servisni atribut) — Locked ili Unlocked (A:0x0054)
  • Remote control mode (servisni atribut) — aktivni način daljinskog upravljanja (A:0x0100): Off, Power control, Energy target, SOC target
  • Remote control - maximum target / minimum target (servisni atributi) — dopušteni raspon ciljne snage koji javlja izmjenjivač, u W (A:0x010A, A:0x010C)
  • Unlock settings (password 2014) (servisna radnja) — upisuje 2014 u registar 0x0000
  • End remote control (servisna radnja) — upisuje način 0 u registre daljinskog upravljanja 0x007C–0x0088

Otkrivanje kvarova

Skripta za čitanje modula javlja pogrešku sustava TapHome kada je način rada (Run mode, A:0x0009) 3 (Fault) ili 4 (Permanent fault). Osim toga bit po bit raščlanjuje dva registra pogrešaka, svaki kvar s vlastitim kodom pogreške:

  • Kod kvara izmjenjivača (32-bitni, A:0x0040–A:0x0041, čita se niža riječ prva) — sva 32 bita, od TZ Protect Fault, kvarova napona mreže, fotonaponskog napona, napona sabirnice i napona baterije, kvarova izolacije i pregrijavanja do Parallel Fault, Hard Limit Fault i kvarova releja
  • Kod pogreške upravljača (Manager) (16-bitni, A:0x0043) — Power Type Fault, Mgr EEPROM Fault, NTC Sample Invalid, niska i visoka temperatura baterije, Meter Fault, Bypass Relay Fault i Fan 2 Fault kao pogreške, Port OC Warning kao upozorenje

Rješavanje problema

Nema komunikacije s izmjenjivačem

  1. Provjerite jesu li vodiči RS-485 na pinovima REMOTE_485A / REMOTE_485B (1 + 2 ili 7 + 8 u položaju RS485 nosača kabela COM 1), a ne na pinovima PARALLEL_485 3–6 ni na vodu brojila na COM 2
  2. Provjerite podudara li se brzina prijenosa na izmjenjivaču (Menu → Setting → Advance Setting → Modbus) i na sučelju Modbus RTU sustava TapHome: zadano je 19200
  3. Provjerite odgovara li parametar uvoza Modbus Slave ID Modbus adresi izmjenjivača (zadano 1)
  4. Provjerite je li na priključak spojen samo jedan Modbus master
  5. Ako polaritet kabela nije siguran, zamijenite vodiče A i B
  6. Provjerite da kabel RS-485 nije dulji od 30 m

Cilj daljinskog upravljanja vraća se na 0 odmah nakon postavljanja

Izmjenjivač je u radnom načinu Manual, firmver ne podržava način 1 daljinskog upravljanja ili je cilj izvan najmanjeg i najvećeg cilja prikazanog u atributima modula. Najprije provjerite radni način.

Upis postavki se odbija

Izmjenjivač je zaključan. Pokrenite radnju modula Unlock settings (password 2014); zaključavanje se vraća nakon svakog ponovnog pokretanja izmjenjivača (atribut modula Settings lock).

Vrijednosti mreže su 0 ili Potrošnja izgleda pogrešno

Grid - power balance, Iz mreže, Na mrežu i Potrošnja ovise o brojilu ili CT-u izmjenjivača. Provjerite njegovo ožičenje na COM 2 i postavke u Menu → Setting → Advance Setting → Meter/CT Setting.

Snaga PV3 ili Battery 2 pokazuje 0

PV3 postoji samo na modelima s tri MPPT ulaza (na primjer X3-ULT-25K i X3-ULT-30K, broj MPPT ulaza pogledajte u korisničkom priručniku); Battery 2 samo kada je druga baterija spojena na BAT 2. Nekorištene uređaje sakrijte u sustavu TapHome.

Dostupni uređaji 19

Ovi se uređaji pojavljuju u TapHomeu nakon uvoza.

SolaX X3-Ultra Modul
Servisni atributi
Run mode
Machine type
Settings lock
Remote control mode
Remote control - maximum target
Remote control - minimum target
Servisne radnje
Unlock settings (password 2014)
End remote control

SolaX X3-Ultra

Čitanje (modul)
VAR mode := MODBUSR(A, 0x0009, UInt16);
IF(mode = 3, ADDERROR(1, "Inverter fault (run mode 3)"));
IF(mode = 4, ADDERROR(2, "Inverter permanent fault (run mode 4)"));
VAR inv := MODBUSR(A, 0x0040, LittleEndianUint32);
IF(GETBIT(inv, 0) = 1, ADDERROR(100, "TZ Protect Fault"));
IF(GETBIT(inv, 1) = 1, ADDERROR(101, "Grid Lost Fault"));
IF(GETBIT(inv, 2) = 1, ADDERROR(102, "Grid Volt Fault"));
IF(GETBIT(inv, 3) = 1, ADDERROR(103, "Grid Freq Fault"));
IF(GETBIT(inv, 4) = 1, ADDERROR(104, "PV Volt Fault"));
IF(GETBIT(inv, 5) = 1, ADDERROR(105, "Bus Volt Fault"));
IF(GETBIT(inv, 6) = 1, ADDERROR(106, "Bat Volt Fault"));
IF(GETBIT(inv, 7) = 1, ADDERROR(107, "AC10mins Volt Fault"));
IF(GETBIT(inv, 8) = 1, ADDERROR(108, "DCI OCP Fault"));
IF(GETBIT(inv, 9) = 1, ADDERROR(109, "DCV OCP Fault"));
IF(GETBIT(inv, 10) = 1, ADDERROR(110, "SW OCP Fault"));
IF(GETBIT(inv, 11) = 1, ADDERROR(111, "RC OCP Fault"));
IF(GETBIT(inv, 12) = 1, ADDERROR(112, "Isolation Fault"));
IF(GETBIT(inv, 13) = 1, ADDERROR(113, "Temp Over Fault"));
IF(GETBIT(inv, 14) = 1, ADDERROR(114, "BatConnDir Fault"));
IF(GETBIT(inv, 15) = 1, ADDERROR(115, "Off-grid Overload"));
IF(GETBIT(inv, 16) = 1, ADDERROR(116, "Overload"));
IF(GETBIT(inv, 17) = 1, ADDERROR(117, "Bat Power Low"));
IF(GETBIT(inv, 18) = 1, ADDERROR(118, "BMS Lost"));
IF(GETBIT(inv, 19) = 1, ADDERROR(119, "Fan Fault"));
IF(GETBIT(inv, 20) = 1, ADDERROR(120, "Low Temp Fault"));
IF(GETBIT(inv, 21) = 1, ADDERROR(121, "Parallel Fault"));
IF(GETBIT(inv, 22) = 1, ADDERROR(122, "Hard Limit Fault"));
IF(GETBIT(inv, 23) = 1, ADDERROR(123, "INV Volt Sample Fault"));
IF(GETBIT(inv, 24) = 1, ADDERROR(124, "Inner Comm Fault"));
IF(GETBIT(inv, 25) = 1, ADDERROR(125, "INV EEPROM Fault"));
IF(GETBIT(inv, 26) = 1, ADDERROR(126, "RCD Fault"));
IF(GETBIT(inv, 27) = 1, ADDERROR(127, "Grid Relay Fault"));
IF(GETBIT(inv, 28) = 1, ADDERROR(128, "Off-grid Relay Fault"));
IF(GETBIT(inv, 29) = 1, ADDERROR(129, "PV ConnDir Fault"));
IF(GETBIT(inv, 30) = 1, ADDERROR(130, "Charger Relay Fault"));
IF(GETBIT(inv, 31) = 1, ADDERROR(131, "Earth Relay Fault"));
VAR mgr := MODBUSR(A, 0x0043, UInt16);
IF(GETBIT(mgr, 0) = 1, ADDERROR(200, "Power Type Fault"));
IF(GETBIT(mgr, 1) = 1, ADDWARNING(201, "Port OC Warning"));
IF(GETBIT(mgr, 2) = 1, ADDERROR(202, "Mgr EEPROM Fault"));
IF(GETBIT(mgr, 4) = 1, ADDERROR(204, "NTC Sample Invalid"));
IF(GETBIT(mgr, 5) = 1, ADDERROR(205, "Battery Temperature Low"));
IF(GETBIT(mgr, 6) = 1, ADDERROR(206, "Battery Temperature High"));
IF(GETBIT(mgr, 9) = 1, ADDERROR(209, "Meter Fault"));
IF(GETBIT(mgr, 10) = 1, ADDERROR(210, "Bypass Relay Fault"));
IF(GETBIT(mgr, 11) = 1, ADDERROR(211, "Fan 2 Fault"));
Servisni atributi
Run mode
SWITCH(MODBUSR(A, 0x0009, UInt16), 0, "Waiting", 1, "Checking", 2, "Normal", 3, "Fault", 4, "Permanent fault", 5, "Update", 6, "Off-grid waiting", 7, "Off-grid", 8, "Self testing", 9, "Idle", 10, "Standby", 20, "Remote control", "Other")
Machine type
SWITCH(MODBUSR(H, 0x0105, UInt16), 1, "X1 (single-phase)", 3, "X3 (three-phase)", "Unknown")
Settings lock
SWITCH(MODBUSR(A, 0x0054, UInt16), 0, "Locked", 1, "Unlocked", "Unknown")
Remote control mode
SWITCH(MODBUSR(A, 0x0100, UInt16), 0, "Off", 1, "Power control", 2, "Energy target", 3, "SOC target", "Other")
Remote control - maximum target
TOSTRING(MODBUSR(A, 0x010A, LittleEndianInt32)) + " W"
Remote control - minimum target
TOSTRING(MODBUSR(A, 0x010C, LittleEndianInt32)) + " W"
Servisne radnje
Unlock settings (password 2014)
MODBUSW(SH, 0x0000, Uint16, 2014);
End remote control
MODBUSW(H, 0x007C, Uint16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
${deviceType_PVProduction} Brojilo električne energije
Servisni atributi
PV1 power
PV2 power
PV3 power
Inverter AC output - total energy

${deviceType_PVProduction}

Čitanje ukupne potrošnje
MODBUSR(A, 0x0094, LittleEndianUint32) / 10
Čitanje zahtjeva
(MODBUSR(A, 0x000A, UInt16) + MODBUSR(A, 0x000B, UInt16) + MODBUSR(A, 0x0124, UInt16)) / 1000
Servisni atributi
PV1 power
TOSTRING(MODBUSR(A, 0x000A, UInt16)) + " W"
PV2 power
TOSTRING(MODBUSR(A, 0x000B, UInt16)) + " W"
PV3 power
TOSTRING(MODBUSR(A, 0x0124, UInt16)) + " W"
Inverter AC output - total energy
TOSTRING(MODBUSR(A, 0x0052, LittleEndianUint32) / 10, "F1") + " kWh"
Grid - power balance Brojilo električne energije

Grid - power balance

Čitanje zahtjeva
MODBUSR(A, 0x0046, LittleEndianInt32) / -1000
${deviceType_PVFromGrid} Brojilo električne energije

${deviceType_PVFromGrid}

Čitanje ukupne potrošnje
MODBUSR(A, 0x004A, LittleEndianUint32) / 100
Čitanje zahtjeva
MAX(-MODBUSR(A, 0x0046, LittleEndianInt32), 0) / 1000
${deviceType_PVToGrid} Brojilo električne energije

${deviceType_PVToGrid}

Čitanje ukupne potrošnje
MODBUSR(A, 0x0048, LittleEndianUint32) / 100
Čitanje zahtjeva
MAX(MODBUSR(A, 0x0046, LittleEndianInt32), 0) / 1000
${deviceType_PVToBattery} Brojilo električne energije

${deviceType_PVToBattery}

Čitanje ukupne potrošnje
MODBUSR(A, 0x0021, LittleEndianUint32) / 10
Čitanje zahtjeva
MAX(MODBUSR(A, 0x0016, Int16), 0) / 1000
${deviceType_PVFromBattery} Brojilo električne energije

${deviceType_PVFromBattery}

Čitanje ukupne potrošnje
MODBUSR(A, 0x001D, LittleEndianUint32) / 10
Čitanje zahtjeva
MAX(-MODBUSR(A, 0x0016, Int16), 0) / 1000
${deviceType_PVLoad} Brojilo električne energije

${deviceType_PVLoad}

Čitanje zahtjeva
((MODBUSR(A, 0x006C, Int16) + MODBUSR(A, 0x0070, Int16) + MODBUSR(A, 0x0074, Int16)) - MODBUSR(A, 0x0046, LittleEndianInt32)) / 1000
${deviceType_BatterySOC} Analogni ulaz
Servisni atributi
Remaining energy
Chargeable energy

${deviceType_BatterySOC}

Čitanje razine ulaza
MODBUSR(A, 0x001C, UInt16) / 100
Servisni atributi
Remaining energy
TOSTRING(MODBUSR(A, 0x0118, LittleEndianUint32) / 1000, "F2") + " kWh"
Chargeable energy
TOSTRING(MODBUSR(A, 0x0116, LittleEndianUint32) / 1000, "F2") + " kWh"
Battery 2 - state of charge Analogni ulaz
Servisni atributi
Battery 2 power
Battery 2 temperature

Battery 2 - state of charge

Čitanje razine ulaza
MODBUSR(A, 0x012D, UInt16) / 100
Servisni atributi
Battery 2 power
TOSTRING(MODBUSR(A, 0x0129, Int16)) + " W"
Battery 2 temperature
TOSTRING(MODBUSR(A, 0x0131, Int16)) + " °C"
Battery - temperature Senzor temperature

Battery - temperature

Čitanje temperature
MODBUSR(A, 0x0018, Int16)
Inverter - AC power Varijabla

Inverter - AC power

Čitanje
(MODBUSR(A, 0x006C, Int16) + MODBUSR(A, 0x0070, Int16) + MODBUSR(A, 0x0074, Int16)) / 1000
Grid - voltage L1 Varijabla
Servisni atributi
Grid voltage L2
Grid voltage L3
Grid frequency L1
Grid frequency L2
Grid frequency L3

Grid - voltage L1

Čitanje
MODBUSR(A, 0x006A, UInt16) / 10
Servisni atributi
Grid voltage L2
TOSTRING(MODBUSR(A, 0x006E, UInt16) / 10, "F1") + " V"
Grid voltage L3
TOSTRING(MODBUSR(A, 0x0072, UInt16) / 10, "F1") + " V"
Grid frequency L1
TOSTRING(MODBUSR(A, 0x006D, UInt16) / 100, "F2") + " Hz"
Grid frequency L2
TOSTRING(MODBUSR(A, 0x0071, UInt16) / 100, "F2") + " Hz"
Grid frequency L3
TOSTRING(MODBUSR(A, 0x0075, UInt16) / 100, "F2") + " Hz"
Settings - work mode Prekidač s više vrijednosti
Vrijednosti / stanja: Self use · Feed-in priority · Backup · Manual · Peak shaving · Time of use

Settings - work mode

Čitanje stanja sklopke
MODBUSR(H, 0x008B, UInt16)
Zapis stanja sklopke
IF(MODBUSR(H, 0x008B, UInt16) != Mu AND MODBUSR(A, 0x0054, UInt16) = 0, MODBUSW(SH, 0x0000, Uint16, 2014));
IF(MODBUSR(H, 0x008B, UInt16) != Mu, MODBUSW(SH, 0x001F, Uint16, Mu));
Settings - manual mode Prekidač s više vrijednosti
Vrijednosti / stanja: Stop charge and discharge · Force charge · Force discharge

Settings - manual mode

Čitanje stanja sklopke
MODBUSR(H, 0x008C, UInt16)
Zapis stanja sklopke
IF(MODBUSR(H, 0x008C, UInt16) != Mu AND MODBUSR(A, 0x0054, UInt16) = 0, MODBUSW(SH, 0x0000, Uint16, 2014));
IF(MODBUSR(H, 0x008C, UInt16) != Mu, MODBUSW(SH, 0x0020, Uint16, Mu));
Settings - self-use minimum SOC Dimer

Settings - self-use minimum SOC

Čitanje razine
GETBYTE(MODBUSR(H, 0x0093, UInt16), 1) / 100
Zapis razine
VAR v := MAX(ROUND(Le * 100), 10);
IF(GETBYTE(MODBUSR(H, 0x0093, UInt16), 1) != v AND MODBUSR(A, 0x0054, UInt16) = 0, MODBUSW(SH, 0x0000, Uint16, 2014));
IF(GETBYTE(MODBUSR(H, 0x0093, UInt16), 1) != v, MODBUSW(SH, 0x0061, Uint16, v));
Settings - night charge from grid Sklopka
Vrijednosti / stanja: ON · OFF

Settings - night charge from grid

Čitanje stanja sklopke
GETBYTE(MODBUSR(H, 0x0093, UInt16), 0)
Zapis stanja sklopke
IF(GETBYTE(MODBUSR(H, 0x0093, UInt16), 0) != St AND MODBUSR(A, 0x0054, UInt16) = 0, MODBUSW(SH, 0x0000, Uint16, 2014));
IF(GETBYTE(MODBUSR(H, 0x0093, UInt16), 0) != St, MODBUSW(SH, 0x0062, Uint16, St));
Settings - night charge target SOC Dimer

Settings - night charge target SOC

Čitanje razine
MODBUSR(H, 0x0094, UInt16) / 100
Zapis razine
VAR v := MAX(ROUND(Le * 100), 10);
IF(MODBUSR(H, 0x0094, UInt16) != v AND MODBUSR(A, 0x0054, UInt16) = 0, MODBUSW(SH, 0x0000, Uint16, 2014));
IF(MODBUSR(H, 0x0094, UInt16) != v, MODBUSW(SH, 0x0063, Uint16, v));
Settings - export limit Varijabla

Settings - export limit

Čitanje
MODBUSR(H, 0x00B6, UInt16) / 100
Zapis
VAR v := MAX(ROUND(Va * 100), 0);
IF(MODBUSR(H, 0x00B6, UInt16) != v AND MODBUSR(A, 0x0054, UInt16) = 0, MODBUSW(SH, 0x0000, Uint16, 2014));
IF(MODBUSR(H, 0x00B6, UInt16) != v, MODBUSW(SH, 0x0042, Uint16, v));
Remote control - AC power target Varijabla
Servisni atributi
Actual AC power

Remote control - AC power target

Čitanje
IF(MODBUSR(A, 0x0100, UInt16) = 1, MODBUSR(A, 0x0102, LittleEndianInt32) / 1000, 0)
Zapis
VAR w := ROUND(Va * 1000);
VAR u := IF(w < 0, w + 4294967296, w);
IF(w = 0 AND MODBUSR(A, 0x0100, UInt16) != 0, MODBUSW(H, 0x007C, Uint16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
IF(w != 0 AND MODBUSR(A, 0x0054, UInt16) = 0, MODBUSW(SH, 0x0000, Uint16, 2014));
IF(w != 0, MODBUSW(H, 0x007C, Uint16, 1, 1, MOD(u, 65536), FLOOR(u / 65536), 0, 0, 120, 0, 0, 0, 0, 0, 60));
Servisni atributi
Actual AC power
TOSTRING(MODBUSR(A, 0x0106, LittleEndianInt32)) + " W"
Povezivanje: Modbus RTU • 19200 baud• 8N1 • Slave ID: $[SlaveId]

Parametri uvoza

Ove vrijednosti unosite pri uvozu XML-a.

Pitanje u aplikacijiZadano
Modbus Slave ID1

Pronašli ste problem s ovim predloškom uređaja?

Recite nam što ne radi, što nedostaje ili kako bi se predložak trebao ponašati. Vaše povratne informacije pomažu nam da katalog bude točan.

Predložak · TapHome portal SolaX X3-Ultra Hybrid Inverter — monitoring and power control (Modbus RTU) Otvorite ovaj predložak na portalu Customer Portal kako biste ga primijenili na jedan od svojih domova ili predložili poboljšanje i poslali ga natrag u katalog. Modbus RTU Pogledaj u TapHome portalu