# Documentation

## Heating curve (T1)

### Block name

T1_EQUITHERMAL_CURVE

### ST call

`PROGRAM T1_TEST	VAR  		REAL1,REAL2,REAL3,REAL4,REAL5,REAL6,REAL7,REAL8,REAL9,REAL10,REAL11,REAL12,REAL13,REAL14,REAL15,REAL16,REAL17,REAL18,REAL19: REAL; 		BOOL1:BOOL; 		FB: LIB.HVAC.V1_0.T1_EQUITHERMALCURVE;	END_VAR 	FB(IN:= REAL1, BR:= BOOL1, FDY:= REAL2, FX1:= REAL3, FX2:= REAL4, FX3:= REAL4, FX4:= REAL5, FY1:= REAL6, FY2:= REAL7, FY3:= REAL8, FY4:= REAL9, TDY:= REAL10, TX1:= REAL11, TX2:= REAL12, TX3:= REAL13, TX4:= REAL14, TY1:= REAL15, TY2:= REAL16, TY3:= REAL17, TY4:= REAL18, OUT=> REAL19);END_PROGRAM`

LIB\HVAC

V1.0

### Description

A heating curve calculates heating water setpoint based on the outside temperature: the lower the outside temperature, the higher the heating water setpoint. The block contains two 4-point curves: day curve, and night curve.

### Inputs

 Input Type Description Default value BR BOOL Llinear interpolation switch, see below False IN REAL Input: outside temperature (°C) 0 FDY REAL Night depression temperature correction (K) 0 FX1 REAL X - coordinate of 1st point - night (°C) -15 FX2 REAL X - coordinate of 2nd point - night (°C) -5 FX3 REAL X - coordinate of 3rd point - night (°C) 0 FX4 REAL X - coordinate of 4th point - night (°C) 15 FY1 REAL Y - coordinate of 1st point - night (°C) 80 FY2 REAL Y - coordinate of 2nd point - night (°C) 60 FY3 REAL Y - coordinate of 3rd point - night (°C) 40 FY4 REAL Y - coordinate of 4th point - night (°C) 30 TDY REAL Day depression temperature correction (K) 0 TX1 REAL X - coordinate of 1st point - day (°C) -15 TX2 REAL X - coordinate of 2nd point - day (°C) -5 TX3 REAL X - coordinate of 3rd point - day (°C) 0 TX4 REAL X - coordinate of 4th point - day (°C) 15 TY1 REAL Y - coordinate of 1st point - day (°C) 80 TY2 REAL Y - coordinate of 2nd point - day (°C) 60 TY3 REAL Y - coordinate of 3rd point - day (°C) 40 TY4 REAL Y - coordinate of 4th point - day (°C) 30

### Outputs

Output Type Description
OUT REAL Heating water setpoint (°C)

### Function

The input temperature is calculated by linear interpolation in the range given by neighbouring outside parameter values. The block contains two heating curves: for day and for night, which are switched by the BR variable. If BR is TRUE, the TX - TY curve is active, if BR is FALSE, the FX - FY curve is active. The input BR is usually connected to a time scheduler, if a separate night curve is used. The *dy variables move the whole curve along the y axis, i.e. the values are added to the resulting heating water setpoint. They can be connected to the room controller output to correct the setpoint according to the reference room temperature, which would compensate the thermal gains caused by e.g. internal influences or solar irradiation of the facade.

If the outside temperature falls below *X1, the heating water setpoint is limited by *Y1. Similarly, if the outside temperature rises above *X4, the setpoint does not fall below *Y4.

### Application example

The block is used in heating circuits with outside temperature compensation. It can be used also to calculate the maximum temperature of boilers or heat exchangers, or as a general "linearisation" function with a 4-point curve. At the image below, find a simple weather-compensated controller (block B35) which acquires its setpoint from the heating curve output  (block T1). tout is the outside temperature. The T17 time schedule changes between day and night heating curves.

In some situations, it is advisable to filter the outside temperature, or prevent malfunction of the curve in case of broken outside temperature sensor.

