Deye SUN-12K-SG04LP3- Ladesteuerung über RS485

Hallo zusammen,

ich möchte gerne den Lade- bzw. Entladestrom meines DEYE per Modbus vorgeben. Das Auslesen der Register mit Funktionscode 0x3 funktioniert schon mal.

Die Vorgabe eines Ladestroms über Funktionscode 0x10 habe ich bislang aber nicht hinbekommen. Meine Vermutung ist, dass eine generelle Freigabe fehlt.

Mein Status aktuell:

  • auf Register 216 kann ich den aktuellen, tatsächlichen Ladestrom auslesen
  • auf Register 212 und 213 werden mir die im BMS gesetzen Ladestromgrenzen angezeigt (charge/discharge)
  • auf Register 108 “Max A Charge” kann ich den im Menü eingestellten, identisch bezeichneten Wert auslesen

In meinem Fall ist es so, dass ich sobald ich “Grid charge” aktiviere, der DEYE mit dem unter Max A Charge gesetzten Wert beginnt zu laden. D.h. wenn ich diesen Wert, also Register 108 schreiben könnte wäre das wohl zielführend.

Wenn ich mit dem Funktionscose 0x10 aber eine Wert auf das Register 109 sende, bleibt der Wert auf dem direkt im Menü des DEYE gesetzen Wert. Es scheint, also ob ich keine Register beschreiben kann.

Vielleicht hat ja jemand eine Idee, würde mich freuen!

Viele Grüße

Oliver

Hallo,
also ich mache das genauso wie du das beschreibst.
Lese unter anderen mit Funktionscode 3 Register 108 und 109.
Mit Funktionscode 10 kann ich sie auch schreiben.
Es braucht keine Freigabe. Die 10 ist aber eine HEX Zahl, vielleicht funktioniert es deshalb nicht.
Steuere damit vorallen im Sommer den Ladestrom abhängig vom SOC für bessere Aufteilung.
SG

Wie sieht dein Schreibbefehl aus?

Um das Register 108 „Max. A Charge“ auf 20 A zu setzen, sollte das Kommando wie folgt aussehen:

0110006C0001010014 + CRC.

Hallo,

Besten Dank für die Antworten!

Ich sende die MODBUS Botschaften über einen Regler der Technischen Alternative.

Ich habe die Sendebedingung nun von "Einmalig" auf "Intervall" geändert- nun kann ich auf Register den Sollladestrom steuern.

Das ist ein schöner Erfolg für mich. Ich habe dann versucht über das Register 109 einen Discharge current zu senden- leider ohne Erfolg.

Also ich möchte senden, wieviel Ampere aus dem Akku ins Netz fließen, um eine Nullregelung zu realisieren.

Was die Vorzeichen angeht bin ich mir auch unsicher, war aber beides erfolglos. Laut Doku werden für Discharge auch positive Werte erwartet.

Ich vermute hier fehlt wieder eine Freigabe; für das Laden aus dem Netz musste zunächst auch "Grid Charge" aktiviert werden.

Nachdem ich die Register durchgesehen habe, denke ich es liegt an Register 141, mit dem man den Betriebsmodus vorgibt.

Was wäre denn hier für meinen Anwendungsfall korrekt?

Bin für jeden Tipp dankbar,

Gruß

Oliver

In der Regel wird es nicht aus dem Akku ins Netz eingespeist, nur wenn du es explizit befiehlst. Wenn du das Register 104 „ZeroExport power” auf 20 Watt einstellst, werden bei unzureichender PV-Energie 20 Watt aus dem Netz bezogen. Bei der LP-Variante mit der FW bis 1135 kann man über Modbus den „ZeroExport power” auf -20 Watt einstellen, dann werden ständig 20 Watt ins Netz eingespeist. Bei den HP-Varianten sollte es auch mit der neueren Firmware funktionieren.

Was willst du überhaupt erreichen? Bevor du alles über Modbus verstellst, versuche es erst vom Deye Display alles so einzustellen, wie du es möchtest.

Wenn du Nulleinspeisung fahren willst, deaktiviere Solar Sell und stelle Solar Sell Power auf null.

Ich möchte nur eine Nulleinspeisung realisieren. Da ich bereits zwei Strommesszangen(Shelly, Technische Alternative) im Zählerschrank habe, ist kein Platz mehr für die DEYE Zangen.

Deshalb suche ich nach einer anderen Möglichkeit die Nulleinspeisung mit bereits vorhandenem Signal per Modbus zu realisieren.

Den Ladestrom vorzugeben hat funktioniert, nur muss ich natürlich auch den Entladestrom vorgeben können.

