TapHome

Huawei SUN2000 (Modbus RTU)

Modbus RTU
Eingereicht von
Zuletzt aktualisiert: 03. 2026
Huawei SUN2000 (Modbus RTU)

Die Huawei SUN2000 3-10KTL sind dreiphasige String-Wechselrichter für Haus-PV-Anlagen mit Nennleistungen von 3 kW bis 10 kW. Diese Vorlage verbindet den Wechselrichter über Modbus RTU via RS-485 durch den COM-Port an der Unterseite des Geräts. Im Gegensatz zur TCP-Variante (die einen Smart Dongle für die Netzwerkanbindung verwendet) kommuniziert die RTU-Variante direkt über den seriellen RS-485-Bus.

Die Vorlage bietet Wirkleistungsüberwachung und -steuerung, DC-Eingangsleistung mit netzseitigen Messungen, PV-String-Strom und -Spannungswerte, Netzeinspeisezähler (über Smart Power Sensor), Batterieladezustand (SOC), tägliche und kumulierte Energiezähler sowie detaillierten Wechselrichterstatus mit Alarmauswertung.

Huawei warnt, dass die Modbus RTU-Kommunikation instabil werden kann, wenn der Wechselrichter über den WLAN Smart Dongle mit Cloud-Servern kommuniziert. Trennen Sie den WLAN Smart Dongle vor der Nutzung von Modbus RTU, um CRC-Fehler und Kommunikationsausfälle auf dem RS-485-Bus zu vermeiden.

Hardwareanschluss