## Heating curve

### Block name

T1_EQUITHERMAL_CURVE

### ST call

`PROGRAM T1_TEST	VAR  		REAL1,REAL2,REAL3,REAL4,REAL5,REAL6,REAL7,REAL8,REAL9,REAL10,REAL11,REAL12,REAL13,REAL14,REAL15,REAL16,REAL17,REAL18,REAL19: REAL; 		BOOL1:BOOL; 		FB: LIB.HVAC.V1_0.T1_EQUITHERMALCURVE;	END_VAR 	FB(IN:= REAL1, BR:= BOOL1, FDY:= REAL2, FX1:= REAL3, FX2:= REAL4, FX3:= REAL4, FX4:= REAL5, FY1:= REAL6, FY2:= REAL7, FY3:= REAL8, FY4:= REAL9, TDY:= REAL10, TX1:= REAL11, TX2:= REAL12, TX3:= REAL13, TX4:= REAL14, TY1:= REAL15, TY2:= REAL16, TY3:= REAL17, TY4:= REAL18, OUT=> REAL19);END_PROGRAM`

LIB\HVAC

V1.0

### Description

A heating curve calculates heating water setpoint based on the outside temperature: the lower the outside temperature, the higher the heating water setpoint. The block contains two 4-point curves: day curve, and night curve.

### Inputs

 Input Type Description Default value BR BOOL Llinear interpolation switch, see below False IN REAL Input: outside temperature (°C) 0 FDY REAL Night depression temperature correction (K) 0 FX1 REAL X - coordinate of 1st point - night (°C) -15 FX2 REAL X - coordinate of 2nd point - night (°C) -5 FX3 REAL X - coordinate of 3rd point - night (°C) 0 FX4 REAL X - coordinate of 4th point - night (°C) 15 FY1 REAL Y - coordinate of 1st point - night (°C) 80 FY2 REAL Y - coordinate of 2nd point - night (°C) 60 FY3 REAL Y - coordinate of 3rd point - night (°C) 40 FY4 REAL Y - coordinate of 4th point - night (°C) 30 TDY REAL Day depression temperature correction (K) 0 TX1 REAL X - coordinate of 1st point - day (°C) -15 TX2 REAL X - coordinate of 2nd point - day (°C) -5 TX3 REAL X - coordinate of 3rd point - day (°C) 0 TX4 REAL X - coordinate of 4th point - day (°C) 15 TY1 REAL Y - coordinate of 1st point - day (°C) 80 TY2 REAL Y - coordinate of 2nd point - day (°C) 60 TY3 REAL Y - coordinate of 3rd point - day (°C) 40 TY4 REAL Y - coordinate of 4th point - day (°C) 30

### Outputs

Output Type Description
OUT REAL Heating water setpoint (°C)

### Function

The input temperature is calculated by linear interpolation in the range given by neighbouring outside parameter values. The block contains two heating curves: for day and for night, which are switched by the BR variable. If BR is TRUE, the TX - TY curve is active, if BR is FALSE, the FX - FY curve is active. The input BR is usually connected to a time scheduler, if a separate night curve is used. The *dy variables move the whole curve along the y axis, i.e. the values are added to the resulting heating water setpoint. They can be connected to the room controller output to correct the setpoint according to the reference room temperature, which would compensate the thermal gains caused by e.g. internal influences or solar irradiation of the facade.

If the outside temperature falls below *X1, the heating water setpoint is limited by *Y1. Similarly, if the outside temperature rises above *X4, the setpoint does not fall below *Y4.

### Application example

The block is used in heating circuits with outside temperature compensation. It can be used also to calculate the maximum temperature of boilers or heat exchangers, or as a general "linearisation" function with a 4-point curve. At the image below, find a simple weather-compensated controller (block B35) which acquires its setpoint from the heating curve output  (block T1). tout is the outside temperature. The T17 time schedule changes between day and night heating curves.

In some situations, it is advisable to filter the outside temperature, or prevent malfunction of the curve in case of broken outside temperature sensor.