# SequenceSUPTemp

## `SequenceSUPTemp` (FB)

FUNCTION\_BLOCK SequenceSUPTemp

### Kurzbeschreibung

> Zulufttemperatur Regelung für eine Lüftungsanlage mit Energierückgewinnung (stetiges Umluftklappensystem und Energierückgewinnung) inklusive der Freigaben für die aktive Beheizung und Kühlung.\
> \
> Typische Anwendung: Zulufttemperatur Regelung in einer Lüftungsanlage

### Darstellung

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

### Funktionsbeschreibung

#### Allgemeines

Dieser Funktionsbaustein ermöglicht nach der Freigabe (*xOpTCon* = TRUE) die Regelung der Zulufttemperatur *rSAT* auf den Sollwert *rReferenceSAT* durch die Erzeugung der Stellsignale *rYDamp* (Umluftklappensystem 0.0 - 100.0 % Aussenluftanteil) und *rYER*\
(Energierückgewinnung 0.0 - 100.0 %).\
Nach der vollständigen Ausnutzung der Energierückgewinnungssysteme erfolgt bei Bedarf die Freigabe der aktiven Beheizung (*xEnHeat* = TRUE) oder aktiven Kühlung (*xEnCool* = TRUE).\
Die Regelung der Zulufttemperatur bei aktiver Beheizung oder bei aktiver Kühlung muss jeweils über einen separaten, externen PI-Regler erfolgen. Die Stellsignale dieser externen PI-Regler werden auf die Eingänge *rHeaterYPISAT* bzw. *rCoolerYPISAT* rückgeführt, um einen energieökonomische Regelung der Energierückgewinnung zu gewährleisten.\
Durch die Berücksichtigung der aktuellen Aussentemperatur *rOAT* bzw. Ablufttemperatur *rRAT* kann für jeden Betriebsfall die optimale Energierückgewinnung vorgenommen werden.\
Beim Einsatz dieses Bausteins ist die räumliche Anordnung der Komponenten (Klappensystem, Energierückgewinnung, Erhitzerkreis, Kühlkreis, etc.) zu berücksichtigen.\
\
Fall 1 - Winterfall: Zulufttemperatur < Zuluftsolltemperatur, Aussentemperatur < Ablufttemperatur, Zuluftsolltemperatur > Ablufttemperatur

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

Fall 2 - Sommerfall: Zulufttemperatur > Zuluftsolltemperatur, Aussentemperatur > Ablufttemperatur, Zuluftsolltemperatur < Ablufttemperatur

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

#### Freigabe / Sperrung des Reglers *xOpTCon*

Im gesperrten Zustand (*xOpTCon* = FALSE) finden keine Regelungs- und Steuerungsprozesse statt, die Ausgänge werden auf folgende Signale / Zustände fixiert:\
\
\&#xNAN;*rYGen* = 100.0 %\
\&#xNAN;*xEnHeat* = FALSE\
\&#xNAN;*xEnCool* = FALSE\
\&#xNAN;*rYDamp* = 100.0 %\
\&#xNAN;*rYER* = 100.0 %

#### Freigabe / Sperrung der freien Nachtkühlung *xFNCEn*

Dieser Eingang signalisiert (*xFNCEn* = TRUE) die aktive freie Nachtauskühlung und sperrt den Ausgang für die aktive Kühlung *xEnCool* unabhängig von den übrigen Anforderungen.

#### Verzögerter Start der Regelung *xPRORamp* bzw. *xHHWFrost1*

Der interne Sequenzregler (PI-Regler) wird gesperrt, falls entweder der Eingang *xPRORamp* und / oder der Eingang *xHHWFrost1* aktiv (= TRUE) ist.\
Die Freigabe des internen Sequenzreglers erfolgt mit einer Zeitverzögerung von 5 Minuten, nachdem beide Eingänge wieder inaktiv (= FALSE) sind.

#### Rückmeldung der Stellsignale *rHeaterYPISAT* bzw. *rCoolerYPISAT*

Die Rückmeldung der Stellsignale für die aktive Beheizung *rHeaterYPISAT* und Kühlung *rCoolerYPISAT* wird intern überwacht und wie folgt ausgewertet:\
\
Stellsignal *rHeaterYPISAT* > 8.0 %: Deaktivierung des internen Sequenzreglers\
Stellsignal *rHeaterYPISAT* < 3.0 %: Aktivierung des internen Sequenzreglers nach einer Zeitverzögerung von 500 ms\
\
Stellsignal *rCoolYPISAT* > 8.0 %: Deaktivierung des internen Sequenzreglers\
Stellsignal *rCoolYPISAT* < 3.0 %: Aktivierung des internen Sequenzreglers nach einer Zeitverzögerung von 500 ms

#### Allgemeines Stellsignal aus der Squenzregelung *rYGen*

Dieses Stellsignal im Bereich 0.0 - 100.0 % (0.0% = maximale Energierückgewinnung, 100.0 = keine Energierückgewinnung) wird primär durch den internen Sequenzregler erzeugt und durch die Eingangsgrößen *rSAT* (Zulufttemperatur), *rReferenceSAT* (Zuluftsolltemperatur), *rOAT* (Aussenlufttemperatur) und *rRAT* (Ablufttemperatur) beeinflusst.

