# FireDamperTest

## `FireDamperTest` (FB)

FUNCTION\_BLOCK FireDamperTest

### Kurzbeschreibung

> Antiblockierschutz für ein binäres Signal

### Darstellung

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

### Schnittstellen

#### Eingänge

| Name  | Datentyp | Wertebereich | Initialwert | Funktion        |
| ----- | -------- | ------------ | ----------- | --------------- |
| *xFb* | BOOL     |              |             | Betriebsmeldung |

#### Ausgänge

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

#### Sollwerte / Parameter

| Name             | Datentyp | Wertebereich | Initialwert  | Funktion                                   |
| ---------------- | -------- | ------------ | ------------ | ------------------------------------------ |
| **tMinFbTime**   | TIME     |              | T#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 Betriebsmeldung *xFb* auf Aktivität. Der Prüfzeitraum umfasst dabei jeweils 168 Stunden (= 1 Woche).\
Die Betriebsmeldung *xFb* ist aktiv, falls er einmal im Prüfzeitraum während der minimalen Betriebsdauer **tMinFbTime** durchgehend aktiv ist.\
Der Blockierschutzprozess wird damit unterbunden, die Prüfzeit startet erneut.\
Falls keine Betriebsmeldung vorhanden ist, kann alternativ die Anforderung / Freigabe angeschlossen werden.\
\
Wurde während des Prüfzeitraums keine Aktivität erfasst, so wird der Blockierschutzprozess (Freigabe - Ausgang *xOut* = TRUE) mit der Zeitdauer **tTime** am Wochentag **eDay** zur Uhrzeit **todStartTime** ausgelöst.\
Gleichzeitig startet die Prüfzeitdauer erneut.\
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 AbsB**
>
> Zur korrekten Funktion ist der Einsatz des Funktionsbausteins TimeRead2 erforderlich.

#### Freigabe - Ausgang *xOut*

| *xFb* | Blockierschutzprozess | *xOut* | Hinweise                          |
| ----- | --------------------- | ------ | --------------------------------- |
| X     | FALSE                 | FALSE  | Blockierschutzprozess nicht aktiv |
| X     | TRUE                  | TRUE   | Blockierschutzprozess aktiv       |

Legende: X = beliebig

#### Anzeige - Blockierschutzprozess *xAbsOn*

| *xFb* | Blockierschutzprozess | *xAbsOn* | Hinweise                          |
| ----- | --------------------- | -------- | --------------------------------- |
| X     | FALSE                 | FALSE    | Blockierschutzprozess nicht aktiv |
| X     | TRUE                  | TRUE     | Blockierschutzprozess aktiv       |

Legende: X = beliebig

#### 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       | `xAlarmSteuerSpg` | `BOOL`  | FALSE   |
| Input       | `xTestOK`         | `BOOL`  | FALSE   |
| Output      | `xTestEx`         | `BOOL`  | FALSE   |
| Output      | `dtTestLastStart` | `DT`    |         |
| Output      | `dtTestLastOK`    | `DT`    |         |
| Input Const | `udiMaxTime`      | `UDINT` | 5       |
| Input Const | `xVisuStart`      | `BOOL`  | FALSE   |
| Input Const | `xVisuStop`       | `BOOL`  | FALSE   |


---

# 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/firedampertest.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.
