FB_HVACSetpointHeating

FB_HVACSetpointHeating 1:

Mit diesem Funktionsbaustein kann ein Heizkreis in unterschiedliche Betriebsarten geschaltet werden. Je nach Betriebsart wird am Ausgang des Funktionsbausteins ein entsprechender Sollwert für die Vorlauftemperaturregelung eines statischen Heizkreises ausgegeben. In Abhängigkeit der Betriebsart und dem Zustand der nachfolgend beschriebenen Parameter, wird der Ausgang bHeating gesetzt bzw. zurückgesetzt.

Dieser Funktionsbaustein muss funktionsbedingt mit dem FB_HVACHeatingCurve zusammen verwendet werden. Der Grund dafür ist, dass der Betrag für die Nachtabsenkung beim FB_HVACHeatingCurve berücksichtigt wird.

VAR_INPUT

eDataSecurityType     : E_HVACDataSecurityType;
bSetDefault           : BOOL;
bEnable               : BOOL;
rSetpointIn           : REAL;
rOutsideTempDamped    : REAL; 
dtSystemTime          : DT;
bDayOperation         : BOOL;
bFreezeProtec         : BOOL;
bReset                : BOOL;

eDataSecurityType:Wenn eDataSecurityType:= eHVACDataSecurityType_Persistent ist, werden die persistenten VAR_IN_OUT-Variablen des Funktionsbausteins bei einer Wertänderung im Flash des Rechners abgelegt. Dafür ist es zwingend erforderlich den Funktionsbaustein FB_HVACPersistentDataHandling einmalig im Hauptprogramm, das zyklisch aufgerufen wird, zu instanziieren. Ansonsten wird der instanziierte FB intern nicht freigegeben.

Eine Wertänderung kann vom Gebäudeleitsystem, einem lokalen Bediengerät oder von einem Schreibzugriff von TwinCAT aus erfolgen. Beim Neustart des Rechners werden die gesicherten Daten automatisch vom Flash in den RAM zurück gelesen.

Anwendungsbeispiel: example_persistent.zip

Bei eDataSecurityType:= eHVACDataSecurityType_Idle werden die persistent deklarierten Variablen nicht spannungsausfallsicher gespeichert.

Hinweis

Eine sich zyklisch ändernde Variable darf niemals mit der IN_OUT-Variablen eines Funktionsbausteins verbunden werden, wenn eDataSecurityType:= eHVACDataSecurityType_Persistent ist. Es würde zu einem frühzeitigen Verschleiß des Flashspeichers führen.

bSetDefault: Wenn die Variable TRUE ist, werden die Default-Werte der VAR_IN_OUT Variablen übernommen.

bEnable: Ist die Variable bEnable TRUE, dann ist der Funktionsbaustein aktiviert. Bei einem FALSE wird an dem Ausgang rSetpointOut null ausgegeben und der Pumpenausgang bleibt FALSE.

rSetpointIn: Bei einem raumtemperaturgeführten Heizkreis wird an rSetpointIn der Wert eines Raumsollwertmoduls angelegt. Ist der Heizkreis ein außentemperaturgeführter kommt der Sollwert von der Heizkennlinie. Siehe FB_HVACHeatingCurve.

rOutsideTempDamped: Kurzfristige Temperaturschwankungen der Außentemperatur dürfen sich nicht ungefiltert auf den Sollwert der Vorlauftemperatur auswirken. Deshalb ist die Außentemperatur nicht direkt, sondern über einen Dämpfungsbaustein aufzuschalten. Siehe hierzu auch FB_HVACOutsideTempDamped.

dtSystemtime: Mit dieser Variablen wird dem Funktionsbaustein die Rechnersystemzeit übergeben.

bDayOperation: An dieser Eingangsvariablen wird die Ausgangsvariable des Zeitschaltprogramms übergeben. Ist bDayOperation TRUE, dann ist der Heizkreis im Tagbetrieb. Die Nachtabsenkung der Vorlauftemperatur wird damit deaktiviert.

bFreezeProtec: Eingang, an den die Frostschutzmeldung angelegt wird.

bReset: Quittierungseingang bei einer Störung.

VAR_OUTPUT

rSetpointOut      : REAL;
bHeating          : BOOL; 
bReqOutsideTemp   : BOOL;
bReqDate          : BOOL;
bReqPermanent     : BOOL;
bReqFreezeProtec  : BOOL;
bReqNight         : BOOL;
bReqDay           : BOOL;
bInvalidParameter : BOOL;

