# FilterMonitoringB

## `FilterMonitoringB` (FB)

FUNCTION\_BLOCK FilterMonitoringB

### Kurzbeschreibung

> Erkennung einer Filterverschmutzung und Erzeugung einer Störmeldung\
> \
> Typische Anwendung: Überwachung der Verschmutzung eines Luftfilters mit einem Differenzdruckschalter

### Darstellung

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

### Schnittstellen

#### Eingänge

| Name    | Datentyp | Wertebereich | Initialwert | Funktion                         |
| ------- | -------- | ------------ | ----------- | -------------------------------- |
| *xIn*   | BOOL     |              |             | Eingang - Differenzdruckschalter |
| *xQuit* | BOOL     |              | FALSE       | Rücksetzung - Störmeldung        |

#### Ausgänge

| Name           | Datentyp | Wertebereich | Initialwert | Funktion                                    |
| -------------- | -------- | ------------ | ----------- | ------------------------------------------- |
| *xAlarm*       | BOOL     |              |             | Ausgang - Störmeldung                       |
| *xPreAlarm*    | BOOL     |              |             | Ausgang - Voralarm                          |
| *tTimeToAlarm* | TIME     |              |             | Zeitdauer bis zur Auslösung der Störmeldung |

#### Sollwerte / Parameter

| Name             | Datentyp | Wertebereich | Initialwert | Funktion                 |
| ---------------- | -------- | ------------ | ----------- | ------------------------ |
| *udiControlTime* | UDINT    | 1s … 3600s   | 300s        | Wartezeit                |
| **xControl**     | BOOL     |              | TRUE        | Freigabe der Überwachung |

### Funktionsbeschreibung

#### Allgemeines

Dieser Funktionsbaustein dient zur Erkennung einer Filterverschnmutzung durch die Auswertung des Eingangs für den Differenzdruckschalter *xIn*.

#### Freigabe der Überwachung **xControl**

Die Überwachung kann generell freigegeben (= TRUE) oder gesperrt (= FALSE) werden.\
Bei nicht freigegebener Überwachung wird der Ausgang - Störmeldung *xAlarm* deaktiviert (= FALSE) und die Zeitdauer bis zur Auslösung der Störmeldung *tTimeToAlarm* nimmt den Wert 0s an.

#### Ausgang - Voralarm *xPreAlarm*

Der Ausgang - Störmeldung *xPreAlarm* wird aktiviert (*xPreAlarm* = TRUE), falls die unten stehende Bedingung 1 erfüllt ist.\
\
Bedingung 1:\
\
Der Eingang für den Differenzdruckschalter *xIn* befindet sich im Zustand TRUE (= Filterverschmutzung).

#### Ausgang - Störmeldung *xAlarm*

Der Ausgang - Störmeldung *xAlarm* wird aktiviert (*xAlarm* = TRUE), falls die unten stehende Bedingung 1 erfüllt ist.\
\
Bedingung 1: Der Eingang für den Differenzdruckschalter *xIn* befindet sich mindestens während Wartezeit *udiControlTime* permanent im Zustand TRUE (= Filterverschmutzung).\
Gleichzeitig ist die Überwachung generell freigegeben (**xControl** = TRUE).\
\
Der Ausgang - Störmeldung *xAlarm* wird in folgenden Fällen deaktiviert (*xAlarm* = FALSE):\
\
Fall 1: Die Bedingung 1 ist nicht erfüllt und die Rücksetzung der Störmeldung *xQuit* ist aktiv (= TRUE).\
\
Fall 2: Die Bedingung 1 ist nicht erfüllt und die Freigabe der Überwachung **xControl** ist nicht aktiv (= FALSE).

#### Zeitdauer bis zur Auslösung der Störmeldung *tTimeToAlarm*

Am Ausgang Zeitdauer bis zur Auslösung der Störmeldung *tTimeToAlarm* werden je nach Betriebssituation unterschiedliche Werte angezeigt.\
\
Situation 1: Ausgabe der Restzeitdauer bis zur Auslösung der Störmeldung (Bedingungen: *xIn* = TRUE, **xControl** = TRUE)\
\
Situation 2: Falls die Situation 1 nicht vorliegt, so wird permanent der Wert 0.0 ausgegeben.

### CODESYS

InOut:

| Scope       | Name             | Type    | Initial |
| ----------- | ---------------- | ------- | ------- |
| Input       | `xIn`            | `BOOL`  |         |
| Input       | `xQuit`          | `BOOL`  | FALSE   |
| Input Const | `udiControlTime` | `UDINT` | 300     |
| Input Const | `xControl`       | `BOOL`  | TRUE    |
| Output      | `xAlarm`         | `BOOL`  |         |
| Output      | `xPreAlarm`      | `BOOL`  |         |
| Output      | `tTimeToAlarm`   | `TIME`  |         |


---

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