TapHome
Közösség Béta Energia és mérés

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

Közösségi sablon a SolaX X3-Ultra háromfázisú hibrid napelem inverterhez Modbus RTU-n, a COM 1 RS-485 porton: Energy Dashboard mérők a PV-hez, a hálózathoz, az akkumulátorhoz és a fogyasztáshoz, akkumulátor SOC, hálózati feszültség és hibakódok, csak változáskor írt inverterbeállítások, valamint távoli AC teljesítményvezérlés (SolaX távvezérlés, 1-es üzemmód) a spot ár szerinti töltéshez és kisütéshez. 19200 baud, 8N1, Slave ID 1.

SolaXModbus RTU19 eszközRevízió 1.0 Utoljára frissítve: 2026. november 10.

Beküldő Martin Keller

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

Importálás a TapHome alkalmazásbaHardver › Modbus › Hozzáadás sablonból

Sablon letöltése
Ezen az oldalon

Integrációs útmutató

A SolaX X3-Ultra (X3-ULT-15K, 20K, 25K, 30K) háromfázisú hibrid napelem inverter PV-hez és akkumulátorhoz. Martin Keller közösségi sablonja Modbus RTU-n, a COM 1 RS-485 porton (19200 baud, 8N1) köti össze a TapHome-mal, és a SolaX Modbus V3.29 protokoll olvasási regiszterein, valamint a SolaX Modbus V001.02 protokollon alapul. Teljes mérőkészletet ad az Energy Dashboardhoz, akkumulátor-, hálózat- és hibafigyelést, olyan inverterbeállításokat, amelyeket csak akkor ír, ha az értékük valóban megváltozik, valamint távoli AC teljesítményvezérlést (SolaX távvezérlés, 1-es üzemmód) — parancsra tölti az akkumulátort a hálózatról, vagy kisüti a hálózatba, például a spot villamosenergia-árak szerint.

Hogyan szerezheted meg a sablont

A közösségi sablonok nem szerepelnek a TapHome alkalmazás sablonlistájában. Jelentkezz be a portal.taphome.com oldalon, töltsd le a sablon XML-jét, és importáld a Core-ba a Modbus RTU interfészen (vagy Modbus TCP interfészen, ha RS-485–Ethernet átjárót használsz). Távoli teljesítményvezérlés nélküli monitorozáshoz elérhető a hivatalos SolaX X3 Hybrid Ultra sablon. A hivatalos sablonból korábban importált modul nem frissül magától — ezt a sablont új modulként importáld, a régit pedig távolítsd el.

Hardver csatlakozás

Az X3-Ultra egyetlen többfunkciós COM 1 porttal rendelkezik (RJ45 csatlakozó címkézett kábelrögzítővel). Ugyanazok a fizikai csapok különböző funkciókat látnak el attól függően, hogy a kábelrögzítő melyik címkézett pozícióját használod. Harmadik féltől származó Modbus integrációhoz az RS485 pozíciót használd — a REMOTE_485A és REMOTE_485B vezetékeket.

COM 1 port pinout

A SolaX X3-Ultra COM 1 port csapkiosztása mind a hat címkézett pozícióra (Parallel-1, Parallel-2, BMS-1, BMS-2, RS485, DRM)

Az RS485 pozíció csapkiosztása (az egyetlen pozíció, amely a TapHome szempontjából releváns):

CsapJelTapHome bekötés
1REMOTE_485AA+ / D+
2REMOTE_485BB− / D−
3PARALLEL_485AAne használd (csak SolaX kiegészítőkhöz)
4PARALLEL_485AAne használd (csak SolaX kiegészítőkhöz)
5PARALLEL_485BBne használd (csak SolaX kiegészítőkhöz)
6PARALLEL_485BBne használd (csak SolaX kiegészítőkhöz)
7REMOTE_485Augyanaz a jel, mint az 1. csapon
8REMOTE_485Bugyanaz a jel, mint a 2. csapon

A 3–6. csapok a SolaX PARALLEL_485 csatornájához tartoznak, és SolaX termékek (Adapter Box G2, EV-Charger, DataHub) számára vannak fenntartva. Az 1., 2., 7. és 8. csap a nem SolaX gyártmányú eszközöknek szól. Ne csatlakoztass harmadik féltől származó Modbus mastert a 3–6. csapokhoz.

RS-485 bekötés

