> For the complete documentation index, see [llms.txt](https://support.powerio.com/hub/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://support.powerio.com/hub/codesys-hvac/hvac-library/functionblocks/components/valvetherm.md).

# ValveTherm

## `ValveTherm` (FB)

FUNCTION\_BLOCK ValveTherm

### Kurzbeschreibung

> Steuerung eines thermischen Antriebs mit Blockierschutzfunktion\
> \
> Typische Anwendung: Ventilantrieb am Heizkörper

### Darstellung

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

### Schnittstellen

#### Eingänge

| Name       | Datentyp          | Wertebereich                                                              | Initialwert            | Funktion                                     |
| ---------- | ----------------- | ------------------------------------------------------------------------- | ---------------------- | -------------------------------------------- |
| *xY*       | BOOL              |                                                                           |                        | Anforderung                                  |
| *xForce*   | BOOL              |                                                                           | FALSE                  | Zwangsübersteuerung nach Handübersteuerung   |
| *xAlarmIn* | BOOL              |                                                                           | FALSE                  | Störmeldung des Antriebs                     |
| *eAOO*     | HVACTYPES.eManBin | HVACTYPES.eManBin.Auto, HVACTYPES.eManBin.ManOff, HVACTYPES.eManBin.ManOn | HVACTYPES.eManBin.Auto | Betriebsart der Handübersteuerung - Hardware |

#### Ausgänge

| Name             | Datentyp        | Wertebereich | Initialwert | Funktion                                           |
| ---------------- | --------------- | ------------ | ----------- | -------------------------------------------------- |
| *xHB*            | BOOL            |              |             | Freigabe nach Handübersteuerung                    |
| *xAB*            | BOOL            |              |             | Freigabe vor Handübersteuerung                     |
| *xEnergyRequest* | BOOL            |              |             | Anforderung - Energieerzeugung                     |
| *dtAbsLastOn*    | DATE\_AND\_TIME |              |             | Datum / Uhrzeit des letzten Blockierschutzbetriebs |
| *xAuto*          | BOOL            |              |             | Sammelmeldung Automatikbetrieb                     |

#### Sollwerte / Parameter

| Name                | Datentyp | Wertebereich                                | Initialwert  | Funktion                                          |
| ------------------- | -------- | ------------------------------------------- | ------------ | ------------------------------------------------- |
| **udiAbsTime**      | UDINT    | 0 … 600s                                    | 200s         | Zeitdauer des Blockierschutzbetriebs in Sekunden  |
| **todAbsStartTime** | TOD      | 00:00:00 - 23:59:59 Uhr                     | 09:00:00 Uhr | Zeitpunkt des Blockierschutzbetriebs              |
| **eAbsDay**         | eDoW     | eDow\.Inactive, eDoW\.Monday … eDoW\.Sunday | eDoW\.Monday | Wochentag des Blockierschutzbetriebs              |
| **xForceOption**    | BOOL     |                                             | TRUE         | Zustand vom Ausgang *xHB* bei Zwangsübersteuerung |
| **eManModeB**       | eMANBIN  | eMANBIN.Auto, eMANBIN.Off, eMANBIN.On       | eMANBIN.Auto | Betriebsart der Handübersteuerung                 |

### Funktionsbeschreibung

#### Freigabe vor Handübersteuerung *xAB*

Der Ausgang Freigabe vor Handübersteuerung *xAB* wird durch den Eingang *xY* und das Blockierschutzmodul beeinflusst.

| *xY*  | Blockierschutzmodul | *xAB* | Hinweise                                                       |
| ----- | ------------------- | ----- | -------------------------------------------------------------- |
| TRUE  | X                   | TRUE  | Freigabe vor Handübersteuerung über Anforderung                |
| X     | TRUE                | TRUE  | Freigabe vor Handübersteuerung über Blockierschutzmodul        |
| FALSE | FALSE               | FALSE | Sperrung Freigabe vor Handübersteuerung über die Anforderungen |

Legende: X = beliebig

#### Freigabe nach Handübersteuerung *xHB*

Der Ausgang Freigabe nach Handübersteuerung *xHB* entspricht der Freigabe vor Handübersteuerung *xAB*, zusätzlich erweitert um ein Handübersteuermodul und um eine Zwangsübersteuerung.

| *xAB* | **eManModeB** | *xForce* | **xForceOption** | *xHB* | Hinweise                               |
| ----- | ------------- | -------- | ---------------- | ----- | -------------------------------------- |
| FALSE | eMANBIN.Auto  | FALSE    | X                | FALSE | Handübersteuermodul in Automatik       |
| TRUE  | eMANBIN.Auto  | FALSE    | X                | TRUE  | Handübersteuermodul in Automatik       |
| X     | eMANBIN.On    | FALSE    | X                | TRUE  | Handübersteuermodul in Handbetrieb Ein |
| X     | eMANBIN.Off   | FALSE    | X                | FALSE | Handübersteuermodul in Handbetrieb Aus |
| X     | X             | TRUE     | FALSE            | FALSE | Zwangsübersteuerung Zu                 |
| X     | X             | TRUE     | TRUE             | TRUE  | Zwangsübersteuerung Auf                |

Legende: X = beliebig

#### Anforderung - Energieerzeugung *xEnergyRequest*

Die Anforderung - Energieerzeugung *xEnergyRequest* wird durch den Blockierschutzprozess, die Freigabe nach Handübersteuerung *xHB* und die Betriebsart der Handübersteuerung - Hardware *eAOO* beeinflusst.

| Blockierschutzprozess | *xHB* | *eAOO*                  | *xEnergyRequest* | Hinweise                                                         |
| --------------------- | ----- | ----------------------- | ---------------- | ---------------------------------------------------------------- |
| FALSE                 | TRUE  | HVACTYPES.eManBin.Auto  | TRUE             | Anforderung im Automatikbetrieb der Handübersteuerung - Hardware |
| X                     | X     | HVACTYPES.eManBin.ManOn | TRUE             | Anforderung im Handbetrieb der Handübersteuerung - Hardware      |

In allen anderen Situationen ist die Anforderung - Energieerzeugung *xEnergyRequest* nicht aktiv (= FALSE).\
\
Legende: X = beliebig

#### Blockierschutzmodul

Das Blockierschutzmodul wird durch das binäre Blockierschutzmodul mit einstellbarer Zeitdauer (FB: AbsB) realisiert.\
Die Zeitdauer *udiAbsTime*, der Zeitpunkt **todAbsStartTime** und der Wochentag **eAbsDay** sind einstellbar.\
Die Mindestlaufzeit zur Sperrung des Blockierschutzbetriebs beträgt 30s.\
Der Zeitstempel (Datum / Uhrzeit) des letzten Blockierschutzbetriebs *dtAbsLastOn* steht zur Verfügung.

#### Sammelstörung *xAlarm*

Die Sammelstörung *xAlarm* wird aktiviert (= TRUE), falls 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 *eAOO* den Wert HVACTYPES.eManBin.Auto und der Sollwert / Parameter **eManModeB** den Wert eMANBIN.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 *xHB*. Mit dem Parameter **xForceOption** wird festgelegt, welchen Zustand der Ausgang *xHB* bei TRUE am Eingang *xForce* einnimmt.

### CODESYS

InOut:

| Scope       | Name              | Type    | Initial           |
| ----------- | ----------------- | ------- | ----------------- |
| Input       | `xY`              | `BOOL`  |                   |
| Input       | `xForce`          | `BOOL`  | FALSE             |
| Input       | `xAlarmIn`        | `BOOL`  | FALSE             |
| Input       | `eAOO`            | eManBin | eManBin.Auto      |
| Output      | `xHB`             | `BOOL`  |                   |
| Output      | `xAB`             | `BOOL`  |                   |
| Output      | `xEnergyRequest`  | `BOOL`  |                   |
| Output      | `dtAbsLastOn`     | `DT`    |                   |
| Output      | `xAlarm`          | `BOOL`  |                   |
| Output      | `xAuto`           | `BOOL`  |                   |
| Input Const | `udiAbsTime`      | `UDINT` | 200               |
| Input Const | `todAbsStartTime` | `TOD`   | TIME\_OF\_DAY#9:0 |
| Input Const | `eAbsDay`         | eDoW    | eDow\.Monday      |
| Input Const | `xForceOption`    | `BOOL`  | TRUE              |
| Input Const | `eManModeB`       | eMANBIN | eMANBIN.Auto      |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://support.powerio.com/hub/codesys-hvac/hvac-library/functionblocks/components/valvetherm.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
