# CascadeExtractSupplyAirTemp2Setpt

## ![../../../\_images/CascadeExtractSupplyAirTemp2Setpt\_FB.png](file:///Users/kevinrohn/Development/general/extract-codesys-docs/hvac-library/html/_images/CascadeExtractSupplyAirTemp2Setpt_FB.png)`CascadeExtractSupplyAirTemp2Setpt` (FB)

FUNCTION\_BLOCK CascadeExtractSupplyAirTemp2Setpt

### Kurzbeschreibung

> Bildung zweier Zuluftsolltemperaturen mittels zweier Kaskadenregler (PI-Regler)\
> Zusatzfunktionen: Begrenzung der Zuluftsolltemperaturen\
> Typische Anwendung: Zulufttemperaturregelung in einer Lüftungsanlage mit aktiver Kühlung\\

### Darstellung

<figure><img src="/files/eO6icvBe9hf3PwzsQUkH" alt=""><figcaption></figcaption></figure>

### Funktionsbeschreibung

#### Allgemeines

Dieser Funktionsbaustein entspricht dem Baustein ‘CascadeExtractSupplyAirTemperature’, der hier um einen weiteren Kaskadenregler zur Bildung einer separaten Zuluftsolltemperatur für den Kühler im aktiven Kühlbetrieb erweitert ist.

CascadeExtractSupplyAirTemperature

Dieser Funktionsbaustein dient zur Bildung der Zuluftsolltemperatur einer Lüftungsanlage aus:<br>

1. Aktuelle Solltemperatur (Abluft- oder Raumtemperatur) in °C

\
2\) Aktuelle Isttemperatur (Abluft- oder Raumtemperatur) in °C\
\
unter Berücksichtigung der relativen (rMinSUPTemp bzw. rMaxSUPTemp) und absoluten (rMinSUP bzw. rMaxSUP) Grenzen.\
Zusätzlich werden bei der Bildung der Zuluftsolltemperatur die Sonderbetriebsarten ‘Schnellaufheizung’ und ‘Freie Nachtkühlung’ berücksichtigt.\
Die Bildung der Zuluftsolltemperatur erfolgt zeitverzögert (tDelayControl) nach der Freigabe / Sperrung des Reglers (xEn = TRUE).\
\
Die Freigabe des Kaskadenreglers erfolgt, falls folgende nachfolgend beschriebenen Bedingungen gleichzeitig erfüllt sind:\
\
1\) Die Sonderbetriebsart Schnellaufheizung ist gesperrt (xFastHeatEn = FALSE).\
\
2\) Die Sonderbetriebsart Freie Nachtkühlung ist gesperrt (xFNCEn = FALSE).\
\
3\) Die aktuelle Isttemperatur rActTemp verletzt nicht ihre absoluten Grenzwerte (+5.0 - +50.0 °C).\
\
4\) Die Regelung ist freigegeben (xEn = TRUE) und die Einschaltverzögerung (Zeitdauer = tDelayControl) ist beendet.\
\
In allen übrigen Situationen ist der Kaskadenregler gesperrt.

#### Regelung

Die aktuelle Isttemperatur *rActTemp* wird bei freigegebenem Kaskadenregler (PI-Regler, *xEn* = TRUE, Ablauf der Zeitdauer **tDelayControl**, keine Grenzwerteverletzung am Eingang *rActTemp*) permanent mit der aktuellen Solltemperatur *rSetPtTemp* verglichen und je nach Betrag / Vorzeichen der Differenz bzw. in Abhängigkeit von den Reglereinstellungen (**rPI\_Kp** bzw. **rPI\_Tn**) wird im Kaskadenregler eine Versatztemperatur erzeugt.\
\
Im Heizfall (*rActTemp* < *rSetPtTemp*) entsteht somit eine positive Versatztemperatur im Bereich 0.0 - **rMaxRelativeSUP** K.\
Im Kühlfall (*rActTemp* > *rSetPtTemp*) ensteht somit eine negative Versatztemperatur im Bereich 0.0 - **rMinRelativeSUP** K.\
Im vollständig ausgeregelten Zustand (*rActTemp* = *rSetPtTemp*) ändert sich die Versatztemperatur nicht.\
\
Diese Versatztemperatur wird anschliessend zur aktuellen Solltemperatur addiert und bei Bedarf auf die berechneten Grenzwerte *rMinSUPTemp* bzw. *rMaxSUPTemp* begrenzt.\
\
Am Ausgang *rMinSUPTemp* wird permanent die berechnete minimale Zuluftsolltemperatur (*rActTemp* + **rMinRelativeSUP**, absolut begrenzt auf **rMinSUP** bzw. **rMaxSUP**) dargestellt.\
Am Ausgang *rMaxSUPTemp* wird permanent die berechnete maximale Zuluftsolltemperatur (*rActTemp* + **rMaxRelativeSUP**, absolut begrenzt auf **rMinSUP** bzw. **rMaxSUP**) dargestellt.\
\
Die aktuelle Isttemperatur *rActTemp* wird auf die Einhaltung von Grenzwerten überwacht.\
Bei jeder Grenzwertverletzung (*rActTemp* < +5.0 °C bzw. *rActTemp* > +50.0 °C) wird der Kaskadenregler deaktiviert.

