Overview Hot water charging

This function block charges a domestic hot water cylinder and supervises the legionella programme. It is the consumer with priority: in almost every system, hot water comes before heating.

Charging follows the top sensor, optionally the bottom sensor as well - the cylinder is then charged all the way through. The heat is moved by a charging pump, a diverter valve or both; whichever is not needed stays silent. The demand is reported as a heat request in the format used throughout this set of blocks - one bit and the desired temperature.

The legionella programme does not only heat up, it also checks the result. It starts on the selected weekdays at the selected time, or manually via input LS, heats the cylinder to the setpoint and only then starts counting the holding time. If water is drawn off in between and the temperature drops, the holding time keeps running but is not counted - otherwise it would never be completed on an ordinary morning. Only when the holding time is reached does output LE report success, and the status text gives the date. If the setpoint is not reached before the maximum duration expires, the run ends as a fault and LE stays 0.

The state and the timers of the programme survive a restart. If the controller fails during the heat-up, the run continues at the same point afterwards - provided it is still the same day and the maximum duration has not expired. Otherwise the block starts cleanly from the beginning without reporting a fault.

Priority is not set here but at the heat request block: there, this block's request is given the priority type "suppressing" and the kind "hot water". In a system without a collector, connect output LA to input SP of the heating circuit instead.

Scald protection is not the job of this block. Anyone heating the cylinder to 60 or 65 °C needs a mixing device in the system that cools the water down again before the tap.

There is no dedicated control element. For the visualisation, a text display on output ST and value displays on TO, TU and BT are enough; the variable for the status text must be of data type string. LE and SR are suited as status symbols. If SO, BA and LS are assigned to addresses, setpoint, operating mode and the one-off disinfection can be operated from the visualisation.

Sequence

Setpoint. In operating mode automatic, setpoint SO applies inside the release period at input ZP, and the reduced setpoint SA outside it. If SA is not connected, SO is reduced by the parameter Setback instead. Continuous operation and single charge always use SO; operating mode off does not charge. In every case the maximum cylinder temperature limits the setpoint.
Charging. Charging starts as soon as the top sensor falls below the setpoint minus the switch-on hysteresis. With sensor mode top only it ends as soon as the top sensor reaches the setpoint plus the switch-off hysteresis; with top and bottom only when the bottom sensor has reached that value too and the top sensor is at least at the setpoint. If the top sensor reaches the maximum temperature, charging ends in any case.
Request. While charging, output AN carries the bit and AT the setpoint plus the offset. Without charging, AT is 0. The form of the report can be changed to bit only or temperature only if the heat generator evaluates only one of them.
Charging pump and diverter valve. The pump starts after the switch-on delay and keeps running for the overrun time after charging has ended; minimum run time and minimum standstill time prevent short cycling. With load type diverter valve the valve stands exactly as long as the charging. If a pump is involved as well, it stays in position for the whole overrun - otherwise the still running pump would push hot water into the heating circuit. LA stays set for the same period.
Charging release via flow temperature. If switched on, the charging pump only starts once the generator flow is warmer than the top of the cylinder by the minimum difference. The heat request is not affected - otherwise the generator would never come up. Default is off.
Legionella. READY waits for the scheduled time or for LS. In HEAT UP the legionella setpoint becomes the cylinder setpoint, LG and ZS are set to 1. Once the measuring sensor is at the setpoint, the block changes to HOLD and counts the holding time while the temperature stands. When the holding time is complete, the run counts as successful. If the maximum duration is exceeded, or a sensor fails during the run, it ends as a fault.
Maximum temperature and legionella. If the maximum cylinder temperature is below the legionella setpoint, that setpoint could never be reached. The block then does not even start the run but immediately reports a fault and gives the reason in the status text.
Limits further down the chain. The heat request collector (parameter request maximum) and the heat generator (setpoint maximum) also limit the disinfection. Both must allow at least the legionella setpoint plus all offsets.
Priority and maximum duration. The legionella maximum duration must be smaller than the priority maximum duration of the collector. Otherwise the disinfection loses its priority halfway through and never completes.
Single charge. Operating mode 2 charges the cylinder once. Afterwards - at the latest after the configured maximum duration - the block writes 0 back to the variable at input BA, so the visualisation shows automatic again. If BA is not assigned to a variable, the single charge still ends and waits for BA to leave the value 2.
Anti-seize function. On the configured weekday and hour the charging pump runs briefly so that it does not seize up after a long standstill. A charging demand aborts the run immediately; during a disinfection it does not start at all.

