PV Anlage - Frage zur Steuerung

Ein Bekannter von mir hat folgende Frage:

Was ist vorhanden:

  • PV Anlage 7KW
  • Warmwasserspeicher mit 2KW Heizpatrone

Was soll gemacht werden:
Wenn PV Anlage mind. 2KW produziert soll die Heizpatrone in Betrieb genommen werden. Bei <2KW soll Abschaltung erfolgen. Welche Steuerungshardware kann dafür benutzt werden?

Hallo Thomas,

technisch kann ich nicht so viel dazu sagen, aber was macht das betriebswirtschaftlich für einen Sinn? Sollte nicht jede produzierte KW erst einmal eingespeist werden? Das Wasser elektrisch zu erwärmen erscheint mir als die teuerste Variante…:confused:

Vielleicht hast Du ja Lust und Zeit diese Frage zu beantworten (obwohl sie keine Antwort auf Deine Frage ist :wink: ).

Joachim

Wenn sein Bekannter eine Eigenverbrauchsanlage hat dann rechnet sich das sehr wahrscheinlich schon. Wurde vor nicht allzu langer Zeit hier im Forum schon einmal diskutiert und abschliessend erklärt.

Ich glaube das war der hier: http://www.ip-symcon.de/forum/f52/pv-rechnung-automatich-14088/#post119345

Hat irgendwas von Glaskugellesen … meine ist momentan leider zur Reparatur :smiley:

Auswertung des Wechselrichters über eine Schnittstelle (Script) und Schaltung der Heizpatrone über einen Schalteingang des Speichers.

Gruß
Bruno

Hallo Bruno, ich bin ein absoluter PV Anfänger. Ist lediglich im Auftrag eines Bekannten. Sag mal bitte welche Angaben benötigt werden damit eine bessere Hilfestellung möglich ist.

Hi Ferengi-Master,

ist von seiten der PV-Anlage ganz einfach! Ich habe bei mir einfach ein EKM an die S-null Schnittstelle des Wechselrichters(WR) angeschlossen und werte dies über IPS aus.
Wenn der WR keine S-0 hat, sollte man einen Zwischenzähler mit S-0 einbauen. Den rest skriptet man.

z.B. wenn PV länger als 3 min mehr als 3000W watt bringt dann schalte heitzstab ein.

Ich habe übrigens irgend wann was ähnliches vor, nur mit einer Wärmepumpe. Vieleicht gibt es bis dahin eine einheitliche ansteuerung für elektrich betriebene Heitzungen. Denn wärme lässt sich momentan besser speichern als strom.(zum Sinn!!)

mfg Peter

P.S. manche WR habe Übrigens schon ein entsprechdes Relai eingebaut das schaltet ab 2 KW automatich einen Impuls z.B. Kaco´s Relai 33

Bleibt also nur noch die Frage wie man die Heitzpatrone anschaltet!

Sind wir nicht alle Anfänger … :smiley:

Vielleicht könntest Du die vorhandenen Geräte in Erfahrung bringen, welche Schnittstellen sind an den Geräten? Wie wird der Heizstab momentan eingeschaltet ? Gibt es einen Steuer-Eingang zum Aufschalten ? Und …

Gruß
Bruno

Als Neueinsteiger mit IPS bin ich erstmal Student des umfangreichen Forums. Jetzt habe ich den für mich passenden Beitrag zwar gefunden, jedoch wird hier nur das Problem beschrieben, aber zur Lösung ist es nicht gekommen. Deshalb möchte ich die Frage nochmal etwas präzisieren mit der Hoffnung auf Hilfe. Oder vielleicht gibt es auch ein anderes Thema, wo das behandelt wurde, ich es aber nicht gefunden habe?

Ich habe eine PV-Anlage und einen Warmwasserspeicher mit elektr. Heizpatrone. Der Speicher soll mit Eigenverbrauchsstrom geheizt werden. Wenn also Strom vom Dach kommt, soll dieser vorrangig in den Speicher fließen.
Wann Strom von der PV-Anlage kommt messe ich mit einem S0-Zähler. Den Speicher steuere ich über ein 1-Wire Analogausgang 0-10V, welcher wiederum einen Thyristor ansteuert, der die Spannung der Heizpatrone von 0 bis 100% regelt.
Aufgabe ist es jetzt, bei Werten am S0-Zähler 0-3000W (das ist das Max der Heizpatrone) linear den Analogausgang 0-10V anzusteuern. Ein Offset mit einem Beginn ab 1000W wäre ebenfalls gut sowie ein Schalter, um die Steuerung zu unterbrechen.

Kann mir bitte jemand bei dem Skript helfen oder beschreiben, mit welchen Mitteln es sonst möglich ist?

Danke und Gruß, Steffen

Ein Skript sollte das Mittel der Wahl sein.

Wie sage ich immer so schön: Zeig doch erstmal, was Du schon hast, dann kann man Dir helfen und gemeinsam auf Fehlersuche gehen.

Danke für den Schubs ins kalte Wasser. :slight_smile: Ich hab mich im Skript versucht und bin auch erstmal recht weit gekommen.


<?
//Überschussleistung von der PV-Anlage
$Ueberschuss  = GetValueFloat ( 59622 /*[Spielwiese\S0-Zähler\Energiezaehler (Impuls)-PV-Anlage\Current]*/);

//Berechnung der Thyristorspannung und Regelung 0-10V
if (30116 /*[Spielwiese\Boilersteuerung\Boilerautomatik]*/ == true)
{
	if ($Ueberschuss<=3000) {$Thyristor=$Ueberschuss/300;}
	else {$Thyristor=10;}
}
else {$Thyristor=0;}

