# CoolOutProtection

## `CoolOutProtection` (FB)

FUNCTION\_BLOCK CoolOutProtection

### Short description

> Activation of a cool-out protection mode with adjustable minimum runtime (controlled variable: room temperature)\
> \
> Typical application: activation of the cool-out protection mode during idle operation of a ventilation system

### Representation

<figure><img src="https://2592874069-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQR4vCFzt6ixgsqlR3pdR%2Fuploads%2Fgit-blob-cb2502745d0dffd24fb306e1754cac6c6a5465d7%2FCoolOutProtection_FB.png?alt=media" alt=""><figcaption></figcaption></figure>

### Function description

#### General

This function block controls the activation of the cool-out protection mode ( *xEn* = TRUE ) with an adjustable minimum runtime **udiMinTime**\
by comparing the room temperature *rRoomTemp* with the threshold for the cool-out protection mode *rSetPtTempCoolOut*.\
The minimum runtime is always activated if the room temperature *rRoomTemp* falls below the threshold *rSetPtTempCoolOut* by at least 0.4K.\
At the output *tOffDelay\** the already elapsed minimum runtime is shown during the minimum runtime in the range 0 - *udiMinTime* displayed.

#### Enable / disable of the cool-out protection mode *xEn*

| *xReqAHU* | *rRoomTemp*                 | Minimum runtime active | *xEn* | Notes                                                                    |
| --------- | --------------------------- | ---------------------- | ----- | ------------------------------------------------------------------------ |
| TRUE      | X                           | X                      | FALSE | Cool-out protection mode disabled by ventilation system                  |
| FALSE     | > *rSetPtTempCoolOut* + 0.4 | FALSE                  | FALSE | Cool-out protection mode disabled by room temperature                    |
| FALSE     | < *rSetPtTempCoolOut* - 0.4 | FALSE                  | TRUE  | Cool-out protection mode enabled by room temperature                     |
| FALSE     | X                           | TRUE                   | TRUE  | Cool-out protection mode enabled by minimum runtime                      |
| FALSE     | < *rSetPtTempCoolOut* - 0.4 | TRUE                   | TRUE  | Cool-out protection mode enabled by room temperature and minimum runtime |

Legend: X = don't care

### CODESYS

InOut:

| Scope       | Name                | Type    | Initial      |
| ----------- | ------------------- | ------- | ------------ |
| Input       | `rSetPtTempCoolOut` | `REAL`  |              |
| Input       | `rRoomTemp`         | `REAL`  |              |
| Input       | `xReqAHU`           | `BOOL`  |              |
| Output      | `xEn`               | `BOOL`  |              |
| Output      | `tOffDelay`         | `TIME`  |              |
| Input Const | `eMinTimeBase`      | eTime   | eTime.Minute |
| Input Const | `udiMinTime`        | `UDINT` | 30           |
