# CoolOutProtection

## `CoolOutProtection` (FB)

FUNCTION\_BLOCK CoolOutProtection

### Short description

> Activation of a cool-out protection mode with adjustable minimum running time (controlled variable: room temperature)\
> \
> Typical application: Activation of the cool-out protection mode during standby 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 running time **udiMinTime**\
by comparing the room temperature *rRoomTemp* with the threshold for the cool-out protection mode *rSetPtTempCoolOut*.\
The minimum running time is always activated if the room temperature *rRoomTemp* falls below the threshold *rSetPtTempCoolOut* by at least 0.4K.\
At the output *tOffDelay\** the elapsed portion of the minimum running time in the range 0 - *udiMinTime* is indicated.

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

| *xReqAHU* | *rRoomTemp*                 | Minimum running time 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 running time                      |
| FALSE     | < *rSetPtTempCoolOut* - 0.4 | TRUE                        | TRUE  | Cool-out protection mode enabled by room temperature and minimum running time |

Legend: X = any

### 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           |
