Phoenix Contact EV Charge Controller + Modbus

Alles rund ums Elektroauto-Laden / Ladeboxen / Ladegeräte
AntwortenAntworten Options Options Arrow

Re: Phoenix Contact EV Charge Controller + Modbus

ChristianF
  • Beiträge: 605
  • Registriert: Di 2. Feb 2016, 20:01
  • Hat sich bedankt: 5 Mal
  • Danke erhalten: 5 Mal
read
Ausser im Auto kannst du den SoC nur in CarNet sehen.
Viele Grüße,
Christian

Seit 2017 elektrisch unterwegs: VW eUp 160 -> VW eGolf 300 -> Renault Zoe ZE50 -> Kona 39kWh -> Kona 64kWh
Überschussladung mit Leistungssteuerung an eigener PV-Anlage
Anzeige

Re: Phoenix Contact EV Charge Controller + Modbus

muena
  • Beiträge: 4
  • Registriert: Mo 2. Apr 2018, 01:48
read
So, unsere Wallbox mit dem Phoenix Charge Controller ist eingetroffen.
Ich habe mir jetzt Gedanken gemacht, wie ich den ansteuern werde. Vielleicht habt ihr dazu noch gute Ergänzungen oder Hinweise:

Mindest Ladeleistung = 1380W
Akku = Batteriespeicher Ladestand
pAuto = Ladeleistung Auto
pPvGrid = Leistung von PV ins Netz
pPvBatt = Leistung von PV in Batteriespeicher

Code: Alles auswählen

Endlosschleife:
	Wenn Akku >= 90% und Zeit < 15:00 Uhr und (pPvGrid + pPvBatt - 500W) >= 1380W:
		pAuto = pPvGrid + pPvBatt - 500W # (>= 500W werden noch in den Batteriespeicher geladen)
	Wenn Akku >= 80% und Zeit < 14:00 Uhr und (pPvGrid + pPvBatt - 1000W) >= 1380W:
		pAuto = pPvGrid + pPvBatt - 1000W # (>= 1000W werden noch in den Batteriespeicher geladen)
	Ansonsten:
		pAuto = pPvGrid oder 1380W wenn pPvGrid < 1380W
		
		
	Wenn pPvGrid >= 1380W und Laden beendet:
		Timer für 5 Minuten starten
		Wenn danach pPvGrid immer noch >= 1380W:
			Laden starten mit pAuto
			
	
	Wenn pPvGrid < 1380W und Auto lädt:
		Timer für 5 Minuten starten
		Wenn danach pPvGrid immer noch < 1380W:
			Laden beenden
	
	10 Sekunden warten
Natürlich kann ich nur Ampere-Schritte einstellen. Dadurch ergeben sich bei uns (KIA lädt nur einphasig...) folgende mögliche Ladeleistungen:
1380W
1610W
1840W
2070W
2300W
2530W
2760W
2990W
3220W
3450W
3680W

Ich muss dann pAuto immer auf die nächstkleinere Ladeleistung abrunden.

Re: Phoenix Contact EV Charge Controller + Modbus

ChristianF
  • Beiträge: 605
  • Registriert: Di 2. Feb 2016, 20:01
  • Hat sich bedankt: 5 Mal
  • Danke erhalten: 5 Mal
read
Wenns hilft kann ich dir mein Programm dazu zur Verfügung stellen..
Viele Grüße,
Christian

Seit 2017 elektrisch unterwegs: VW eUp 160 -> VW eGolf 300 -> Renault Zoe ZE50 -> Kona 39kWh -> Kona 64kWh
Überschussladung mit Leistungssteuerung an eigener PV-Anlage

Re: Phoenix Contact EV Charge Controller + Modbus

muena
  • Beiträge: 4
  • Registriert: Mo 2. Apr 2018, 01:48
read
ChristianF hat geschrieben:Wenns hilft kann ich dir mein Programm dazu zur Verfügung stellen..
Bitte gern :) , mit dem Modbus hab ich mich noch gar nicht beschäftigt...

Re: Phoenix Contact EV Charge Controller + Modbus

