FB_BA_Facade_SunProtection

Untertemplate Sonnenschutzautomatik.
Dieses Template ruft eine Sonnenschutzfunktion mit fester Position und Lamellennachführung auf.
Im oberen Teil wird zunächst anhand der Fassadenorientierung (Nord = 0°, Ost = 90°, Süd = 180°, West = 270°) und aus den 4 Helligkeitssensoren die Helligkeit für die betrachtete Fassade interpoliert (BrtnsCardinalInterpolation).
Da die Blendwirkung der Sonne auch von der Sonnenhöhe anhängt werden jeweils 7 Helligkiswerte für die Ein - und Ausschaltschwelle des Sonnenschutzes herangezogen. Diese sind als AV-Objekte definiert und beschreiben sie Schwellwerte bei 0°, 15°, 30°, 45°, 60°, 75° und 90° Sonnenelevation.
Anhand der aktuellen Sonnenhöhe wird der Ein- und Ausschaltschwellwert mit jeweils einem Baustein FB_BA_Chrct07 interpoliert.
Die jeweils Errechneten Schwellwerte für Ein und Aus werden jeweils über ein AV-Objekt im BACnet zur Verfügung gestellt.
Im sich anschließenden Teil erzeugt ein Hysterese-Baustein die eigentliche Freigabe für die Sonnenschutzfunktion.
Dazu wird die interpolierte himmelsrichtungsabhängige Helligkeit als Istwert herangezogen.
Zusätzlich ist eine zeitliche Verzögerung der Grenzwerte einprogrammiert, die einem schnellen Helligkeitswechsel Rechnung trägt.
Die Freigabe des Sonnenschutzbausteines wird mit dem Kriterium "bFcdInSun" (Fassade ist im Sonnenbereich) eingeschränkt und anschließend über ein BV-Objekt zur Anzeige im BACnet geführt. Die globalen Daten für die Sonnenschutzfunktion - Datum/Uhrzeit, Positionierintervall, Längen- und Breitengrad der Liegenschaft - stammen aus der lokalen Site-Variablenliste, während Fassadenorientierung, Fassadenneigung, Lamellenbreite und Lamellenabstand als Eingänge aus dem übergeordneten FB_BA_Facade als Parameter stammen. Der ermittelte Jalousiewinkel sowie die Position werden als Analogobjekte im BACnet zur Ansicht gebracht.
![]() | Die Initialisierung des Templates erfolgt innerhalb der Methode FB_Init. |
Blockschaltbild

