# BurnerT

## `BurnerT` (FB)

FUNCTION\_BLOCK BurnerT

### Kurzbeschreibung

> Steuerung eines Wärmeerzeugers (Temperaturvorgabe über Temperatursignal)\
> \
> Typische Anwendung: Wärmeerzeugung

### Darstellung

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

### Funktionsbeschreibung

#### Allgemeines

Dieser Funktionsbaustein dient zur Steuerung eines Wärmeerzeugers in Abhängigkeit von der Anforderung des Wärmeerzeugers *xEn* und der Vorlaufsolltemperatur *rSetPtTemp*.\
Die Freigabe / Sperrung des Wärmeerzeugers erfolgt über den Ausgang *xHB* (FALSE = Sperrung, TRUE = Freigabe).\
Das Temperatursignal wird aus der Vorlaufsolltemperatur *rSetPtTemp* mittels einer durch zwei Punkte definierten, linearen Kennlinie erzeugt, falls der Wärmeerzeuger freigegeben ist (*xHB* = TRUE).\
Bei gesperrtem Wärmeerzeuger wird die Konstante 0.0 ausgegeben.\
\
Es kommen im Wesentlichen folgende Funktionsbausteine zur Anwendung:

TwoPoint

OperatingHours

ManBin

ManNum

#### Freigabe / Sperrung des Wärmeerzeugers *xHB*

Die Freigabe des Wärmeerzeugers (*xAB* = TRUE, *xHB* = TRUE (eManModeB = eManBin.Auto)) erfolgt, falls die Anforderung des Wärmeerzeugers aktiv (*xEn* = TRUE) ist.\
Die Sperrung des Wärmeerzeugers (*xAB* = FALSE, *xHB* = FALSE (eManModeB = eManBin.Auto)) erfolgt, falls die Anforderung des Wärmeerzeugers nicht aktiv (*xEn* = FALSE) ist.

#### Temperatursignal für den Wärmeerzeuger *rHA*

Das Temperatursignal für den Wärmeerzeuger wird zum Ausgang *rAA* (und *rHA*, falls eManModeN = eManNum.Auto) übertragen, falls der Wärmeerzeuger freigegeben ist (*xHB* = TRUE).\
Bei gesperrtem Wärmeerzeuger (*xHB* = FALSE) wird die Konstante 0.0 ausgegeben.\
Das Temperatursignal wird aus der Vorlaufsolltemperatur *rSetPtTemp* mittels einer durch zwei Punkte definierten, linearen Kennlinie erzeugt und absolut auf den Bereich 0.0 - 100.0 % begrenzt.\
Die Eingangskennlinie wird durch die Sollwerte / Parameter **rTwoPointX1** bzw. **rTwoPointX2** definiert.\
Die Ausgangskennlinie wird durch die Sollwerte / Parameter **rTwoPointY1** bzw. **rTwoPointY2** definiert.\
Die durch die Punkte P1 (X1 / Y1) und P2 (X2 / Y2) definierte Gerade erlaubt nun die Zuordnung beliebiger Vorlaufsolltemperaturen *rSetPtTemp* zu einem Temperatursignal *rAA*.\
\
Beispiel:\
\
Kennlinie: X1 = 20.0, X2 = 90.0, Y1 = 20.0, Y2 = 100.0\
\
\&#xNAN;*rSetPtTemp* = 55.0 °C\
\
\&#xNAN;*rAA* = 60.0 %

#### Handübersteuerung des digitalen Ausgangs *xHB*

Die Freigabe / Sperrung des Wärmeerzeugers (*xHB*) kann entweder im Automatikmodus (eMANBIN.Auto) oder in einer der beiden Handbetriebsarten (eMANBIN.ManOn, eMANBIN.ManOff) betrieben werden.

| *xAB* | eMANBIN        | *xHB* | Hinweise                               |
| ----- | -------------- | ----- | -------------------------------------- |
| FALSE | eMANBIN.Auto   | FALSE | Handübersteuermodul in Automatik       |
| TRUE  | eMANBIN.Auto   | TRUE  | Handübersteuermodul in Automatik       |
| X     | eMANBIN.ManOn  | TRUE  | Handübersteuermodul in Handbetrieb Ein |
| X     | eMANBIN.ManOff | FALSE | Handübersteuermodul in Handbetrieb Aus |

Legende: X = beliebig

#### Handübersteuerung des analogen Ausgangs *rHA*

Das Temperatursignal (*rHA*) kann entweder im Automatikmodus (eMANNUM.Auto) oder in der Handbetriebsart (eMANNUM.Man) betrieben werden.

| *rAA* | eMANNUM      | *rHA*         | Hinweise                           |
| ----- | ------------ | ------------- | ---------------------------------- |
| Wert  | eMANNUM.Auto | Wert          | Handübersteuermodul in Automatik   |
| X     | eMANNUM.Man  | **rManValue** | Handübersteuermodul in Handbetrieb |