rSetpointOut: Sollwert für die Vorlauftemperaturregelung.

bHeating: In Abhängigkeit der eingestellten Betriebsart sowie den Ein- und Ausschaltverzögerungen wird der Ausgang bHeating sofort oder verzögert gesetzt (TRUE) bzw. zurückgesetzt (FALSE). Der Ausgang kann zur Freigabe des Reglers verwendet werden.

bReqOutsideTemp: Der Heizkreis befindet sich in der Betriebsart, Heizperiode nach der Außentemperatur.

bReqDate: Der Heizkreis befindet sich in der Betriebsart, Heizperiode nach Datum.

bReqPermanent: Der Heizkreis befindet sich in der Betriebsart, Heizkreis ist immer an.

bReqFreezeProtec: Der Heizkreis befindet sich in der Betriebsart - Frostschutzbetrieb.

bReqNight: Der Heizkreis befindet sich in der Betriebsart - Nachtbetrieb.

bReqDay: Der Heizkreis befindet sich in der Betriebsart - Tagbetrieb.

bInvalidParameter: Zeigt an, dass ein falscher Eingangsparameter anliegt. bInvalidParameter muss mit bReset quittiert werden.

VAR_IN_OUT

eSetpointHeatingMode  : E_HVACSetpointHeatingMode;
rHeatingLimit         : REAL;
uiOn_Day              : UINT;
uiOn_Month            : UINT;
uiOff_Day             : UINT;
uiOff_Month           : UINT;
rFreezeProtecSetpoint : REAL;
rNightSetback         : REAL;
tDelayHeatingOn       : TIME;
tDelayHeatingOff      : TIME;

eSetpointHeatingMode: Enum, das die Betriebsart des Heizkreises festlegt (siehe E_HVACSetpointHeatingMode). Die Variable wird persistent gespeichert. Voreingestellt auf 1.

rHeatingLimit: Heizgrenze (-60°C..100°C). Notwendig für die Betriebsarten des Heizkreises; Heizperiode nach der Außentemperatur und Heizperiode nach Datum. Die Variable wird persistent gespeichert. Voreingestellt auf 19.

uiOn_Day: Einschalttag des Monats. Notwendig für die Betriebsart des Heizkreises; Heizperiode nach Datum. Die Variable wird persistent gespeichert. Voreingestellt auf 1.

uiOn_Month: Einschaltmonat des Jahres. Notwendig für die Betriebsart des Heizkreises; Heizperiode nach Datum. Die Variable wird persistent gespeichert. Voreingestellt auf 9.

uiOff_Day: Ausschalttag des Monats. Notwendig für die Betriebsart des Heizkreises; Heizperiode nach Datum. Die Variable wird persistent gespeichert. Voreingestellt auf 1.

uiOff_Month: Ausschaltmonat des Jahres. Notwendig für die Betriebsart des Heizkreises; Heizperiode nach Datum. Die Variable wird persistent gespeichert. Voreingestellt auf 5.

rFreezeProtecSetpoint: Sollwert für den Heizkreis bei Frostschutz (0°C..100°C). Die Variable wird persistent gespeichert. Voreingestellt auf 8.

rNightSetback: Mit rNightSetback wird der Betrag der Nachtabsenkung in °C angegeben (0°C..100°C). rNightSetback wird in der Betriebart eHVACSetpointHeatingMode_OnNight berücksichtigt. Die Variable wird persistent gespeichert. Voreingestellt auf 10.

tDelayHeatingOn: Zeitverzögerung für das Setzen des Ausgangs bHeating auf TRUE, nachdem die gedämpfte Außentemperatur die Heizgrenze unterschritten hat oder das Datum erreicht wurde (0h..100h). Die Variable wird persistent gespeichert. Voreingestellt auf 0.

tDelayHeatingOff: Zeitverzögerung für das Zurücksetzen des Ausgangs bHeating auf FALSE, nachdem die gedämpfte Außentemperatur die Heizgrenze überschritten hat oder das Datum erreicht wurde (0h..100h). Die Variable wird persistent gespeichert. Voreingestellt auf 0.

Voraussetzungen

Entwicklungsumgebung

erforderliche Bibliothek

Erforderliche Function

TwinCAT 3.1 ab Build 4022.16

Tc2_HVAC V3.3.1.0

TF8000 | TC3 HVAC V1.0.0.0