Berechnung, bei der Experten verzweifeln?

OKL

Level-1
Beiträge
143
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Gemeinde,

HLK-Thema. Heizkurve wird berechnet, quasi eine Vorlauftemperatur (SOLL) ist vorhanden. Ein Mischer steht bereit, diese zu mischen. Dort könnte ich ja den Baustein Accurator3D von Oscat nehmen, welcher einen Wert von 0 bis 256 übergeben bekommt und demzufolge den Mischer stellt. Jedoch bräuchte ich dafür eine schöne Berechnung.

Meine Idee wäre ein komplizierte Mathematische. Könnte man nicht einfach die Werte: aktuelle Vorlauftemperatur, Soll-Vorlauftemperatur, die anstehende Puffer/Ölkesseltemperatur irgendwie ins Verhältnis setzen, dass am Ende ein Wert herauskommt, der zwischen 0 und 256 ist? (später eventuell auch für die bessere Berechnung die Rücklauftemperatur) Der Verlauf wird nicht linear sein, da der Mischer an den Grenzbereichen kaum regelt und sich alles fast nur in der Mitte abspielt.

Hat da jemand eine tolle Idee oder Formel?

Danke euch.


MfG

Olaf
 
Was willst du da kompliziert berechnen. Nimm doch einfach einen PI-Regler der dir anhand der Abweichung Soll-/Ist-Vorlauftemperatur entweder eine berechnete Stellung ausgibt, oder eine Stellungsänderung wie Ventil-Auf / Ventil-Zu (bei Siemens z.B. den fertigen CONT_S Schrittregler oder schreibst dir was eigenes).
Wenn du in die Regelung noch andere Faktoren wie beispielsweise eine Mindest-Rücklauftemperatur mit einfließen lassen willst, programmierst du hierfür ebenfalls einen PI-Regler und machst dann eine Max-Auswahl aus den beiden Stellgrößen der Regler. Für so eine Max-Auswahl müssen deine vorigen Regler aber eine analoge Stellgröße (0..100 %) ausgeben, damit du mit dieser nach der Max-Auswahl auf den Stellungsregler gehen kannst.

Die üblichen Heizungsventile haben aufgrund des Ventilsitzes keine lineare Kennlinie sondern in Art einer e-Funktion. Bei Ventilen mit einem analogen Sollwert kann man oftmals über einen Schalter in der Ventilelektronik die Kennlinie auf linear oder gleichprozentig einstellen.
 
Hallo,

war halt so eine Idee und eine Herausforderung. Theoretisch kann man das auch damit realisieren, ist halt komplizierter, jedoch müsste man dann weniger "probieren", bis die Temperatur passt.

Ich habe einen FC, welcher je nach Spreizung von soll und ist die Zeit auf- und zufahren berechnet und zwischendurch eine definierte Zeit wartet. Auch beachte ich eine Toleranzgrenze. Jedoch habe ich das vereinfacht und anhand der Spreizung einfach eine Integer-Zahl mit X-Sekunden Fahren berechnet und dann mit dem Merker 0.5 einfach bis 0 runterzähle und solange fahre. Das ist jetzt nicht super-Genau, je nachdem wo der Blinkmerker jetzt steht, aber ich werde die nächste Zeit noch eine Hilfszeit einbauen, dass ich z. B. nach 25 Sekunden des Zufahrens das Relais nicht weiter ansteuere. 20 Sekunden ist glaube ich meine Mischerlaufzeit. Gleiches gilt dann für das Auffahren.

Meine alte Heizungssteuerung war zu ungeduldig und furh ständig auf und zu. Ich fahre schon jetzt viel besser, nach drei bis 4 mal ansteuern passt schon die Temperatur, obwohl ja die Fahrt und die Temperatur des Mischers nicht linear sind. 45 Sekunden Warten bis zur nächsten Bewegung ist halt besser als ständig fahren.

Vielleicht hat jemand ja noch ein Beispiel für das Problem? Nur zur Inspiration. Mein Mischer-FC hat nur 6 Netzwerke, vielleicht gehts ja noch kürzer (KOP)

Viele Grüße.

Olaf
 
Meine alte Heizungssteuerung war zu ungeduldig und furh ständig auf und zu.

Ich vermute mal, da war nicht die Steuerung ungeduldig, sondern der Inbetriebnehmer... Bin mir ziemlich sicher, das es bei der alten Anlage einige Parameter einzustellen gab, was nur niemand gemacht hat. Regleroptimierung heisst das Zauberwort. Nach welchem Verfahren sei mal dahingestellt, auch ne Opimierung nach Gefühl ist meist besser als garnix. Wenns schwingt, halt den P-Anteil verkleinern...