Example

A single family house with a gas condensing boiler, one heating circuit and a 300 litre hot water cylinder with a charging pump.
At the hot water block: sensor top only, setpoint 50 °C via an address, offset 10 K, charging pump with 60 s overrun. Legionella programme on, Saturday 02:00, 65 °C, 15 min holding time, maximum duration 180 min. The maximum cylinder temperature is set to 65 °C - that is, not lower than the legionella setpoint.
At the heat request collector: request 1 receives AN and AT of the hot water block, is named "Warmwasser", kind hot water, priority suppressing. Request 2 receives the heating circuit, kind heating, no priority. Request maximum 80 °C, priority maximum duration 240 min - larger than the legionella maximum duration.
At the heat generator: AN and AT from the collector, plus output WW of the collector to input WW of the generator. A hot water request thereby cancels the outdoor temperature cut-off - in summer the hot water stays warm without the boiler running for the heating.
Result: during the day the system holds 50 °C in the cylinder. If it falls below 45 °C, the block requests 60 °C and the heating circuit is held back for the duration of the charging. On Saturday night the system disinfects at 65 °C and reports on output LE that it worked.

Inputs

TO
Cylinder temperature top
Measures the upper part of the cylinder and starts the charging. Mandatory input. Not connected - or outside -50 to 150 °C - the block reports a fault, does not charge and does not request heat.
TU
Cylinder temperature bottom
Measures the lower part and ends the charging when sensor mode top and bottom is selected. Optional. Not connected: charging ends on the top sensor alone. If the sensor mode or the legionella measuring sensor requires it, a missing bottom sensor reports a fault.
SO
Setpoint hot water
The temperature the cylinder is charged to. Optional. Not connected or less than or equal to 0: 50 °C applies. Assigned to an address, the setpoint can be adjusted from the visualisation.
SA
Setpoint reduced
Applies in operating mode automatic outside the release period. Optional. Not connected: the setpoint minus the parameter Setback applies instead.
ZP
Time programme release
Not equal to 0 releases charging to the full setpoint, 0 switches to the reduced setpoint. Only effective in operating mode automatic. Optional. Not connected: the full setpoint always applies.
BA
Operating mode
0 automatic, 1 continuous (always full setpoint), 2 single charge, 3 off. An unknown value counts as automatic. Optional. Not connected: automatic. After a single charge the block writes 0 back to the connected variable.
LS
Start legionella
Starts a run manually, independently of weekday and time, and overrides the time programme. If the input is assigned to an address, every telegram with a value other than 0 is evaluated - including a second one with the same value. With a drawn connection the change from 0 to not 0 is evaluated. A permanently present signal starts exactly one run. Optional. Not connected: never started manually.
VL
Flow temperature generator
Needed for the charging release via flow temperature. Optional. Not connected: the charging release via flow temperature has no effect, even if the parameter is switched on.
FR
Release
0 blocks the block, not equal to 0 releases it. Optional. Not connected: the block counts as released.
SP
Block
Not equal to 0 blocks: charging, pump and valve switch off. Optional. Not connected: never blocked.

Outputs

PU
Charging pump
1 while the charging pump is to run, including overrun and anti-seize run. Stays silent with load type diverter valve.
UV
Diverter valve hot water
1 while the valve is to be set to hot water. Stays silent with load type charging pump.
AN
Heat request
1 while heat is needed. Goes to a request input of the heat request block.
AT
Request temperature
Desired flow temperature at the generator, that is setpoint plus offset. 0 without a request.
LA
Charging active
1 while charging, with load types involving a valve also during the overrun. In a system without a collector, connect it to input SP of the heating circuit - that is the hot water priority. The frost protection of the heating circuit keeps working despite the block.
LG
Legionella programme active
1 during heat up and hold.
LE
Legionella successful
1 if the last run reached the setpoint and held it long enough. Not a pulse but a state: the value stays until the next run and survives a restart. The date is given in the status text.
ZS
Circulation special mode
1 during the disinfection. Goes to the input of the same name on the circulation pump. Whether that pump therefore runs along or switches off is decided there by the parameter Behaviour in special mode - the default is to run along, so that the circulation pipe is disinfected too.
ST
Status text
Plain text for a text display, for example "Speicher 48.0 C, laedt auf 55.0 C" or "Legionellen: haelt noch 12 min". The texts are issued by the controller in German. The variable must be of data type string.
SR
Fault
1 for a missing or implausible sensor and for a failed legionella run. The status text gives the reason.
BT
Operating hours charging pump
Running time of the charging pump in hours. Survives a restart.