//Setzen des 1-Wire Analogausgang 0-10V
setvalue(11069 /*[Spielwiese\Boilersteuerung\11208 Analog Output 0-10V\Analog Out]*/,$Thyristor);

//Ausgabe der Thyristorspannung zur Kontrolle
setvalue(59023 /*[Spielwiese\Boilersteuerung\Thyristorspannung]*/,$Thyristor);
?>

Den Offset habe ich damit gelöst, dass ich das Skript erst bei einer Leistung am S0-Zähler > 1000 starte.
Jetzt habe ich nur noch 2 Probleme:

  1. Das setzen des Wertes am 1-Wire Analogausgang funktioniert zwar, der Wert wird angezeigt, aber es löst den Ausgang nicht aktiv aus. Das heißt, dass der Analogausgang nicht die angezeigt Spannung auch ausgibt. Wahrscheinlich ist SetValue nicht der richtige Befehl?

2.Ich habe zwar eine Variable ‚Boilerautomatik‘ aber das ist eigentlich nicht das was ich suche und es funktioniert auch nicht. Eigentlich suche ich einen Schalter mit 0/1, womit ich die Boilerautomatik ein- und ausschalten möchte. So habe ich es ja eigentlich auch programmiert, es ist nur irgendwie wirkungslos.

Zu meiner 2. Frage bin ich zumindest soweit, dass ich den Schalter mit dem Skript


<?
if($_IPS['SENDER'] == "WebFront")
{
SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);
}
?>

erstellt habe. Trotzdem ist er noch nicht wirksam, denn egal ob an oder aus, die Berechnung der Thyristorspannung und Regelung 0-10V wird immer durchgeführt. Muss es statt ‚true‘ und ‚false‘ eher ‚on‘ und ‚off‘ heißen?

Bei der 1. Frage bin ich noch noch nicht weiter. Warum bewirkt "setvalue(11069 /[Spielwiese\Boilersteuerung\11208 Analog Output 0-10V\Analog Out]/,$Thyristor); " nicht, dass der 1-wire Analogausgang nicht nur die Ausgangsspannung anzeigt sondern auch wirklich ausgibt? Da fehlt irgendwie noch eine Bestätigung.

Ich nehme an Du willst die Variable direkt setzten, das ist ein häufiger Fehler bzw. Verständnisproblem wenn man mit IP-Symcon anfängt. Variablen von Instanzen sind Read Only, diese dienen zum Anzeigen der Werte, wenn man will das die Instanz was tut, muss man der Instanz einen Befehl erteilen. Im Vergleich ist dies das viel benutzte Beispiel 2 der Anleitung zu Variablen, an der Tachonadel dreht man nicht und hofft, dass das Auto schneller fährt, diese dient nur zur Anzeige, statt dessen tritt man aus das Gaspedal.

Für 1-Wire sind also diese Methoden zu nutzen.

Die Zeile

if (30116 /*[Spielwiese\Boilersteuerung\Boilerautomatik]*/ == true) 

muss korrekt heißen:

if (GetValue(30116 /*[Spielwiese\Boilersteuerung\Boilerautomatik]*/) == true) 

Alternativ auch:

$Boilerautomatik = GetValue(30116);
if ($Boilerautomatik]{
  if ($Ueberschus ........)
}

In diesem Fall nicht ganz richtig. Ich vermute aufgrund der Artikelnummer von ESERA-Automation, dass das Analog-Out Modul zum Einsatz kommt. Der Befehl wäre dann:

ESERA_SetAnalogOutput(12345, 500);

12345 wäre die ID des Moduls - NICHT die ID der Variable, welche die Spannung anzeigt. 500 wär die Spannung - 500 wären 5V. Nachzulesen in der Dokumentation der ESERA Module auf GitHub.

Danke für die Hinweise. Damit konnten meine Fragen geklärt werden und ich habe Erfahrung beim Einstieg gesammelt sowie etwas gelernt.
Der Vollständigkeit halber mein lauffähiges Skript:


<?
//Überschussleistung von der PV-Anlage am S0-Zähler
$Ueberschuss  = GetValueFloat ( 59622 /*[Spielwiese\Boilersteuerung\Energiezaehler (Impuls)-PV-Anlage\Current]*/);

//Berechnung der Thyristorspannung und Regelung 0-10V
//Berechnung nur wenn Boilerautomatik aktiv
if (GetValue(30116 /*[Spielwiese\Boilersteuerung\Boilerautomatik]*/ )== true)
{
	//BIs Überschuss = 3000V soll stufenlos die Regelspannung berechnet werden
	if ($Ueberschuss<=3000) 
	{
	//Berechnung der Regelspannung
	$Thyristor=$Ueberschuss/300;
	//Wenn der Überschoss < 300V dann keine Regelung
	if ($Ueberschuss<=500) {$Thyristor=0;}
	}
	//Bei Überschuss > 3000V ist die max. Regelspannung 10V
	else {$Thyristor=10;}
}
//Fall Boilersteuerung inaktiv
else {$Thyristor=0;}

//Setzen des 1-Wire Analogausgang 0-10V
ESERA_SetAnalogOutput(37843 /*[Spielwiese\Boilersteuerung\11208 Analog Output 0-10 V]*/, $Thyristor*100);

//Ausgabe der Thyristorspannung zur Kontrolle
setvalue(59023 /*[Spielwiese\Boilersteuerung\Thyristorspannung]*/,$Thyristor);
?>

Perfekt, Danke für die Rückmeldung.

Ich sage es ja immer wieder: Es bringt nur in den seltensten Fällen etwas für den Lernfaktor, wenn einem alles vorgekaut wird. Daher selber versuchen und ggf. durch Fehler lernen. Die Fehler macht man dann meistens nur einmal. Daran sollte manch anderer ein Beispiel nehmen.

Grüße!