Heizungs Kennlinie

Begonnen von hugo, 02. Januar 2007, 01:19:11

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 4 Gäste betrachten dieses Thema.

hugo

ein modul für eine heizungskennlinie
noch anregungen?

FUNCTION_BLOCK HK_KNL
VAR_INPUT
   t_ext : REAL;
   enable : BOOL := TRUE;
   T1 : TIME := t#1h;
   TT : TIME := t#2h;
   t_max: REAL;
   t_max_ext : REAL;
   t_min : REAL;
   t_min_ext : REAL;
   T_1 : REAL;
   T_2 : REAL;
   T_3 : REAL;
   Anhebung : REAL;
   Neigung : REAL;
END_VAR
VAR_OUTPUT
   t_out :    REAL;
END_VAR
VAR
   t_e : REAL;
   delay : FT_TN8;
   filter : FT_PT1;
END_VAR

(*
version 1.0   1 jan 2007
programmer    oscat
tested by      tobias

Der Funktionsblock HK_KNL berechnet die vorlauftemperatur in abhaengigkeit von aussentemperatur, 3 fixen temperaturanforderungen (z.B. Boiler) und absenkung und Anhebungsinformationen
t_ext ist der Anschluß der externen Temperatur, es wird empfohlen dort das modul temp_ext zu verwenden, was aber nicht zwingend noetig ist.
wenn temp_ext verwendet wird sollte der ausgang Heat an den Eingang enable gelegt werden.
unabhängig von enable welches die heizung einschaltet, sind 3 eingänge t_1 .. T_3 verfuegbar, wobei hier der hoechste wert verwendet wird und die heizung auf diesen wert gefahren wird unabhaengig vom eingang enable.
dies dient fuer separate verbraucher wie z.B. Boiler oder Schwimmbad u.s.w.

t_max und t_min sind die grenztemperaturen fuer den Ausgang T_out.
T_max_ext und T_min_ext sind die t_ext temperaturen bei denen der knickpunkt fuer t_max und T_min erreicht wird.
z.B. t_min_ext = -18, t_min = 50, t_max_ext = 20, t_max = 35.
unabhaengig von der Einstellung von t_max oder t_max_ext kann jederzeit durch den Eingang enable bereits bei niedrigeren Temperaturen
die Heizung abgeschaltet werden.

der Eingang Absenkung wird zur Kennlinie addiert, also die kennlinie nach oben oder unten entlang der Y achse verschoben,
wobei die Grenztemperaturen t_min und t_max nicht ueberschritten bzw unterschritten werden.

der Eingang Neigung veraendert dabei nur die untere grenztemperatur (t_min) nicht die obere / t_max).
die kurve wird also steiler oder flacher.

Die eingaenge T1 und TT spezifizieren die verzögerung und die Zeitkonstante des Tiefpasses für den eingang t_ext
dadurch kann sowohl eine verzoegerung als auch ein tiefpass für t_ext definiert werden.
per default liegen diese werte bei 2h fuer tt und 1h fuer t1. je nach bauart des gebaeudes sind hier andere werte noetig.

*)


delay(in := t_ext, T := TT);
filter(in := delay.out, T := T1);
t_out := F_Lin2(filter.out, t_min_ext, t_min , t_max_ext, t_max + Neigung) + Anhebung;
IF t_out < t_min THEN
   t_out := t_min;
ELSIF t_out > t_max THEN
   t_out := T_max;
END_IF;
IF NOT enable THEN t_out := 0; END_IF;
IF max3(T_1,t_2,T_3) > t_out THEN t_out := max3(t_1, t_2, t_3); END_IF;

swmggs

#1
Hallo Hugo,

also ich habe in meiner Steuerung einen FB_Heizkurve der nur die Vorlauftemperaturen für Tag- und Nachtbetrieb berechnet.
Auch bin ich kein Freund von einer Geraden als Heizkurve, deshalb benütze ich Linear10, ist halt ein bischen mehr Arbeit, aber.....
Mit der Paralleverschiebung verschiebe ich wie der Name sagt ;D ;D, bringt viel bei Aussentemperaturen so um die 5 Grad.

Alles andere wie Kesselanforderung, Raumeinfluss, Auswahl der Vorlauftemperaturen werden dann in separaten FBs verarbeitet und
weiterbenützt

mfg. swmggs

als Anhang FB_Heizkurve

[gelöscht durch Administrator]

hugo

hast du eine formel (informationen) zu linear10?

swmggs

Wago Gebäude allgemein

swmggs

hugo

dankre hast du sonst noch ideeen wuensche fuer eine kesselsteuerung?
eventuell beschreibungen von geraeten?

danke fuer deine hilfe

swmggs

bei der Kesselsteuerung gibts ja meistens nur 2-Punkt (Öl-Gas ), oder Modulierend (Brennwertgerät).

Meine Brennwertgeräte haben Eingang 0-10V, werden angesteuert mit Wago Ausgangsklemme 0-10V

swmggs

zelli001

Hallo, wo finde ich den Baustein HK_KNL  ???

Gruß Zelli

martin.k

Habe auch gesucht und nicht gefunden.
  :-\

Gruß
Martin