FB_BA_FnctSel

FB_BA_FnctSel 1:

Der Funktionsbaustein dient der Freigabe des Heiz- oder Kühlbetriebs in einem Raum.
Dabei spielt die Art des Verteilungsnetzes eine große Rolle:
Handelt es sich um ein Zweileitersystem, so können alle Räume der Anlage immer nur entweder beheizt oder gekühlt werden.
In einem Vierleitersystem hingegen kann die Klimatisierung der Räume bedarfsgerecht erfolgen, d.h. ein Teil der Räume kann beheizt, der andere von derselben Anlage gekühlt werden.

Der Funktionsbaustein, der wie bereits erwähnt pro Raum Anwendung findet, wählt damit je nach vorhandenem Rohrleitungssystem seine Regler unterschiedlich an:

Zweileiternetz

Das Zweileitersystem ist angewählt, wenn der Baustein am Eingang bPipeSys einen FALSE-Eintrag hat. Da alle Räume der Anlage nur entweder beheizt oder gekühlt werden können, wird die Anwahl von zentraler Stelle für alle Räume gleich über den Eingang bMedium vorgegeben. Ist bMedium FALSE, so wird der Raum-Heizregler angewählt - ist der Eingang TRUE, so ist es der Kühlregler. Die Reglerfreigaben bEnHtg und bEnCol werden immer gegenseitig verzögert um udiChgOvrDly_sec [s] ausgegeben, das heißt: erst wenn die Freigabe Kühlen bEnCol für udiChgOvrDly_sec FALSE ist, kann die Freigabe Heizen gegeben werden und umgekehrt. Zusätzlich zum Ablauf dieser Umschaltzeit wird darauf geachtet, dass der abzuschaltende Regler 0.0 ausgibt. Dies geschieht durch Rückmeldung an den Eingängen rCtrlValHtg und rCtrlValCol. So wird ein drastischer Wechsel von Heizen auf Kühlen und umgekehrt vermieden.

Vierleiternetz

Das Vierleitersystem ist angewählt, wenn der Baustein am Eingang bPipeSys einen TRUE-Eintrag hat. Die Regleranwahl kann nun für alle Räume nach Bedarf unterschiedlich sein und richtet sich daher nach der Raumtemperatur rRmT und den eingestellten Sollwerten rSpHtg für Heizen und rSpCol für Kühlen. Übersteigt die Raumtemperatur den Kühlsollwert, so wird der Kühlregler freigegeben (bEnCol), fällt sie unter den Heizsollwert, wird der Heizregler freigegeben (bEnHtg). Befindet sich die Temperatur zwischen beiden Sollwerten, so sind beide Regler abgeschaltet (energieneutrale Zone). Auch hier werden die Reglerfreigaben bEnHtg und bEnCol immer gegenseitig verzögert um udiChgOvrDly_sec [s] ausgegeben (siehe Zweileiternetz) und zusätzlich zum Ablauf dieser Umschaltzeit darauf geachtet, dass der abzuschaltende Regler 0.0 ausgibt. Dies geschieht durch Rückmeldung an den Eingängen rCtrlValHtg und rCtrlValCol. So wird ein drastischer Wechsel von Heizen auf Kühlen und umgekehrt vermieden, falls die Umschaltzeit nicht ausreichend hoch bemessen ist.

Taupunktwächter (bDewPnt)

In beiden Systemen - Zwei- und Vierleiter - hat der Taupunktwächter die Aufgabe, das Kühlen unmittelbar zu verriegeln.

Programmablauf

Der Baustein kennt 3 Zustände:

  1. Warten auf Freigabe Heizen bzw. Kühlen
  2. Freigabe Heizen
  3. Freigabe Kühlen

Im ersten Schritt wartet der Baustein auf die Erfüllung der Bedingungen, die für das Heizen bzw. das Kühlen notwendig sind:

Heizen

Kühlen

Ausgabe Kühlregler = 0 (rCtrlValCol)

Ausgabe Heizregler = 0 (rCtrlValHtg)

Raumtemperatur (rRmT) < Sollwert Heizen (rSpHtg)

Raumtemperatur (rRmT) > Sollwert Kühlen (rSpCol)

Reglerfreigabe Kühlen (bEnCol) steht mindestens für die Umschaltzeit udiChgOvrDly_sec [s] auf FALSE

Reglerfreigabe Heizen (bEnHtg) steht mindestens für die Umschaltzeit udiChgOvrDly_sec [s] auf FALSE

Vierleitersystem ist angewählt (bPipesys=TRUE)
ODER Zweileitersystem ist angewählt und es steht Heizmedium an (bPipeSys=FALSE AND bMedium=FALSE)

Vierleitersystem ist angewählt (bPipesys=TRUE)
ODER Zweileitersystem ist angewählt und es steht Kühlmedium an (bPipeSys=FALSE AND bMedium=TRUE)

 

Der Taupunktwächter spricht nicht an (bDewPnt=TRUE)

Ist nun eine Bedingungskette erfüllt, springt der Baustein in den jeweiligen Zustand Heizen oder Kühlen und beendet diesen erst, wenn der entsprechende Regler am Bausteineingang (rCtrlValHtg/rCtrlValCol) 0 ausgibt. Damit ist sichergestellt, dass immer nur ein Regler aktiv ist, auch wenn eine zu hohe Reglerausgabe, z. B. Heizen, u. U. ein kurzfristiges Kühlen erforderlich machen würde (Überschwingen). Das Heizen, bzw. Kühlen wird dann erst abgeschlossen, wenn kein Bedarf mehr ansteht.