ChristianF
  • Beiträge: 605
  • Registriert: Di 2. Feb 2016, 20:01
  • Hat sich bedankt: 5 Mal
  • Danke erhalten: 5 Mal
read
Gern. Viel Spass damit.

Variablen und Adressen musst Du natürlich auf Deine Gegebenheiten anpassen.

Code: Alles auswählen

var Ladestrom_verfuegbar, Aktueller_Ladestrom, Neuer_Ladestrom;


schedule("*/30 * * * * *", function () {
  // Wenn der WR im Nachtmodus ist, machen wir hier gar nix.
  if (getState("modbus.0.holdingRegisters.40108_OP-State").val != 2) {
    if (getState("javascript.0.Ladestation.1.Modus").val == 0) {
      // Wenn die Erzeugungslogik zu wenig Ertrag aufweist, sperren wir hier.
      if (getState("javascript.0.SolarEdge.Minimalerzeugung_erreicht").val == true) {
        // Minimalerzeugung ist erreicht, also los..
        if (getState("modbus.2.coils.400_400_Ladefreigabe").val == false) {
          setState("modbus.2.coils.400_400_Ladefreigabe"/*Ladefreigabe*/, true);
          setStateDelayed("modbus.2.coils.400_400_Ladefreigabe"/*Ladefreigabe*/, true, 3000, false);
        }
        // Aktuellen Ladestrom in Variable schreiben
        Ladestrom_verfuegbar = 0;
        Ladestrom_verfuegbar = getState("modbus.2.inputRegisters.120_120_W_L1-N").val + (getState("javascript.0.Stromzaehler.Einspeisung_aktuell").val - getState("javascript.0.Stromzaehler.Netzbezug_aktuell").val);
        Aktueller_Ladestrom = getState("javascript.0.Ladestation.1.Ladestrom_Ueberschussladen").val;
        // Den neuen LS kennen wir noch nicht -> 0
        Neuer_Ladestrom = 0;
        if (Ladestrom_verfuegbar <= 1610) {
          if (Ladestrom_verfuegbar >= 1000 && Ladestrom_verfuegbar <= 1610) {
            // 6A ist Minimum, und da wir immer ein bisschen übrig haben wollen, gehen wir bis unter die Grenze von 7A hoch (1610W)
            Neuer_Ladestrom = 6;
          } else if (false) {
          }
        } else if (Ladestrom_verfuegbar >= 1611 && Ladestrom_verfuegbar <= 1840) {
          Neuer_Ladestrom = 7;
        } else if (Ladestrom_verfuegbar >= 1841 && Ladestrom_verfuegbar <= 2070) {
          Neuer_Ladestrom = 8;
        } else if (Ladestrom_verfuegbar >= 2071 && Ladestrom_verfuegbar <= 2300) {
          Neuer_Ladestrom = 9;
        } else if (Ladestrom_verfuegbar >= 2301 && Ladestrom_verfuegbar <= 2530) {
          Neuer_Ladestrom = 10;
        } else if (Ladestrom_verfuegbar >= 2531 && Ladestrom_verfuegbar <= 2760) {
          Neuer_Ladestrom = 11;
        } else if (Ladestrom_verfuegbar >= 2761 && Ladestrom_verfuegbar <= 2990) {
          Neuer_Ladestrom = 12;
        } else if (Ladestrom_verfuegbar >= 2991 && Ladestrom_verfuegbar <= 3220) {
          Neuer_Ladestrom = 13;
        } else if (Ladestrom_verfuegbar >= 3221 && Ladestrom_verfuegbar <= 3450) {
          Neuer_Ladestrom = 14;
        } else if (Ladestrom_verfuegbar >= 3451 && Ladestrom_verfuegbar <= 3680) {
          Neuer_Ladestrom = 15;
        } else if (Ladestrom_verfuegbar >= 3681 && Ladestrom_verfuegbar <= 3910) {
          Neuer_Ladestrom = 16;
        } else if (Ladestrom_verfuegbar >= 3911 && Ladestrom_verfuegbar <= 4140) {
          Neuer_Ladestrom = 17;
        } else if (Ladestrom_verfuegbar >= 4141 && Ladestrom_verfuegbar <= 4370) {
          Neuer_Ladestrom = 18;
        } else if (Ladestrom_verfuegbar >= 4371 && Ladestrom_verfuegbar <= 4600) {
          Neuer_Ladestrom = 19;
        } else if (Ladestrom_verfuegbar >= 4601) {
          Neuer_Ladestrom = 20;
        }
        // Jetzt wissen wir den neuen Ladestrom! Alt=neu?
        if (Aktueller_Ladestrom != Neuer_Ladestrom) {
          // Oh, was Neues! Gleich an PV_Ladestrom geben!
          console.log((['Ladestrom verändert, wird von ',Aktueller_Ladestrom,' verändert auf ',Neuer_Ladestrom].join('')));
          setState("javascript.0.Ladestation.1.Ladestrom_Ueberschussladen"/*Ladestrom_Ueberschussladen*/, Neuer_Ladestrom, true);
          setState("modbus.2.holdingRegisters.300_Ladestromstaerke", Neuer_Ladestrom);
        } else {
          // Nix Neues, nix zu tun
          console.log((['Ladestrom gleichgeblieben, bleibt bei ',Aktueller_Ladestrom,' (neu wäre ',Neuer_Ladestrom,' gewesen)'].join('')));
        }
      } else {
        // Minimalerzeugung nicht erreicht, also wird nicht nach PV-Überschuss geladen!
        if (getState("modbus.2.coils.400_400_Ladefreigabe").val == true) {
          setState("modbus.2.coils.400_400_Ladefreigabe"/*Ladefreigabe*/, false);
          setStateDelayed("modbus.2.coils.400_400_Ladefreigabe"/*Ladefreigabe*/, false, 3000, false);
        }
      }
    } else {
      // Wir sind nicht im AUTO Modus des Ladereglers, nix zu tun
    }
  } else {
    // Wechselrichter schläft, nix zu tun.
  }
});
Viele Grüße,
Christian