Legende: X = beliebig

#### Sammelstörung *xAlarm*

Die Sammelstörung *xAlarm* ist aktiv (= TRUE), falls die Störmeldung des Wärmeerzeugers *xAlarmIn* aktiv (= TRUE) ist.\
In allen übrigen Situationen ist die Sammelstörung *xAlarm* nicht aktiv (= FALSE).

#### Sammelmeldung Automatikbetrieb *xAuto*

Die Sammelmeldung Automatikbetrieb *xAuto* wird aktiviert ( = TRUE ), falls folgende Bedingungen gleichzeitig erfüllt sind:

* Eingang *eAOO* = HVACTYPES.eManBin.Auto
* Eingang *eAO* = HVACTYPES.eManNum.Auto
* Sollwert / Parameter **eManModeB** = eMANBIN.Auto
* Sollwert / Parameter **eManModeN** = eMANNUM.Auto

#### Betriebsstundenzähler - Wärmeerzeuger

Der Betriebsstundenzähler (*udiOperatingHours*, *udiCountFb*) für den Wärmeerzeuger ist aktiv, wenn die Betriebsmeldung aktiv ist (*xFb* = TRUE).

> **Schreibzugriff auf die Zählerstände**
>
> Über den Pfad ‘Instanzname.\_OperatingHours.udiOperatingHours’ bzw. ‘Instanzname.\_OperatingHours.udiCountFb’ ist ein Schreibzugriff auf die beide Zählerstände möglich.
>
> **Voraussetzung für den Einsatz des Funktionsbausteins BurnerT**
>
> Zur korrekten Funktion ist der Einsatz des Funktionsbausteins TimeRead2 erforderlich.

#### Rückführung der Leistung des Wärmeerzeugers *rU*

Die aktuelle **tatsächliche** Leistung des Wärmeerzeugers kann am Eingang *rU* angeschlossen werden.\
Dieser Eingang wird aktuell nicht für Steuerungs- und Regelungszwecke verwandt.

#### Rückführung des Handwerts für das Leistungssignal von der Handübersteuerung - Hardware *rPoti*

Die Rückführung des Handwerts kann am Eingang *rPoti* angeschlossen werden.\
Dieser Eingang wird aktuell nicht für Steuerungs- und Regelungszwecke verwandt.

#### Nicht aktiver Zustand (*xEn* = FALSE)

| *xHB*                            | *xAB* | *rHA*                          | *rAA* | *dtLastFb* | *udiOperatingHours* | *udiCountFb* | *xAlarm*               | *xAuto*    | Hinweise      |
| -------------------------------- | ----- | ------------------------------ | ----- | ---------- | ------------------- | ------------ | ---------------------- | ---------- | ------------- |
| FALSE (eManModeB = eManBin.Auto) | FALSE | 0.0 (eManModeN = eManNum.Auto) | 0     | alter Wert | alter Wert          | alter Wert   | Zustand von *xAlarmIn* | alter Wert | *xEn* = FALSE |

Legende: X = beliebig

### CODESYS

InOut:

| Scope       | Name                | Type    | Initial      |
| ----------- | ------------------- | ------- | ------------ |
| Input       | `xEn`               | `BOOL`  |              |
| Input       | `rSetPtTemp`        | `REAL`  |              |
| Input       | `xFb`               | `BOOL`  |              |
| Input       | `rU`                | `REAL`  | 0            |
| Input       | `xAlarmIn`          | `BOOL`  |              |
| Input       | `eAOO`              | eManBin | eManBin.Auto |
| Input       | `eAO`               | eManNum | eManNum.Auto |
| Input       | `rPoti`             | `REAL`  |              |
| Output      | `xHB`               | `BOOL`  |              |
| Output      | `xAB`               | `BOOL`  |              |
| Output      | `rHA`               | `REAL`  |              |
| Output      | `rAA`               | `REAL`  |              |
| Output      | `dtLastFb`          | `DT`    |              |
| Output      | `udiOperatingHours` | `UDINT` |              |
| Output      | `udiCountFb`        | `UDINT` |              |
| Output      | `xAlarm`            | `BOOL`  |              |
| Output      | `xAuto`             | `BOOL`  |              |
| Input Const | `rTwoPointY2`       | `REAL`  | 100          |
| Input Const | `rTwoPointX2`       | `REAL`  | 90           |
| Input Const | `rTwoPointY1`       | `REAL`  | 20           |
| Input Const | `rTwoPointX1`       | `REAL`  | 20           |
| Input Const | `rManValue`         | `REAL`  | 0            |
| Input Const | `eManModeN`         | eMANNUM | eMANNUM.Auto |
| Input Const | `eManModeB`         | eMANBIN | eMANBIN.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/burnert.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.
