# HeatCurve4P\_DN

## `HeatCurve4P_DN` (FB)

FUNCTION\_BLOCK HeatCurve4P\_DN

### Short description

> Heating curve with four outdoor temperature points and two characteristic curves (night, day).

### Representation

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

### Interfaces

#### Inputs

| Name       | Data type | Value range      | Initial value | Function                                                      |
| ---------- | --------- | ---------------- | ------------- | ------------------------------------------------------------- |
| *rOutTemp* | REAL      | -50.0 … +50.0 °C | 0             | Outdoor temperature for calculating the characteristic curves |
| *xDay*     | BOOL      |                  |               | Operating mode (FALSE = night mode / TRUE = day mode)         |

#### Outputs

| Name          | Data type | Value range | Initial value | Function                                                     |
| ------------- | --------- | ----------- | ------------- | ------------------------------------------------------------ |
| *rSupplyTemp* | REAL      |             | 0.0 °C        | Target supply temperature of the active characteristic curve |

#### Setpoints / parameters

| Name                    | Data type | Value range | Initial value | Function                                                                               |
| ----------------------- | --------- | ----------- | ------------- | -------------------------------------------------------------------------------------- |
| **eManModeN**           | eManNum   |             | eManNum.Auto  | Operating mode for the target supply temperature *rSupplyTemp*                         |
| **rManValue**           | REAL      |             | 0.0 °C        | Manual value for the operating mode eManNum.Man                                        |
| **rSupplyTempMin**      | REAL      |             | 20.0 °C       | Absolute minimum target supply temperature                                             |
| **rSupplyTempMax**      | REAL      |             | 70.0 °C       | Absolute maximum target supply temperature                                             |
| **rTo1**                | REAL      |             | -15.0 °C      | Outdoor temperature for point 1                                                        |
| **rW1Day**              | REAL      |             | 70.0 °C       | Target supply temperature for outdoor temperature point 1 - day characteristic curve   |
| **rW1Night**            | REAL      |             | 65.0 °C       | Target supply temperature for outdoor temperature point 1 - night characteristic curve |
| **rTo2**                | REAL      |             | -5.0 °C       | Outdoor temperature for point 2                                                        |
| **rW2Day**              | REAL      |             | 60.0 °C       | Target supply temperature for outdoor temperature point 2 - day characteristic curve   |
| **rW2Night**            | REAL      |             | 55.0 °C       | Target supply temperature for outdoor temperature point 2 - night characteristic curve |
| **rTo3**                | REAL      |             | 5.0 °C        | Outdoor temperature for point 3                                                        |
| **rW3Day**              | REAL      |             | 50.0 °C       | Target supply temperature for outdoor temperature point 3 - day characteristic curve   |
| **rW3Night**            | REAL      |             | 45.0 °C       | Target supply temperature for outdoor temperature point 3 - night characteristic curve |
| **rTo4**                | REAL      |             | 15.0 °C       | Outdoor temperature for point 4                                                        |
| **rW4Day**              | REAL      |             | 40.0 °C       | Target supply temperature for outdoor temperature point 4 - day characteristic curve   |
| **rW4Night**            | REAL      |             | 35.0 °C       | Target supply temperature for outdoor temperature point 4 - night characteristic curve |
| **rButtonJump**         | REAL      |             | 1.0 °C        | Function not yet implemented.                                                          |
| **rSupplyTempMaxScale** | REAL      |             | 90.0 °C       | Maximum temperature for scaling the Y-axis (VISU) Slider shown only at 90°C!           |
| **rBorderDistance**     | REAL      |             | 3.0 °C        | Border distance to the right/left edge in degrees Celsius for the X-axis (VISU)        |

### Function description

\
The target supply temperature **rSupplyTemp** is calculated depending on the current outdoor temperature **rOutTemp** and the chosen characteristic curve (night characteristic curve: **xDay** = FALSE // day characteristic curve: **xDay** = TRUE) is calculated.\
The target supply temperature \*rSupplyTemp\* is limited by adjustable absolute minimum (**rSupplyTempMin**) and maximum values (**rSupplyTempMax**) .\
\
The characteristic curves are defined and adjustable by four outdoor temperature points each (separate for the night and day characteristic curves).\
Each point is defined by an outdoor temperature and an associated target supply temperature.\
The four outdoor temperature points of a characteristic curve are connected to each other by straight lines.

{% hint style="danger" %}
Restriction

To4 > rTo3 > rTo2 > rTo1
{% endhint %}

\
The parameter **eManModeN** allows switching the target supply temperature **rSupplyTemp** from automatic to manual mode and vice versa.\
In manual mode the target supply temperature \*rSupplyTemp\* takes the value of the parameter **rManValue.**

<figure><img src="/files/4a58b2718e74562173b68b7fc86a1316ca05f0b0" alt=""><figcaption></figcaption></figure>

### Visualization

Matching visualization element from the HVACV Visu Library: **HeatCurve4P\_DN**

#### Representation

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

#### Interfaces Visu-Element

| Name                    | Data type       | Type         | Initial value | Function                                                              |
| ----------------------- | --------------- | ------------ | ------------- | --------------------------------------------------------------------- |
| **FB\_HeatCurve4P\_DN** | HeatCurve4P\_DN | VAR\_IN\_OUT |               | Enter FB instance HVAC.HeatCurve4P\_DN here, e.g. PRG.HeatCurve4P\_DN |

{% hint style="info" %}
Note: VAR\_IN\_OUT interfaces must be assigned, VAR\_INPUT are optional.
{% endhint %}

### CODESYS

InOut:

| Scope       | Name                  | Type    | Initial      |
| ----------- | --------------------- | ------- | ------------ |
| Input       | `rOutTemp`            | `REAL`  | 0            |
| Input       | `xDay`                | `BOOL`  |              |
| Input Const | `rBorderDistance`     | `REAL`  | 3            |
| Input Const | `rSupplyTempMaxScale` | `REAL`  | 90           |
| Input Const | `rButtonJump`         | `REAL`  | 1            |
| Input Const | `rW4Night`            | `REAL`  | 35           |
| Input Const | `rW4Day`              | `REAL`  | 40           |
| Input Const | `rTo4`                | `REAL`  | 15           |
| Input Const | `rW3Night`            | `REAL`  | 45           |
| Input Const | `rW3Day`              | `REAL`  | 50           |
| Input Const | `rTo3`                | `REAL`  | 5            |
| Input Const | `rW2Night`            | `REAL`  | 55           |
| Input Const | `rW2Day`              | `REAL`  | 60           |
| Input Const | `rTo2`                | `REAL`  | -5           |
| Input Const | `rW1Night`            | `REAL`  | 65           |
| Input Const | `rW1Day`              | `REAL`  | 70           |
| Input Const | `rTo1`                | `REAL`  | -15          |
| Input Const | `rSupplyTempMax`      | `REAL`  | 70           |
| Input Const | `rSupplyTempMin`      | `REAL`  | 20           |
| Input Const | `rManValue`           | `REAL`  | 0            |
| Input Const | `eManModeN`           | eManNum | eManNum.Auto |
| Output      | `rSupplyTemp`         | `REAL`  | 0            |


---

# 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/setpoint/heatcurve4p_dn.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.
