FB_BA_SunBldTwiLgtAuto

This function block controls the blind if the outdoor brightness has fallen below a limit value.

FB_BA_SunBldTwiLgtAuto 1:

Functional description

The automatic twilight function operates with both a value hysteresis and a temporal hysteresis: If the outdoor brightness value lrBrtns [lux] falls below the value lrActvVal [lux] for the time udiActvDly [s], the function block is active and will provide the blind positions lrPosTwiLgt (height [%]) and lrAnglTwiLgt (louvre angle [°]) at the output in the positioning telegram stSunBld, as specified in the IN variables. Conversely, if the outdoor brightness exceeds the value lrDctvVal [lux] for the time udiDctvDly [s], then the automatic function is no longer active. The active flag in the positioning telegram stSunBld is reset and the positions for height and angle are set to "0". A function with a lower priority can then take over control.

Inputs/outputs

VAR_INPUT

bEn           : BOOL;
lrBrtns       : LREAL;
lrActvVal     : LREAL;
lrDctvVal     : LREAL;
udiActvDly    : UDINT;
udiDctvDly    : UDINT;
lrPosTwiLgt   : LREAL; 
lrAnglTwiLgt  : LREAL;

bEn: the function block has no function if this input is FALSE. In the positioning telegram stSunBld, 0 is output for the position and the angle, and bActv is FALSE. This means that another function takes over control of the blind via the priority controller.

lrBrtns: outdoor brightness [lx]

lrActvVal: activation limit value [lx]

lrDctvVal: deactivation limit value [lx]

udiActvDly: activation delay [s]

udiDctvDly: deactivation delay [s]

lrPosTwiLgt: vertical position of the blind [%] if the twilight automatic is active

lrAnglTwiLgt: slat angle of the blind [°] if the twilight automatic is active

VAR_OUTPUT

stSunBld       : ST_BA_SunBld;
bActv          : BOOL;
udiRemTiActv   : UINT;
udiRemTiDctv   : UINT;
bErr           : BOOL;
udiErrId       : UDINT;
udiErrArg      : UDINT;

stSunBld: output structure of the blind positions, see ST_BA_SunBld

bActv : corresponds to the boolean value bActv in the blind telegram ST_BA_SunBld and is solely used to indicate whether the function block sends an active telegram.

udiRemTiActv: shows the time remaining [s] after falling below the switch value lrActvVal until automatic mode is activated. This output is 0 as long as no countdown of the time is taking place.

udiRemTiDctv: shows the time remaining [s] after exceeding the switch value lrDctvVal until automatic mode is disabled. This output is 0 as long as no countdown of the time is taking place.

bErr: this output is switched to TRUE if the parameters entered are erroneous.

udiErrId / udiErrArg: contains the error number and the error argument. See error codes.

FB_BA_SunBldTwiLgtAuto 2:

If an error should occur, then this automatic function is deactivated and position and angle are set to 0. This means that if a priority controller is in use, another function with a lower priority (see Overview) automatically takes over control of the blind. In the case of a direct connection, conversely, the blind will drive to position/angle 0.

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