Az RJ45 terminál behelyezése a COM 1 kábelrögzítő RS485 pozíciójába

Bekötési szabályok az X3-Ultra felhasználói kézikönyvéből (8.6.4. fejezet):

  • Kábel típusa: CAT5E vagy CAT6 hálózati kábel
  • Maximális hossz: az RS-485 kommunikációs kábel nem lehet hosszabb 30 m-nél
  • RJ45 terminál: a kábel meglévő csatlakozóját le kell vágni, és a csapkiosztás szerint új RJ45 terminált kell krimpelni; nem minden eszköz fogadja el a teljesen bekötött 8 eres hálózati kábelt
  • Pozíció a kábelrögzítőn: az RJ45 terminál az RS485 címkéjű helyre kerül (nem a Parallel-1, Parallel-2, BMS-1, BMS-2 vagy DRM pozícióba); a csatlakozó bekattan a COM 1 portba, és a forgó anyával rögzíted
  • Egyetlen Modbus master: a portot csak egy Modbus master használhatja. Az ugyanezen a porton lévő más Modbus monitorozást válaszd le, különben az inverter mindkettőnek válaszol, és a mért értékek instabillá válnak

A felhasználói kézikönyv nem ad szabályt az RS-485 busz lezárására a COM 1 RS485 pozícióján.

Mérő vagy CT a hálózati értékekhez

A sablon hálózati eszközei (Grid - power balance, A hálózatról, A hálózathoz, Fogyasztás) azt a betáplálási teljesítményt olvassák, amelyet az inverter a saját mérőjével vagy CT-jével mér. A mérő vagy CT a COM 2 portra csatlakozik (Meter/CT: METER_485A a 4. csapon, METER_485B az 5. csapon, vagy a CT bemenetek), és az inverter kijelzőjén a Menu → Setting → Advance Setting → Meter/CT Setting menüben állítható be. Ez egy külön RS-485 vonal — ne csatlakoztasd rá a TapHome-ot.

Csatlakozási lehetőségek

  • Közvetlen Modbus RTU: kösd a COM 1 RS485 érpárt közvetlenül a TapHome Core RS-485 buszára. Ez adja a legkisebb késleltetést, távoli teljesítményvezérléshez ezt ajánljuk.
  • RS-485–Ethernet átjáró: ha az inverter messze van a TapHome Core-tól, a COM 1 RS485 érpáron harmadik féltől származó RS-485–Ethernet átjárót is használhatsz; a sablont ilyenkor Modbus TCP interfészen importálod.
  • SolaX monitorozó modul: maga az inverter nem támogatja a Modbus TCP-t. A Modbus TCP (502-es port) csak SolaX monitorozó modulon keresztül érhető el, kb. 1 másodperces lekérdezési ciklussal (V3.29 protokoll).

Konfiguráció

A Modbus kommunikáció engedélyezése az inverteren

Az inverter LCD-jén lépj ide:

1
Menu → Setting → Advance Setting → Modbus

Az Advance Setting menühöz telepítői jelszó kell (a felhasználói kézikönyv szerint kezdetben 2014, és a kézikönyv azt javasolja, hogy változtasd meg). A Modbus menüben állítsd be a külső kommunikációs protokoll Baud Rate és Address értékét:

ParaméterSablon alapértelmezésInverter alapértelmezés (V3.29 protokoll)
Modbus cím (Slave ID)11
Baudráta1920019200
ParitásNoneNone
Adatbitek88
Stopbitek11

A baudrátának meg kell egyeznie az inverteren és a TapHome Modbus RTU interfészen. Ha a kommunikáció sikertelen, először a baudrátát ellenőrizd.

Az inverter a Modbus címet a H:0x00AF, a baudrátát a H:0x00B0 holding regiszterben is közli (V3.29 protokoll).

Importparaméter

A sablon importálásakor a Modbus Slave ID importparaméternek (alapértelmezés 1) meg kell egyeznie az inverter kijelzőjén beállított Modbus címmel.

Az eszköz képességei

Energy Dashboard

