Overview Heating/cooling changeover

This function block switches between heating and cooling mode. A moving average of the outdoor temperature is formed, using the same method as the Average per time function block. The set number of days is the time constant: after this period the average has followed about two thirds of a temperature change. So it is not an average over a fixed time window, but a slowly trailing value.

If this average is below the heating limit value, the heating enable is set; if it is above the cooling limit value, the cooling enable is set. The separate limit values create a neutral range in between, where neither heating nor cooling takes place. The two enables are never active at the same time.

The limit values, the number of days and all times are parameters. For systems that receive these values from the bus they are also available as inputs: a connected input takes precedence over the parameter.


Operation

Starting value and storage. The average is stored and continues with the stored value after a restart. If no value is available, the first outdoor temperature reading becomes the starting value; until then both enables remain off and the average output is not written. If the controller was out of operation for longer than the configured time constant, the stored value is discarded and learned again — otherwise it would need days to catch up and would hold a wrong enable for that time.

Timing. The average is updated every minute, the enables are re-evaluated every second and additionally whenever an input changes. The outputs are repeated every 60 seconds, even if nothing has changed.

Missing outdoor temperature. If input AT is not connected, the block cannot work: both enables stay off, the fault output is set and a message is issued. If the input is connected, its value is trusted — this also applies to an internal connection to an upstream block that calculates the outdoor temperature first.

Limit values. The heating limit value must be lower than the cooling limit value. If the values are equal or swapped, a message is issued, the fault output is set and the cooling enable is blocked: heating takes precedence in this case. The message appears only when a value changes, so that the diagnosis does not flood, and it is omitted for a deactivated block. If both limit values are exactly 0, this counts as "values not received yet" — both enables then stay off, without a message.

Hysteresis. It only takes effect when an enable is withdrawn. The heating enable drops only once the average exceeds the heating limit value by the hysteresis; the cooling enable only once it falls below the cooling limit value by the hysteresis. With 0 there is no hysteresis.

Minimum mode time. It holds a mode once taken up before the automatic system may change it, and thus prevents oscillation in the transitional period. Manual override, enable and dew point take effect immediately and do not wait for this time.

Purge time on changeover. When the mode changes between heating and cooling, both enables are off for the configured time and the output "changeover running" is set. On a system with a shared pipe network this allows the network to be recharged before the opposite direction is enabled. If the request returns to the previous mode during the purge time, it is cancelled immediately.

Manual override. Input HB overrides the automatic system. It is intended for commissioning and service, so that the limit values do not have to be changed for this purpose.

Dew point. If input TP is active, the cooling enable is withdrawn — even with manual override cooling. Condensation causes damage and is not a matter of preference. The input is usually supplied by the Dew point temperature block.

Cooling season. If a start and end month are set, the automatic system does not enable cooling outside this period. If the end month is before the start month, the period runs across the turn of the year. A manual override is not restricted by the season.

Blocked block. Without enable (input FG at 0) both enables and the mode drop to 0. The average is still formed and stored, so that it is correct immediately after the block is enabled again.

Example

Heating limit value 16 °C, cooling limit value 28 °C, days average 3. The average is at 20 °C, then the outdoor temperature drops to 5 °C. After 3 days the average has followed about two thirds of the step and is at roughly 10 °C — so the heating enable came during the second day, not right after the first cold morning. That is exactly the purpose: a single cold or warm day should not make the system change over.


Inputs

FG
Enable
Optional. Not equal to 0 enables the block, 0 blocks it: both enables and the mode go to 0. Not connected: the block is enabled.
AT
Outdoor temperature*
Current outdoor temperature in °C, from which the average is formed. Not connected: the block does not work, both enables stay off, the fault output is set and a message is issued. An internal connection to an upstream block counts as connected.
TD
Days average
Optional. Time constant of the average in days. The higher the value, the more slowly the average follows the outdoor temperature. There is no upper limit, the smallest value is 1 day. Not connected: the parameter of the same name applies.
GH
Heating limit value
Optional. If the average is below this value in °C, enable heating is set. Not connected: the parameter of the same name applies.
GK
Cooling limit value
Optional. If the average is above this value in °C, enable cooling is set. Not connected: the parameter of the same name applies.
RS
Reset average
Optional. The change from 0 to not equal to 0 is evaluated: the current outdoor temperature reading becomes the new starting value of the average. Intended for commissioning, when the average has been learned with wrong values. Not connected: it is never reset.
HB
Manual override
Optional. 0 = automatic, 1 = heating, 2 = cooling, 3 = off (both enables stay off). A manual override takes effect immediately and does not wait for the minimum mode time; the purge time still applies. Not connected: automatic.
TP
Dew point reached
Optional. Not equal to 0 withdraws the cooling enable immediately, even with manual override cooling; the heating enable is not affected. Not connected: it is never blocked.

Outputs

FH
Enable heating
1 if the mode is heating, otherwise 0.
FK
Enable cooling
1 if the mode is cooling, otherwise 0. Stays at 0 if the limit values are equal or swapped, if the dew point input is active and outside the cooling season.
DS
Average
Calculated moving outdoor temperature average in °C. The value is stored and continues after a restart. As long as no starting value is available, the output is not written.
MO
Mode
0 = neither heating nor cooling, 1 = heating, 2 = cooling. The same state as FH and FK, but as a single value — this saves an assignment if a downstream block expects the mode as a number.
UM
Changeover running
1 during the purge time when changing between heating and cooling. During this time both enables are off and the mode is 0.
SR
Fault
1 as long as the outdoor temperature is not connected or the limit values are equal or swapped. Otherwise 0.

Parameters

Days average
Time constant of the moving average in days. Default 3. A connected input TD takes precedence.
Heating limit value
Default 16 °C. A connected input GH takes precedence.
Cooling limit value
Default 28 °C. A connected input GK takes precedence.
Heating hysteresis
The heating enable drops only once the average exceeds the heating limit value by this amount. Default 0, so without hysteresis.
Cooling hysteresis
The cooling enable drops only once the average falls below the cooling limit value by this amount. Default 0, so without hysteresis.
Minimum mode time
Minimum time in minutes that a mode is held before the automatic system may change it. Default 0, so no minimum time.
Purge time on changeover
Waiting time in minutes when changing between heating and cooling. Default 0, so without waiting time.
Cooling enabled from / to
First and last month in which the automatic system may enable cooling. The default "All year" at either of the two settings removes the restriction.

When generating the group addresses, addresses are created for the outputs only. No address is created for the inputs on purpose: an assigned input starts at 0, and the default value of the parameter then no longer applies — the block would keep both limit values at 0 and stay blocked until someone writes the values manually. The outdoor temperature comes from the bus and is assigned manually.

See also: Average per time, Dew point temperature, Heating Curve, Block Room Controller.

See also common parameters of all function blocks.