FB_BA_Facade_WindProtection

Sub-template Storm protection.
The data for storm protection - wind speed and wind direction - is first transferred from the weather station template to the local variable list Site together with other weather data. From there, they are available as
- Site.stWeatherStation.fWindSpeed
- Site.stWeatherStation.fWindDirection
in this template.
In the upper part of the function, the switch-on and switch-off thresholds for activation are weighted according to the wind direction. The array tables StormOnInterpolation for the switch-on threshold and StormOffInterpolation for the switch-off threshold provide limit values for different wind directions are available in 30° steps.
The idea behind this is that a direct wind impact on the facade is weighted more heavily (lower limit value) than if the wind comes from the side (higher limit value).
As this template is delivered universally, i.e. for all facade directions, the switch-on threshold for all wind directions is predefined at 12 m/s (strong wind) and the switch-off threshold at 8 m/s in FB_Init. The values can be refined as required.
It should also be noted that the limit values are actually unitless and must be selected according to the weather station: if the weather station outputs the wind speed in km/h, the values in the order of 40 km/h for switching on and 28 km/h for switching off are more appropriate.
The function block FB_BA_SunBldWndPrtc implements storm protection. The current wind speed from the variable list Site and the weighted switch-on and switch-off thresholds are sent to it. It also has inputs for a switch-on and switch-off delay, which can be set via the input objects DlyStrmOn and DlyStrmOff. Both values are limited to 60 s in this template.
The binary display object WndPrtcState is used to display the status of the storm protection in BACnet.
![]() | The initialization of the template takes place within the method FB_Init. |
Block diagram

Syntax
FUNCTION_BLOCK FB_BA_Facade_WindProtection EXTENDS FB_BA_View
VAR_OUTPUT
stSunbld : ST_BA_SunBld;
bWndPrtc : BOOL;
fWndSpdStormOn : REAL;
fWndSpdStormOff : REAL;
END_VAR
VAR_INPUT CONSTANT PERSISTENT
aWndSpdLmtStormOn : ARRAY[1..32] OF REAL;
aWndSpdLmtStormOff : ARRAY[1..32] OF REAL;
END_VAR
VAR_INPUT CONSTANT
DlyStrmOn : FB_BA_AV_Op;
DlyStrmOff : FB_BA_AV_Op;
WndPrtcState : FB_BA_BV_Op;
SunBldWndPrtc : FB_BA_SunBldWndPrtc;
END_VAR
VAR
aStormDirection : ARRAY[1..32] OF REAL :=[0.0, 30.0, 60.0, 90.0, 120.0, 150.0, 180.0, 210.0, 240.0, 270.0, 300.0, 330.0, 360.0];
StormOnInterpolation : FB_BA_Chrct32;
StormOffInterpolation : FB_BA_Chrct32;
END_VAR
Outputs
Name | Type | Description |
---|---|---|
stSunBld | Storm protection telegram. | |
bWndPrtc | BOOL | Control output "Storm protection active". |
fWndSpdStormOn | REAL | Calculated value limit value storm detection. |
fWndSpdStormOff | REAL | Calculated value limit value Storm abated. |
Inputs CONSTANT PERSISTENT
Name | Type | Description |
---|---|---|
aWndSpdLmtStormOn | ARRAY[1..32] OF REAL | aWndSpdLmtStormOn[01] … aWndSpdLmtStormOn[13]: These values define the interpolation curve for the direction-dependent switch-on threshold of the storm detection. Here aWndSpdLmtStormOn[01] applies to the wind direction at 0° (north). The other field elements represent the interpolation points in 30° steps. The unit of the values selected in FB_Init is m/s. If the weather station provides the wind speed in a different unit, the values must be selected accordingly. Only 13 values are described for the interpolation of the wind direction. The corresponding function block is parameterized accordingly. |
aWndSpdLmtStormOff | ARRAY[1..32] OF REAL | aWndSpdLmtStormOff[01] .. aWndSpdLmtStormOff[13]: These values define the interpolation curve for the direction-dependent switch-off threshold of the storm detection. Here aWndSpdLmtStormOff[01] applies to the wind direction at 0° (north). The other field elements represent the interpolation points in 30° steps. The unit of the values selected in FB_Init is m/s. If the weather station provides the wind speed in a different unit, the values must be selected accordingly. Only 13 values are described for the interpolation of the wind direction. The corresponding function block is parameterized accordingly. |
Inputs CONSTANT
Name | Type | Description |
---|---|---|
DlyStrmOn | Delay value for storm detection [s]. | |
DlyStrmOff | Delay value storm abated [s]. | |
WndPrtcState | Display object state storm protection. | |
SunBldWndPrtc | Triggering and telegram block for storm protection. |
Variables
Name | Type | Description |
---|---|---|
aStormDirection | ARRAY[1..32] OF REAL | Pre-set field of cardinal points for weighting the storm limits. |
StormOnInterpolation | Calculation block for the limit value storm detection. | |
StormOffInterpolation | Calculation block for the limit value Storm abated. |
Requirements
Development environment | Necessary function |
---|---|
TwinCAT from v3.1.4024.56 | TF8040 | TwinCAT Building Automation from V5.8.0.0 |