FB_HVACSummerNightCooling

Dieser Funktionsbaustein wird verwendet um nachts mit kühler Außenluft die tags zuvor aufgeheizten Räume herunter zu kühlen. Die Funktion der Sommernachtkühlung dient zur Verbesserung der Luftqualität und Einsparung von elektrischer Energie. In den ersten Stunden des nächsten Sommertages wird elektrische Energie zur Kälteerzeugung gespart.
Durch Parametrierung des Funktionsbausteins FB_HVACSummerNightCooling werden die Startbedingungen für die Sommernachtkühlung definiert. Der Baustein kann verwendet werden, um motorisch betätigte Fenster zu öffnen oder Klimaanlagen außerhalb ihrer normalen Betriebszeiten in den Sommernachtkühlbetrieb zu schalten. Der Sommernachtbetrieb ist aktiv, wenn die Ausgangsvariable bOn TRUE ist.
Folgende Bedingungen müssen für die Aktivierung der Sommernachtkühlung erfüllt sein:
- bEnable = TRUE
- rOutsideTemp > (rMinimumOutsideTemp + 0.2K)
- ((rRoomTemp - rOutsideTemp) > rDifferOutsideRoomTempOn)
- ((rRoomTemp - rSetpointRoomTemp) > rDifferRoomSetpointTemp)
- die Systemzeit dtSystemtime muss in dem Zeitfenster todStartTime bis 12:00 Uhr mittags liegen
Es reicht für die Deaktivierung der Sommernachtkühlung bOn = FALSE aus, wenn eine der folgenden Bedingung erfüllt ist:
- bEnable = FALSE
- (rOutsideTemp < (rMinimumOutsideTemp - 0.2K))
- ((rRoomTemp - rOutsideTemp) < rDifferOutsideRoomTempOff)
- die Systemzeit dtSystemtime liegt ausserhalb des Zeitfensters von todStartTime bis 12:00 Uhr mittags
- die Sommernachtkühlung war für die maximale Zeitangabe tMaxRuntime innerhalb des Zeitfensters von todStartTime bis 12:00 Uhr mittags aktiviert gewesen. Die Sommernachtkühlung kann innerhalb dieses Zeitfensters mehrmals eingeschaltet werden.
VAR_INPUT
eDataSecurityType : E_HVACDataSecurityType;
bSetDefault : BOOL;
bEnable : BOOL;
rOutsideTemp : REAL;
rRoomTemp : REAL;
rSetpointRoomTemp : REAL;
dtSystemTime : DT;
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: Mit der Eingangsvariablen bEnable wird der Baustein vom SPS-Programm frei gegeben.
rOutsideTemp: Eingang für die Außentemperatur.
rRoomTemp: Eingang für die Raumtemperatur.
rSetpointRoomTemp: Sollwert für die Raumtemperatur
dtSystemTime: Mit dieser Variablen wird dem Funktionsbaustein die Rechnersystemzeit übergeben.
bReset: Quittierungseingang bei einer Störung.
VAR_OUTPUT
bOn : BOOL;
bInvalidParameter : BOOL;
bOn: Ist bOn = TRUE, so ist die Sommernachtkühlung aktiviert.
Folgende Bedingungen müssen für die Aktivierung der Sommernachtkühlung erfüllt sein:
bEnable = TRUE AND rOutsideTemp > (rMinimumOutsideTemp + 0.2K) AND ((rRoomTemp - rOutsideTemp) > rDifferOutsideRoomTempOn) AND
((rRoomTemp - rSetpointRoomTemp) > rDifferRoomSetpointTemp) AND die Systemzeit dtSystemtime muss in dem Zeitfenster todStartTime bis 12:00 Uhr mittags liegen.
Es reicht für die Deaktivierung der Sommernachtkühlung bOn = FALSE aus, wenn eine der folgenden Bedingung erfüllt ist:
bEnable = FALSE OR (rOutsideTemp < (rMinimumOutsideTemp - 0.2K)) OR ((rRoomTemp - rOutsideTemp) < rDifferOutsideRoomTempOff) OR die Systemzeit dtSystemtime liegt außerhalb des Zeitfensters von todStartTime bis 12:00 Uhr mittags OR die Sommernachtkühlung war für die maximale Zeitangabe tMaxRuntime innerhalb des Zeitfensters von todStartTime bis 12:00 Uhr mittags aktiviert gewesen. Die Sommernachtkühlung kann innerhalb dieses Zeitfensters mehrmals eingeschaltet werden.
bInvalidParameter: Zeigt an, dass ein falscher Eingangsparameter anliegt. bInvalidParameter muss mit bReset quittiert werden.
VAR_IN_OUT
rMinimumOutsideTemp : REAL;
rDifferOutsideRoomTempOn : REAL;
rDifferOutsideRoomTempOff : REAL;
rDifferRoomSetpointTemp : REAL;
todStartTime : TOD;
tMaxRuntime : TIME;
rMinimumOutsideTemp: Unterschreitet die Außentemperatur rOutsideTemp den Grenzwert (rMinimumOutsideTemp - 0.2K), so ist die Funktion Sommernachtkühlung bOn = FALSE deaktiviert. Überschreitet die Außentemperatur rOutsideTemp den Grenzwert (rMinimumOutsideTemp + 0.2K), so ist eine der Bedingungen zur Aktivierung der Sommernachtkühlung bOn = TRUE erfüllt (4..100). Die Variable wird persistent gespeichert. Voreingestellt auf 10°C.
rMinimumOutsideTemp muss innerhalb seines Bereiches liegen.
Liegt ein nicht korrekter Variablenwert an dann wird, wenn vorhanden, der letzte gültige Variablenwert genommen. Wenn kein gültiger letzter Wert vorliegt, dann wird mit dem Default-Wert weitergearbeitet. bInvalidParameter wird bei falscher Parameterangabe gesetzt.
rDifferOutsideRoomTempOn: Die Differenz rRoomTemp - rOutsideTemp muss größer sein als der Betrag von rDifferOutsideRoomTempOn damit eine der Bedingungen zur Aktivierung der Sommernachtkühlung bOn = TRUE erfüllt ist (0..100).
((rRoomTemp - rOutsideTemp) > rDifferOutsideRoomTempOn)
rDifferOutsideRoomTempOn muss um 0.4K größer sein als rDifferOutsideRoomTempOff. Außerdem muss rDifferOutsideRoomTempOn innerhalb seines Bereiches liegen.
Liegt ein nicht korrekter Variablenwert an dann wird, wenn vorhanden, der letzte gültige Variablenwert genommen. Wenn kein gültiger letzter Wert vorliegt, dann wird mit dem Default-Wert weitergearbeitet. bInvalidParameter wird bei falscher Parameterangabe gesetzt.
Die Variable wird persistent gespeichert. Voreingestellt auf 5°C.
rDifferOutsideRoomTempOff: Die Differenz rRoomTemp - rOutsideTemp muss kleiner sein als der Betrag von rDifferOutsideRoomTempOff um die Sommernachtkühlung bOn = FALSE zu deaktivieren.
((rRoomTemp - rOutsideTemp) < rDifferOutsideRoomTempOff)
rDifferOutsideRoomTempOff muss um 0.4K kleiner sein als rDifferOutsideRoomTempOn. Außerdem muss rDifferOutsideRoomTempOff innerhalb seines Bereiches liegen (0..100).
Liegt ein nicht korrekter Variablenwert an dann wird, wenn vorhanden, der letzte gültige Variablenwert genommen. Wenn kein gültiger letzter Wert vorliegt, dann wird mit dem Default-Wert weitergearbeitet. bInvalidParameter wird bei falscher Parameterangabe gesetzt. Die Variable wird persistent gespeichert. Voreingestellt auf 2°C.
rDifferRoomSetpointTemp: Um diesen Betrag muss die Raumtemperatur größer sein als der Raumtemperatursollwert damit eine der Bedingungen zur Aktivierung Sommernachtkühlung bOn = TRUE erfüllt ist.
((rRoomTemp - rSetpointRoomTemp) > rDifferRoomSetpointTemp)
rDifferRoomSetpointTemp muss innerhalb seines Bereiches liegen (0..100).
Liegt ein nicht korrekter Variablenwert an dann wird, wenn vorhanden, der letzte gültige Variablenwert genommen. Wenn kein gültiger letzter Wert vorliegt, dann wird mit dem Default-Wert weitergearbeitet. bInvalidParameter wird bei falscher Parameterangabe gesetzt.
Die Variable wird persistent gespeichert. Voreingestellt auf 2°C.
todStartTime: Startzeit für das Zeitfenster innerhalb dessen die Sommernachtkühlung aktiviert werden kann (0..24). Das Zeitfenster für die Freigabe der Sommernachtkühlung fängt mit der Startzeit todStartTime an und endet um 12:00 Uhr mittags.
todStartTime muss innerhalb seines Bereiches liegen.
Liegt ein nicht korrekter Variablenwert an dann wird, wenn vorhanden, der letzte gültige Variablenwert genommen. Wenn kein gültiger letzter Wert vorliegt, dann wird mit dem Default-Wert weitergearbeitet. bInvalidParameter wird bei falscher Parameterangabe gesetzt. Die Variable wird persistent gespeichert. Voreingestellt auf 2Uhr.
tMaxRuntime: Maximale Laufzeit der Funktion Sommernachtkühlung innerhalb des Zeitfensters todStartTime bis 12:00 Uhr mittags (>0s). Die Sommernachtkühlung kann mehrmals in diesem Zeitfenster eingeschaltet werden aber insgesamt nur für die Zeitangabe von tMaxRuntime.
tMaxRuntime muss größer als T#0s sein.
Liegt ein nicht korrekter Variablenwert an dann wird, wenn vorhanden, der letzte gültige Variablenwert genommen. Wenn kein gültiger letzter Wert vorliegt, dann wird mit dem Default-Wert weitergearbeitet. bInvalidParameter wird bei falscher Parameterangabe gesetzt. Die Variable wird persistent gespeichert. Voreingestellt auf 20min.
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 |