FB_BA_SunBldWthrPrtc
The weather protection has the highest priority in the blind controller (see overview) and is intended to ensure that the blind is not damaged by ice or wind.
Functional description
The task of the automatic weather protection function is to protect the blind against two impending dangers and, in order to do so, to drive it to a safe position:
- Icing up: impending icing up is detected when the measured outside temperature lrOtsT falls below the frost limit value lrFrstT while at the same time rain is detected on bRainSns. This event is saved internally and remains active until it is ensured that the ice has melted again. In addition, the outside temperature must have exceeded the frost limit value for the entered deicing time udiDeiceTi [s]. For safety reasons the icing event is persistently saved, i.e. also beyond a PLC failure. Thus, if the controller fails during the icing up or deicing period, the blind is considered to be newly iced up when then the controller restarts and the deicing timer starts from the beginning again.
- Storm: if the measured wind speed lies above the value lrWndSpdStrmOn for the time udiDlyStrmOn [s], then it is assumed that a storm is directly impending. Only if the wind speed falls below the value lrWndSpdStrmOff for the time udiDlyStrmOff [s] is the storm considered to have abated and the driving of the blind considered to be safe. For safety reasons the storm event is also persistently saved. Thus, if the controller fails during a storm, the sequence timer is started again from the beginning when the controller is restarted.
In both cases of danger the blind is driven to the protection position specified by lrPosProt (height position in percent) and lrAnglProt (slat angle [°]).
Inputs/outputs
VAR_INPUT
bEn : BOOL;
lrWndSpd : LREAL;
lrOtsT : LREAL;
bRainSns : BOOL;
lrFrstT : LREAL;
lrWndSpdStrmOn : LREAL;
lrWndSpdStrmOff : LREAL;
udiDeiceTi : UINT;
udiDlyStrmOn : UDINT;
udiDlyStrmOff : UDINT;
lrPosProt : LREAL;
lrAnglProt : 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.
lrWndSpd: wind speed. The unit of the entry is arbitrary, but it is important that no value is smaller than 0 and that the values become larger with increasing speed.
lrOtsT: outside temperature [°C]
bRainSns: input for a rain sensor
lrFrstT: icing-up temperature limit value [°] Celsius. This value may not be greater than 0. Otherwise an error is output.
lrWndSpdStrmOn: wind speed limit value for the activation of the storm alarm. This value may not be smaller than 0 and must lie above the value for the deactivation. Otherwise an error is output. The unit of the entry must be the same as that of the input lrWndSpd. A value greater than this limit value triggers the alarm after the entered time udiDlyStrmOn.
lrWndSpdStrmOff: wind speed limit value for the deactivation of the storm alarm. This value may be not smaller than 0 and must lie below the value for the activation. Otherwise an error is output. The unit of the entry must be the same as that of the input lrWndSpd. A value smaller than or equal to this limit value resets the alarm after the entered time udiDlyStrmOff.
udiDeiceTi: time until the deicing of the blind after icing up [s]. After that the icing up alarm is reset.
udiDlyStrmOn: time delay until the storm alarm is triggered [s]
udiDlyStrmOff: time delay until the storm alarm is reset [s]
lrPosProt: height position of the blind [%] in the case of protection
lrAnglProt: slat angle of the blind [°] in the case of protection
VAR_OUTPUT
stSunBld : ST_BA_SunBld;
bActv : BOOL;
bIceAlm : BOOL;
udiRemTiIceAlm : UDINT;
bStrmAlm : BOOL;
udiRemTiStrmDetc : UDINT;
udiRemTiStrmAlm : UDINT;
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.
bIceAlm: displays the icing-up alarm.
udiRemTiIceAlm: in the case of impending icing up (bIceAlm = TRUE), this second counter is set to the deicing time. As soon as the temperature lies above the frost point entered (lrFrstT), the remaining number of seconds until the 'all-clear' signal is given (bIceAlm = FALSE) is displayed here. This output is 0 as long as no countdown of the time is taking place.
bStrmAlm: displays the storm alarm.
udiRemTiStrmDetc: in an uncritical case this second counter constantly displays the alarm delay time udiDlyStrmOn. If the measured wind speed lrWndSpd is above the activation limit value lrWndSpdStrmOn, the seconds to the alarm are counted down. This output is 0 as long as no countdown of the time is taking place.
udiRemTiStrmAlm: as soon as the storm alarm is triggered, this second counter first constantly displays the deactivation time delay of the storm alarm udiDlyStrmOff. If the measured wind speed lrWndSpd falls below the deactivation limit value lrWndSpdStrmOff, the seconds to the all-clear signal (bStrmAlm=FALSE) are counted down. 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.
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 |