go-eCharger - S7 1500 Anbindung/Pingen/Protokoll

Zuviel Werbung?
-> Hier kostenlos registrieren
Mal schauen, vielleicht investier ich dann doch noch in ne neue Wallbox :)
Niedrigste Ladeleistung 1 phasig rund 1,3kW (230V 6A)?
Ja, genau, 6A einphasig habe ich auch als kleinste Stufe. Ich habe auch den "alten" go-e und schalte manuell mit einem Schalter zwischen ein- und drei-phasig um, wobei ich letzteres sehr selten nutze.
 
Du hast die V2, ich habe die V3, welche schon die interne Phasenumschaltung hat (schauen beide gleich aus). Jetzt gibt es aber eine ganz neue Version mit neuem Gehäuse.
Register etc. sind gleich, aber ich glaube, sie hatten mit unseren Versionen auf einigen Registern nur max. 100.000 schreib Zyklen.

Ich denke, das ist jetzt alles (auch) über RAM ansprechbar.
 
Du hast die V2, ich habe die V3, welche schon die interne Phasenumschaltung hat (schauen beide gleich aus). Jetzt gibt es aber eine ganz neue Version mit neuem Gehäuse.
Register etc. sind gleich, aber ich glaube, sie hatten mit unseren Versionen auf einigen Registern nur max. 100.000 schreib Zyklen.

Ich denke, das ist jetzt alles (auch) über RAM ansprechbar.

Beim Zugriff über HTTP-API kam das mit einem Firmware-Update.
Da gibt 2 Parameter für die Einstellung des Stroms. Eines wird gespeichert, das andere ist nur im RAM.
Ich weiß nicht, ob das mittlerweile auch per Modbus geht.
 
Von Siemens gibt es eine Bibliothek mit HTTP-Funktionsbausteinen (LHTTP), mit denen du einen Get-Request mit den entsprechenden Parametern absetzen kannst. Ich habe die selber noch nicht getestet, aber das sollte damit möglich sein.

Vielen Dank, Thomas_v2.1! :ninja:
So einfach hat noch nie was neues funktioniert... Ich glaub der Weihnachtsmann hat meine Steuerung getauscht...

Bibliothek "Libraries_Comm_Controller" von Siemens downloaden und einfügen - (hab ich bisher nicht gekannt das es sowas gibt)
Baustein "LHTTP_Get V2.1.0" reinziehen (siehe Thomas_v2.1, scheinbar sind v2.1 Versionen brauchbar :ROFLMAO:)
Es wird ein Bausteinbezogener DB erstellt.
Baustein mit DB beschalten und Werte eingeben (geht bis auf den letzten Parameter - den hab ich extra erstellt - Frage dann ganz unten)

Funktioniert.

Frage1:
Die Modbus Abfrage/Schreiben lauft dauernd mit ca. 30-120ms Durchlauf.
Der LHTTP_Get ist bei 20+ Umschaltversuchen immer durchgekommen, ist aber (noch) nicht in die Modbusschrittkette integriert.
Ist es ok das so zu lassen? (eigene conn_ID)

Frage2:
Beim Beschalten des Bausteins mit dem automatisch erstellten DB, hat er den rot umrandeten Teil nicht akzeptiert.
Das Array[*] of Char sollte bei 0 starten (lt. Beschreibung), aber ich kann da statt dem Stern nichts eingeben, und so mit dem Stern drinnen, nimmt es der Baustein nicht an.
Was mache ich da falsch?

Zwischenablage01.jpg

Code:
// LHHTP - Befehl Phasenumschaltung
"LHTTP_Get_DB_Charger1"(execute:="LHTTP_Get_DB_Charger1".execute,
                        hwID:="LHTTP_Get_DB_Charger1".hwID,
                        connID:="LHTTP_Get_DB_Charger1".connID,
                        url:="LHTTP_Get_DB_Charger1".url,
                        queryParams:="LHTTP_Get_DB_Charger1".queryParams,
                        userFields:="LHTTP_Get_DB_Charger1".userFields,
                        tls:="LHTTP_Get_DB_Charger1".tls,
                        keepConnection:="LHTTP_Get_DB_Charger1".keepConnection,
                        timeOut:="LHTTP_Get_DB_Charger1".timeOut,
                        connected=>"LHTTP_Get_DB_Charger1".connected,
                        done=>"LHTTP_Get_DB_Charger1".done,
                        busy=>"LHTTP_Get_DB_Charger1".busy,
                        error=>"LHTTP_Get_DB_Charger1".error,
                        status=>"LHTTP_Get_DB_Charger1".status,
                        diagnostics=>"LHTTP_Get_DB_Charger1".diagnostics,
                        responseCode=>"LHTTP_Get_DB_Charger1".responseCode,
                        length=>"LHTTP_Get_DB_Charger1".length,
                        responseData:="DB_LS_Charger1_COM".Phasen_Status);


