# DamperAnalog

## `DamperAnalog` (FB)

FUNCTION\_BLOCK DamperAnalog

### Kurzbeschreibung

> Steuerung eines stetigen Klappenantriebs mit stetiger Positionsrückmeldung\
> \
> Typische Anwendung: Stetige Umluftklappe einer RLT-Anlage

### Darstellung

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

### Schnittstellen

#### Eingänge

| Name       | Datentyp          | Wertebereich                                  | Initialwert            | Funktion                                     |
| ---------- | ----------------- | --------------------------------------------- | ---------------------- | -------------------------------------------- |
| *rY*       | REAL              |                                               |                        | Sollwert - Position                          |
| *xForce*   | BOOL              |                                               | FALSE                  | Zwangsübersteuerung nach Handebene           |
| *xAlarmIn* | BOOL              |                                               | FALSE                  | Störmeldung des Antriebs                     |
| *rU*       | REAL              |                                               | 0.0                    | Rückführung der Klappenstellung              |
| *eAO*      | HVACTYPES.eManNum | HVACTYPES.eManNum.Auto, HVACTYPES.eManNum.Man | HVACTYPES.eManBin.Auto | Betriebsart der Handübersteuerung - Hardware |
| *rPoti*    | REAL              |                                               | 0.0                    | Handwert der Handübersteuerung - Hardware    |

#### Ausgänge

| Name        | Datentyp | Wertebereich | Initialwert | Funktion                                          |
| ----------- | -------- | ------------ | ----------- | ------------------------------------------------- |
| *rHA*       | REAL     |              |             | Stellsignal Klappenantrieb nach Handübersteuerung |
| *rAA*       | REAL     |              |             | Stellsignal Klappenantrieb vor Handübersteuerung  |
| *xAlarmPos* | BOOL     |              |             | Störmeldung aus Positionüberwachung               |
| *xAlarm*    | BOOL     |              |             | Sammelstörung                                     |
| *xAuto*     | BOOL     |              |             | Sammelmeldung Automatikbetrieb                    |

#### Sollwerte / Parameter

| Name               | Datentyp | Wertebereich              | Initialwert  | Funktion                                                         |
| ------------------ | -------- | ------------------------- | ------------ | ---------------------------------------------------------------- |
| **udiControlTime** | UDINT    | 10s … 600s                | 150s         | Zeitdauer der Positionsüberwachung                               |
| **rControlDiff**   | REAL     |                           | 7.0 %        | maximal zulässige Abweichung zwischen Soll- und Iststellung in % |
| **xControl**       | BOOL     |                           | TRUE         | Freigabe der Positionsüberwachung                                |
| **xForceOption**   | BOOL     |                           | FALSE        | Zustand vom Ausgang *rHA* bei Zwangsübersteuerung                |
| **rManValue**      | REAL     |                           | 0.0          | Handwert                                                         |
| **eManModeN**      | eMANNUM  | eMANNUM.Auto, eMANNUM.Man | eMANBIN.Auto | Betriebsart der Handübersteuerung                                |

### Funktionsbeschreibung

#### Stellsignal Klappenantrieb vor Handübersteuerung *rAA*

Das Stellsignal des Klappenantriebs vor Handübersteuerung *rAA* wird unverändert vom Eingang Sollwert - Position *rY* übernommen.

#### Stellsignal Klappenantrieb nach Handübersteuerung *rHA*

Das Stellsignal des Klappenantriebs nach Handübersteuerung *rHA* entspricht dem Stellsignal des Klappenantriebs vor Handübersteuerung *rAA* zusätzlich erweitert um ein Handübersteuermodul und um eine Zwangsübersteuerung.

| *rAA* | **eManModeN** | *xForce* | **xForceOption** | *rHA*         | Hinweise                           |
| ----- | ------------- | -------- | ---------------- | ------------- | ---------------------------------- |
| X     | eMANNUM.Auto  | FALSE    | X                | *rAA*         | Handübersteuermodul in Automatik   |
| X     | eMANNUM.Man   | FALSE    | X                | **rManValue** | Handübersteuermodul im Handbetrieb |
| X     | X             | TRUE     | FALSE            | 0.0           | Zwangsübersteuerung 0.0            |
| X     | X             | TRUE     | TRUE             | 100.0         | Zwangsübersteuerung 100.0          |

