FB_BA_LglPrev

FB_BA_LglPrev 1:

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 several temperature sensors, a minimum selection feature for all sensors must be connected at rTMin.
If rTMin exceeds the value of rSp, a monitoring timer is started with a time of udiTi_sec [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 service 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_sec 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 bRst.

FB_BA_LglPrev 2:

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_sec; the disinfection was successful. bLd is reset, and the hot water tank switches back to normal operation.

VAR_INPUT

bEnLglPrev  : BOOL;
rTMin       : REAL;
rSp         : REAL;
rSpHys      : REAL;
udiTi_sec   : 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_sec: 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:

udiRTi: Disinfection mode timer countdown.

udiSta: Disinfection program status:

  1. The disinfection operation was successful.
  2. The disinfection was completed successfully. After the disinfection, and to reactivate legionella prevention, bEnLglPrev must be FALSE.
  3. The disinfection operation is active.
  4. Disinfection was not successful. Alarm is pending.
  5. Disinfection was not successful, the alarm was acknowledged.
  6. Controller restart, or legionella mode has not yet been requested.

bAlm: The temperature setpoint was not reached consistently over via the interval udiTi_sec, so that adequate disinfection is not guaranteed.

Requirements

Development environment

Required PLC library

TwinCAT from v3.1.4024.7

Tc3_BA from v1.1.6.0