Für die Box Besitzer:
Ich konnte mit den Strommesswerten durch die Modbusabfrage ca. 30+ msec. nicht feststellen, das der Strom vor dem Umschalten runtergeregelt wird. Also besser die Stromreduzierung in den Umschaltzyklus integrieren.
Der Umschaltvorgang dauer ca. 22 sec.
 
Da das ein InOut ist, musst du wahrscheinlich in einem anderen DB das Array mit der gewünschten Größe anlegen und dies dann beim Bausteinaufruf verschalten?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja, so hab ich es auch gemacht. Mich hat es nur gewundert, für was es den Teil im DB dann gibt.
Ist das nur als Muster drinnen, damit man sich auskennt, bezüglich Datentyp etc.?
 
Dank der Hilfe hier und nach einigen Versuchen ist jetzt die Oberfläche mit allen Funktionen umgesetzt.
Ist sicher noch nicht das Optimum, aber schon ganz brauchbar. Damit vielleicht manch anderer nicht so lange überlegen muss (hab jetzt fast ein Jahr lang immer wieder was geändert), eine kurze Übersicht über die Funktionen.

Charger.jpg

Laden Ein/Aus geht jederzeit manuell, wird aber auch von div. Automatiken bedient.

Ladestrom und Phasenanzahl ist manuell einstellbar, natürlich nur, wenn die entsprechenden Automatiken aus sind. Deswegen sind sie im Bild auch grau. Beim Phasenumschalten wird vorher der Strom immer auf 6A gestellt um die Relais im Gerät zu schonen. Konnte nicht festellen, dass es der Charger automatisch macht, hab aber nur mit der SPS die Ströme abgefragt.

LED Helligkeit Automatisch oder nicht, manueller Wert und Automatisches Auschalten der LEDs bei nicht Laden.

PV Strom Automatik regelt überschussbezogen den Strom mit einstellbaren Zykluszeiten.
Im Normalfall von 3-600 Sekunden oder bei aktiviertem Heizungsvorrang von 15-600 Sekunden einstellbar für eine Stromanpassung nach oben.
Um Netzbezug zu vermeiden, ist die Zykluszeit zum Runterschalten fix mit 1 Sekunde eingestellt. Damit das ganze nicht dauernd schwingt (ist zwar egal) sind Hysteresen hinterlegt. Der Stromwert wird aus dem ungefilterten Aktualwert berechnet inkl. Heizungsoffset wenn aktiviert etc., im Gegensatz zu den anderen zwei Funktionen, wo ein Mittelwert von 60 Messungen aus einer Minute herangezogen wird.

PV Phasenautomatik schaltet Überschussbezogen zwischen 1 und 3 Phasigen Betrieb um.
Die Zykluszeiten sind Einstellbar, fürs Schalten auf drei Phasen zwischen 3-30min und zum runterschalten zwischen 1-300min.
Auch hier sind Umschalthysteresen hinterlegt, und auch der Heizungsvorrang berücksichtigt.
Sobald eine Funktionszeit zum Laufen anfangt, wird wird die grüne Anzeige der Vorwahlzeit Gelb, und zeigt die tatsächliche Restzeit an, wie bei der Stromautomatik gerade am Bild zu sehen ist.

Laden unterbrechen unterbricht den Ladevorgang nach einer einstellbaren Zeit, wenn nicht mehr genug Überschuss für 6A Ladestromvorwahl zur Verfügung steht. Nach der Einstellbaren Pausezeit, startet die Ladung wieder automatisch, zB am nächsten Tag bei genug Überschuss.

PV Heizungsvorrang ermöglicht mit einem einstellbaren Offset +, dass die verfügbare Leistung nicht vollständig ausgeschöpft wird, sondern immer der Grundoffset + dem einstellbaren Offset zur Verfügung stehen muss. Ansonsten werden, wenn aktiviert, die anderen Funktionen wie Phasenautomatik oder Laden unterbrechen gestartet. Ausserdem wird automatisch die Zykluszeit der PV Strom Automatik, sollte sie unter 15 Sekunden sein, auf 15 Skunden, bzw den gespeicherten Wert gesetzt.

Ch1 Vorrang vor Ch2 ermöglicht eine Aufteilung der verfügbaren Leistung in den möglichen Verhältnissen. Das ist mangels zweitem Auto noch nicht im Realbetrieb.

Und noch die Produktions/Verbrauchsanzeige vom Haus von gestern, alles gelaufen ist und auch zufällig ein Stromausfall war. (Das Loch um 11:00)

