# Abs3P

## `Abs3P` (FB)

FUNCTION\_BLOCK Abs3P

### Kurzbeschreibung

> Antiblockierschutz für einen 3-Punkt-Antrieb

### Darstellung

<figure><img src="https://879424349-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQR4vCFzt6ixgsqlR3pdR%2Fuploads%2Fgit-blob-d0c370a2d84e89978cefe09332d1f76838dee33f%2FAbs3P_FB.png?alt=media" 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`   |                   |
