CrossVentilation_Sulzer
CrossVentilation_Sulzer (FB)
CrossVentilation_Sulzer (FB)FUNCTION_BLOCK CrossVentilation_Sulzer
Kurzbeschreibung
Steuerung der Querlüftung mittels Fensterelementen durch vier getrennt einstellbare Kennlinien Kennlinie 1: Öffnungszeit in Abhängigkeit von der Aussentemperatur Kennlinie 2: Öffnungsgrad in Abhängigkeit von der Aussentemperatur Kennlinie 3: Öffnungsgrad in Abhängigkeit von der Windgeschwindigkeit Kennlinie 4: Wartezeit in Abhängigkeit von der Aussentemperatur Typische Anwendung: Steuerung der Querlüftung durch den Raum-CO2-Istwert\
Darstellung

Schnittstellen
Eingänge
xStartCrossVentilation
BOOL
FALSE
Beginn der Querlüftung ( bei jeder ansteigenden Flanke )
xAbortCrossVentilation
BOOL
FALSE
Abbruch der Querlüftung ( bei jeder ansteigenden Flanke )
xEn_WT
BOOL
FALSE
Freigabe / Sperrung der Wartezeit ( TRUE = Freigabe )
xEnComplete_OT
BOOL
FALSE
Freigabe / Sperrung des Eingangs ‘xComplete_OT’ ( FALSE = Sperrung ) ( _OT = Opening Time )
xComplete_OT
BOOL
FALSE
Freigabe / Sperrung des manuellen Abbruchs der Öffnungsdauer ( bei jeder ansteigenden Flanke, falls xEnComplete_OT = TRUE ) ( z.B. Abbruch über CO2-Gehalt nach Ablauf der Öffnungsdauer )
rOutsideTemp
REAL
0.0
Aussentemperatur
rOutsideWindSpeed
REAL
0.0
Windgeschwindigkeit
xResError
BOOL
FALSE
Rücksetzung der Ausgänge ‘xError’ und ‘sErrorCode’ ( bei jeder ansteigenden Flanke )
xValidData_OT
BOOL
FALSE
Gültigkeit der Daten der Kurve ‘Öffnungsdauer - Aussentemperatur’ ( _OT = Opening Time ) ( TRUE = Gültig )
xValidData_WDOO_OT
BOOL
FALSE
Gültigkeit der Daten der Kurve ‘Fensteröffnungsgrad - Aussentemperatur’ ( _WDOO = Windows Degree Of Opening, _OT = OutsideTemp ) ( TRUE = Gültig )
xValidData_WDOO_WS
BOOL
FALSE
Gültigkeit der Daten der Kurve ‘Fensteröffnungsgrad - Windgeschwindigkeit’ ( _WDOO = Windows Degree Of Opening, _WS = Wind Speed ) ( TRUE = Gültig )
xValidData_WT
BOOL
FALSE
Gültigkeit der Daten der Kurve ‘Wartezeit - Aussentemperatur’ ( _WT = Waiting Time ) ( TRUE = Gültig )
Ein- und Ausgänge
arData_OT
stCurve_Real_Time
Array mit den Stützstellen für die Kurve ‘Öffnungsdauer - Aussentemperatur’ ( _OT = Opening Time )
arData_WDOO_OT
stCurve_Real_Real
Array mit den Stützstellen für die Kurve ‘Fensteröffnungsgrad - Aussentemperatur’ ( _WDOO = Windows Degree Of Opening, _OT = OutsideTemp )
arData_WDOO_WS
stCurve_Real_Real
Array mit den Stützstellen für die Kurve ‘Fensteröffnungsgrad - Windgeschwindigkeit’ ( _WDOO = Windows Degree Of Opening, _WS = Wind Speed )
arData_WT
stCurve_Real_Time
Array mit den Stützstellen für die Kurve ‘Wartezeit - Aussentemperatur’ ( _WT = Waiting Time )
Ausgänge
tTimeCurve_OT
TIME
T#0s
Aktuelle Öffnungszeitdauer aus der Kurve ( _OT = Opening Time )
tRemainingTime_OT
TIME
T#0s
Restzeit der aktiven Öffnungszeitdauer ( _OT = Opening Time )
xActive_OT
BOOL
FALSE
Rückmeldung - Aktive Öffnungszeitdauer ( TRUE = Aktiv ) ( _OT = Opening Time )
rDegreeCurve_WDOO_OT
REAL
0.0
Aktueller Fensteröffnungsgrad [ % ] in Abhängigkeit von der Aussentemperatur aus der Kurve ( _WDOO = Windows Degree Of Opening, _OT = OutsideTemp )
rDegreeCurve_WDOO_WS
REAL
0.0
Aktueller Fensteröffnungsgrad [ % ] in Abhängigkeit von der Windgeschwindigkeit aus der Kurve ( _WDOO = Windows Degree Of Opening, _WS = Wind Speed )
rDegree_WDOO
REAL
0.0
Aktueller Fensteröffnungsgrad [ % ] ( _WDOO = Windows Degree Of Opening )
xActive_WDOO
BOOL
FALSE
Rückmeldung - Aktive Fensteröffnung ( TRUE = Aktiv ) ( _WDOO = Windows Degree Of Opening )
tTimeCurve_WT
TIME
T#0s
Aktuelle Wartezeit aus der Kurve ( _WT = Waiting Time )
tRemainingTime_WT
TIME
T#0s
Restzeit der aktiven Wartezeit ( _WT = Waiting Time )
xActive_WT
BOOL
FALSE
Rückmeldung - Aktive Wartezeit ( TRUE = Aktiv ) ( _WT = Waiting Time )
xError
BOOL
FALSE
Fehlerzustand ( FALSE = kein Fehler, TRUE = Fehler )
sErrorCode
STRING
‘’
String mir den Nummern der aktiven Fehler
Sollwerte / Parameter
rOutsideTempLimit
REAL
-15
Aussentemperatur-Grenzwert, bei dessen Unterschreitung keine Fensteröffnung mehr gestartet wird.
Funktionsbeschreibung
Kennlinien
Die insgesamt vier frei einstellbaren Kennlinien ( mit jeweils 10 Stützpunkten, FB ‘Curve_10XY_Reaö_Real’ oder FB ‘Curve_10XY_Real_Time’ ) werden mit den zugehörigen Dateneingängen ( arData_XX ) verbunden, ebenso die Ausgänge der Kennlinien, die die Gültigkeit der Daten signalisieren ( xValidData_XX ). Die Zuordnung der Kennlinien zu den Eingängen ist dabei fest vorgegeben:\
Index _OT ( Opening Time ): Kennlinie ‘Öffnungszeit in Abhängigkeit von der Aussentemperatur’
Index _WDOO_OT ( _WDOO = Windows Degree Of Opening, _OT = Outside Temp ): Kennlinie ‘Öffnungszeit in Abhängigkeit von der Aussentemperatur’
Index _WDOO_WS ( _WDOO = Windows Degree Of Opening, _WS = Wind Speed ): Kennlinie ‘Öffnungszeit in Abhängigkeit von der Aussen-Windgeschwindigkeit
Index _WT ( Waiting Time ): Kennlinie ‘Wartezeit in Abhängigkeit von der Aussentemperatur’
Wird einer Kennlinie ein Eingangswert ( = X-Wert ) ausserhalb des durch die Stützstellen 1 und 10 vorgegebenen Bereichs übergeben, so wird der Y-Wert der nächstliegenden Stützstelle zurück gegeben ( Beispiel: Stützstelle 1 ( 1, 10 ), Stützstelle 10 ( 10, 100 ), X-Wert = -5 — Y-Wert = 10 )
Ablauf
Die Querlüftung wird mit einer ansteigenden Flanke am Eingang ‘xStartCrossVentilation’ gestartet. Die Öffnungszeitdauer wird aus der Kennlinie 1 berechnet. Aus den Kennlinien 2 und 3 wird der Öffnungsgrad bestimmt und ausgegeben. Nach dem Abschluss der Fensteröffnung wird die Wartezeit, errechnet aus Kennlinie 4, gestartet, die temporär eine erneute Querlüftung verhindert.
Start der Querlüftung
Die Querlüftung wird mit einer ansteigenden Flanke am Eingang ‘xStartCrossVentilation’ gestartet, falls alle nachfolgenden Bedingungen erfüllt sind:\
Die Wartezeit ist nicht aktiv ( xActive_WT = FALSE )
Die Öffnungszeit ist nicht aktiv ( xActive_OT = FALSE )
Alle vier Kennlinien enthalten gültige Daten ( xValidData_XX = TRUE )
Die Aussentemperatur überschreitet die absolute Minimal-Grenze ( rOutsideTemp > rOutsideTempLimit )
Öffnungsdauer
Nach dem erfolgreichen Start der Querlüftung wird die Öffnungszeitdauer einmalig aus der Kennlinie 1 in Abhängigkeit von der aktuellen Aussentemperatur errechnet. Während der Öffnungszeitdauer ist die Statusanzeige ‘xActive_OT’ aktiv und am Ausgang ‘tRemainingTime_OT’ wird die verbleibende Restzeitdauer ausgegeben.
Abbruch
Die aktive Querlüftung kann zu jedem beliebigen Zeitpunkt durch eine ansteigende Flanke am Eingang ‘xAbortCrossVentilation’ abgebrochen werden.
Öffnungsgrad
Nach dem erfolgreichen Start der Querlüftung wird der Öffnungsgrad einmalig aus den beiden Kennlinien 2 und 3 in Abhängkeit von der aktuellen Aussentemperatur bzw. der aktuellen Aussen-Windgeschwindigkeit bestimmt: Variable Z = (( Wert aus Kennlinie 2 ) X ( Wert aus Kennlinie 3 )) / 100 Die Variable Z wird nun mit fest vorgegebenen Bereichsgrenzen verglichen und der dem jeweiligen Bereich zugeordnete Öffnungsgrad ausgegeben: 0 <= Z < 15: Öffnungsgrad = 0% 15 <= Z < 25: Öffnungsgrad = 25% 25 <= Z < 50: Öffnungsgrad = 50% 50 <= Z < 75: Öffnungsgrad = 75% Z > 75 : Öffnungsgrad = 100% Der so bestimmte Öffnungsgrad wird am Ausgang ‘rDegree_WDOO’ ausgegeben, der Ausgang ‘xActive_WDOO’ signalisiert dabei eine aktive Fensteröffnung ( = TRUE ).
Wartezeit
Direkt nach dem Abschluss der Öffnungsdauer beginnt eine eventuelle Wartezeit bis zur nächsten Aktivierung der Querlüftung. Hierzu muss die Wartezeitdauer generell freigegeben sein ( xEn_WT = TRUE ). Am Anfang der Wartezeit wird die Zeitdauer einmalig aus der kennlinie 4 in Abhängigkeit von der Aussentemperatur bestimmt. Während der aktiven Wartezeit ist die Statusanzeige ‘xActive_WT’ aktiv und am Ausgang ‘tRemainingTime_WT’ wird die verbleibende Restzeitdauer ausgegeben. Die Wartezeit endet mit dem Ablauf der Zeitdauer oder mit der Sperrung der Wartezeit ( xEn_WT = FALSE ).
Beendigung der Öffnungszeit
Die Öffnungszeit endet unmittlbar mit dem Ablauf der Zeitdauer ( xEnComplete_OT = FALSE ). Die Öffnungszeit endet nach dem Ablauf der Zeitdauer ( xEnComplete_OT = TRUE ), falls am Eingang ‘xComplete_OT’ eine ansteigende Flanke erkannt wurde. Die dient der Verlängerung der Öffnungsdauer bis zum Erreichen eines akzeptablen CO2-Gehalts.
Sperrung der Querlüftung über die Aussentemperatur
Die Querlüftung wird nur dann gestartet, wenn die aktuelle Aussentemperatur zum Startzeitpunkt den einstellbaren Grenzwert ‘rOutsideTempLimit’ überschreitet.
Eingang ‘xResError’
Jede ansteigende Flanke an diesem Eingang setzt die Ausgänge ‘xError’ bzw. ‘sErrorCode’ auf den jeweiligen nicht fehlerhaften Zustand zurück.
Ausgang ‘xError’
Der Ausgang ist aktiv ( = TRUE ), falls mindestens ein Fehler erkannt wurde ( ‘sErrorCode <> ‘’ )
Ausgang ‘sErrorCode’
Dieser Ausgang signalisiert den aktuellen Fehlerstatus. Ein Leerstring ‘’ zeigt an, das kein Fehler vorliet. Aktuell sind folgende Fehlerzustände festgelegt: ‘1’: xValidData_OT = FALSE ( Kennlinie 1 ohne gültige Daten ) ‘2’: xValidData_WDOO_OT = FALSE ( Kennlinie 2 ohne gültige Daten ) ‘3’: xValidData_WDOO_WS = FALSE ( Kennlinie 3 ohne gültige Daten ) ‘4’: xValidData_WT = FALSE ( Kennlinie 4 ohne gültige Daten )
Typische Anwendung
Der Ausgang ‘xActive_WDOO’ ( = TRUE ) signalisiert die Anforderung zur Öffnung der Fenster durch die Querlüftung, der Ausgang ‘rDegree_WDOO’ den Fensteröffnungsggrad im Bereich 0.0 - 100.0% ( 0.0% = geschlossen ). Dieser Funktionsbaustein kann wie folgt angewendet werden:

CODESYS
InOut:
Input
xStartCrossVentilation
BOOL
FALSE
Input
xAbortCrossVentilation
BOOL
FALSE
Input
xEn_WT
BOOL
TRUE
Input
xEnComplete_OT
BOOL
FALSE
Input
xComplete_OT
BOOL
FALSE
Input
rOutsideTemp
REAL
0.0
Input
rOutsideWindSpeed
REAL
0.0
Input
xResError
BOOL
FALSE
Input
xValidData_OT
BOOL
FALSE
Input
xValidData_WDOO_OT
BOOL
FALSE
Input
xValidData_WDOO_WS
BOOL
FALSE
Input
xValidData_WT
BOOL
FALSE
Input
arData_OT
POINTER TO stCurve_Real_Time
Input
arData_WDOO_OT
POINTER TO stCurve_Real_Real
Input
arData_WDOO_WS
POINTER TO stCurve_Real_Real
Input
arData_WT
POINTER TO stCurve_Real_Time
Output
tTimeCurve_OT
TIME
TIME#0ms
Output
tRemainingTime_OT
TIME
TIME#0ms
Output
xActive_OT
BOOL
FALSE
Output
rDegreeCurve_WDOO_OT
REAL
0.0
Output
rDegreeCurve_WDOO_WS
REAL
0.0
Output
rDegree_WDOO
REAL
0.0
Output
xActive_WDOO
BOOL
FALSE
Output
tTimeCurve_WT
TIME
TIME#0ms
Output
tRemainingTime_WT
TIME
TIME#0ms
Output
xActive_WT
BOOL
FALSE
Output
xError
BOOL
FALSE
Output
sErrorCode
STRING
‘’
Input Const
rOutsideTempLimit
REAL
-15.0
Methods:
mCalculateCurveSectionValue_Real_Real
mCalculateCurveSectionValue_Real_Time
mCalculateCurveValue_Real_Real
mCalculateCurveValue_Real_Time
mResData
Structure:
mCalculateCurveSectionValue_Real_Real (Method)
mCalculateCurveSectionValue_Real_Time (Method)
mCalculateCurveValue_Real_Real (Method)
mCalculateCurveValue_Real_Time (Method)
mResData (Method)
Zuletzt aktualisiert