Ich werde Mal mit unterschiedlichen Modi-Einstellungen testen.

Besten Dank!

Das ist keine gute Idee. Erstens schaffst du es nicht, eine so schnelle Reaktionszeit zu realisieren, wie Deye es mit den CTs macht. Zweitens werden alle Änderungen über Modbus bei Deye dauerhaft gespeichert. Der Speicher hat aber eine begrenzte Anzahl von Schreibzugriffen. Wenn du Pech hast, erreichst du nach einem Jahr die maximale Anzahl an Schreibzugriffen und dein WR funktioniert eventuell nicht mehr.

Du kannst alle Verbraucher an den Load-Port von Deye anschließen. Dann brauchst du keine CTs im Schaltschrank.

Naja, alle Verbraucher am DEYE anschließen ist bei mehreren Gebäuden incl. Wallbox und Wärmepumpe nicht zielführend.

Ich messe mit meinem Setup eine Reaktionszeit von 10s, was für mich ausreichend ist.

Woher stammt die Info, dass die Register nur begrenzt häufig beschreibbar sind? Würde mich wundern, da externe Geräte ja ab Werk unterstützt werden und die ebenfalls über Modbus kommunizieren.

Viele Grüße

Ich meinte nicht die Register, sondern den EEPROM. Ich habe darüber gelesen. Du kannst die Frage an den Deye-Support stellen und dann hier berichten.

Ich habe nun doch die CTs installiert. Schien mir am Ende die einfachere Lösung zu sein.

Zeitweise hat die Nulleinspeisung dann wie gewünscht funktioniert. Nach ein paar Stunden dann aber nicht mehr. Akku steht bei 79% und es liegt kein Fehler an, weder Akku noch BMS.

Der Deye sieht auch, dass an den CTs Strom fließt, regelt aber auf den LDs nicht dagegen.

Hab den WR Mal komplett neu gestartet, nach dem Umschalten auf Normal werden kurz 200W aus dem Akku gezogen, danach quasi nichts mehr.

Ist dieses Verhalten eventuell ein Softwareproblem? Bei mir ist die 1147 drauf.

Bin für jeden Tipp dankbar.

Gruß

Oliver

Poste bitte deine Einstellungen, am besten, indem du sie vom Display abfotografierst.

Ich habe es inzwischen gefunden. Bei mir war Anti Island nicht aktiv. Da ich nur über Grid angeschlossen bin, ist für das Einspeisen mmn zwingend anti Island zu aktivieren.

Ich denke mit der Einstellung dürfte das Steuern des Entladestroms dann auch über Modbus Register 109 funktionieren.

Besten Dank für die Unterstützung!

Gruß Oliver

Wenn ich ehrlich bin, kenne ich so eine Einstellung nicht. Es gibt den Signal-Island-Mode, der die Brücke zwischen PE und N im OffGrid-Modus herstellt.

Wie bereits geschrieben, Signal Island Mode hat mit der Nulleinspeisung nichts zu tun.

Würde ich so nicht unterschreiben. Hängt wohl auch davon ab, ob deine Verbraucher an Load hängen oder an Grid.

Ich muss hier niemandem etwas beweisen. Wenn du der Meinung bist, dass die Funktion „Signal Island Mode” bei dir die Nulleinspeisung aktiviert, dann ist es eben so. Bei allen anderen Benutzer macht diese Funktion genau das, was in der Bedienungsanleitung beschrieben ist.

Du hattest wohl Recht mit deiner Vermutung. Der Wechselrichter hat heute gut funktioniert den Akku geladen und dann auch wieder die Nulleinspeisung gemacht. Bis er irgendwann wieder bei 80% aufgehört hat einzuspeisen.

Es lag letztlich an den Time of use Einstellungen. Diese habe ich jetzt alle auf 35% gestellt und die Nulleinspeisung funktioniert wieder.

Was mir noch aufgefallen ist: der Ladestrom zur Batterie ist ziemlich unstetig. Er schwankt laut JK BMS Display immer um ca. 5A. Hatte eine ruhigere Einspeisung erwartet.

Viele Grüße und Besten Dank nochmals!

Kannst du bestätigen, dass der "unstetige Ladestrom" nicht immer so instabil bzw. "zappelig" ist?
Bei mir ist das nur dann, wenn der DEYE über den GRID Port Energie von anderen Grid-Parallelen Stringwechselrichtern zum Laden der Batterie verwendet.

HAt das mal jemand erfragt mit dem EEPROM? Was machen ständige schreibvorgänge mit dem internen Speicher?