Allerdings gibt es 3 Ausnahmen, bei denen das Heizen bzw. Kühlen unmittelbar unterbrochen wird:

  1. Im Zweileitersystem (bPipeSys=FALSE) wird geheizt (bEnHtg), es wurde jedoch auf Kühlmedium umgestellt bMedium=TRUE
  2. Im Zweileitersystem (bPipeSys=FALSE) wird gekühlt (bEnCol), es wurde jedoch auf Heizmedium umgestellt bMedium=FALSE
  3. Im Kühlbetrieb (Zwei- oder Vierleitersystem) hat der Taupunktwächter angesprochen (bDewPnt=TRUE)

In diesen Fällen werden die Heiz- und Kühlfreigaben weggenommen und zurück in den Wartezustand gesprungen.

Bedarfsmitteilung (udireqdMedium)

Um der Anlage mitzuteilen, wie der aktuelle Bedarf an Wärme oder Kühlung ist, wird am Bausteinausgang, also pro Raum, in Abhängigkeit der Ist- und Solltemperatur eine Bedarfskennung ausgegeben. Diese kann zentral gesammelt und ausgewertet werden. Die Auswertung erfolgt immer, also unabhängig vom vorhandenen Netzsystem (Zwei- oder Vierleiter).

udiReqdMedium

Medium

Raumtemperatur

1

kein Medium ist angefordert

rRmT > rSpHtg UND rRmT < rSpCol

2

Heizmedium ist angefordert

rRmT < rSpHtg

3

Kühlmedium ist angefordert

rRmT > rSpCol

Fehlerbehandlung

Der Heiz-Sollwert darf nicht größer oder gleich dem Kühl-Sollwert sein, da damit ein Temperaturbereich entstehen würde, in dem gleichzeitig Heiz- und Kühlbedarf entsteht. Da der Baustein jedoch immer nur eine Freigabe, Heizen oder Kühlen ausgibt, ist der Fall anlagentechnisch unbedenklich. Es wird für diesen Fall nur eine Warnmeldung (bErr=TRUE, sErrDescr=Warnmeldung) ausgegeben - der Baustein unterbricht seine Abarbeitung nicht.

VAR_INPUT

bPipeSys          : BOOL;
bMedium           : BOOL;
bDewPnt           : BOOL;
rRmT              : REAL;
rSpHtg            : REAL;
rSpCol            : REAL;
rCtrlValHtg       : REAL;
rCtrlValCol       : REAL;
udiChgOvrDel_sec  : UDINT;

bPipeSys: bei Zweileitersystem ist bPipeSys FALSE, bei Vierleitersystem TRUE.

bMedium: aktuelle Versorgung des gesamten Zweileiternetzes mit Kühl- oder Heizmittel. Wenn Heizmedium ansteht ist bMedium FALSE.

bDewPnt: Taupunktwächter: wenn bDewPnt = FALSE, dann wird der Kühlregler gesperrt.

rTRm: Raumtemperatur.

rSpHtg: Heiz-Sollwert.

rSpCol: Kühl-Sollwert.

rCtrlValHtg: aktueller Ausgabewert vom Heizregler. Wird intern als Umschaltkriterium von Heizen auf Kühlen verwendet: rCtrlValHtg muss 0 sein.

rCtrlValCol: aktueller Ausgabewert vom Kühlregler. Wird intern als Umschaltkriterium von Kühlen auf Heizen verwendet: rCtrlValCol muss 0 sein.

udiChgOvrDel_sec: Umschaltverzögerung [s] von Heizen auf Kühlen und umgekehrt. Intern begrenzt auf einen Minimalwert von 0.

VAR_OUTPUT

bEnHtg                   : BOOL;
bEnCol                   : BOOL;
udiReqdMedium            : UDINT;
udiRemTiChgOvrDlyHtg_sec : UDINT;
udiRemTiChgOvrDlyCol_sec : UDINT;
bErr                     : BOOL;
sErrDescr                : T_MAXSTRING;

bEnHtg: Freigabe des Reglers Heizen.

bEnCol: Freigabe des Reglers Kühlen.

udiReqdMedium:

udiReqdMedium

Medium

Raumtemperatur

1

kein Medium ist angefordert

rRmT > rSpHtg UND rRmT < rSpCol

2

Heizmedium ist angefordert

rRmT < rSpHtg

3

Kühlmedium ist angefordert

rRmT > rSpCol

udiRemTiChgOvrDlyHtg_sec: Countdown [s] Umschaltverzögerung von Kühlen auf Heizen.

udiRemTiChgOvrDlyCol_sec: Countdown [s] Umschaltverzögerung von Heizen auf Kühlen.

bErr: Bei fehlerhafter Abarbeitung, bzw. bei Warnzuständen wird dieser Ausgang auf TRUE gesetzt.

sErrDescr: Enthält die Fehlerbeschreibung.

Fehlerbeschreibung

01: Warnung: Der Sollwert Heizen (Setpoint Heating) ist größer als oder gleich dem Sollwert Kühlen (Setpoint Cooling)

Voraussetzungen

Entwicklungsumgebung

Erforderliche SPS-Bibliothek

TwinCAT ab v3.1.4024.7

Tc3_BA ab v1.1.6.0