EszközMért érték
PV gyártásPV1 + PV2 + PV3 bemeneti teljesítmény (A:0x000A, A:0x000B, A:0x0124) kW-ban; teljes PV energia (A:0x0094–0x0095) kWh-ban. A PV1–PV3 teljesítmény és az inverter teljes AC kimeneti energiája (A:0x0052) szervizattribútum.
A hálózatról / A hálózathozA hálózati teljesítmény vételezési és betáplálási része a mérőből vagy CT-ből (A:0x0046–0x0047, alsó szó elöl), a hozzájuk tartozó teljes energiaszámlálókkal (A:0x004A és A:0x0048, 0,01 kWh).
Az akkumulátorhoz / Az akkumulátortólAz 1. akkumulátor teljesítményének (A:0x0016) töltési és kisütési része, a teljes töltött és kisütött energiával (A:0x0021, A:0x001D).
FogyasztásSzámított háztartási fogyasztás: az inverter AC teljesítménye mínusz a hálózati betáplálás. A SolaX-nak nincs fogyasztási regisztere; az EPS (tartalék) kimenetre kötött fogyasztók nincsenek benne.
Akkumulátor (SOC)Az 1. akkumulátor töltöttségi állapota (A:0x001C). A maradék és a még betölthető energia (A:0x0118, A:0x0116) szervizattribútum.

Energiamenedzser

Az Energiamenedzser smart rule-hoz a Grid - power balance eszközt válaszd. Előjeles: pozitív, amikor a hálózatból vételezel, negatív, amikor többletet táplálsz be. Az A hálózatról és az A hálózathoz mérő soha nem negatív, és nem mutatja a többletet.

Monitorozás

  • Battery 2 - state of charge — a második akkumulátorcsatlakozó (BAT 2), a teljesítményével és hőmérsékletével szervizattribútumként; második akkumulátor nélkül 0-t mutat
  • Battery - temperature — előjeles értékként olvassa, így a 0 °C alatti hőmérséklet is helyesen jelenik meg
  • Inverter - AC power — az inverter AC portján mért három fázisteljesítmény összege kW-ban
  • Grid - voltage L1 — a hálózati L2 és L3 feszültséggel, valamint a három hálózati frekvenciával szervizattribútumként

Inverterbeállítások

EszközOlvasásÍrás
Settings - work modeH:0x008B: Self use, Feed-in priority, Backup, Manual, Peak shaving, Time of use (az utolsó kettő a firmware-től függ)0x001F
Settings - manual modeH:0x008C: Stop charge and discharge, Force charge, Force discharge (csak Manual üzemmódban érvényes)0x0020
Settings - self-use minimum SOCa H:0x0093 felső bájtja0x0061
Settings - night charge from grida H:0x0093 alsó bájtja0x0062
Settings - night charge target SOCH:0x00940x0063
Settings - export limitH:0x00B6, kW-ban (X3-on egységenként 10 W)0x0042

A SolaX ezeket a beállításokat más címekről olvassa, mint ahová írja őket, ezért a TapHome beépített „csak eltérés esetén írjon" funkciója nem használható. Minden írási szkript ezért először kiolvassa a beállítást, és csak akkor ír (06-os funkció), ha az új érték eltér; ha az inverter zároltnak jelzi a beállításokat, előbb beírja a 2014-es beállítási jelszót a 0x0000 regiszterbe. A minimális SOC és az éjszakai töltési cél soha nem megy 10 % alá (a SolaX tartománya). Egyik eszköz sem ír időszakosan.

Ezek a beállítások EEPROM regiszterek (a SolaX ★ jellel jelöli őket, kb. 1 millió írási ciklus). Ritkán módosítsd őket, és soha ne gyakori automatizálásokból — a spot árak szerinti töltéshez és kisütéshez a Remote control - AC power target eszközt használd.

Remote control - AC power target

