# FireDamperTest

## `FireDamperTest` (FB)

FUNCTION\_BLOCK FireDamperTest

### Short description

> Anti-blocking protection for a binary signal

### Representation

<figure><img src="https://2592874069-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQR4vCFzt6ixgsqlR3pdR%2Fuploads%2Fgit-blob-d423f7467754189eebed551529f513f77b198963%2FAbsB_FB.png?alt=media" 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 operating duration              |
| **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 monitoring period always covers 168 hours (= 1 week).\
The operating message *xFb* is active if it is continuously active at least once during the monitoring period for the minimum operating duration **tMinFbTime** The anti-blocking process is thus prevented and the monitoring period restarts.\
If no operating message is available, the request/enable can alternatively be connected.\
\
If no activity was recorded during the monitoring period, the anti-blocking process (enable - output *xOut* = TRUE ) is triggered with the duration **tTime** on the weekday **eDay** at the time **todStartTime** triggered.\
At the same time the monitoring period restarts.\
The initial triggering of the anti-blocking process may be delayed depending on the relevant settings ( weekday **eDay** and **todStartTime** ) may be delayed.

> **Example**
>
> Test time ended on Tuesday morning, triggering of the blockage protection process only next Monday.

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

> **Prerequisite for using 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 / parameter **eDay**

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

#### Setpoint / parameter **tTime**

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

### CODESYS

InOut:

| Scope       | Name                  | Type    | Initial |
| ----------- | --------------------- | ------- | ------- |
| Input       | `xAlarmControlSupply` | `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   |