#### Freigabe / Sperrung der aktiven Beheizung *xEnHeat*

Die Freigabe der aktiven Beheizung ist aktiv (= TRUE), falls folgende Bedingungen gleichzeitig erfüllt sind:\
\
\&#xNAN;*xOptCon* = TRUE\
(Aussentemperatur > Ablufttemperatur UND *rYGen* > 99%) ODER (Aussentemperatur < Ablufttemperatur UND *rYGen* < 1%)\
\
In allen übrigen Situation ist die aktive Beheizung gesperrt (= FALSE).

#### Freigabe / Sperrung der aktiven Kühlung *xEnCool*

Die Freigabe der aktiven Kühlung ist aktiv (= TRUE), falls folgende Bedingungen gleichzeitig erfüllt sind:\
\
\&#xNAN;*xOptCon* = TRUE\
(Aussentemperatur > Ablufttemperatur UND *rYGen* < 1%) ODER (Aussentemperatur < Ablufttemperatur UND *rYGen* > 99%)\
\&#xNAN;*xFNCEn* = FALSE\
\&#xNAN;*rAverage2h* > **rSetpoint\_CoolOAT** (Sperrung der aktiven Kühlung bei tiefen Aussentemperaturen)\
\
In allen übrigen Situation ist die aktive Kühlung gesperrt (= FALSE).

#### Stellsignal für das Klappensystem *rYDamp*

Das Stellsignal für das Klappensystem (0.0 - 100.0 %, 0.0 % = keine Aussenluftanteil, 100.0 % maximaler Aussenluftanteil) wird in Abhängigkeit vom allgemeines Stellsignal aus der Squenzregelung *rYGen* wie folgt erzeugt:\
\
Das Stellsignal *rYGen* wird im Bereich *r1Damp* bis *r2Damp* linear in ein Signal im Bereich von 0.0 - 100.0 umgesetzt und begrenzt.

#### Stellsignal für das System zur Energierückgewinnung *rYER*

Das Stellsignal für die Energierückgewinnung (0.0 - 100.0 %, 0.0 % = keine Energierückgewinnung, 100.0 % maximale Energierückgewinnung) wird in Abhängigkeit vom allgemeines Stellsignal aus der Squenzregelung *rYGen* wie folgt erzeugt:\
\
Das Stellsignal *rYGen* wird im Bereich *r1Er* bis *r2Er* linear in ein Signal im Bereich von 100.0 - 0.0 umgesetzt und begrenzt.

### CODESYS

InOut:

| Scope       | Name                | Type    | Initial      |
| ----------- | ------------------- | ------- | ------------ |
| Input       | `rSAT`              | `REAL`  |              |
| Input       | `rReferenceSAT`     | `REAL`  |              |
| Input       | `xOpTCon`           | `BOOL`  |              |
| Input       | `xFNCEn`            | `BOOL`  | FALSE        |
| Input       | `rOAT`              | `REAL`  |              |
| Input       | `rRAT`              | `REAL`  |              |
| Input       | `rAverage2h`        | `REAL`  |              |
| Input       | `xPRORamp`          | `BOOL`  | FALSE        |
| Input       | `xHHWFrost1`        | `BOOL`  | FALSE        |
| Input       | `rHeaterYPISAT`     | `REAL`  | 0.0          |
| Input       | `rCoolerYPISAT`     | `REAL`  | 0.0          |
| Output      | `rYGen`             | `REAL`  |              |
| Output      | `xEnHeat`           | `BOOL`  |              |
| Output      | `xEnCool`           | `BOOL`  |              |
| Output      | `rYDamp`            | `REAL`  |              |
| Output      | `rYER`              | `REAL`  |              |
| Output      | `xAuto`             | `BOOL`  |              |
| Input Const | `rSetpoint_CoolOAT` | `REAL`  | 14.0         |
| Input Const | `r2ER`              | `REAL`  | 100.0        |
| Input Const | `r1ER`              | `REAL`  | 30.0         |
| Input Const | `r2Damp`            | `REAL`  | 30.0         |
| Input Const | `r1Damp`            | `REAL`  | 0.0          |
| Input Const | `rTn`               | `REAL`  | 200.0        |
| Input Const | `rKp`               | `REAL`  | 3.5          |
| Input Const | `rManValueYER`      | `REAL`  |              |
| Input Const | `eManModeYER`       | eMANNUM | eMANNUM.Auto |
| Input Const | `rManValueYDamp`    | `REAL`  |              |
| Input Const | `eManModeYDamp`     | eMANNUM | eMANNUM.Auto |
| Input Const | `eManModeCool`      | eMANBIN | eMANBIN.Auto |
| Input Const | `eManModeHeat`      | eMANBIN | eMANBIN.Auto |
| Input Const | `rManValueYGen`     | `REAL`  |              |
| Input Const | `eManModeYGen`      | 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/components/sequencesuptemp.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.