Ez az eszköz a SolaX távvezérlés (VPP) 1-es üzemmódját használja — teljesítményvezérlés az inverter AC portján.

  • Előjel: pozitív célérték esetén az inverter teljesítményt vesz fel az AC portján (tölti az akkumulátort, a hálózatból is, ha a PV nem elég); negatív célérték esetén teljesítményt ad le (kisüti az akkumulátort, és amit a ház nem használ fel, az a hálózatba kerül). Az érték kW-ban van.
  • 0 befejezi a távvezérlést: a sablon egyszer beírja a 0-s üzemmódot, és az inverter visszatér a saját üzemmódjába. A 0,5 W alatti célérték 0-nak számít.
  • Bármely más érték: ha az inverter zárolt, a sablon előbb beírja a 2014-es beállítási jelszót (a feloldás minden inverter-újraindítás után elvész), majd egyetlen Modbus kérésben (0x10-es funkció) beírja a 0x007C–0x0088 13 regisztert: 1-es üzemmód, célérték, 120 s időtartam és 60 s időtúllépés. A parancs 60 másodpercenként ismétlődik, amíg a célérték nem 0. Ha a TapHome abbahagyja a küldést, az inverter legfeljebb 2 percig tartja a célértéket, további 1 percig 0 W-ot tart az AC portján, majd magától visszatér a saját üzemmódjába.
  • A Manual üzemmód blokkolja a távvezérlést. A SolaX nem indítja el a távvezérlést, amíg az inverter Manual üzemmódban van — előbb kapcsold Self use (vagy más) üzemmódba.
  • Az inverter a célértéket a modulattribútumokban látható tartományra korlátozza (a távvezérlés minimális és maximális célértéke).
  • Az End remote control modulművelet azonnal beírja a 0-s üzemmódot. Amíg a célérték nem 0, a következő ismétlés újra elindítja a távvezérlést — a végleges leállításhoz állítsd a célértéket 0-ra.
  • Ne kombináld ezt az eszközt a SolaX Cloudból vagy energiaaggregátortól érkező távvezérléssel: amíg a célérték 0, a sablon 60 másodpercen belül befejez minden távvezérlési üzemmódot.
  • A távvezérléshez olyan Core kell, amely mind a 13 regisztert egy kérésben írja. 2022 óta ez minden Core-ra igaz, ha a modul megtartja a sablonból származó MaxPrefetchGroupSize 32 értéket.
  • Az Actual AC power szervizattribútum az inverter által az AC portján jelentett hatásos teljesítményt mutatja W-ban (A:0x0106).

A SolaX a protokolljában nem jelöli EEPROM regiszterként a távvezérlési regisztereket (0x007C–0x0088), de írásban az ellenkezőjét sem erősíti meg. Ez a sablon a Home Assistant és az openHAB közösségek tapasztalatára támaszkodik, amelyek ezeket a regisztereket néhány másodperctől néhány percig terjedő időközönként írják.

Modulattribútumok és -műveletek

  • Run mode (szervizattribútum) — az inverter állapota szövegként: Waiting, Checking, Normal, Fault, Permanent fault, Update, Off-grid waiting, Off-grid, Self testing, Idle, Standby, Remote control (20-as kód); a többi kód Other-ként jelenik meg
  • Machine type (szervizattribútum) — X1 (egyfázisú) vagy X3 (háromfázisú), H:0x0105 holding regiszter
  • Settings lock (szervizattribútum) — Locked vagy Unlocked (A:0x0054)
  • Remote control mode (szervizattribútum) — az aktív távvezérlési üzemmód (A:0x0100): Off, Power control, Energy target, SOC target
  • Remote control - maximum target / minimum target (szervizattribútumok) — az inverter által jelentett megengedett teljesítmény-céltartomány W-ban (A:0x010A, A:0x010C)
  • Unlock settings (password 2014) (szervizművelet) — 2014-et ír a 0x0000 regiszterbe
  • End remote control (szervizművelet) — 0-s üzemmódot ír a 0x007C–0x0088 távvezérlési regiszterekbe

Hibafelismerés

A modul olvasási szkriptje TapHome hibát jelez, ha az üzemmód (A:0x0009) értéke 3 (Fault) vagy 4 (Permanent fault). Emellett két hibaregisztert bitenként elemez, minden hibát saját hibakóddal:

  • Inverter hibakód (32 bites, A:0x0040–A:0x0041, alsó szó elöl olvasva) — mind a 32 bit, a TZ Protect Faulttól a hálózati, PV-, busz- és akkumulátorfeszültség-hibákon, a szigetelési és túlmelegedési hibákon át a Parallel Faultig, a Hard Limit Faultig és a reléhibákig
  • Manager hibakód (16 bites, A:0x0043) — Power Type Fault, Mgr EEPROM Fault, NTC Sample Invalid, alacsony és magas akkumulátor-hőmérséklet, Meter Fault, Bypass Relay Fault és Fan 2 Fault hibaként, Port OC Warning figyelmeztetésként

Hibaelhárítás