Ich habe einen FC, welcher je nach Spreizung von soll und ist die Zeit auf- und zufahren berechnet und zwischendurch eine definierte Zeit wartet.

hört sich nach nem I-Regler an.


Gruß
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich habe zusammen mit meinem Heizungsbauer und einem Ingenieur für GLT die Doku meiner Gamma 2b Heizungssteuerung angesehen. Dieses Verhalten konnte man tatsächlich nicht einstellen. Glaube hilft da nicht so wirklich weiter. Ungeduldig war ich auch nicht, die alte Steuerung lief 5 Jahre und ich habe dem Treiben so lange auch zugesehen. Da sowieso eine SPS vorhanden war, ließ ich eben meinem Spieltrieb freien Lauf.

Meine Mischersteuerung hat nun einige Parameter mehr, sie funktioniert ganz gut. Es gibt dennoch ein Optimierungsproblemchen, welchem ich mich die nächsten Tage widmen werde. Und zwar:

Wird Wärme abgenommen, also es sind Heizkörper aufgedreht, dann funktioniert alles tadellos. Geht der Frostschutz rein und die Heizkörper sind alle zu, gleiches gilt bei geschlossenen Heizkörpern und die Mischerpumpe ist an, dann ist das System zu träge. Das heißt, es ist nur die Kurschlussstrecke am Mischer offen und die Regelung passt nicht mehr so gut. Es wird etwas aufgefahren und erst nach etlichen Sekunden tut sich was. Das heißt, ich müsste in dem Fall noch die Tendenz mit berücksichtigen und wenn die Temperatur in die richtige Richtung fällt/steigt, geduldiger sein und länger warten bis ich nachregle - sonst geht es wieder zu weit in die Richtung... Wenn die Temp. in die falsche Richtung geht, dann nehme ich das normale Intervall und regle nach.

Problem ist auch, dass dann nur ein winziger Punkt am Mischerspektrum das ideale Verhältnis ergibt und diesen zu finden ist sicher nicht ganz einfach.

Melde mich wieder.


MfG

Olaf
 
Wird Wärme abgenommen, also es sind Heizkörper aufgedreht, dann funktioniert alles tadellos. Geht der Frostschutz rein und die Heizkörper sind alle zu, gleiches gilt bei geschlossenen Heizkörpern und die Mischerpumpe ist an, dann ist das System zu träge. Das heißt, es ist nur die Kurschlussstrecke am Mischer offen und die Regelung passt nicht mehr so gut. Es wird etwas aufgefahren und erst nach etlichen Sekunden tut sich was. Das heißt, ich müsste in dem Fall noch die Tendenz mit berücksichtigen und wenn die Temperatur in die richtige Richtung fällt/steigt, geduldiger sein und länger warten bis ich nachregle - sonst geht es wieder zu weit in die Richtung... Wenn die Temp. in die falsche Richtung geht, dann nehme ich das normale Intervall und regle nach.

Problem ist auch, dass dann nur ein winziger Punkt am Mischerspektrum das ideale Verhältnis ergibt und diesen zu finden ist sicher nicht ganz einfach.

Olaf

Tja, das ist das Problem einer jeden Regelung, sei es nun ein PID (CONT_S) oder Dein selbst geschriebener Regler oder auch sonst eines ausgeklügelten Regelalgorithmus. Die Regelstrecke ist halt nichtlinear und timevariant. Auf jeden Fall besitzt sie bei unterschiedlichen Verhältnissen unterschiedliche Streckenparameter. (Das ist die regelungstechnische Erklärung). An diesen und ähnlichen Problemen haben sich schon Generationen von Reglungstechnikern die Zähne ausgebissen und mehr oder weniger praktikable Lösungen (Regelalgorithmen) gefunden.

Ich würd nen PI-Regler nehmen und den für den ungünstigsten Fall optimieren, d.h. so einstellen das er nicht schwingt. In den anderen Fällen ist er dann zu langsam, aber was solls.
Falls das nicht reicht, sind dann noch so Zauberworte wie Störgrößenaufschaltung, Vorsteuerung, GainScheduling, Linearisierung usw. interessant. Aber da müsste der Spieltrieb schon arg geweckt sein :)

Vielleicht kannst Du bei Deinem Regler die "Wartezeit" abhängig von irgend ner Größe machen (Aussentemp, Uhrzeit etc.) wäre dann sozusagen die arbeitspunktabhängige Adaption des I-Anteils...

Ich hab viele Jahre als Regelungstechniker in der Gebäudeautomation gearbeitet. Dein Problem ist mir also weitestgehend bekannt. Ich vermute den opimalen Regler der unter allen Umständen mit hoher Regelgüte arbeitet wirst Du nicht finden (na, ist das jetzt nicht ein Ansporn :) ) Zu bedenken ist auch, dass ein preiswerter (schlecht ausgelegter) Heizungsmischer auch nicht das super Stellglied darstellt...

Viel Spass und Erfolg mit Deiner Anlage,

Gruß
 
Hallo ducati,

danke für deine ausführliche Antwort. Es gibt sicher schon viele Lösungsansätze, ich habe mir auch etwas einfallen lassen was meinem Ziel schon sehr sehr nahe kommt. Hier mal für alle Interessenten mein Modell:

Variable Parameter (einstellbar in Visualisierung bzw. Step7)

Toleranz in Grad C. - derzeit 1 Grad C. - heißt bei der Abweichung der Soll-Ist-Temp. von nicht mehr als 1 Grad rauf und runter bewegt sich nichts
Faktor - derzeit 1.1 - Beispiel: Soll 50 Grad C. Vorlauf, Ist 40 Grad Vorlauf = 10 Grad Differenz * 1.1 Faktor = 11 Sekunden Fahrzeit in die entsprechende Richtung
Intervall Mischerregelung - derzeit 30 Sekunden - nach 30 Sekunden wird eine Überprüfung gestartet, wird der Mischer bewegt, startet die Zeit erst nach der letzten Bewegung

Diverse Grenzen und Parameter für die Heizkurve, Außentemperatur etc. Den Mischer kann ich auf von Hand bzw. im Tippbetrieb fahren, wenn ich die Betriebsart auf Hand per Visu oder am Bedienelement vor Ort umschalte. Endschalter habe ich dem Mischer übrigens auch spendiert. (Rollenmicrotaster)

Was das Ganze aber jetzt verbessert hat - meine angekündigte Tendenzregelung. Ich fahre den Mischer etwas zu, Ist = 50 Grad, Soll = 40 Grad. Nur als Beispiel, z. B. bei Nachtabsenkung oder Frostschutz. Alle Heizkörper sind zu, das System ist träge. Normalerweise würde ich jetzt aller 30 Sekunden überprüfen und wieder fahren und fahren. Nun nicht mehr! Ich schaue ob sich die 50 Grad minimiert haben (speichere den letzten gemessenen Wert mir ab) Wenn es also in die richtige Richtung geht und der Wert sinkt, speichere ich mir den aktuellen Wert nach der vorgegebenen Zeit wieder ab und unterlasse das Fahren. Sobald die Tendenz stagniert oder die Temperatur in die Falsche Richtung geht, regele ich wieder. Das hat den Vorteil, dass ich erst nachregele, wenn die endgültige Temperatur nach dem Regeln erreicht wurde und diese nicht mehr wandert. Dann bewege ich den Mischer wieder in die richtige Richtung.

Das ist meines Erachtens bedeutend sinnvoller, als den Mischer ständig hin- und herschwingen zu lassen oder aber den Faktor und die Zeit aufs Unendliche zu verändern. Denn dann hat man auch den Nachteil (langes Warten), dass die Temperatur in die andere Richtung abdriften kann, wenn man zu lange mit dem Nachregeln wartet. So regele ich jetzt, wenn sich die Temperatur eingepegelt hat oder aber sofort, wenn es in die falsche Richtung geht. So kann man das Intervall der Überprüfungen auch weiter senken, da geduldig abgewartet wird.mischer.jpg


Hier mal ein Bild meiner noch in Überarbeitung befindlichen Mischersteuerung. Nur falls sich jemand wundert. Der letzte Vorlaufwert wird nach Überprüfung auf Tendenz (höher/niedriger) auf den Wert aktuellen Wert der Vorlauftemperatur gesetzt, um beim nächsten Intervall wieder vergleichen zu können. Ändert sich jetzt die Vorlauftemperatur, dann wird die Tendenz wieder neu gesetzt.

Bei Anregungen einfach melden. Bin momentan sehr sehr zufrieden, kein Vergleich mit der Gamma 2B.

Bis später.


Mfg

Olaf
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Das was du aus Einzelteilen programmiert hast ist letzendlich nicht viel anderes als ein PID-Regler. Deine "Tendenzregelung" entspricht dem D-Anteil im PID-Regler - es wird auf die Änderung der Regelabweichung reagiert.

Wichtig ist aber dass es funktioniert ;-)
 
Zurück
Oben