Seit 2017 elektrisch unterwegs: VW eUp 160 -> VW eGolf 300 -> Renault Zoe ZE50 -> Kona 39kWh -> Kona 64kWh
Überschussladung mit Leistungssteuerung an eigener PV-Anlage

Re: Phoenix Contact EV Charge Controller + Modbus

muena
  • Beiträge: 4
  • Registriert: Mo 2. Apr 2018, 01:48
read
ChristianF hat geschrieben:Gern. Viel Spass damit.

Variablen und Adressen musst Du natürlich auf Deine Gegebenheiten anpassen.

Code: Alles auswählen

var Ladestrom_verfuegbar, Aktueller_Ladestrom, Neuer_Ladestrom;


schedule("*/30 * * * * *", function () {
  // Wenn der WR im Nachtmodus ist, machen wir hier gar nix.
  if (getState("modbus.0.holdingRegisters.40108_OP-State").val != 2) {
    if (getState("javascript.0.Ladestation.1.Modus").val == 0) {
      // Wenn die Erzeugungslogik zu wenig Ertrag aufweist, sperren wir hier.
      if (getState("javascript.0.SolarEdge.Minimalerzeugung_erreicht").val == true) {
        // Minimalerzeugung ist erreicht, also los..
        if (getState("modbus.2.coils.400_400_Ladefreigabe").val == false) {
          setState("modbus.2.coils.400_400_Ladefreigabe"/*Ladefreigabe*/, true);
          setStateDelayed("modbus.2.coils.400_400_Ladefreigabe"/*Ladefreigabe*/, true, 3000, false);
        }
        // Aktuellen Ladestrom in Variable schreiben
        Ladestrom_verfuegbar = 0;
        Ladestrom_verfuegbar = getState("modbus.2.inputRegisters.120_120_W_L1-N").val + (getState("javascript.0.Stromzaehler.Einspeisung_aktuell").val - getState("javascript.0.Stromzaehler.Netzbezug_aktuell").val);
        Aktueller_Ladestrom = getState("javascript.0.Ladestation.1.Ladestrom_Ueberschussladen").val;
        // Den neuen LS kennen wir noch nicht -> 0
        Neuer_Ladestrom = 0;
        if (Ladestrom_verfuegbar <= 1610) {
          if (Ladestrom_verfuegbar >= 1000 && Ladestrom_verfuegbar <= 1610) {
            // 6A ist Minimum, und da wir immer ein bisschen übrig haben wollen, gehen wir bis unter die Grenze von 7A hoch (1610W)
            Neuer_Ladestrom = 6;
          } else if (false) {
          }
        } else if (Ladestrom_verfuegbar >= 1611 && Ladestrom_verfuegbar <= 1840) {
          Neuer_Ladestrom = 7;
        } else if (Ladestrom_verfuegbar >= 1841 && Ladestrom_verfuegbar <= 2070) {
          Neuer_Ladestrom = 8;
        } else if (Ladestrom_verfuegbar >= 2071 && Ladestrom_verfuegbar <= 2300) {
          Neuer_Ladestrom = 9;
        } else if (Ladestrom_verfuegbar >= 2301 && Ladestrom_verfuegbar <= 2530) {
          Neuer_Ladestrom = 10;
        } else if (Ladestrom_verfuegbar >= 2531 && Ladestrom_verfuegbar <= 2760) {
          Neuer_Ladestrom = 11;
        } else if (Ladestrom_verfuegbar >= 2761 && Ladestrom_verfuegbar <= 2990) {
          Neuer_Ladestrom = 12;
        } else if (Ladestrom_verfuegbar >= 2991 && Ladestrom_verfuegbar <= 3220) {
          Neuer_Ladestrom = 13;
        } else if (Ladestrom_verfuegbar >= 3221 && Ladestrom_verfuegbar <= 3450) {
          Neuer_Ladestrom = 14;
        } else if (Ladestrom_verfuegbar >= 3451 && Ladestrom_verfuegbar <= 3680) {
          Neuer_Ladestrom = 15;
        } else if (Ladestrom_verfuegbar >= 3681 && Ladestrom_verfuegbar <= 3910) {
          Neuer_Ladestrom = 16;
        } else if (Ladestrom_verfuegbar >= 3911 && Ladestrom_verfuegbar <= 4140) {
          Neuer_Ladestrom = 17;
        } else if (Ladestrom_verfuegbar >= 4141 && Ladestrom_verfuegbar <= 4370) {
          Neuer_Ladestrom = 18;
        } else if (Ladestrom_verfuegbar >= 4371 && Ladestrom_verfuegbar <= 4600) {
          Neuer_Ladestrom = 19;
        } else if (Ladestrom_verfuegbar >= 4601) {
          Neuer_Ladestrom = 20;
        }
        // Jetzt wissen wir den neuen Ladestrom! Alt=neu?
        if (Aktueller_Ladestrom != Neuer_Ladestrom) {
          // Oh, was Neues! Gleich an PV_Ladestrom geben!
          console.log((['Ladestrom verändert, wird von ',Aktueller_Ladestrom,' verändert auf ',Neuer_Ladestrom].join('')));
          setState("javascript.0.Ladestation.1.Ladestrom_Ueberschussladen"/*Ladestrom_Ueberschussladen*/, Neuer_Ladestrom, true);
          setState("modbus.2.holdingRegisters.300_Ladestromstaerke", Neuer_Ladestrom);
        } else {
          // Nix Neues, nix zu tun
          console.log((['Ladestrom gleichgeblieben, bleibt bei ',Aktueller_Ladestrom,' (neu wäre ',Neuer_Ladestrom,' gewesen)'].join('')));
        }
      } else {
        // Minimalerzeugung nicht erreicht, also wird nicht nach PV-Überschuss geladen!
        if (getState("modbus.2.coils.400_400_Ladefreigabe").val == true) {
          setState("modbus.2.coils.400_400_Ladefreigabe"/*Ladefreigabe*/, false);
          setStateDelayed("modbus.2.coils.400_400_Ladefreigabe"/*Ladefreigabe*/, false, 3000, false);
        }
      }
    } else {
      // Wir sind nicht im AUTO Modus des Ladereglers, nix zu tun
    }
  } else {
    // Wechselrichter schläft, nix zu tun.
  }
});
Super, vielen Dank! :)