#### Auswahl der Zuluftsolltemperatur

Die Auswahl der Zuluftsolltemperatur erfolgt gemäß der nachfolgenden Funktionstabelle.

| *xFastHeatEn* | *xFNCEn* | *rActTemp* innerhalb Grenzwert | *xEn* | Zuluftsolltemperatur             | Hinweise                               |
| ------------- | -------- | ------------------------------ | ----- | -------------------------------- | -------------------------------------- |
| TRUE          | X        | X                              | X     | **rMaxSUP**                      | Sonderbetriebsart ‘Schnellaufheizung’  |
| FALSE         | TRUE     | X                              | X     | **rMinSUP**                      | Sonderbetriebsart ‘Freie Nachtkühlung’ |
| FALSE         | FALSE    | FALSE                          | X     | *rSetPtTemp*                     | Grenzwertverletzung Isttemperatur      |
| FALSE         | FALSE    | X                              | FALSE | *rSetPtTemp*                     | Sperrung der Regelung                  |
| FALSE         | FALSE    | TRUE                           | TRUE  | *rSetPtTemp* + Versatztemperatur | Normalbetrieb                          |

Legende: X = beliebig

#### Bildung der aktuellen Zuluftsolltemperatur *rSetPtSUPTemp*

Die aktuelle Zuluftsolltemperatur *rSetPtSUPTemp* wird aus der Zuluftsolltemperatur, erweitert um ein Handübersteuermodul, gebildet.

| Zuluftsolltemperatur | **eManModeN** | *rSetPtSUPTemp*      | Hinweise                           |
| -------------------- | ------------- | -------------------- | ---------------------------------- |
| X                    | eMANNUM.Auto  | Zuluftsolltemperatur | Handübersteuermodul in Automatik   |
| X                    | eMANNUM.Man   | **rManValue**        | Handübersteuermodul in Handbetrieb |

Legende: X = beliebig

#### Kaskadenregler für den aktiven Kühlbetrieb (PI-Regler)

Dieser Kaskadenregler dient zur Bildung der Zuluftsolltemperatur für eine Kühleinrichtung aus<br>

1. Aktuelle Solltemperatur (Maximalwert aus (*rSetPtTemp* + 1) und *rSetPtTempCool*)

\
2\) Aktuelle Isttemperatur (Abluft- oder Raumtemperatur) in °C\
\
unter Berücksichtigung der folgenden Grenzen:\
\
Minimalwert - Ausgangssignal des Kaskadenreglers: rMinSUPTemP - (Maximalwert aus (rSetPtTemp + 1) und rSetPtTempCool)\
\
Maximalwert - Ausgangssignal des Kaskadenreglers: rMaxSUPTemP - (Maximalwert aus (rSetPtTemp + 1) und rSetPtTempCool)\
\
Die Bildung der Zuluftsolltemperatur erfolgt nach der Freigabe / Sperrung des Haupt-Kaskadenreglers, sofern der Eingang xEnCool aktiv (= TRUE) ist.\
\
Die Freigabe des Kaskadenreglers für den aktiven Kühlbetrieb erfolgt, falls folgende nachfolgend beschriebenen Bedingungen gleichzeitig erfüllt sind:\
\
1\) Die Sonderbetriebsart Schnellaufheizung ist gesperrt (xFastHeatEn = FALSE).\
\
2\) Die Sonderbetriebsart Freie Nachtkühlung ist gesperrt (xFNCEn = FALSE).\
\
3\) Die aktuelle Isttemperatur rActTemp verletzt nicht ihre absoluten Grenzwerte (+5.0 - +50.0 °C).\
\
4\) Die Regelung ist freigegeben (xEn = TRUE) und die Einschaltverzögerung (Zeitdauer = tDelayControl) ist beendet.\
\
5\) Der Eingang \*xEnCool\* ist freigegeben (xEnCool = TRUE).\
\
In allen übrigen Situationen ist der Kaskadenregler für den aktiven Kühlbetrieb gesperrt.

#### Regelung

