NEWS
Modbus Fronius-Akku Steuerung
-
Re: [geklärt]Mit Modbus Fronius-Akku aus dem Netz beladen
Bezugnehmend auf oben genannten Thread habe ich ebenfalls den Modbus-Adapter installiert. Soweit passt auch alles, allerdings macht der Akku nicht, was er soll.
Ich sehe im Debug des Modbus-Adapters, dass die Anpassung der Werte erfolgreich war, aber dem Fronius Wechselrichter sind die eingetragenen Werte zum blockieren des Ladens und Entladens (Werte: 0 in den Registern 40355 und 40366) egal und er lädt und entlädt munter weiter.
modbus.1 2025-09-09 17:00:31.376 debug Write successfully [40348]: 3 modbus.1 2025-09-09 17:00:31.248 debug Write successfully [40356]: 0 modbus.1 2025-09-09 17:00:31.239 debug Write successfully [40355]: 0 modbus.1 2025-09-09 17:00:31.237 debug state Changed ack=false: modbus.1.holdingRegisters.1.40348_StorCtl_Mod: {"val":3,"ack":false,"ts":1757430031231,"q":0,"c":"script.js.common.Energy.WinterManagement","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1757430031231} modbus.1 2025-09-09 17:00:31.237 debug state Changed ack=false: modbus.1.holdingRegisters.1.40356_InWRte: {"val":0,"ack":false,"ts":1757430031231,"q":0,"c":"script.js.common.Energy.WinterManagement","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1757429899167} modbus.1 2025-09-09 17:00:31.235 debug state Changed ack=false: modbus.1.holdingRegisters.1.40355_OutWRte: {"val":0,"ack":false,"ts":1757430031231,"q":0,"c":"script.js.common.Energy.WinterManagement","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1757429899167MOD-EDIT: Code in code-tags gesetzt!
Ich habe bereits im IO-Leistungsmanagement den Modbus auf Priorität 1 gestellt, aber die Einstellungen werden scheinbar nicht übernommen.
Kann mir jemand helfen?
-
Re: [geklärt]Mit Modbus Fronius-Akku aus dem Netz beladen
Bezugnehmend auf oben genannten Thread habe ich ebenfalls den Modbus-Adapter installiert. Soweit passt auch alles, allerdings macht der Akku nicht, was er soll.
Ich sehe im Debug des Modbus-Adapters, dass die Anpassung der Werte erfolgreich war, aber dem Fronius Wechselrichter sind die eingetragenen Werte zum blockieren des Ladens und Entladens (Werte: 0 in den Registern 40355 und 40366) egal und er lädt und entlädt munter weiter.
modbus.1 2025-09-09 17:00:31.376 debug Write successfully [40348]: 3 modbus.1 2025-09-09 17:00:31.248 debug Write successfully [40356]: 0 modbus.1 2025-09-09 17:00:31.239 debug Write successfully [40355]: 0 modbus.1 2025-09-09 17:00:31.237 debug state Changed ack=false: modbus.1.holdingRegisters.1.40348_StorCtl_Mod: {"val":3,"ack":false,"ts":1757430031231,"q":0,"c":"script.js.common.Energy.WinterManagement","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1757430031231} modbus.1 2025-09-09 17:00:31.237 debug state Changed ack=false: modbus.1.holdingRegisters.1.40356_InWRte: {"val":0,"ack":false,"ts":1757430031231,"q":0,"c":"script.js.common.Energy.WinterManagement","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1757429899167} modbus.1 2025-09-09 17:00:31.235 debug state Changed ack=false: modbus.1.holdingRegisters.1.40355_OutWRte: {"val":0,"ack":false,"ts":1757430031231,"q":0,"c":"script.js.common.Energy.WinterManagement","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1757429899167MOD-EDIT: Code in code-tags gesetzt!
Ich habe bereits im IO-Leistungsmanagement den Modbus auf Priorität 1 gestellt, aber die Einstellungen werden scheinbar nicht übernommen.
Kann mir jemand helfen?
@daniel1993
Hallo Daniel, ich versuche dir zu helfen. Nach den angeführten Registern vermute ich, dass du einen Gen24 betreibst.
Zur Sicherheit: Hast du die Zeitsteuerungen im Wechselrichter deaktiviert?Was möchtest du gerne per modbus steuern?
Für die Akkusteuerung gibt es 3 Register:
40348 StorCtl_Mod Activate hold/discharge/charge storage control mode
40355 OutWRte Percent of max discharge rate.
40356 InWRte Percent of max charging rate.40348: Wert 0 Hold, ich glaube, hiermit übernimmt der Wechselrichter die Steuerung
Wert 1 Discharge
Wert 2 Charge
Wert 3 Discharge und Charge
bei 1 mit 40355 die max Entladung in %
bei 2 mit 40356 die max Ladung in %
bei 3 mit 40355 und 40356 einen Lade/Entladebereich festlegen, soll mit diesem Wert zB mit 30 % geladen werden: 40355 auf -30 und 40356 auf 30 setzenWenn du die Register 40355 und 40356 auf 0 setzt und damit die Ladung/Entladung beeinflussen willst, musst du 40348 auf 3 stellen.
LG Thomas
-
Re: [geklärt]Mit Modbus Fronius-Akku aus dem Netz beladen
Bezugnehmend auf oben genannten Thread habe ich ebenfalls den Modbus-Adapter installiert. Soweit passt auch alles, allerdings macht der Akku nicht, was er soll.
Ich sehe im Debug des Modbus-Adapters, dass die Anpassung der Werte erfolgreich war, aber dem Fronius Wechselrichter sind die eingetragenen Werte zum blockieren des Ladens und Entladens (Werte: 0 in den Registern 40355 und 40366) egal und er lädt und entlädt munter weiter.
modbus.1 2025-09-09 17:00:31.376 debug Write successfully [40348]: 3 modbus.1 2025-09-09 17:00:31.248 debug Write successfully [40356]: 0 modbus.1 2025-09-09 17:00:31.239 debug Write successfully [40355]: 0 modbus.1 2025-09-09 17:00:31.237 debug state Changed ack=false: modbus.1.holdingRegisters.1.40348_StorCtl_Mod: {"val":3,"ack":false,"ts":1757430031231,"q":0,"c":"script.js.common.Energy.WinterManagement","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1757430031231} modbus.1 2025-09-09 17:00:31.237 debug state Changed ack=false: modbus.1.holdingRegisters.1.40356_InWRte: {"val":0,"ack":false,"ts":1757430031231,"q":0,"c":"script.js.common.Energy.WinterManagement","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1757429899167} modbus.1 2025-09-09 17:00:31.235 debug state Changed ack=false: modbus.1.holdingRegisters.1.40355_OutWRte: {"val":0,"ack":false,"ts":1757430031231,"q":0,"c":"script.js.common.Energy.WinterManagement","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1757429899167MOD-EDIT: Code in code-tags gesetzt!
Ich habe bereits im IO-Leistungsmanagement den Modbus auf Priorität 1 gestellt, aber die Einstellungen werden scheinbar nicht übernommen.
Kann mir jemand helfen?
-
@daniel1993
Hallo Daniel, ich versuche dir zu helfen. Nach den angeführten Registern vermute ich, dass du einen Gen24 betreibst.
Zur Sicherheit: Hast du die Zeitsteuerungen im Wechselrichter deaktiviert?Was möchtest du gerne per modbus steuern?
Für die Akkusteuerung gibt es 3 Register:
40348 StorCtl_Mod Activate hold/discharge/charge storage control mode
40355 OutWRte Percent of max discharge rate.
40356 InWRte Percent of max charging rate.40348: Wert 0 Hold, ich glaube, hiermit übernimmt der Wechselrichter die Steuerung
Wert 1 Discharge
Wert 2 Charge
Wert 3 Discharge und Charge
bei 1 mit 40355 die max Entladung in %
bei 2 mit 40356 die max Ladung in %
bei 3 mit 40355 und 40356 einen Lade/Entladebereich festlegen, soll mit diesem Wert zB mit 30 % geladen werden: 40355 auf -30 und 40356 auf 30 setzenWenn du die Register 40355 und 40356 auf 0 setzt und damit die Ladung/Entladung beeinflussen willst, musst du 40348 auf 3 stellen.
LG Thomas
@gto Darf ich mich hier bitte dranhängen?
Versuche auch gerade über modbus meine BYD HVS Batterie z. B. vom Netz zu laden.
- Steuerungspriorität ist modbus Prio 1
- keine Zeitabhängigen Steuervorgaben im WR -Energiemanagement-Batteriemanagement-Zeitabhängige Steuerung
- Modbus TCP Server, Port 502, int + SF, Offset 200, Steuerung erlauben
- Holding Register sind in der modbus Instanz eingetragen und werden in den Objekten auch mit Werten angezeigt.
Wenn ich nun z.B. das Register 40355, oder 40356 im Zusammenhang mit 40348 ändern möchte, werden die Register sofort wieder mit 10000, bzw 0 zurückgesetzt. Siehe Bild
Woran kann es liegen, das der WR die Registeränderungen nicht zulässt?
Die im Fronius Dokument 42,0410,2049 Operating Instructions - Fronius Datamanager 2.0 - Modbus RTU & TCP - Basic Storage Control Model ab Seite 43 genannten Beispiele kann ich leider nicht nachführen, da die Register sofort wieder auf Ursprungswert zurückgesetzt werden.Würde mich über Tips, bzw. gemachte Erfahrungen riesig freuen.

-
@gto Darf ich mich hier bitte dranhängen?
Versuche auch gerade über modbus meine BYD HVS Batterie z. B. vom Netz zu laden.
- Steuerungspriorität ist modbus Prio 1
- keine Zeitabhängigen Steuervorgaben im WR -Energiemanagement-Batteriemanagement-Zeitabhängige Steuerung
- Modbus TCP Server, Port 502, int + SF, Offset 200, Steuerung erlauben
- Holding Register sind in der modbus Instanz eingetragen und werden in den Objekten auch mit Werten angezeigt.
Wenn ich nun z.B. das Register 40355, oder 40356 im Zusammenhang mit 40348 ändern möchte, werden die Register sofort wieder mit 10000, bzw 0 zurückgesetzt. Siehe Bild
Woran kann es liegen, das der WR die Registeränderungen nicht zulässt?
Die im Fronius Dokument 42,0410,2049 Operating Instructions - Fronius Datamanager 2.0 - Modbus RTU & TCP - Basic Storage Control Model ab Seite 43 genannten Beispiele kann ich leider nicht nachführen, da die Register sofort wieder auf Ursprungswert zurückgesetzt werden.Würde mich über Tips, bzw. gemachte Erfahrungen riesig freuen.

@raspmad hi, deine Werte aus den Objekten sehen ungewöhnlich aus. Beim Control 0 0 …3 und bei den Lade/Entladewerten 10000w, letzteres wird in Prozent eingegeben.
Mach bitte in der Modbusinstanz von den entsprechenden Holdingregistern im Expertenmodus (Kopf) einen Screenshot. -
Hallo
Ich beziehe mich nur auf die 4 Register zur Akkusteuerung:
Ändere mal:
StorCtl_Mod auf Unsigned 16 Bit (Big Endian)
OutWRte und InWRte: Faktor auf 1, unter Formel x * Math.pow(10, sf['40368']), Einheit %
40368: Haken in Spalte SF setzen
Die gewünschten Werte zur Lade- oder Entladeleistung werden 5stellig eingegeben, also für 100% Ladung Control 2 und In 10000, du kannst aber auch Controlk auf 3 stellen und dann In 10000 und Out -10000 für maximale Ladung. Möchtest du nur mit WR-Leistung die Batterie laden dann In 10000 und Out 0. Bei Entladung umgekehrt.PS:
Ich rate dir generell bei allen ScaleFactor-Registern den Haken SF zu setzen und die entsprechenden Korrekturen nicht mit dem Faktor sondern als Berechnung in der Spalte Formel mit dem ScaleFaktor zu machen. Zukünftige Änderungen in der Skalierung sind dann nicht manuell zu ändern. -
Habe die Änderungen vorgenommen.
BYD-Batterie Status ist auf 3, da gerade Ladung über PV stattfindet. Ist also korrekt.
modbus.0.holdingRegisters.1.40354_ChaSt steht so gut wie immer auf 6 = Hold.
Werte kann ich in den In/Out Registern und dem 40348_StorCtl_Mod nicht schreiben. Wird sofort wieder auf 100%, bzw beim StorCtl_Mod auf 0 gesetzt.
Irgendwo scheint ein setup im WR das Ändern der Register nicht zuzulassn.

-
Hi,
da die Kommunikation ja zu funktionieren scheint, ist es wohl wahrscheinlich das auf der "Allgemeines"-Seite Deiner Modbus-Instanz alles richtig ist, aber zur Sicherheit:
TCP, Port 502, Geräte ID 1, mehrere Geräte zugelassen und Typ = Master?

