# FireDamperTest

## `FireDamperTest` (FB)

FUNCTION\_BLOCK FireDamperTest

### Short description

> Anti-blocking protection for a binary signal

### Representation

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

### Interfaces

#### Inputs

| Name  | Data type | Value range | Initial value | Function          |
| ----- | --------- | ----------- | ------------- | ----------------- |
| *xFb* | BOOL      |             |               | Operating message |

#### Outputs

| Name          | Data type       | Value range | Initial value | Function                                          |
| ------------- | --------------- | ----------- | ------------- | ------------------------------------------------- |
| *xOut*        | BOOL            |             |               | Enable - Output                                   |
| *xAbsOn*      | BOOL            |             |               | Indicator - anti-blocking process                 |
| *dtAbsLastOn* | DATE\_AND\_TIME |             |               | Start date/time of the last anti-blocking process |

#### Setpoints / parameters

| Name             | Data type | Value range | Initial value | Function                                |
| ---------------- | --------- | ----------- | ------------- | --------------------------------------- |
| **tMinFbTime**   | TIME      |             | T#30s         | Minimum run time                        |
| **tTime**        | TIME      |             | 120s          | Duration of the anti-blocking process   |
| **eDay**         | eDoW      |             | eDow\.Monday  | Weekday of the anti-blocking process    |
| **todStartTime** | TOD       |             | 08:00:00      | Start time of the anti-blocking process |

### Function description

#### General

This function block is used to monitor the operating message *xFb* for activity. The test period is 168 hours each time (= 1 week).\
The operating message *xFb* is considered active if it is continuously active once during the minimum operating duration within the test period. **tMinFbTime** This prevents the blocking protection process, and the test period starts again.\
If there is no operating message, the request / enable can alternatively be connected.\
\
If no activity is recorded during the test period, the blocking protection process (enable - output *xOut* = TRUE) is triggered after the time duration **tTime** on the weekday **eDay** at the time **todStartTime** .\
At the same time, the test period restarts.\
The initial triggering of the blocking protection process can, depending on the relevant settings (weekday **eDay** and **todStartTime**).

> **Example**
>
> Inspection period ended on Tuesday morning, triggering of the anti-blocking process only on the following Monday.

At the output *dtAbsLastOn* the start date and start time of the last anti-blocking process are available.

> **Prerequisite for the use of the function block AbsB**
>
> The use of the TimeRead2 function block is required for correct operation.

#### Enable - Output *xOut*

| *xFb* | Anti-blocking process | *xOut* | Notes                            |
| ----- | --------------------- | ------ | -------------------------------- |
| X     | FALSE                 | FALSE  | Anti-blocking process not active |
| X     | TRUE                  | TRUE   | Anti-blocking process active     |

Legend: X = any

#### Indicator - anti-blocking process *xAbsOn*

| *xFb* | Anti-blocking process | *xAbsOn* | Notes                            |
| ----- | --------------------- | -------- | -------------------------------- |
| X     | FALSE                 | FALSE    | Anti-blocking process not active |
| X     | TRUE                  | TRUE     | Anti-blocking process active     |

Legend: X = any

#### Setpoint / parameters **eDay**

The anti-blocking function can be globally disabled by setting **eDay** = eDow\.Inactive.

#### Setpoint / parameters **tTime**

The anti-blocking function can be globally disabled by setting **tTime** = 0s can be globally disabled.

### CODESYS

InOut:

| Scope       | Name                   | Type    | Initial |
| ----------- | ---------------------- | ------- | ------- |
| Input       | `xAlarmControlVoltage` | `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/en/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.