Hast du eine 32A Sicherung und gehst nur bis 20A oder riskierst du 20A bei einer 16A Sicherung? ;)

Re: Phoenix Contact EV Charge Controller + Modbus

USER_AVATAR
  • Berndte
  • Beiträge: 7089
  • Registriert: Sa 30. Aug 2014, 19:46
  • Wohnort: Oyten (bei Bremen)
  • Hat sich bedankt: 498 Mal
  • Danke erhalten: 357 Mal
read
20A bei einer 16A Sicherung funktioniert keine 5 Minuten.
2014 - 2019: Renault Zoe Q210
2015 - 2020: Kangoo Maxi ZE
2019 - : Tesla Modell ≡ LR
2020 - : Renault Zoe ZE50 fullhouse
1500km kostenloses SuperCharging für Dich und mich, wenn Du diesen Link zur Bestellung (S/3/X/Y) nutzt:
https://ts.la/bernd30762

Re: Phoenix Contact EV Charge Controller + Modbus

ChristianF
  • Beiträge: 605
  • Registriert: Di 2. Feb 2016, 20:01
  • Hat sich bedankt: 5 Mal
  • Danke erhalten: 5 Mal
read
Ich habe einen 20A Automaten, da das Fahrzeug nur einphasig lädt und ab 4,6kW die Schieflastverordnung zuschlägt ;)
Viele Grüße,
Christian