Nincs kommunikáció az inverterrel

  1. Ellenőrizd, hogy az RS-485 vezetékek a REMOTE_485A / REMOTE_485B csapokon vannak (1 + 2 vagy 7 + 8 a COM 1 kábelrögzítő RS485 pozíciójában), nem a PARALLEL_485 3–6. csapokon, és nem a COM 2 mérővonalán
  2. Ellenőrizd, hogy a baudráta egyezik az inverteren (Menu → Setting → Advance Setting → Modbus) és a TapHome Modbus RTU interfészen — alapértelmezés szerint 19200
  3. Győződj meg róla, hogy a Modbus Slave ID importparaméter megegyezik az inverter Modbus címével (alapértelmezés 1)
  4. Győződj meg róla, hogy csak egy Modbus master csatlakozik a porthoz
  5. Cseréld fel az A és B vezetéket, ha a kábel polaritása bizonytalan
  6. Győződj meg róla, hogy az RS-485 kábel nem hosszabb 30 m-nél

A távvezérlési célérték a beállítás után rögtön visszaáll 0-ra

Az inverter Manual üzemmódban van, a firmware nem támogatja a távvezérlés 1-es üzemmódját, vagy a célérték kívül esik a modulattribútumokban látható minimális és maximális célértéken. Először az üzemmódot ellenőrizd.

Az inverter elutasítja a beállítások írását

Az inverter zárolt. Futtasd az Unlock settings (password 2014) modulműveletet; a zárolás minden inverter-újraindítás után visszatér (Settings lock modulattribútum).

A hálózati értékek 0-t mutatnak, vagy a Fogyasztás hibásnak tűnik

A Grid - power balance, az A hálózatról, az A hálózathoz és a Fogyasztás az inverter mérőjétől vagy CT-jétől függ. Ellenőrizd a bekötését a COM 2 porton és a beállítását a Menu → Setting → Advance Setting → Meter/CT Setting menüben.

A PV3 teljesítmény vagy a Battery 2 0-t mutat

PV3 csak a háromkövetős modelleken van (például X3-ULT-25K és X3-ULT-30K, az MPPT-k számát lásd a felhasználói kézikönyvben); Battery 2 csak akkor, ha a BAT 2-re második akkumulátor csatlakozik. A nem használt eszközöket rejtsd el a TapHome-ban.

Elérhető eszközök 19

Ezek az eszközök az importálás után jelennek meg a TapHome-ban.

SolaX X3-Ultra Modul
Szerviz attribútumok
Run mode
Machine type
Settings lock
Remote control mode
Remote control - maximum target
Remote control - minimum target
Szerviz műveletek
Unlock settings (password 2014)
End remote control

SolaX X3-Ultra

Olvasás (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"));
Szerviz attribútumok
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"
Szerviz műveletek
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} Villanyóra
Szerviz attribútumok
PV1 power
PV2 power
PV3 power
Inverter AC output - total energy

${deviceType_PVProduction}

Összes fogyasztás olvasása
MODBUSR(A, 0x0094, LittleEndianUint32) / 10
Igény olvasása
(MODBUSR(A, 0x000A, UInt16) + MODBUSR(A, 0x000B, UInt16) + MODBUSR(A, 0x0124, UInt16)) / 1000
Szerviz attribútumok
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 Villanyóra

Grid - power balance

Igény olvasása
MODBUSR(A, 0x0046, LittleEndianInt32) / -1000
${deviceType_PVFromGrid} Villanyóra

${deviceType_PVFromGrid}

Összes fogyasztás olvasása
MODBUSR(A, 0x004A, LittleEndianUint32) / 100
Igény olvasása
MAX(-MODBUSR(A, 0x0046, LittleEndianInt32), 0) / 1000
${deviceType_PVToGrid} Villanyóra

${deviceType_PVToGrid}

Összes fogyasztás olvasása
MODBUSR(A, 0x0048, LittleEndianUint32) / 100
Igény olvasása
MAX(MODBUSR(A, 0x0046, LittleEndianInt32), 0) / 1000
${deviceType_PVToBattery} Villanyóra

${deviceType_PVToBattery}

Összes fogyasztás olvasása
MODBUSR(A, 0x0021, LittleEndianUint32) / 10
Igény olvasása
MAX(MODBUSR(A, 0x0016, Int16), 0) / 1000
${deviceType_PVFromBattery} Villanyóra

${deviceType_PVFromBattery}

Összes fogyasztás olvasása
MODBUSR(A, 0x001D, LittleEndianUint32) / 10
Igény olvasása
MAX(-MODBUSR(A, 0x0016, Int16), 0) / 1000
${deviceType_PVLoad} Villanyóra

