# Abs3P

## `Abs3P` (FB)

FUNCTION\_BLOCK Abs3P

### Kurzbeschreibung

> Antiblockierschutz für einen 3-Punkt-Antrieb

### Darstellung

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

### Schnittstellen

#### Eingänge

| Name       | Datentyp | Wertebereich | Initialwert | Funktion                  |
| ---------- | -------- | ------------ | ----------- | ------------------------- |
| *xFbOpen*  | BOOL     |              |             | Meldung - Eingang - Plus  |
| *XFbClose* | BOOL     |              |             | Meldung - Eingang - Minus |

#### Ausgänge

| Name          | Datentyp        | Wertebereich | Initialwert | Funktion                                                  |
| ------------- | --------------- | ------------ | ----------- | --------------------------------------------------------- |
| *xOutOpen*    | BOOL            |              |             | Freigabe - Ausgang - Plus                                 |
| *xOutClose*   | BOOL            |              |             | Freigabe - Ausgang - Minus                                |
| *xAbsOn*      | BOOL            |              |             | Anzeige - Blockierschutzprozess                           |
| *dtAbsLastOn* | DATE\_AND\_TIME |              |             | Startdatum/-zeitpunkt der letzten Blockierschutzprozesses |

#### Sollwerte / Parameter

| Name             | Datentyp | Wertebereich | Initialwert  | Funktion                                   |
| ---------------- | -------- | ------------ | ------------ | ------------------------------------------ |
| **tMinRunTime**  | TIME     |              | 30s          | Minimale Betriebsdauer                     |
| **tTime**        | TIME     |              | 120s         | Zeitdauer des Blockierschutzprozesses      |
| **eDay**         | eDoW     |              | eDow\.Montag | Wochentag des Blockierschutzprozesses      |
| **todStartTime** | TOD      |              | 08:00:00 Uhr | Startzeitpunkt des Blockierschutzprozesses |

### Funktionsbeschreibung

#### Allgemeines

Dieser Funktionsbaustein dient zur Überwachung der Meldungseingänge *xFbOpen* und *XFbClose* auf Aktivität. Der Prüfzeitraum umfasst dabei jeweils 168 Stunden (= 1 Woche).\
Die Meldungseingänge *xFbOpen* und *XFbClose* sind aktiv, falls sie im Prüfzeitraum während der minimalen Betriebsdauer **tMinRunTime** durchgehend aktiv sind (Nur *xFbOpen* oder nur *XFbClose* oder beide).\
Der Blockierschutzprozess wird damit unterbunden, die Prüfzeit startet erneut.\
\
Wurde während des Prüfzeitraums keine Aktivität erfasst, so wird der Blockierschutzprozess am Wochentag **eDay** zur Uhrzeit **todStartTime** ausgelöst.\
Gleichzeitig startet die Prüfzeitdauer erneut.\
\
Der aktive Blockierschutzprozess wird in zwei aufeinander folgende Zeitabschnitte unterteilt (Abschnitt 1 und Abschnitt 2)\
Im Abschnitt 1 wird während der Zeitdauer **tTime** die Kombination Freigabe - Ausgang *xOutOpen* = TRUE, Freigabe - Ausgang *xOutClose* = FALSE ausgegeben.\
Im Abschnitt 2 wird während der Zeitdauer **tTime** die Kombination Freigabe - Ausgang *xOutOpen* = FALSE, Freigabe - Ausgang *xOutClose* = TRUE ausgegeben.\
\
Die erstmalige Auslösung der Blockierschutzprozesses kann je nach den relevanten Einstellungen (Wochentag **eDay** und **todStartTime**) verzögert sein.

> **Beispiel**
>
> Prüfzeit am Dienstagmorgen beendet, Auslösung des Blockierschutzprozesses erst am kommenden Montag.

Am Ausgang *dtAbsLastOn* steht das Startdatum und der Startzeitpunkt der letzten Blockierschutzprozesses zur Verfügung.

> **Voraussetzung für den Einsatz des Funktionsbausteins Abs3P**
>
> Zur korrekten Funktion ist der Einsatz des Funktionsbausteins TimeRead2 erforderlich.

#### Freigabe - Ausgang *xOutOpen*

| *xFbOpen* | Blockierschutzprozess | *xOutOpen* | Hinweise                                  |
| --------- | --------------------- | ---------- | ----------------------------------------- |
| X         | FALSE                 | FALSE      | Blockierschutzprozess nicht aktiv         |
| X         | TRUE                  | TRUE       | Blockierschutzprozess aktiv - Abschnitt 1 |
| X         | TRUE                  | FALSE      | Blockierschutzprozess aktiv - Abschnitt 2 |

Legende: X = beliebig

#### Freigabe - Ausgang *xOutClose*

| *xFbClose* | Blockierschutzprozess | *xOutClose* | Hinweise                                  |
| ---------- | --------------------- | ----------- | ----------------------------------------- |
| X          | FALSE                 | FALSE       | Blockierschutzprozess nicht aktiv         |
| X          | TRUE                  | FALSE       | Blockierschutzprozess aktiv - Abschnitt 1 |
| X          | TRUE                  | TRUE        | Blockierschutzprozess aktiv - Abschnitt 2 |

Legende: X = beliebig

#### Anzeige - Blockierschutzprozess *xAbsOn*

Dieser Ausgang dient zur Anzeige eines aktiven Blockierschutzprozesses (*xAbsOn* = TRUE).

#### Sollwert / Parameter **eDay**

Die Blockierschutzfunktion kann durch die Einstellung **eDay** = eDow\.Inactive generell gesperrt werden.

#### Sollwert / Parameter **tTime**

Die Blockierschutzfunktion kann durch die Einstellung **tTime** = 0s generell gesperrt werden.

### CODESYS

InOut:

| Scope       | Name           | Type   | Initial           |
| ----------- | -------------- | ------ | ----------------- |
| Input       | `xFbOpen`      | `BOOL` |                   |
| Input       | `xFbClose`     | `BOOL` |                   |
| Input Const | `tMinRunTime`  | `TIME` | TIME#30s0ms       |
| Input Const | `tTime`        | `TIME` | TIME#2m0s0ms      |
| Input Const | `eDay`         | eDoW   | eDow\.Monday      |
| Input Const | `todStartTime` | `TOD`  | TIME\_OF\_DAY#8:0 |
| Output      | `xOutOpen`     | `BOOL` |                   |
| Output      | `xOutClose`    | `BOOL` |                   |
| Output      | `xAbsOn`       | `BOOL` |                   |
| Output      | `dtAbsLastOn`  | `DT`   |                   |


---

# 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/binary/abs3p.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.