Seit 2017 elektrisch unterwegs: VW eUp 160 -> VW eGolf 300 -> Renault Zoe ZE50 -> Kona 39kWh -> Kona 64kWh
Überschussladung mit Leistungssteuerung an eigener PV-Anlage

Re: Phoenix Contact EV Charge Controller + Modbus

ChristianF
  • Beiträge: 605
  • Registriert: Di 2. Feb 2016, 20:01
  • Hat sich bedankt: 5 Mal
  • Danke erhalten: 5 Mal
read
Berndte hat geschrieben:20A bei einer 16A Sicherung funktioniert keine 5 Minuten.
Das ist so pauschal nicht richtig. Je nach Auslösecharakteristik kann ein deutlich höherer Strom toleriert werden. Beim typischen LS mit Charakteristik B sind das das 1,13-1,45fache des Nennstroms. Es ist also durchaus möglich dass ein B16A bis zu 23A aushält (obwohl das sicherlich nicht gesund ist).
Mehr Infos unter https://de.m.wikipedia.org/wiki/Leitungsschutzschalter
Viele Grüße,
Christian

Seit 2017 elektrisch unterwegs: VW eUp 160 -> VW eGolf 300 -> Renault Zoe ZE50 -> Kona 39kWh -> Kona 64kWh
Überschussladung mit Leistungssteuerung an eigener PV-Anlage

Re: Phoenix Contact EV Charge Controller + Modbus

USER_AVATAR
  • NoGi
  • Beiträge: 313
  • Registriert: So 4. Feb 2018, 12:49
  • Wohnort: Metropolregion Rhein-Neckar
  • Hat sich bedankt: 383 Mal
  • Danke erhalten: 66 Mal
read
ChristianF hat geschrieben:Je nach Auslösecharakteristik kann ein deutlich höherer Strom toleriert werden. Beim typischen LS mit Charakteristik B sind das das 1,13-1,45fache des Nennstroms.
Wegen eines Artikels der "paar Euros" Preisklasse würde ich mir keinen Kopf machen
und bei der nächsten Amazon Bestellung einen S201-B20 mitbestellen und einbauen.

-NoGi
LEAF 2. Zero Spring Cloud bestellt 27.12.2017, hab ich am 02.08.2018 abgeholt. :mrgreen:
Leitung : 71m NYM 5x6 mm².
HEIDELBERG Wallbox Eco (11kW). Support your local Sheriff :-)
Das Warten ist vorbei, jetzt beginnt der Spass.
Anzeige
AntwortenAntworten

Zurück zu „Ladeequipment“

Gehe zu Profile
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag