Twincat 3 Heizungssteuerung bzw. Vorlauftemperatur FBH

Boderbaer

Level-1
Beiträge
73
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

bin schon seit einiger Zeit dran, meine FBH Vorlauftemperatur zu regeln, bzw. bei der Ausarbeitung des Programms für die Regelung.

Zur Steuerung der Vorlauftemperatur der FBH ist ein Danfoss AMV(E) 435 Stellantrieb verbaut.
Habe ihn testweise mal angeschlossen und einen DINT Wert ausgegeben, funktioniert soweit.

Die Temp. Erfassung direkt nach meiner Magna 3 Pumpe ist angeschlossen und funktioniert. Eine Außentemperatur bekomme ich auch.

So, mein erster Weg war natürlich auch in die Oscat Building zu schauen.
Heat_Temp wäre hier evtl. ein Sinnvoller Start der Regelung.

Hier bekomme ich dann die Soll Heizkreisvorlauftemperatur.
Nun komm ich nicht weiter.

Ich habe 2 Real Werte mit Soll und Ist.
Nun muss der Ist Wert zum Soll Wert kommen.

Und hier habe ich ne Denk Blockade, da ich einen Stellantrieb mit 0-20mA bzw. 0-10V Eingang habe.

Vielen Dank schon mal für eure Unterstützung.

PS: Evtl. hat hier einer genau dieses Thema schon gelöst und könnte mir sein Programm zur Verfügung stellen.

Danke schon mal im Voraus.

Grüße
 
Ich entnehme Deinen Worten, das Du die Temperatur vor dem Stellorgan misst und daraus dann was sinnvolles machen willst.
Da hätte ich jetzt auch eine Denkblockade ;)

Die Regelschleife für eine Einzelraumregelung würde üblicherweise durch die Raumisttemperatur geschlossen und daraus eine Stellung des Stellventils berechnet werden.
Die Sollvorlauftemperatur kommt üblicherweise über die Heizkurve aus der Außentemperatur und wirkt auf den Wärmeerzeuger. Die Raumregelung wird dann über die Durchflussmenge gemacht.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
AAAaaaaaa.....
Bin so in dem Trott drin, das ich das eigentliche vergessen habe...

Mein WW Puffer wird versorgt durch ein Nahwärmenetz. D.h. ich bekomm "immer" ~62°C durch meinen Puffer gedrückt.
D.h. ich habe immer sofort Warmes Wasser am Stellantrieb. D.h. wenn ich diesen Aufmache, kommt heißes Wasser sofort in den Vorlauf

Die Einzelraumregelung ist schon am laufen und funktioniert wunderbar.
Hier sind Stellglieder montiert bei jedem Kreislauf und wird je nach dem dann Auf oder zu gemacht (Ausgang aktiv oder nicht).
Jeder Raum kann individuell eingestellt werden (Soll und Ist Temperatur) und es wird dann jeweils geg. falls der Ausgang für das Stellglied aktiviert oder auch nicht.

Nun ist es "nur" noch das Thema mit der Regelung des Vorlaufs der FBH.
Gerade ist es "manuell" gesteuert :ROFLMAO:, bzw. eingestellt.

Durch den Baustein "Heat_Temp" wird durch die Außentemperatur die Soll Temperatur der FBH ausgegeben.
Ich bräuchte den Baustein nicht, wenn ich verstehen würde (einfach) wie das berechnet wird.
Bzw. bräuchte ich eigentlich diese Berechnung auch nicht....
Könnte auch die Soll Vorgabe einfach gestalten und zwar, alle Soll Temperaturen anschauen und beim maximal eingestellten 10°C mehr dazugeben und das ist meine Vorlauftemperatur Soll.

Beispiel:
Badezimmer ist bei mir immer der Wärmste gewollte Bereich.
D.h. hier sind 24°C eingestellt (mind.).
Nehme ich nun diesen Wert und addiere 10°C mehr habe ich meine Soll Vorlauftemperatur........ Theoretisch :D

Aber keine Ahnung ob das so effizient ist...

Und dann kommt halt noch die Regelung an sich dazu mit dem Analogen Ausgang....
 
Dann muss Dein Stellglied ein 3-Wege-Mischer sein. Du benötigst einen Temperatursensor am Heizkreisvorlauf, also am Ausgang des Mischers.
Jetzt kannst Du Dir überlegen, wie Du die Solltemperatur berechnest. Probates Mittel ist die Außentemperatur + Heizkennlinie.

Jetzt hättest Du die Sollvorlauftemperatur, die Du vor Deinen Heizkreisen habeen willst - Ein einfacher PI-Regler kann jetzt anhand der Differenz Soll-Ist so skaliert werden, das er als Ausgangssignal zeitliche Stellschritte herausgibt. Sehr gut geht das mit dem OSCAT-Regler CTRL_PID.
Ich habe das bei mir so realisiert, das mir der PID-Regler eine Stellzeit von maximal +/- 11 Sekunden ausgibt. Zykluszeit des Reglers dabei ~10,5 Sekunden. An den Mischer gebe ich aber nur Stellschritte von mindestens 200ms Länge weiter.
Hohe Schule wäre es, die Mischerstellung abzufragen und mitzuverwenden - in der Regel geht es aber ohne. In dieser Variante ist die Regelrichtung fest, es muss also nicht Heizen/Kühlen berücksichtigt werden.

Feinheit: Anhand der Temperaturen am A und B-Anschluss des Mischers kann man den P-Faktor des Reglers variieren, um Bei kleiner Differenz größere Regelschritte zu erreichen. Ich würde den Aufwand sparen, direkt Positionen zu errechnen.
Sollte ich Dich jetzt Mistverstanden haben müsstest Du mal eine Skizze der Hydraulik machen.
Ansonsten gib mir mal einen Link zu dem Stellantrieb, weil normale Mischer steuert man mit zwei Digitalausgängen für "Bewegung auf" und "Bewegung zu".
Das lässt sich aber auch am Analogausgang umsetzen, indem einfach das Ergebnis des Reglers auf den aktuellen Analogstellwert aufaddiert wird.

Natürlich kannst Du den Vorlaufsollwert auch aus der Einstellung der Raumtemperaturen + der Stellung der Heizkreisventile ableiten. Allerdings auch eher integral: Also Raumsollwert+festen Offset+/- Heizkreisventil überwiegend offen oder geschlossen. Überwiegend geschlossene Heizkreisventile lassen auf zu hohe Vorlauftemperaturen schließen.
Idealzustand: Alle HK-Ventile offen und kein Raum zu warm oder kalt.

Bitte auch an einen Temperaturbegrenzer (unabhängig von Steuerung!) denken: 62° sind als Vorlauf für eine FBH ein bischen viel, ausser man läuft im Fehlerfall gern auf Zehenspitzen :ROFLMAO:
 
Zuletzt bearbeitet:
Grüß dich...
Sry. für die verspätete Antwort.

Hier das "System" wie es bei mir aufgebaut ist.
Die Nahwärme heizt meinen kompletten Pufferspeicher auf.
Von der Nahwärme kommt permanent 58°C - 62°C (für Notfälle ist ein Heizstab installiert, aber das ist ein anderes Thema...).
Von diesem Puffer greife ich ab und versorge meine FBH.

FBH Systemüberblick.jpg

Nach der Magna 3 Pumpe erfasse ich die Temperatur.
Die FBH Heizung ansich, sind Stellglieder für jeden Kreis installiert und in jedem Raum wo geregelt werden soll auch eine Temperatur Erfassung.

Bewegt man hier das Danfoss Stellglied verändert sich recht zügig die FBH Vorlauftemperatur.
Meine Aufgabe ist es nun eigentlich, die Vorlauftemperatur zu Regeln (nicht die Heizung oder Nahwärme an sich).

Die Stellglieder der einzelnen Heizkreisse im Haus regeln schon sehr gut, es ist nun nurnoch das Danfoss Stellglied, was geregelt werden muss,
je nach Anforderung, für den Vorlauf der FBH.

Hoffe es ist verständlicher mit dem Paint Bild :)

Grüße
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Jupp, 3-Wege-Mischer.
Das Verfahren hab ich oben skizziert.
Da Dein Mischer ein stetiges Analogsignal erwartet kannst Du den Ausgang des von mir beschriebenen Reglers in der SPS integrieren (also die Stellschritte aufaddieren zu einem Stellungssignal).
 
OK, soweit verstanden.
Nur eins noch nicht wirklich. Der Ausgang Y gibt mir den Regel - Temperatur REAL Wert weiter, korrekt?

Benötigt wird aber ja für den 0-20mA Ausgang ein INT Wert. Wie berechne ich nun den Reglerausgangswert Real in den INT Wert
für das Stellglied?

Danke nochmals für die Hilfe.
 
Nur eins noch nicht wirklich. Der Ausgang Y gibt mir den Regel - Temperatur REAL Wert weiter, korrekt?
Benötigt wird aber ja für den 0-20mA Ausgang ein INT Wert. Wie berechne ich nun den Reglerausgangswert Real in den INT Wert
für das Stellglied?
Zum Thema Skalierung gibt es im FAQ-Bereich einen Artikel, allerdings zugegebenermaßen in umgekehrte Richtung (Muss wohl mal auch eine FAQ für diese Richtung schreiben).
Du musst den Real-Wert einfach umrechnen. Die 0-20mA entsprechen ja bestimmten Werten (z.B. Temperaturen). Die Analogen Karten von Beckhoff arbeiten eigentlich immer mit 15 Bit (ohne Vorzeichen), 20mA entsprechen also 32767 (Bei einer analogen Karte mit 0 - 10V entsprechend 10V = 32767). Angenommen der Ausgang geht von 0-100°, dann sähe die Formel so aus:
Code:
Ausgangswert:=REAL_TO_INT(Reglerausgangswert * 32767.0 / 100.0);
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Oli :)

Danke, die Skalierung die Weiß ich ja, aber kann diese so nicht anwenden.
Grund ist hierfür, dass ich den Maximalwert nicht weiß.
Ich erfasse zwar die Vorlauftemperatur der Nahwärme, aber weiß eigentlich die maximale mögliche Wärme vom Kessel in den Vorlauf nicht, bzw.
wäre dann der Maximalwert variabel und regelt zusätzlich zum PID mit...

Oder stehe ich hier auf dem Schlauch?
 
Sorry... kapier ich immer noch nicht, wie ich das umsetzen soll.
Diese Methode kann ich doch nur verwenden, wenn ich die Maximale Temperatur, was erreicht werden könnte in die Formel mit einbaue, oder sehe ich das falsch?
Ich kapier das einfach nicht, wie ich das anwenden soll.


Nehmen wir mal an:

Ist Wert 32°C
Sollwert von dem Heat_Temp => 38.2°C

beides stellt man dem CTRL_PID zu Verfügung und dieser gibt mir dann ein Wert von (z.B.) 60°C raus um zu bezwecken,
dass der Ist Wert dem Sollwert angenähert werden soll.
Was soll ich nun mit den 60°C anstellen, wenn ich den Regelausgangswert (Skalierung) ohne Max. Wert nicht errechnen kann?

Wenn ich nun den Maximalen Wert auch variabel mache (wenn ich die Temperatur der Nahwärme Vorlauf nehme (-3°C), verändert der sich ja auch ständig
und regelt fröhlich mit.

Irgendwo schnall ich es einfach nicht...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Der theoretische Maximalwert kann Dir doch egal sein. Du baust Deine eigene Heizkurve, welche Dir einen Sollwert vorgibt. Diesen Sollwert versuchst Du über den Mischer zu erreichen. Ist der Wert kleiner als der aktuelle Speicherladewert=Maximalwert ist alles gut.
Ist der Sollwert größer geht der Mischer in Stellung ganz auf und gibt halt 1:1 die Temperatur aus dem Netz weiter. Ich würde das nicht verkomplizieren wollen. Wenn der Zustand öfter eintritt musst Du Deine Heizkurve überdenken.
 
Zurück
Oben