Syntax
FUNCTION_BLOCK FB_BA_Facade_SunProtection EXTENDS FB_BA_View
VAR_INPUT
bFcdInSun : BOOL;
fFcdOrtn : REAL;
fFcdAngl : REAL;
fLamWdth : REAL;
fLamDstc : REAL;
END_VAR
VAR_OUTPUT
stSunbld : ST_BA_SunBld;
bSunPrtcActv : BOOL;
END_VAR
VAR_INPUT CONSTANT
SunPrtcValOn00deg : FB_BA_AV_Op;
SunPrtcValOn15deg : FB_BA_AV_Op;
SunPrtcValOn30deg : FB_BA_AV_Op;
SunPrtcValOn45deg : FB_BA_AV_Op;
SunPrtcValOn60deg : FB_BA_AV_Op;
SunPrtcValOn75deg : FB_BA_AV_Op;
SunPrtcValOn90deg : FB_BA_AV_Op;
SunPrtcValOff00deg : FB_BA_AV_Op;
SunPrtcValOff15deg : FB_BA_AV_Op;
SunPrtcValOff30deg : FB_BA_AV_Op;
SunPrtcValOff45deg : FB_BA_AV_Op;
SunPrtcValOff60deg : FB_BA_AV_Op;
SunPrtcValOff75deg : FB_BA_AV_Op;
SunPrtcValOff90deg : FB_BA_AV_Op;
SunPrtcValOnCalc : FB_BA_AV_Op;
SunPrtcValOffCalc : FB_BA_AV_Op;
SunPrtcDlyOn : FB_BA_AV_Op;
SunPrtcDlyOff : FB_BA_AV_Op;
SunPrtcState : FB_BA_BV_Op;
SunPrtcPos : FB_BA_AV_Op;
SunPrtcAngl : FB_BA_AV_Op;
SunPrtc : FB_BA_SunPrtc;
END_VAR
VAR
aBrtnsDirection : ARRAY[1..32] OF REAL :=[0.0, 90.0, 180.0, 270.0, 360.0];
aBrtnsAtDirection : ARRAY[1..32] OF REAL;
BrtnsCardinalInterpolation : FB_BA_Chrct32;
SunPrtcValOn : FB_BA_Chrct07;
SunPrtcValOff : FB_BA_Chrct07;
SunPrtcValOnOff : FB_BA_Swi2P;
END_VAR
Eingänge
Name | Typ | Beschreibung |
---|---|---|
bFcdInSun | BOOL | Die Fassade liegt in Bezug auf die aktuelle Sonnenhöhe und Sonnenrichtung im Sonnenbereich. Dieses Kriterium wird im übergeordneten FB_BA_Facade gebildet. |
fFcdOrtn | REAL | Fassadenausrichtung Nordhalbkugel: Nord = 0°, Ost = 90°, Süd = 180°, West = 270°, auf der Südhalbkugel gilt: Süd = 0°, Ost = 90°, Nord = 180°, West = 270°. |
fFcdAngl | REAL | Neigung der Fassade [°]. Nach unten geneigt ist der Winkel kleiner, nach oben größer Null. |
fLamWdth | REAL | Lamellenbreite [mm]. |
fLamDstc | REAL | Lamellenabstand [mm]. |
Ausgänge
Name | Typ | Beschreibung |
---|---|---|
stSunBld | Parkposition-Telegramm. | |
bSunPrtcActv | BOOL | Kontrollausgang "Sonnenschutz aktiv". |
Eingänge CONSTANT
Name | Typ | Beschreibung |
---|---|---|
SunPrtcValOn00deg … SunPrtcValOn90deg | Helligkeitsschwellwerte Sonnenschutz Ein [lx] für Elevationen von 0°, 15°, 30°, 45°, 60°, 75° und 90°. | |
SunPrtcValOff00deg … SunPrtcValOff90deg | Helligkeitsschwellwerte Sonnenschutz Aus [lx] für Elevationen von 0°, 15°, 30°, 45°, 60°, 75° und 90°. | |
SunPrtcValOnCalc | Errechneter Helligkeitsschwellwert Sonnenschutz Ein [lx] für die Anzeige im BACnet. | |
SunPrtcValOffCalc | Errechneter Helligkeitsschwellwert Sonnenschutz Aus [lx] für die Anzeige im BACnet. | |
SunPrtcDlyOn | Verzögerung Sonnenschutz ein [s]. | |
SunPrtcDlyOff | Verzögerung Sonnenschutz aus [s]. | |
SunPrtcState | Anzeigeobjekt Status Sonnenschutz. Dieses Objekt zeigt an, ob die Freigabe des Sonnenschutzes seitens der Fassade gegeben ist. Ob die Jalousien tatsächlich die Sonnenschutzposition einnehmen, hängt auch von Kriterien innerhalb der Raumzonen ab (z.B. Präsenz). | |
SunPrtcPos | Errechnete Sonnenschutzposition [%] für die Anzeige im BACnet. | |
SunPrtcAngl | Errechnete Sonnenschutzwinkel [°] für die Anzeige im BACnet. | |
SunPrtc | Berechnungsbaustein für den Sonnenschutz. |
Variablen
Name | Typ | Beschreibung |
---|---|---|
aBrtnsDirection | ARRAY[1..32] OF REAL | Voreingestelltes Feld von Himmelsrichtungen zur Wichtung der Helligkeit. |
aBrtnsAtDirection | ARRAY[1..32] OF REAL | Eingabefeld für die Helligkeiten bezogen auf die o.a. Himmelsrichtungen. |
BrtnsCardinalInterpolation | Berechnungsbaustein für die Helligkeit. | |
SunPrtcValOn | Berechnungsbaustein für die elevationsabhängige Helligkeitsschwelle Ein. | |
SunPrtcValOff | Berechnungsbaustein für die elevationsabhängige Helligkeitsschwelle Aus. | |
SunPrtcValOnOff | FB_BA_Swi2P | Hysteresebaustein zum Ein-Ausschalten des Sonnenschutzes. |
Voraussetzungen
Entwicklungsumgebung | Erforderliche Function |
---|---|
TwinCAT ab v3.1.4024.56 | TF8040 | TwinCAT Building Automation ab V5.8.0.0 |