FB_BA_LglPrev
Legionella protection
Functional description
This function block is used for disinfection of the service water and for killing off Legionella. Disinfection mode is activated at input bEnLglPrev via a timer program. It is advisable to run the disinfection at least once per week during the night. The temperature should be at least 70 °C. The activation interval at bEnLglPrev must be adequately long. The output bLd activates tank heating.
For hot water tanks with two temperature sensors, a minimum selection feature for both sensors must be connected at rTMin.
If rTMin exceeds the value of rSp, a monitoring timer is started with a time of udiTi [s]. If the minimum tank temperature rTMin remains above rSp-rSpHys while the timer is active, the tank was heated adequately. If circulation is active, the output bLd must be linked to enabling of the circulation pump, to ensure that the water pipe within the hot water system is included in the disinfection. If the temperature has fallen below rSp-rSpHys during the disinfection process, the process must be restarted and run until the time udiTi has fully elapsed. If the disinfection was successful, the output bLd is reset.
If the disinfection process was incomplete during the function block activation (bEnLglPrev), this is indicated with the output bAlm. The output must be reset with the input bRst.
Explanation of the diagram:
t0 Start of the legionella program and switching of output bLd. Heating of the hot water tank.
t1 The tank has reached the temperature rSp. The timer for the heating time is started.
t2 The minimum tank temperature has fallen below rSp-rSpHys. The timer for the heating time is reset.
t3 The temperature exceeds rSp again, and the heating timer is started again.
t4 The Minimum tank temperature was above the limit rSp-rSpHys over the period udiTi; the disinfection was successful. bLd is reset, and the hot water tank switches back to normal operation.
Inputs/outputs
VAR_INPUT
bEnLglPrev : BOOL;
rTMin : REAL;
rSp : REAL;
rSpHys : REAL;
udiTi : UDINT;
bRst : BOOL;
bEnLglPrev: enabling of disinfection operation via a timer program
rTMin: minimum tank temperature [°C]. Minimum selection of temperature sensors at the top and bottom.
rSp: setpoint for disinfection [°C]
rSpHys: temperature difference [°K] lower limit; always calculated absolute
udiTi: monitoring period [s]
bRst: resetting of the legionella alarm
VAR_OUTPUT
bLd : BOOL;
rSpOut : REAL;
udiRTi : UDINT;
udiSta : UDINT;
bLd: anti-legionella mode active
rSpOut: setpoint transfer to charging circuit
- rSp (input) if the function block is enabled
- 0 if the function block is not enabled
udiRTi: disinfection mode timer countdown
udiSta: disinfection program status:
- The disinfection operation was successful.
- The disinfection was completed successfully. After the disinfection, and to reactivate legionella prevention, bEnLglPrev must be FALSE.
- The disinfection operation is active.
- Disinfection was not successful. Alarm is pending.
- Disinfection was not successful, the alarm was acknowledged.
- Controller restart, or legionella mode has not yet been requested.
bAlm: the temperature setpoint was not reached consistently over the interval udiTime, so that adequate disinfection is not guaranteed.
Requirements
Development environment | Target system | required library | required supplement |
---|---|---|---|
TwinCAT 2.11 R3/x64 | PC/CX | TcBA library from V1.0.0 | TS8040 | TwinCAT Building Automation from V1.0.0 |