Kurve.jpg
 
Zuletzt bearbeitet:
Warum machst du das laden nicht Dynamisch wie EVCC das macht, ich mach das auch mit einem 27kW Heizsystem für ne HeizungsanlageRegel Spikes.jpeg
Ich bekomme nur die kleinen Spike noch nicht schnell genug Dynamisch aus geregelt :D. Aber ich brauch halt auch ne Regeldifferenz, eingestellt sind da 250W Einspeisung...
.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
So hochdynamisch muss es sowieso nicht sein.
Die go-e Wallbox kann sowieso nur in 1A Schritten geregelt werden.
Zusätzlich hast du diverse systembedingte Verzögerungen im System.
Mein Speicher (Senec) aktualisiert z.B. die Messwerte ca. alle 3s.
Der Wechselrichter ist mit 1-2s etwas schneller.
Auch die Wallbox hat Reaktionszeiten. Erhöht man den Ladestrom, dann kommt auch die Reaktionszeit des Autos dazu.
Macht man die Regelung zu dynamisch fängt der ganze Mist zu schwingen an. Und das ist gerade bei geringem Überschuß nicht sonderlich gut.

Kann ja jeder handhaben wie es ihm Freude macht :)
 
Die Kurve schaut ja echt schön aus, aber es ist genau so, wie Blockmove schreibt.

Die bekomme ich so mit Schalten, und den Zeiten der Mess- und Endgeräte nie hin. Der Fronius GEN24 hat zwar jetzt eine deutlich niedrigere Durchlaufzeit von nur 80-200ms im Gegensatz zum alten Symo, wo es schon mal 4 Sekunden gedauert hat für drei Abfragen. Akku Werte fehlen noch, was die Durchlaufzeit wieder deutlich verlängern wird, aber mit allem drum rum ginge es nur noch ein wenig kürzer.
Ausserdem sind alle Lasten fix, Wallbox auch genau wie oben steht, und werden nicht analog geregelt.
Und beim Fronius ist dann der Akku sowieso sehr sehr langsam, was vermutlich ein weiteres hinaufsetzen der Zeiten und/oder des Offsetwertes, bzw. generell ein Überdenken bedingt.
 
Ich hab auch mal versucht auf Überschuß 0 zu regeln.
Bei mir komplett sinnlos. Sowohl Speicher, als auch Wallbos / E-Auto sind zu langsam und auch nicht granular genug einstellbar.
Die Folge war, dass ich kurze Peaks mit Netzbezug drinn hatte. Bei einem Kostenverhältnis Bezug / Einspeisung 40c/7,6c war das nicht sonderlich gut. Seitdem regele ich auf Überschuss 300W mit einem gleitenden Mittelwert von 20s.
Wahrscheinlich könnte man hier noch weiter optimieren, aber dazu fehlte mir bislang die Lust.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wo habt ihr denn die Verzögerungen her? Ich habe einige EVCC Instanzen am laufen mit Warp2, Easee und Etrel Wallbox, Smartmeter EM3, von der Sonnenbatterie oder PQ-Plus. WR SolarEdge, Fronius oder Sungrow... Im Bild oben PQ-Plus mit SolarEdge da kommts im Sekunden Takt. Aber alle EVCC Instanzen regeln sehr ordentlich den Überschuss. Ich hab leider keine schönen Plots gerade zur Hand.
 
Wo habt ihr denn die Verzögerungen her? Ich habe einige EVCC Instanzen am laufen mit Warp2, Easee und Etrel Wallbox, Smartmeter EM3, von der Sonnenbatterie oder PQ-Plus. WR SolarEdge, Fronius oder Sungrow... Im Bild oben PQ-Plus mit SolarEdge da kommts im Sekunden Takt. Aber alle EVCC Instanzen regeln sehr ordentlich den Überschuss. Ich hab leider keine schönen Plots gerade zur Hand.
Nicht alle Hardware ist gleich :)
Die meisten meiner Daten bekomme ich über den Senec Speicher. Die Statusabfragen dürfen hier nicht schneller als im 3s-Takt erfolgen.
Ansonsten kann es sein, dass sich der Controller aufhängt.
Die Verzögerungen beim Erhöhen des Ladestroms der Wallbox müsstest du eigentlich auch haben. Ich kenne kein EAuto dass hier sofort (<500ms) reagiert. Beim Reduzieren des Stroms sieht es anders aus.
 
Ab FW55.5 geht jetzt auch beim go-e die Phasenumschaltung per Modbus: 40333 (332) PHASE_SWITCH_MODE Holding Register
1 - 1 Phase
2 - 3 Phasen
 
Zurück
Oben