Die aktuelle Isttemperatur *rActTemp* wird bei freigegebenem Kaskadenregler für den aktiven Kühlbetrieb permanent mit der aktuellen Solltemperatur (Maximalwert aus (*rSetPtTemp* + 1) und *rSetPtTempCool*) verglichen und je nach Betrag / Vorzeichen der Differenz bzw. in Abhängigkeit von den Reglereinstellungen (**rPI\_Kp** bzw. **rPI\_Tn**) wird im Kaskadenregler eine Versatztemperatur für den aktiven Kühlbetrieb erzeugt.\
\
Im Heizfall (*rActTemp* < aktuelle Solltemperatur) entsteht somit eine positive Versatztemperatur im Bereich 0.0 - Minimalwert - Ausgangssignal des Kaskadenreglers für den aktiven Kühlbetrieb K.\
Im Kühlfall (*rActTemp* > aktuelle Solltemperatur) entsteht somit eine negative Versatztemperatur im Bereich 0.0 - Maximalwert - Ausgangssignal des Kaskadenreglers für den aktiven Kühlbetrieb K.\
Im vollständig ausgeregelten Zustand (*rActTemp* = aktuelle Solltemperatur) ändert sich die Versatztemperatur nicht.\
\
Diese Versatztemperatur wird anschliessend zur aktuellen Solltemperatur addiert und bei Bedarf auf die berechneten Grenzwerte *rMinSUPTemp* bzw. *rMaxSUPTemp* begrenzt.\
\
Die aktuelle Isttemperatur *rActTemp* wird auf die Einhaltung von Grenzwerten überwacht.\
Bei jeder Grenzwertverletzung (*rActTemp* < +5.0 °C bzw. *rActTemp* > +50.0 °C) wird der Kaskadenregler deaktiviert.

#### Auswahl der Zuluftsolltemperatur

Die Auswahl der Zuluftsolltemperatur erfolgt gemäß der nachfolgenden Funktionstabelle.

| Freigabe Kaskadenregler für den aktiven Kühlbetrieb | *rActTemp* innerhalb Grenzwert | Zuluftsolltemperatur                                    | Hinweise            |
| --------------------------------------------------- | ------------------------------ | ------------------------------------------------------- | ------------------- |
| FALSE                                               | X                              | Maximalwert aus (*rSetPtTemp* + 1) und *rSetPtTempCool* | Regler gesperrt     |
| X                                                   | FALSE                          | Maximalwert aus (*rSetPtTemp* + 1) und *rSetPtTempCool* | Grenzwertverletzung |
| TRUE                                                | TRUE                           | Aktuelle Solltemperatur + Versatztemperatur             | Normalbetrieb       |

Legende: X = beliebig

#### Bildung der aktuellen Zuluftsolltemperatur *rSetPtSUPTempCool*

Die aktuelle Zuluftsolltemperatur *rSetPtSUPTempCool* wird aus der Zuluftsolltemperatur, erweitert um ein Handübersteuermodul, gebildet.

| Zuluftsolltemperatur | **eManModeNCool** | *rSetPtSUPTempCool*  | Hinweise                           |
| -------------------- | ----------------- | -------------------- | ---------------------------------- |
| X                    | eMANNUM.Auto      | Zuluftsolltemperatur | Handübersteuermodul in Automatik   |
| X                    | eMANNUM.Man       | **rManValueCool**    | Handübersteuermodul in Handbetrieb |

Legende: X = beliebig\\

### CODESYS

InOut:

| Scope       | Name                | Type    | Initial      |
| ----------- | ------------------- | ------- | ------------ |
| Input       | `xEn`               | `BOOL`  |              |
| Input       | `rActTemp`          | `REAL`  | 0            |
| Input       | `rSetPtTemp`        | `REAL`  | 21           |
| Input       | `rSetPtTempCool`    | `REAL`  | 24           |
| Input       | `xEnCool`           | `BOOL`  |              |
| Input       | `xFastHeatEn`       | `BOOL`  | FALSE        |
| Input       | `xFNCEn`            | `BOOL`  | FALSE        |
| Output      | `rSetPtSUPTemp`     | `REAL`  |              |
| Output      | `rSetPtSUPTempCool` | `REAL`  |              |
| Output      | `rMinSUPTemp`       | `REAL`  |              |
| Output      | `rMaxSUPTemp`       | `REAL`  |              |
| Input Const | `rPI_Tn`            | `REAL`  | 600          |
| Input Const | `rPI_Kp`            | `REAL`  | 1            |
| Input Const | `rMaxSUP`           | `REAL`  | 26           |
| Input Const | `rMaxRelativeSUP`   | `REAL`  | 6            |
| Input Const | `rMinSUP`           | `REAL`  | 16           |
| Input Const | `rMinRelativeSUP`   | `REAL`  | -8           |
| Input Const | `tDelayControl`     | `TIME`  | TIME#5m0s0ms |
| Input Const | `rManValueCool`     | `REAL`  |              |
| Input Const | `eManModeNCool`     | eManNum | eManNum.Auto |
| Input Const | `rManValue`         | `REAL`  |              |
| Input Const | `eManModeN`         | eManNum | eManNum.Auto |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://support.powerio.com/hub/codesys-hvac/hvac-library/functionblocks/control/cascadeextractsupplyairtemp2setpt.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
