FB_BA_FnctSel

Automatische Anwahl Heiz- oder Kühlregler

FB_BA_FnctSel 1:

Funktionsbeschreibung

Der Funktionsbaustein dient der Heiz-Kühlreglerfreigabe für einen Raum als Teil einer klimatechnischen Anlage. 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 uiChgOvrDly [s] ausgegeben, das heißt: erst wenn die Freigabe Kühlen bEnCol für uiChgOvrDly auf FALSE stand, 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 lrCtrlValHtg und lrCtrlValCol. 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 lrRmT und den eingestellten Sollwerten lrSpHtg für Heizen und lrSpCol 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 uiChgOvrDly [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 lrCtrlValHtg und lrCtrlValCol. So wird ein drastischer Wechsel von Heizen auf Kühlen und umgekehrt vermieden, sollte die Umschaltzeit nicht ausreichend hoch bemessen sein.

Taupunktwächter (bDewPnt)

In beiden Systemen - Zwei- und Vierleiter - hat der Taupunktwächter die Aufgabe das Kühlen unmittelbar zu verriegeln. Da es sich hierbei um eine Sicherheitsfunktion handelt, ist der betreffende Eingang bDewPnt nach dem Ruhestromprinzip, also invertiert ausgelegt: bDewPnt = FALSE: Kühlregler ist verriegelt.

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 (lrCtrlValCol)

Ausgabe Heizregler = 0 (lrCtrlValHtg)

Raumtemperatur (lrRmT) < Sollwert Heizen (lrSpHtg)

Raumtemperatur (lrRmT) > Sollwert Kühlen (lrSpCol)

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

Reglerfreigabe Heizen (bEnHtg) steht mindestens für die Umschaltzeit udiChgOvrDel [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 (Ruhestromprinzip) 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 (lrCtrlValHtg/lrCtrlValCol) 0 ausgibt. Damit ist sicher gestellt, dass immer nur ein Regler im Eingriff 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ülhbetrieb (Zwei- oder Vierleitersystem) hat der Taupunktwächter angesprochen (bDewPnt=FALSE)

In diesen Fällen werden die Heiz- und Kühlfreigaben weg genommen 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 vorhandene Netzsystem (Zwei- oder Vierleiter).

udiReqdMedium

Medium

Raumtemperatur

1

kein Medium ist angefordert

rTRm > SpHtg UND rRTm < SpCol

2

Heizmedium ist angefordert

rTRm < SpHtg

3

Kühlmedium ist angefordert

rTRm > SpCol

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, udiErrId=gBA_WarnIdFnctSel) ausgegeben - der Baustein unterbricht seine Abarbeitung nicht.

Ein-/Ausgänge

VAR_INPUT

bPipeSys       : BOOL;
bMedium        : BOOL;
bDewPnt        : BOOL;
lrRmT          : LREAL;
lrSpHtg        : LREAL;
lrSpCol        : LREAL;
lrCtrlValHtg   : LREAL;
lrCtrlValCol   : LREAL;
udiChgOvrDel   : UINT;

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 im Ruhestromprinzip (negative Logik): Wenn bDewPnt = FALSE, dann wird der Kühlregler gesperrt.

lrTRm: Raumtemperatur

lrSpHtg: Heiz-Sollwert

lrSpCol: Kühl-Sollwert

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

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

udiChgOvrDel: Umschaltverzögerung [s] von Heizen auf Kühlen und umgekehrt

VAR_OUTPUT

bEnHtg               : BOOL;
bEnCol               : BOOL;
udiReqdMedium        : UDINT;
udiRemTiChgOvrDlyHtg : UDINT;
udiRemTiChgOvrDlyCol : UDINT;
bErr                 : BOOL;
udiErrId             : UDINT;
udiErrArg            : UDINT;

bEnHtg: Freigabe des Reglers Heizen

bEnCol: Freigabe des Reglers Kühlen

udiReqdMedium:

udiReqdMedium

Medium

Raumtemperatur

1

kein Medium ist angefordert

rTRm > SpHtg UND rRTm < SpCol

2

Heizmedium ist angefordert

rTRm < SpHtg

3

Kühlmedium ist angefordert

rTRm > SpCol

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

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

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

udiErrId / udiErrArg: Enthält die Fehlernummer und das Fehlerargument. Siehe Fehlercodes.

Voraussetzungen

Entwicklungsumgebung

Zielsystem

erforderliche Bibliothek

erforderliches Supplement

TwinCAT 2.11 R3/x64 ab Build 2244

PC/CX

TcBA-Bibliothek ab V1.0.0

TS8040 | TwinCAT Building Automation ab V1.0.0