${deviceType_PVLoad}

Igény olvasása
((MODBUSR(A, 0x006C, Int16) + MODBUSR(A, 0x0070, Int16) + MODBUSR(A, 0x0074, Int16)) - MODBUSR(A, 0x0046, LittleEndianInt32)) / 1000
${deviceType_BatterySOC} Analóg bemenet
Szerviz attribútumok
Remaining energy
Chargeable energy

${deviceType_BatterySOC}

Bemeneti szint olvasása
MODBUSR(A, 0x001C, UInt16) / 100
Szerviz attribútumok
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 Analóg bemenet
Szerviz attribútumok
Battery 2 power
Battery 2 temperature

Battery 2 - state of charge

Bemeneti szint olvasása
MODBUSR(A, 0x012D, UInt16) / 100
Szerviz attribútumok
Battery 2 power
TOSTRING(MODBUSR(A, 0x0129, Int16)) + " W"
Battery 2 temperature
TOSTRING(MODBUSR(A, 0x0131, Int16)) + " °C"
Battery - temperature Hőmérséklet-érzékelő

Battery - temperature

Hőmérséklet olvasása
MODBUSR(A, 0x0018, Int16)
Inverter - AC power Változó

Inverter - AC power

Olvasás
(MODBUSR(A, 0x006C, Int16) + MODBUSR(A, 0x0070, Int16) + MODBUSR(A, 0x0074, Int16)) / 1000
Grid - voltage L1 Változó
Szerviz attribútumok
Grid voltage L2
Grid voltage L3
Grid frequency L1
Grid frequency L2
Grid frequency L3

Grid - voltage L1

Olvasás
MODBUSR(A, 0x006A, UInt16) / 10
Szerviz attribútumok
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 Többértékű kapcsoló
Értékek / Állapotok: Self use · Feed-in priority · Backup · Manual · Peak shaving · Time of use

Settings - work mode

Kapcsoló állapot olvasása
MODBUSR(H, 0x008B, UInt16)
Kapcsoló állapot írása
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 Többértékű kapcsoló
Értékek / Állapotok: Stop charge and discharge · Force charge · Force discharge

Settings - manual mode

Kapcsoló állapot olvasása
MODBUSR(H, 0x008C, UInt16)
Kapcsoló állapot írása
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 Fényerőszabályzó

Settings - self-use minimum SOC

Szint olvasása
GETBYTE(MODBUSR(H, 0x0093, UInt16), 1) / 100
Szint írása
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 Kapcsoló
Értékek / Állapotok: ON · OFF

Settings - night charge from grid

Kapcsoló állapot olvasása
GETBYTE(MODBUSR(H, 0x0093, UInt16), 0)
Kapcsoló állapot írása
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 Fényerőszabályzó

Settings - night charge target SOC

Szint olvasása
MODBUSR(H, 0x0094, UInt16) / 100
Szint írása
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 Változó

Settings - export limit

Olvasás
MODBUSR(H, 0x00B6, UInt16) / 100
Írás
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 Változó
Szerviz attribútumok
Actual AC power

Remote control - AC power target

Olvasás
IF(MODBUSR(A, 0x0100, UInt16) = 1, MODBUSR(A, 0x0102, LittleEndianInt32) / 1000, 0)
Írás
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));
Szerviz attribútumok
Actual AC power
TOSTRING(MODBUSR(A, 0x0106, LittleEndianInt32)) + " W"
Kapcsolat: Modbus RTU • 19200 baud• 8N1 • Slave ID: $[SlaveId]

Importálási paraméterek

Ezeket az értékeket az XML importálásakor adja meg.

Az alkalmazás kériAlapérték
Modbus Slave ID1

Talált problémát ezzel az eszközsablonnal?

Írja meg, mi nem működik, mi hiányzik, vagy hogyan kellene a sablonnak viselkednie. Visszajelzése segít, hogy a katalógus pontos maradjon.

Sablon · TapHome portál SolaX X3-Ultra Hybrid Inverter — monitoring and power control (Modbus RTU) Nyisd meg ezt a sablont az ügyfélportálon, hogy alkalmazd az otthonaid egyikére, vagy készíts egy módosítást és küldd vissza a katalógusba. Modbus RTU Megnyitás a TapHome portálon