Parameters


Sensor
Top only: charging ends as soon as the top sensor reaches the setpoint. Top and bottom: it only ends when the bottom sensor is at the setpoint too - the cylinder is charged all the way through and needs input TU for that. Default: top only.

Switch-on hysteresis
How far the top sensor may fall below the setpoint before charging starts. Default 5 K.

Switch-off hysteresis
How far above the setpoint charging ends. Default 0 K.

Setback
Outside the release period the setpoint minus this value applies. Only used if input SA is not connected. Default 10 K.

Maximum cylinder temperature
System protection: no charging above this. It also limits the legionella programme - if it is below that setpoint, the run is not started at all but reported as a fault. Default 65 °C.

Request offset
Added to the setpoint and reported as the desired temperature on output AT. Covers the losses of the heat exchanger. Default 10 K.

Request overrun
How long the request stays after charging has ended. The heat request collector has an overrun of its own, so 0 is usually enough here. Default 0 s.

Form of the report
Bit and temperature is the normal case. Bit only or temperature only if the generator evaluates just one of them. The other output then stays at 0. Default: bit and temperature.

Load type
What is used for charging: charging pump, diverter valve or both. The output not selected stays silent. Default: charging pump.

Pump switch-on delay
How long the charging pump waits after the charging demand has arisen - time for the generator to warm up. Default 0 s.

Pump overrun time
How long the charging pump keeps running after charging has ended. Default 60 s.

Pump minimum run time
How long the pump runs at least before it may switch off again. Default 0 s.

Pump minimum standstill
After switching off, the pump may only restart after this time. Prevents short cycling at the switching threshold. Default 60 s.

Anti-seize function pump
Moves the charging pump once a week so that it does not seize up after a long standstill. Only runs while charging is off. Default: off.

Anti-seize function weekday
Weekday of the anti-seize run. Default Sunday.

Anti-seize function time
Full hour at which the anti-seize run starts. Default 10.

Anti-seize function duration
Running time of the pump during the anti-seize run. Default 60 s.

Charging release via flow
Holds the charging pump back while the generator flow is still too cold. The heat request is not affected. Default: off.

Minimum difference flow
How much warmer than the top of the cylinder the flow must be for the charging pump to start. Default 5 K.

Charging release supervision
If the flow does not become warm enough within this time, a note appears in the status text. 0 switches the supervision off. Default 0 min.

Legionella programme
Switches the programme on. Default: off - nothing changes on existing systems.

Legionella weekdays
One switch per weekday. Default: Saturday only. If no day is selected, the programme only starts via input LS.

Legionella start time
Hour and minute at which the run begins. Default 02:00.

Legionella setpoint
The cylinder is heated to this temperature. Default 65 °C. Note scald protection: from about 60 °C the system needs a mixing device.

Legionella holding time
How long the setpoint must be held for the run to count as successful. If water is drawn off in between, the time keeps running but is not counted. Default 15 min.

Legionella maximum duration
If the run is not complete by then, it is ended as a fault. The time runs from the start and covers heat up and hold together. It must be smaller than the priority maximum duration of the collector. Default 180 min.

Legionella measuring sensor
Which sensor decides about success: top, bottom or both. Both is the stricter and technically correct choice but requires a bottom sensor. Default: top.

Catch up missed schedule
If the controller was off at the start time, the run is caught up later the same day. Without catching up it is skipped until the next scheduled time. Default: on.

Single charge maximum duration
A single charge ends at the latest after this time and the operating mode falls back to automatic. Default 120 min.