Legende: X = beliebig

#### Positionsüberwachung

Die Positionsüberwachung kann freigegeben (**xControl** = TRUE) oder gesperrt werden (**xControl** = FALSE).\
Bei freigegebener Positionsüberwachung wird permanent der Betrag der Differenz zwischen dem Stellsignal nach Handübersteuerung *rHA* und der Positionsrückmeldung vom Klappenantrieb *rU* ermittelt und mit dem Grenzwert **rControlDiff** verglichen.\
Überschreitet diese Differenz permanent während einer Meldeverzögerung **udiControlTime** den Grenzwert, so wird ein Alarmsignal erzeugt, falls gleichzeitig die Rückmeldung - Automatikbetrieb *eAO* den Automatikbetrieb (*eAO* = HVACTYPES.eManNum.Auto) signalisiert.\
Dieses Alarmsignal wird zum Ausgang *xAlarmPos* übertragen (*xAlarmPos* = TRUE).\
Das Alarmsignal wird wieder deaktiviert (*xAlarmPos* = FALSE), sobald die Differenz den Grenzwert erstmalig wieder unterschreitet.

#### Sammelstörung *xAlarm*

Die Sammelstörung *xAlarm* wird aktiviert (= TRUE), falls *xAlarmPos* oder der Eingang *xAlarmIn* aktiv ist.\
In allen übrigen Fällen ist die Sammelstörung *xAlarm* nicht aktiviert (= FALSE).

#### Sammelmeldung Automatikbetrieb *xAuto*

Die Sammelmeldung Automatikbetrieb *xAuto* wird aktiviert (= TRUE), falls der Eingang *eAO* den Wert HVACTYPES.eManNum.Auto und der Sollwert / Parameter **eManModeN** den Wert eMANNUM.Auto enthält. In alle übrigen Fällen ist die Sammelmeldung Automatikbetrieb *xAuto* nicht aktiviert (= FALSE).

#### Zwangsübersteuerung *xForce*

Die Zwangsübersteuerung wirkt direkt auf den Ausgang *rHA*. Mit dem Parameter **xForceOption** wird festgelegt, welchen Zustand der Ausgang *rHA* bei TRUE am Eingang *xForce* einnimmt.\
\
Bei **xForceOption** = FALSE\
Befindet sich der Eingang *xForce* auf TRUE, dann wird der Ausgang *rHA* auf 0 gesetzt.\
\
Bei **xForceOption** = TRUE\
Befindet sich der Eingang *xForce* auf TRUE, dann wird der Ausgang *rHA* auf 100 gesetzt.

### CODESYS

InOut:

| Scope       | Name             | Type    | Initial      |
| ----------- | ---------------- | ------- | ------------ |
| Input       | `rY`             | `REAL`  |              |
| Input       | `xForce`         | `BOOL`  | FALSE        |
| Input       | `xAlarmIn`       | `BOOL`  | FALSE        |
| Input       | `rU`             | `REAL`  | 0            |
| Input       | `eAO`            | eManNum | eManNum.Auto |
| Input       | `rPoti`          | `REAL`  | 0            |
| Output      | `rHA`            | `REAL`  |              |
| Output      | `rAA`            | `REAL`  |              |
| Output      | `xAlarmPos`      | `BOOL`  |              |
| Output      | `xAlarm`         | `BOOL`  |              |
| Output      | `xAuto`          | `BOOL`  |              |
| Input Const | `udiControlTime` | `UDINT` | 200          |
| Input Const | `rControlDiff`   | `REAL`  | 7            |
| Input Const | `xControl`       | `BOOL`  | TRUE         |
| Input Const | `xForceOption`   | `BOOL`  | FALSE        |
| Input Const | `rManValue`      | `REAL`  | 0            |
| 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/components/damperanalog.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.