Der SUN2000-Wechselrichter verfügt über einen 16-poligen COM-Port (#8) an der Unterseite. Der COM-Port stellt zwei separate RS-485-Busse bereit:

BusPinsZweck
Bus 1Pin 1 (485A1-1), Pin 3 (485B1-1)Kaskadierung von Wechselrichtern, SmartLogger, TapHome-Anschluss
Bus 2Pin 7 (485A2), Pin 9 (485B2)Smart Power Sensor, Energiespeicher

Für den TapHome Modbus RTU-Anschluss Bus 1 verwenden:

  • Pin 1 (485A1-1) – mit RS-485 A+ des TapHome-Controllers verbinden
  • Pin 3 (485B1-1) – mit RS-485 B- des TapHome-Controllers verbinden
  • Pin 5 (PE) – Schirmung (optional, empfohlen)
Anschlussposition am Wechselrichter
Unterseite des SUN2000-Wechselrichters mit COM-Port (#8) und Smart-Dongle-Port (#9)

Der COM-Port (#8) befindet sich an der Unterseite neben dem AC-Ausgangsport (#7) und dem Smart-Dongle-Port (#9).

COM-Port-Belegung
16-poliger COM-Port-Stecker des SUN2000 mit Pin-Nummerierung
PinBezeichnungFunktion
1485A1-1RS-485 A+ (Bus 1) – mit TapHome A+ verbinden
2485A1-2RS-485 A+ (Bus 1) – für Kaskadierung zum nächsten Wechselrichter
3485B1-1RS-485 B- (Bus 1) – mit TapHome B- verbinden
4485B1-2RS-485 B- (Bus 1) – für Kaskadierung zum nächsten Wechselrichter
5PESchirmerdung
7485A2RS-485 A+ (Bus 2) – Smart Power Sensor
9485B2RS-485 B- (Bus 2) – Smart Power Sensor
RS-485-Kabelinstallation
Installation des RS-485-Signalkabels in den COM-Port-Stecker mit Pin-Positionen 485A1-1, 485B1-1 und PE

Verwenden Sie ein geschirmtes Außen-Twisted-Pair-Kabel. Den Außenmantel ca. 55 mm und die innere Isolierung 12-14 mm abisolieren. Adern in die richtigen Pin-Positionen des Signalkabelsteckers einführen, dann den Stecker in den COM-Port einsetzen und im Uhrzeigersinn verriegeln. Mit M3-Schraube sichern (Drehmoment: 0,55 N.m).

Das RS-485-Signalkabel getrennt von Leistungskabeln verlegen, um elektromagnetische Störungen zu vermeiden.

Konfiguration

Kommunikationsparameter
ParameterWert
ProtokollModbus RTU
Baudrate9600 bps
Datenbits8
ParitätKeine
Stoppbits1
Slave-ID1 (Standard, konfigurierbar über FusionSolar-App)
Slave-ID einstellen

Die Standard-Modbus-Slave-Adresse ist 1. Zum Ändern:

  1. Mit dem Wechselrichter über die FusionSolar-App verbinden (Standard-WLAN-Passwort: Changeme)
  2. Als Installateur anmelden (Standard-Passwort: 00000a)
  3. Zu den Kommunikationseinstellungen navigieren und die RS-485-Adresse ändern
  4. Standard-Passwort sofort nach der ersten Anmeldung ändern

Der WLAN Smart Dongle muss für eine stabile Modbus RTU-Kommunikation getrennt sein. Wenn der Dongle für das FusionSolar Cloud-Monitoring installiert ist, nach der Konfiguration und vor dem Anschluss von TapHome über RS-485 entfernen.

Gerätefunktionen

Die Vorlage stellt folgende Geräte bereit:

Wirkleistung

Ein Stromzähler, der die aktuelle AC-Ausgangsleistung des Wechselrichters in kW liest (Register H:32080, Int32, geteilt durch 1000). Dies ist das primäre Überwachungsgerät mit Lese- und Schreibfunktionen.

Service-Attribute umfassen Tagesspitzenwirkleistung (H:32078), Blindleistung in kVar (H:32082), Nennleistung, maximale Wirkleistung, maximale Scheinleistung und maximale Blindleistung (Einspeisung und Bezug).

Drei Service-Aktionen ermöglichen die Leistungssteuerung:

  • Blindleistungskompensation (PF) – Leistungsfaktor von -1,0 bis 1,0 setzen (schreibt in H:40122)
  • Blindleistungskompensation (Q/S) – Blindleistungsverhältnis von -1,0 bis 1,0 setzen (schreibt in H:40123)
  • Wirkleistungsreduzierung (%) – Ausgangsleistung als Prozentsatz 0-100 % begrenzen (schreibt in H:40125)
Batterie

Zeigt den Batterieladezustand in Prozent an (Register H:37760, UInt16, geteilt durch 1000). Ein Service-Attribut zeigt den Betriebsstatus der Batterie (H:37762) mit den Werten: Offline, Standby, Betrieb, Fehler oder Schlafmodus.

Das Batteriegerät erscheint nur dann als funktionsfähig, wenn eine LUNA2000-Batterie am Wechselrichter angeschlossen ist. Ohne Batterie zeigt der Betriebsstatus „Offline" und der SOC liest null.

Netzeinspeisezähler

Liest die aktive Netzleistung vom Smart Power Sensor in kW (Register H:37113, Int32, geteilt durch 1000) und die ins Netz eingespeiste Energie in kWh (Register H:37119, Int32, geteilt durch 100). Positive Werte zeigen Einspeisung ins Netz, negative Werte zeigen Netzbezug an.

Service-Attribute zeigen den Zählerstatus (Normal/Offline) und den Zählertyp (3-phasig/1-phasig).

Das Gerät Netzeinspeisezähler erfordert einen Huawei Smart Power Sensor (DTSU666-H), der über RS-485 Bus 2 (Pins 7 und 9 am COM-Port) am Wechselrichter angeschlossen ist. Dieses Gerät ist in der TCP-Variante nicht vorhanden.

DC-Eingangsleistung

Nur-Lese-Sensor, der die gesamte DC-Leistung aller PV-Strings kombiniert in kW anzeigt (Register H:32064, Int32, geteilt durch 1000).

Service-Attribute liefern netzseitige Messungen: Netzfrequenz (H:32085), Phasenspannungen A/B/C (H:32069-32071), Phasenströme A/B/C (H:32072-32076) und verkettete Spannungen AB/BC/CA (H:32066-32068).

Tagesenergie und Gesamtenergie

Zwei Nur-Lese-Energiezähler:

  • Tagesenergie – heute erzeugte Energie in kWh (Register H:32114, geteilt durch 100), wird täglich zurückgesetzt
  • Gesamtenergie – kumulierte Energie seit Inbetriebnahme in kWh (Register H:32106, geteilt durch 100)
PV-String-Ströme (PV1-PV2)

Zwei separate Sensorgeräte, eines pro PV-String, die den DC-Strom in Ampere lesen (Register H:32017 und H:32019, Int16, geteilt durch 100). Jedes Gerät enthält ein Service-Attribut für die entsprechende String-Spannung (H:32016 und H:32018, geteilt durch 10).

Die RTU-Vorlage enthält 2 PV-String-Geräte (PV1-PV2) gegenüber 4 in der TCP-Variante. Die Registerkarte unterstützt bis zu 24 Strings — weitere PV-String-Geräte können bei Bedarf manuell hinzugefügt werden.

Wechselrichterstatus

Ein Mehrwertsschalter (nur Lesen), der den aktuellen Betriebszustand des Wechselrichters aus Register H:32089 anzeigt:

WertZustandBeschreibung
0WechselrichterzustandInitial / unbekannt
1LeerlaufErkennung ISO, Einstrahlung oder Netz
2StartvorgangWechselrichter startet
3Am NetzNormaler Einspeisebetrieb
4AbschaltungFehler, Befehl, OVGR oder DC-Trenner
5NetzdispatchAktive cos(Phi)-P oder Q-U-Kurve
6IV-ScanPV-String I-V-Kurven-Scan
7StichprüfungNetz-Stichprüfung läuft
8InspektionInspektionsmodus
9DC-EingangserkennungDC-Eingang wird erkannt

Service-Attribute liefern detaillierte Statusinformationen: Vollständiger Zustand (erweiterter Status mit Unterzuständen), Netzverbindung, Fernmeldung (IEC104-Telesignalisierung), Sperrstatus, PV-Verbindungsstatus sowie Start- und Abschaltzeitstempel.

Alarmüberwachung

Das Skript auf Modulebene überwacht Alarmregister H:32008 und H:32009 (Bitfield16). Jedes Bit entspricht einem bestimmten Fehler oder einer Warnung:

RegisterBitAlarm
H:320080Hohe String-Spannung
H:320081DC-Lichtbogenfehler
H:320082String-Umpolung
H:320083Abnormaler String (Warnung)
H:320087Netzausfall
H:320088-9Netz-Unter-/Überspannung
H:3200811-13Netzfrequenzfehler
H:3200814-15Ausgangsüberstrom / DC-Komponente
H:320090Abnormaler Ableitstrom
H:320091-2Erd-/Isolationsfehler
H:320093-4Hohe Temperatur / Gerätefehler
H:320099Abnormales Energiespeichergerät
H:3200910-11Aktive/passive Inselbildung
Diagnose auf Modulebene

Das Modul stellt Service-Attribute für Geräteidentifikation und Diagnose bereit:

AttributRegisterBeschreibung
ModellnameH:30000Wechselrichter-Typenschild-Modell
SNH:30015Seriennummer
PNH:30025Produktcode
Model IDH:30070Numerische Modellkennung
Anzahl der StringsH:30071Angeschlossene PV-Strings
MPPT-AnzahlH:30072Anzahl der MPP-Tracker
ZeitzoneH:43006UTC-Offset
Wechselrichter-WirkungsgradH:32086Konversionswirkungsgrad (%)
GehäusetemperaturH:32087Innentemperatur des Gehäuses
IsolationswiderstandH:32088PV-Array-Isolation
DSP-DatenerfassungH:32002Datenerfassungsstatus

Die Service-Aktion Zeitzone ermöglicht das Setzen des UTC-Offsets des Wechselrichters (schreibt in H:43006).

Weitere Funktionen

Der SUN2000-Wechselrichter stellt weitere Register bereit, die noch nicht in der Vorlage implementiert sind. Dazu gehören Firmware-Version, Fehlercode-Register, schneller aktualisierter Wirkleistungswert, Gesamt-DC-Eingangsenergiezähler, Monats- und Jahresenergiezähler, Batterie-Lade-/Entladeleistung, unsignierte Netzeinspeisung, akkumulierte Netzenergie sowie Fernein-/ausschaltbefehle. Diese können in einem zukünftigen Vorlagen-Update hinzugefügt werden.

Unterschiede zur TCP-Variante

Die RTU-Vorlage enthält zwei Geräte, die in der TCP-Variante nicht vorhanden sind: den Netzeinspeisezähler (Smart Power Sensor-Messungen) und die Batterie mit SOC-Anzeige. Allerdings enthält die RTU-Vorlage nur 2 PV-String-Geräte (PV1-PV2) gegenüber 4 in der TCP-Variante. Die Registerkarte ist identisch — nur die Transportschicht unterscheidet sich (serielles RS-485 gegenüber TCP/IP über Smart Dongle).

Fehlerbehebung

Keine Modbus-Kommunikation
  1. RS-485-Kabel auf korrekte COM-Port-Pins prüfen: Pin 1 (485A1-1) = A+, Pin 3 (485B1-1) = B-
  2. Sicherstellen, dass der WLAN Smart Dongle getrennt ist
  3. Prüfen, dass Baudrate auf 9600 und Parität auf Keine (8N1) in TapHome eingestellt ist
  4. Korrekte Slave-ID bestätigen (Standard: 1)
  5. Prüfen, ob der Signalkabelstecker vollständig eingesteckt und im COM-Port verriegelt ist
Sporadische Kommunikationsfehler

Die häufigste Ursache ist der WLAN Smart Dongle, der den RS-485-Bus stört. Die interne Kommunikation des Dongles mit Huawei Cloud-Servern verursacht CRC-Fehler auf dem seriellen Bus. Dongle für stabilen RTU-Betrieb entfernen.

PV-String-Werte lesen null

Unbenutzte PV-String-Eingänge lesen immer 0 A / 0 V. Dies ist normal, wenn das Wechselrichtermodell weniger MPPT-Eingänge hat als die Vorlage vorsieht (z.B. ein 3KTL-Modell verwendet möglicherweise nur PV1 und PV2).

Batteriegerät zeigt „Offline"

Die LUNA2000-Batterieregister werden nur dann befüllt, wenn eine kompatible Batterie physisch am Wechselrichter angeschlossen ist. Ohne Batterie liest der Betriebsstatus „Offline" und der SOC ist null.

Wechselrichterstatus hängt auf „Leerlauf"

Bei Nacht oder schwacher Einstrahlung wechselt der Wechselrichter in den Leerlaufmodus. Dies ist normal — er wechselt zu „Am Netz", sobald ausreichende Solarstrahlung erkannt wird. Der Wechselrichter kann im Standby-Modus eingeschränkte Datenverfügbarkeit haben.

Netzeinspeisezähler liest null

Das Gerät Netzeinspeisezähler erfordert einen Huawei Smart Power Sensor (DTSU666-H), der über RS-485 Bus 2 (Pins 7 und 9) angeschlossen ist. Ist kein Zähler installiert, lesen die Werte null und der Zählerstatus zeigt „Offline".

Verfügbare Geräte

SUN2000 Modul
Serviceattribute
Modellname
SN
PN
Model ID
Anzahl der Strings
MPPT-Anzahl
ZeitzoneUTC-Offset des Wechselrichters — liest und zeigt die konfigurierte Zeitzone
Wechselrichter-WirkungsgradDC-zu-AC-Konversionswirkungsgrad in Prozent
GehäusetemperaturInnentemperatur des Wechselrichtergehäuses
IsolationswiderstandIsolationswiderstand des PV-Arrays in Megaohm — überwacht die Isolationssicherheit
DSP-DatenerfassungDatenerfassungsstatus — Ja (aktiv) oder Nein (inaktiv)
Serviceaktionen
ZeitzoneUTC-Offset des Wechselrichters setzen — von UTC-12:00 bis UTC+14:00 wählen

SUN2000

Lesen (Modul)
var a1 := MODBUSR(H, 32008, Uint16);
var a2 := MODBUSR(H, 32009, Uint16);
IF(GETBIT(a1,0) = 1, ADDERROR("High String Voltage", 2001));
IF(GETBIT(a1,1) = 1, ADDERROR("DC Arc Fault", 2002));
IF(GETBIT(a1,2) = 1, ADDERROR("String Reversed", 2011));
IF(GETBIT(a1,3) = 1, ADDWARNING("PV String Backfeed ", 2012));
IF(GETBIT(a1,4) = 1, ADDWARNING("Abnormal String", 2013));
IF(GETBIT(a1,5) = 1, ADDERROR("AFCI Self-test Fault", 2021));
IF(GETBIT(a1,6)= 1, ADDERROR("Short circuit between phase to PE ", 2021));
IF(GETBIT(a1,7) = 1, ADDERROR("Power Grid Failure ", 2032));
IF(GETBIT(a1,8) = 1, ADDERROR("Grid Undervoltage ", 2033));
IF(GETBIT(a1,9) = 1, ADDERROR("Grid Overvoltage", 2034));
IF(GETBIT(a1,10) = 1, ADDERROR("Unbalanced Grid Voltage", 2035));
IF(GETBIT(a1,11) = 1, ADDERROR("Grid Overfrequency", 2036));
IF(GETBIT(a1,12) = 1, ADDERROR("Grid Underfrequency", 2037));
IF(GETBIT(a1,13) = 1, ADDERROR("Grid Frequency Instability", 2038));
IF(GETBIT(a1,14) = 1, ADDERROR("Output Overcurrent ", 2039));
IF(GETBIT(a1,15) = 1, ADDERROR("Large DC of Output current ", 2040));
IF(GETBIT(a2,0) = 1, ADDERROR("Abnormal Leakage Current ", 2051));
IF(GETBIT(a2,1) = 1, ADDERROR("Abnormal Ground.", 2061));
IF(GETBIT(a2,2) = 1, ADDERROR("Low Insulation Res. ", 2062));
IF(GETBIT(a2,3) = 1, ADDERROR("High Temperature", 2063));
IF(GETBIT(a2,4) = 1, ADDERROR("Abnormal Equipment", 2064));
IF(GETBIT(a2,5) = 1, ADDERROR("Upgrade Failed", 2065));
IF(GETBIT(a2,6) = 1, ADDWARNING("License Expired", 2066));
IF(GETBIT(a2,7) = 1, ADDERROR("Abnormal Monitor Unit", 61440));
IF(GETBIT(a2,8) = 1, ADDERROR("Power collector fault ", 2067));
IF(GETBIT(a2,9) = 1, ADDERROR("Abnormal energy storage device", 2068));
IF(GETBIT(a2,10) = 1, ADDERROR("Active islanding", 2070));
IF(GETBIT(a2,11) = 1, ADDERROR("Passive islanding", 2071));
IF(GETBIT(a2,12) = 1, ADDERROR("Transient AC overvoltage", 2072));
IF(GETBIT(a2,15) = 1, ADDERROR("Abnormal PV module configuration", 2080));
Serviceattribute
Model Name
MODBUSR(H, 30000, String, 15)
SN
MODBUSR(H, 30015, String, 10)
PN
MODBUSR(H, 30025, String, 10)
Model ID
MODBUSR(H, 30070, Uint16)
Number of Strings
MODBUSR(H, 30071, Uint16)
MPPT Number
MODBUSR(H, 30072, Uint16)
Time Zone
IF(MODBUSR(H, 43006, Int16) = 0, "UTC±00:00");
var time := MODBUSR(H, 43006, Int16)/0.6;
var zone := IF(MOD(time,100) = 0, time/100 + ":00", ROUND(time/100) + ":" + MOD(time,100));
RETURN (IF(time > 0, "UTC+" + zone, "UTC-" + zone ));
Inverter Efficiency
 MODBUSR(H, 32086, Uint16)/100 + "%"
Cabinet Temperature
MODBUSR(H, 32087, Int16) / 10 + " ℃ "
Insulation Resistance
MODBUSR(H, 32088, Uint16)/1000 + "MΩ "
DSP data collection
IF(GETBIT(MODBUSR(H, 32002, Uint16),0) = 1, "Yes", "No")
Serviceaktionen
Time Zone
Parameter: Time Zone
MODBUSWNE(H, 43006, Int16, timz*60)
Wirkleistung Stromzähler

Stromzähler mit Wirkleistung (kW), Blindleistung, Leistungsfaktor und Leistungssteueraktionen für Reduzierung und Kompensation

Register: H:32080 Int32 Einheit: kW numeric
Serviceattribute
Tagesspitzenwirkleistung
Blindleistung
Nennleistung
Blindleistungskompensation (PF)
Blindleistungskompensation (Q/S)
Wirkleistungsreduzierung Prozent (0,1 %)
Wirkleistungsreduzierung (Festwert W)
Maximale Wirkleistung
Maximale Scheinleistung
Maximale Blindleistung (Einspeisung ins Netz)
Maximale Blindleistung (Netzbezug)
Serviceaktionen
Blindleistungskompensation (PF)Leistungsfaktor von -1,0 bis 1,0 für Blindleistungskompensation setzen
Blindleistungskompensation (Q/S)Blindleistungsverhältnis von -1,0 bis 1,0 setzen
Wirkleistungsreduzierung (%)Wechselrichter-Ausgangsleistung als Prozentsatz 0-100 % begrenzen

Wirkleistung

Bedarf lesen
MODBUSR(H, 32080, Int32,2)/1000;
Serviceattribute
Active Power peak of this day
MODBUSR(H, 32078, Int32, 2) + " kW"
Reactive Power
MODBUSR(H, 32082, Int32, 2)/1000 + " kVar"
Rated Power
MODBUSR(H, 30073, Uint32, 2)/1000 + " kW"
Reactive Power Compensation (PF)
MODBUSR(H, 40122, Int16)/1000
Reactive Power Compensation (Q/S)
MODBUSR(H, 40123, Int16)/1000
Active Power Derating percent (0.1%)
MODBUSR(H, 40122, Int16)/10 + "%"
Active Power Derating (fixed value W)
MODBUSR(H, 40126, Uint32, 2) + " W"
Maximum Active Power
MODBUSR(H, 30075, Uint32, 2)/1000 + " kW"
Maximum Apparent Power
MODBUSR(H, 30077, Uint32, 2)/1000 + " kVA"
Maximum reactive power (fed to grid)
MODBUSR(H, 30079, Uint32, 2)/1000 + " kVar"
Maximum reactive power (absorbed from grid)
MODBUSR(H, 30081, Uint32, 2)/1000 + " kVar"
Serviceaktionen
Reactive Power Compensation (PF)
Parameter: Reactive power compensation
MODBUSWNE(H, 40122, Int16, pf*1000);
Reactive Power Compensation (Q/S)
Parameter: Reactive power compensation (-1, 1] (-1–1 rpc)
MODBUSW(H, 40123, Int16, rpc*1000);
Active Power Derating Percent(%)
Parameter: Active Power Derating Percent(%) (0–100 apdp)
MODBUSW(H, 40125, Uint16, apdp*10)
Batterie Dimmer Nur lesen

Batterieladezustand (SOC) in Prozent — zeigt die verfügbare Energie im LUNA2000-Speicher

Register: H:37760 UInt16 Einheit: % numeric
Serviceattribute
StatusBetriebsstatus der Batterie — Offline, Standby, Betrieb, Fehler oder Schlafmodus

Batterie

Level lesen
MODBUSR(H, 37760, Uint16) / 1000
Serviceattribute
Status
SWITCH(MODBUSR(H, 37762, Uint16), 0, "offline", 1, "standby", 2, "running", 3, "fault", 4, "sleep mode", "error");
Netzeinspeisezähler Stromzähler Nur lesen

Aktive Netzleistung (kW) und eingespeiste Energie (kWh) vom Smart Power Sensor — positiv ist Einspeisung, negativ ist Bezug

Register: H:37113 Int32 Einheit: kW numeric
Serviceattribute
StatusLeistungsmesserstatus — Normal oder Offline
TypLeistungsmessertyp — 3-phasig oder 1-phasig

Netzeinspeisezähler

Gesamtverbrauch lesen
MODBUSR(H, 37119, Int32) / 100
Bedarf lesen
MODBUSR(H, 37113, Int32) / 1000
Serviceattribute
Status
IF(MODBUSR(H, 37100, Uint16) = 1, "Normal", "Offline");
Type
IF(MODBUSR(H, 37125, Uint16) = 1, "3 phase", "1 phase");
Tagesenergie Variable Nur lesen

Heute erzeugte Energie in kWh — wird um Mitternacht zurückgesetzt

Register: H:32114 Int32 Einheit: kWh numeric

Tagesenergie

Lesen
MODBUSR(H, 32114, Int32, 2)/100
Gesamtenergie Variable Nur lesen

Kumulierte Gesamtenergie seit Inbetriebnahme

Register: H:32106 Int32 Einheit: kWh numeric

Gesamtenergie

Lesen
MODBUSR(H, 32106, Int32, 2)/100
DC-Eingangsleistung Stromzähler Nur lesen

Gesamte DC-Leistung aller PV-Strings kombiniert (kW) mit netzseitigen Messungen — Phasenspannungen, Ströme, verkettete Spannungen und Frequenz

Register: H:32064 Int32 Einheit: kW numeric
Serviceattribute
Spannung Phase A
Spannung Phase B
Spannung Phase C
Strom Phase A
Strom Phase B
Strom Phase C
Spannung AB
Spannung BC
Spannung CA
Frequenz

DC-Eingangsleistung

Bedarf lesen
MODBUSR(H, 32064, Int32, 2)/1000
Serviceattribute
A Voltage
MODBUSR(H, 32069, Int16)/10 + " V"
B Voltage
MODBUSR(H, 32070, Int16)/10 + " V"
C Voltage
MODBUSR(H, 32071, Int16)/10 + " V"
A Current
MODBUSR(H, 32072, Int32, 2)/1000 + " A"
B Current
MODBUSR(H, 32074, Int32, 2)/1000 + " A"
C Current
MODBUSR(H, 32076, Int32, 2)/1000 + " A"
AB Voltage
MODBUSR(H, 32066, Int16)/10 + " V"
BC Voltage
MODBUSR(H, 32067, Int16)/10 + " V"
CA Voltage
MODBUSR(H, 32068, Int16)/10 + " V"
Frequency
MODBUSR(H, 32085, Uint16)/100 + " Hz"
Wechselrichterstatus Mehrwertschalter Nur lesen

Betriebszustand des Wechselrichters — Leerlauf, Startvorgang, Am Netz, Abschaltung, Netzdispatch, IV-Scan, Stichprüfung, Inspektion, DC-Eingangserkennung

Register: H:32089 UInt16 numeric
Werte / Zustände: Initializing · Idle · Starting · On-Grid · Shutdown · Grid Dispatch · IV scanning · Spot-Check · Inspecting · DC input detection

Wechselrichterstatus

Schaltzustand lesen
var reg := MODBUSR(H, 32089, Uint16);
IF(reg = 0, 0,
IF(reg < 4 OR reg = 40960,1,
IF(reg = 256, 2, 
IF(reg < 515, 3, 
IF(reg < 775, 4,
IF(reg = 1025 OR reg = 1026, 5, 
IF(reg = 1280 OR reg = 1281, 7,
IF(reg = 1536, 8, 
IF(reg = 2048, 6,
IF(reg = 2304, 9
))))))))))
Serviceattribute
Full State
var state := MODBUSR(H, 32089, Uint16);
SWITCH(state, 0, "Idle: Initializing",
 1,"Idle: Detecting ISO", 
 2,"Idle: Detecting irradiation", 
 3, "Idle: Grid Detecting", 
 256, "Starting", 
 512, "On-Grid", 
 513, "On-Grid: Power Limit", 
 514, "On-Grid: self-derating", 
 768, "Shutdown: Fault", 
 769, "Shutdown: Command", 
 770, "Shutdown: OVGR", 
 771,"Shutdown: Communication disconnected", 
 772, "Shutdown: Power Limit", 
 773, "Shutdown: Start manually", 
 774, "Shutdown: DC Switch OFF",
 1025, "Grid dispatch:cos(Phi)-P curve",
 1026, "Grid dispatch:Q-U curve",
40960, "Idle: No irradiation",
1280, "Spot-check",
1281, "Spot-checking",
1536, "Inspecting",
1792, "SFCI self-check",
2048, "IV scanning",
2304, "DC input detection",
"Unknown"
 );
Grid Connection
var reg := MODBUSR(H, 32000,Uint16);
IF(GETBIT(reg,0) = 1, "Standby",
IF(GETBIT(reg,2) = 1 , "Normal Grid Connection",
IF(GETBIT(reg,3) = 1, "Grid connection with derating due to power rationing",
IF(GETBIT(reg,4) = 1, "Grid connection with derating due to inverter internal causes", "Not Connected"
)
)
)
)
Teleindication
var reg := MODBUSR(H, 32000,Uint16);
IF(GETBIT(reg,0) = 1, "Standby",
IF(GETBIT(reg,5) = 1 , "Normal Stop",
IF(GETBIT(reg,6) = 1, "Stop due to faults",
IF(GETBIT(reg,7) = 1, "Stop due to power rationing",
IF(GETBIT(reg,8) = 1, "Shutdown",
IF(GETBIT(reg,9) = 1, "Spot check",
IF(GETBIT(reg,1) = 1, "Grid Connected",
"Unknown State")
)
)
)
)
)
)
Locking Status
IF(GETBIT(MODBUSR(H, 32002, Uint16),0) = 1, "Unlocked", "Locked");
PV Connection Status
IF(GETBIT(MODBUSR(H, 32002, Uint16),0) = 1, "Connected", "Disconnected");
Startup time
var reg := MODBUSR(H, 32091, Uint32, 2);
var min := FLOOR(MOD(reg, 3600)/60);
var ho := FLOOR(MOD(reg,86400)/3600);
var minutes := IF(min<10, "0" + min, min);
var hours := IF(ho<10, "0" + ho, ho);
hours + ":" + minutes;
Shutdown time
var reg := MODBUSR(H, 32093, Uint32, 2);
var min := FLOOR(MOD(reg, 3600)/60);
var ho := FLOOR(MOD(reg,86400)/3600);
var minutes := IF(min<10, "0" + min, min);
var hours := IF(ho<10, "0" + ho, ho);
hours + ":" + FLOOR(minutes);
PV1 Strom Variable Nur lesen
Register: H:32017 Int16 Einheit: A numeric
Serviceattribute
PV1 Spannung

PV1 Strom

Lesen
MODBUSR(H, 32017, Int16)/100
Serviceattribute
PV1 Voltage
MODBUSR(H, 32016, Int16)/10 + "V"
PV2 Strom Variable Nur lesen
Register: H:32019 Int16 Einheit: A numeric
Serviceattribute
PV2 Spannung

PV2 Strom

Lesen
MODBUSR(H, 32019, Int16)/100
Serviceattribute
PV2 Voltage
MODBUSR(H, 32018, Int16)/10
Verbindung: Modbus RTU • 9600 baud• 8N1 • Slave ID: $[SlaveId]
Mögliche Verbesserungen (12)
  • H:30035 Firmware Version — STR, 15 regs, read-only — useful for diagnostics
  • H:32010 Alarm 3 — Bitfield16, additional alarm bits not decoded in template readscript
  • H:32090 Fault Code — U16, specific fault code when device is in fault state
  • H:32095 Active Power (fast) — I32, kW, /1000, faster-updating active power reading
  • H:32108 Total DC Input Energy — U32, kWh, /100, cumulative DC energy input
  • H:32116 Monthly Energy — U32, kWh, /100, electricity generated this month
  • H:32118 Yearly Energy — U32, kWh, /100, electricity generated this year
  • H:37765 Battery Charge/Discharge Power — I32, W, positive=charging negative=discharging — would complement existing Battery SOC device
  • H:37121 Grid Exported Energy (unsigned) — U32, kWh, /100, unsigned variant of grid exported energy — complements the signed I32 already in template at H:37119
  • H:37123 Grid Accumulated Energy — U32, kWh, /100, total energy consumed from grid
  • H:40200 Power On — WO, E16, remote inverter power-on command
  • H:40201 Shutdown — WO, E16, remote inverter shutdown command

Quellen