Bei unserer 110kWp-Anlage ist gezwungenermaßen ein Rundsteuerempfänger verbaut. Der Solarteur hatte das über den SMA-Datamanager gelöst, welcher über die entsprechenden digitalen Inputs verfügt. Dieser schickt dann den Steuerbefehl zur Wirkleistungsbegrenzung per Modbus an den Wechselrichter.
In Zeiten von negativen Tarifen und Lastgang-bezogenen Energie-Einkäufen kommt man immer wieder in die Situation, dass man besser die PV drosselt als für den Verkauf ggf. noch Geld zahlen zu müssen.
Das Problem ist Folgendes:
Der Wechselrichter wird vom OpenEMS gedrosselt.
Wenn kein Befehl vom Rundsteuerempfänger kommt, gibt der SMA Data-Manager dem Wechselrichter zyklisch eine 100%-Vorgabe.
Somit arbeiten beide Systeme gegeneinander.
Meine Idee ist, den Status des Rundsteuerempfängers per SPS und Modbus in´s OpenEMS zu integrieren. Wenn der Netzbetreiber also den Funk-Befehl zur Abschaltung gibt, regelt das OpenEMS die PV über einen (noch zu programmierenden) Controller ab.
In §9, EEG ist nur von einer “technischen Einrichtung” die Rede, die das Ganze abbilden kann.
Sorry übrigens bezüglich deiner PN - ich möchte mir da Zeit nehmen und die hab ich aktuell nicht so ganz - nimms mir nicht böse bitte !
Ich würde es folgendermaßen lösen:
Raspberry Pi nehmen (der kann ja OpenEMS)
Digitale Eingänge vom Raspberry im OpenEMS auslesen
zyklisch die Staten (mehrzahl für Status, glaube ich) der GPIO Pins auslesen
ganz einfach dann OpenEMS den WR steuern lassen und nicht mehr den FRSE mit einem Controller, der dann (konfigurierbar im UI Controller) über die GPIOs auswertet, welcher DIO welchen Prozentsatz an Leistung vorgibt ?
Ja, so ungefähr stelle ich mir das dann auch vor. Ich würde halt eine Siemens LOGO! nehmen. Einen entsprechenden Controller für LOGO als Netzwerkrelais hatte ich ja auch schon mal geschrieben. Nun geht´s dann halt an die Eingänge…
Hätte auch den Charme als das die Logo als Master oder Slave laufen kann.
Die Frage ist halt: in welchem rechtlichen Rahmen bewege ich mich da? Bis 270kW brauche ich m.W. ja auch kein Anlagen-Zertifikat, sollte also nicht so problematisch sein. In den TAB des Netzbetreibers ist ebenfalls nichts näher spezifiziert.
Ich werde weiter forschen und berichten. Bin natürlich weiterhin gespannt auf euren Input!
gruß,
Klinki
@Sn0w3y: Unsinn! Bin überhaupt nicht böse. Verfügbare Zeit wird zu einem immer seltener werdenden Gut
Ich bin ein kleines bischen schlauer geworden. Ein Freund arbeitet bei einem größeren Stadtwerk und hat u.A. das Thema Zählerfernauslesung unter sich.
Das Thema Langwellen-Rundsteuerempfänger wird bei denen übrigens komplett durch LoRaWAN ersetzt - damit bekommen die Geräte auch einen Rückkanal.
Aber dies nur am Rande.
Solange man nicht gegen die TABs des Netzbetreibers verstößt, kann man praktisch machen was man will. Man muss nur “sicherstellen, dass…”. Man sollte das Ganze testen und in einem Konzept dokumentieren.
Über Allem schwebt aber immer noch die Frage: Wer haftet, wenn´s nicht klappt. Der Solarteur hat seine Berufshaftpflicht - aber was hat man als Betrieb?
Die Frage ob man das mit OpenEMS hinbekommt, ist eher rhetorisch
Die Sache sollte dem “Secrurity by Design”-Konzept folgen. Also runterregeln falls der Rundsteuerempfänger, oder der PV-Wechselrichter nicht erreichbar sein sollte. Bei SMA gibt es m.W. eine Fallback-Wirkleistungsvorgabe welche man auf 0 setzen kann. Somit fährt das Gerät runter, wenn openEMS nicht senden kann.
Ich nutze auch Siemens Logo für den Zweck. Was ich mich Frage, wie es mit dem EnWG 14a aussieht? Dort soll es ja zertifizierte Geräte für die Abschaltungen geben. Zusätzlich wird man mehr in die Haftung genommen, wenn die Abschaltung nicht funktioniert.
“Security by Design” ist ja gut und schön, aber ist es wirklich sicherer, wenn man auf 0% Schaltet? Wenn der Netzbetreiber an einem schönen Tag mit großer PV Leistung rechnet, diese aber schlagartig alle aussschalten, wenn beispielsweise eine Funkstörgung der Rundsteuerempfänger eintritt?
Wenn ich unseren Rundsteuerempfänger richtig verstehe, gibt es 4 Relais für verschiedene Schaltstufen. Eine davon sagt: Gib 100%. Vermutlich ist das Relais immer angezogen, wenn keine Anfrage zur Drosselung anliegt. Falls der Empfänger ein Problem hat und die 100%-Freigabe nicht anliegt, ist das ein Problem des Betreibers.
Rein praktisch habe ich auch noch nie davon gehört, dass gleich mehrere Geräte aufgrund einer Störung ausgefallen sind und eine Unterversorgung eingetreten ist. Aber davon bekommt man als Normalsterblicher wahrscheinlich eh nichts mit.
Mit der Technik kenne ich mich auch zu wenig aus. Reine Vermutung: die Geräte nehmen die Freigabe nur weg, wenn ein (Drosselungs-)Signal empfangen wird.
14a ist und bleibt spannend. Ein bekannter Elektriker sagte mir, dass es ja alles gut und schön sei und eine Einbau-Verpflichtung gäbe, aber die Hardware schlicht und ergreifend nicht verfügbar ist.
hm…rein visuell schaut es so aus, als sei das Relais aktiv angezogen, also NO. Ich hatte noch keine Mess-Murmel dran, aber das werde ich in den nächsten Tagen nachholen und berichten.
Den “GoodWe” kenn ich jetz leider nicht im Detail aber vielleicht kann ich mit meinem Wissen von anderen Rundsteuerempfängern Licht ins Dunkle bringen.
Es gibt 3-Relais und 4-Relais Rundsteuerempfänger. Entweder mit oder ohne dem 100% Signal. Komischerweise muss man aber beispielsweise bei SMA nichts extra konfigurieren um mit 3 Relais zu arbeiten. Also eher nichts mit Security by Design.
Weiterhin habe ich bei SMA eine Wahrheitstabelle gefunden. Was bei welchen Relaiszuständen passieren soll. Demnach sind alle Zustände, bei denen mehr als ein Relais angezogen sind “unplausibel” was mit 100% Leistung beantwortet wird (Secruity wieder ).
Die Relais sind bistabil.
Von einer Elektrofirma weis ich, dass sie manchmal das 100% Signal aus den anderen drei Relais generiert haben. Also wenn keines angezogen ist, wird dieses angesteuert.
Viel zu ergänzen gibt es hier eigentlich nicht. Die Wahrheitstabelle würde mich noch interessieren. Zu unserem CORE2, bzw. Datamanager, hab ich da nix finden können. Oder meinst Du die des Power Control Moduls?
Unser WR hätte hardware-seitig noch einen Fast-Stopp Schalteingang. Dieser kann (konfigurierbar) auf eine offenes oder geschlossenes Relais reagieren.
Man könnte den WR also abschalten, wenn die 100%-Vorgabe fehlt.
Meines Wissens ist allerdings eine mehrstufige Regelung gefordert. Eine einfache Abschaltung wird also gar nicht ausreichen.
Heißt für mich praktisch: es braucht einen Controller, welcher OpenEMS-seitig die PV drosselt wenn gefordert.
Ich würde mich an diesem Dokument von SMA (S.23) orientieren.
Hat vielleicht jemand etwas ähnliches in der Pipeline oder Lust sich an der Entwicklung zu beteiligen?
Hab mal etwas gebastelt und eine Umsetzung in Verbindung mit der LOGO erstellt: PullRequest
Funktioniert bisher gut in Verbindung mit einem limitierbaren Wechselrichter (ManagedSymmetricPvInverter).
Wichtig war bei meiner Installation die Rampen-Zeit beim WR passend einzustellen. Denke, 10%/Sekunde ist ein vernünftiger Wert.
Meine Umsetzung zur Logo als Netzwerk-IO ist leider noch nicht gemerged worden.
Ich habe das Modul um die Inputs (werden als Channels in OpenEMS abgebildet) erweitert. Der PR dazu.
Die Tabelle auf S. 23 in dem SMA Dokument ist genau die, die ich meine. Wobei ich mir sicher war es sei dabei gestanden, dass nichts passiert in den unplausiblen Zuständen.
Was den Fast-Stop Eingang angeht, dieser hört sich mehr nach Sicherheitstechnik an, ähnlich von Motoren. Da ginge es meiner Meinung nach eher um Gefahr für Menschen alla Lichtbogen oder Ähnliches. Ich würde nicht päpstlicher, als der Papst sein.
Ich meinem Fall hatten meine beiden WR zum Glück direkt die Eingänge für die Relais. Ich kenne bei SMA aber auch Fälle, wo man bestimmte Zusatzgeräte braucht.
Die 10%/s hören sich sehr schnell an.
Ich habe mittlerweile Logo und Controller am Start. Scheint ganz gut zu funktionieren. Nur, dass die limitierenden Controller für PV anders funktionieren: der Controller auf Platz 1 im Scheduler gewinnt das Rennen nicht! Bei ESS-Controllern werden Constraints gesetzt die der Power-Solver auflöst. Die höchste Priorität entscheidet.
Wir hatten das hier schon kurz diskutiert.
Bei den PV-Limitern (Sell-to-Grid, FixPower, usw.) gibt der letzte Controller in der Liste das Limit vor - alle vorherigen werden überschrieben. Anscheinend wird der Wert aber nur 1 Mal an den PV-Inverter geschickt. Somit kommt es also nicht zu einem “Zappeln” des Inverters.
In der Praxis sieht das schon ganz gut aus. Ich werde weiter beobachten!
Innerhalb von “Process” werden alle Controller der Reihe nach aufgerufen. Sonderfall hier ist - wie du es beschreibst - dass der letzte gewinnt, weil der Wert einfach überschrieben wird.
Geschrieben wird dann erst in “Output” → “Execute Write”. Deshalb gibt es kein Zappeln.
So hatte ich den Code auch verstanden. Da es SunSpec-Geräte sind, muss man mit dem Debugger viele Stellen anspringen. Den finalen Schreibbefehl gibt´s aber nur ein Mal.
Wird es perspektivisch später eine Art Solver/Contraint für jeden Controller geben? Macht rein praktisch vielleicht nicht viel Sinn, erhöht aber das allgemeine Verständnis.