> 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/button/button1.md).

# Button1

## `Button1` (FB)

FUNCTION\_BLOCK Button1

### Kurzbeschreibung

> Schaltelement mit Zeitprogramm und Taste.

### Darstellung

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

### Schnittstellen

#### Eingänge

| Name            | Datentyp | Wertebereich | Initialwert | Funktion             |
| --------------- | -------- | ------------ | ----------- | -------------------- |
| *xClockchannel* | BOOL     |              |             | Eingang-Zeitprogramm |
| *xButton*       | BOOL     |              |             | Eingang-Bedientaste  |

#### Ausgänge

| Name         | Datentyp | Wertebereich | Initialwert | Funktion                                        |
| ------------ | -------- | ------------ | ----------- | ----------------------------------------------- |
| *xQ*         | BOOL     |              |             | Freigabe-Ausgang                                |
| *xQET*       | BOOL     |              |             | Anzeige Nutzzeitverlängerung ist aktiv          |
| *tET*        | TIME     |              |             | Restlaufzeit-Nutzzeitverlängerung               |
| *tTime*      | TIME     |              |             | Skalierte Anzeige dvon **udiTime**              |
| *udiMinVisu* | UDINT    |              |             | Anzeige von **tMinTime** für die Visualisierung |
| *udiMaxVisu* | UDINT    |              |             | Anzeige von **tMaxTime** für die Visualisierung |

#### Sollwerte / Parameter

| Name               | Datentyp | Wertebereich                                | Initialwert  | Funktion                                                               |
| ------------------ | -------- | ------------------------------------------- | ------------ | ---------------------------------------------------------------------- |
| **eManModeB**      | eMANBIN  | eMANBIN.Auto, eMANBIN.ManOff, eMANBIN.ManOn | eMANBIN.Auto | Betriebsart der Handübersteuerung für den digitalen Ausgang *xQ*       |
| **xButtonVisu**    | BOOL     |                                             | FALSE        | Funktion wie *xButton*                                                 |
| **xEnClockButton** | BOOL     |                                             | FALSE        | Option ‘Freigabe der Bedientaste bei aktivem Eingang-Zeitprogramm’     |
| **xEnToggle**      | BOOL     |                                             | TRUE         | Option ‘Sperrung-Wechsel Betriebsart’                                  |
| **udiTime**        | UDINT    |                                             | 120          | Zeiteingabe (absolute Grenzen: 0..7 Tage) je nach Skalierung           |
| **eTimeScale**     | eTime    |                                             | eTime.Minute | Festlegung der Skalierung der Zeiteingabe (Sekunden, Minuten, Stunden) |
| **tMinTime**       | TIME     |                                             | T#0m         | Untergrenze für die Zeiteingabe **udiTime**                            |
| **tMaxTime**       | TIME     |                                             | T#120m       | Obergrenze für die Zeiteingabe **udiTime**                             |

### Funktionsbeschreibung

#### Allgemeines

Der Funktionsbaustein dient grundsätzlich zur Festlegung der Betriebsarten Nachtbetrieb (*xQ* = FALSE) und Tagbetrieb (*xQ* = TRUE) in Abhängigkeit von den Zuständen an den Eingängen Zeitprogramm (*xClockchannel*) und Bedientaste (*xButton* und / oder **xButtonVisu**).\
Das Betriebsverhalten wird dabei durch insgesamt zwei einstellbare Optionen beeinflusst.\
In der Basis-Konfiguration (Einstellung der Optionen siehe unten) sind die grundlegenden Funktionen verfügbar.

#### Freigabe-Ausgang *xQ*

Der Freigabe-Ausgang *xQ* zeigt stets den aktuellen Zustand des Schaltelements in Abhängigkeit von den Eingängen und den beiden Optionen an.

#### Anzeige-Nutzzeitverlängerung *xQET*

Der Anzeige-Ausgang *xQET* zeigt stets den aktiven Zustand der Nutzzeitverlängerung an.

#### Restlaufzeit-Nutzzeitverlängerung *tET*

Der Anzeige-Ausgang *tET* zeigt stets die aktuelle Restlaufzeit einer aktiven Nutzzeitverlängerung an.\
Direkt nach dem ersten Download und vor dem ersten Start des Timers wird stets der Wert T#0s angezeigt.

#### Option **tEnClockButton**

Mit dieser Option wird die Taste während des aktiven Zeitprogramms gesperrt oder freigegeben.\
Ist der Sollwert/Parameter **tEnClockButton** TRUE, dann kann mit den Tasten (*xButton* und/oder **xButtonVisu**) bei aktiviertem Eingang *xClockchannel*, der Ausgang *xQ* aus- und eingeschaltet werden.

#### Option **tEnToggle**

Ist der Sollwert / Parameter **tEnToggle** TRUE, dann kann im Nachtbetrieb mit den Tasten (*xButton* und / oder **xButtonVisu**) die Nutzzeitverlängerung ein- und ausgeschaltet werden. Ansonsten ist nur ein Starten der Nutzzeitverlängerung möglich.

#### Skalierung / Anzeige der Zeitdauer **udiTime**

Der Anzeige-Ausgang *tTime* zeigt permanent den aktuellen Wert des Sollwerts / Parameters **udiTime** in skalierter Form (**eTimeScale**)\
und absolut begrenzt durch **tMinTime** bzw. **tMaxTime** an.

#### Anzeige der Zeituntergrenze *udiMinVisu*

Der Anzeige-Ausgang *udiMinVisu* zeigt permanent den aktuellen Wert des Sollwerts / Parameters **tMinTime** in skalierter Form (**eTimeScale**)\
und absolut begrenzt durch **tMinTime** bzw. **tMaxTime** an.

#### Anzeige der Zeituntergrenze *udiMaxVisu*

Der Anzeige-Ausgang *udiMaxVisu* zeigt permanent den aktuellen Wert des Sollwerts / Parameters **tMaxTime** in skalierter Form (**eTimeScale**)\
und absolut begrenzt durch **tMinTime** bzw. **tMaxTime** an.\
\
CODESYS

InOut:

| Scope       | Name             | Type    | Initial        |
| ----------- | ---------------- | ------- | -------------- |
| Input       | `xClockchannel`  | `BOOL`  |                |
| Input       | `xButton`        | `BOOL`  |                |
| Output      | `xQ`             | `BOOL`  |                |
| Output      | `xQET`           | `BOOL`  |                |
| Output      | `tET`            | `TIME`  |                |
| Output      | `tTime`          | `TIME`  |                |
| Output      | `udiMinVisu`     | `UDINT` |                |
| Output      | `udiMaxVisu`     | `UDINT` |                |
| Input Const | `tMaxTime`       | `TIME`  | TIME#120m0s0ms |
| Input Const | `tMinTime`       | `TIME`  | TIME#0ms       |
| Input Const | `eTimeScale`     | eTime   | eTime.Minute   |
| Input Const | `udiTime`        | `UDINT` | 120            |
| Input Const | `xEnToggle`      | `BOOL`  | TRUE           |
| Input Const | `xEnClockButton` | `BOOL`  | FALSE          |
| Input Const | `xButtonVisu`    | `BOOL`  | FALSE          |
| 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/button/button1.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.
