FB_BA_SunPrtc

Der Funktionsbaustein FB_BA_SunPrtc dient zur Blendschutz Steuerung mit Hilfe einer Lamellen-Jalousie.
Der Blendschutz wird durch die Variation des Lamellenwinkels und durch die Position der Jalousiehöhe realisiert.
Der Lamellenwinkel wird in Abhängigkeit des Sonnenstandes so eingestellt, dass direkte Blendung unterbunden, aber trotzdem ein maximaler Einfall natürlichen Lichts möglich ist.
Für das Variieren der Jalousiehöhe stehen drei verschieden Betriebsarten zur Verfügung.
- Die Jalousie fährt bei aktiven Sonnenschutz in eine fest vorgegebene Höhe. Der Wert für die Höhe wird mit der Variablen fFixPos vorgegeben.
- Die Position der Jalousie wird in Abhängigkeit des Sonnenstandes variiert. Die Position wird in der Tabelle (ST_BA_BldPosTab) vorgegeben. Siehe auch Beschreibung des FB_BA_BldPosEntry.
- Die Höhe der Jalousie wird anhand der Fenstergeometrie so berechnet, dass die Sonnenstrahlen bis zu einer vorgegebenen Tiefe in den Raum einfallen. Die Einfalltiefe der Sonnenstrahlen wird mit der Variablen fMaxLgtIndc definiert.
Damit das Neupositionieren des Lamellenwinkels nicht zu häufig erfolgt, kann mittels der Variablen nPosIntval [Min] ein Zeitintervall bestimmt werden, innerhalb dessen keine Anpassung des Lamellenwinkels erfolgt. Um trotzdem eine Blendwirkung auszuschließen, wird der Winkel immer weiter geändert, dass er bis zum Ablauf des Zeitintervalls ausreicht.
Für die Positionierung der Jalousie und der Einstellung des Lamellenwinkels müssen die folgenden Bedingungen erfüllt sein.
- 1. Der Eingang bEn muss TRUE sein.
- 2. Die Sonne muss aufgegangen sein. (Elevation > 0)
- 3. Der Baustein ist richtig parametriert (bErr = False)
Eingänge
VAR_INPUT
bEn : BOOL;
tUTC : TIMESTRUCT;
nPosIntval : UDINT;
fDegLngd : REAL;
fDegLatd : REAL;
fFcdOrtn : REAL;
fFcdAngl : REAL;
fLamWdth : REAL;
fLamDstc : REAL;
fFixPos : REAL;
fMaxLgtIndc : REAL;
fWdwHght : REAL;
fDstcWdwFlr : REAL;
stBldPosTab : ST_BA_BldPosTab;
ePosMod : E_BA_PosMod := E_BA_PosMod.eFix;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
bEn | BOOL | Wenn dieser Eingang auf FALSE gesetzt wird, ist die Positionierung nicht aktiv, d.h. in der Positionier-Struktur stSunBld vom Typ ST_BA_SunBld wird das aktiv-Bit (bActv) zurückgesetzt und der Baustein selbst verharrt in einem Stillstands-Modus. Ist der Baustein hingegen aktiviert, so ist das aktiv-Bit auf TRUE und der Baustein gibt in der Positionierstruktur zu den entsprechenden Zeiten seine Stellwerte durch (fPos, fAngl). |
stUTC | TIMESTRUCT | Eingabe der aktuellen Uhrzeit als koordinierte Weltzeit (UTC, Coordinates Universal Time - im älteren Sprachgebrauch auch GMT, Greenwich-Mean-Time) (siehe TIMESTRUCT). Mit Hilfe des Bausteines FB_BA_GetTime kann diese Zeit aus einem Zielsystem gelesen werden. |
![]() | Ein Zeitrücksprung von mehr als 300 s führt, wenn die Jalousie nach den o.a. Kriterien in der Sonne steht und der Blendschutz aktiv ist, zu einer sofortigen Neupositionierung. Diese Funktionalität ist eingefügt worden, um einen nachvollziehbaren Programmablauf zu gewährleisten. |
Name | Typ | Beschreibung |
---|---|---|
nPosIntval | UDINT | Positionierintervall in Minuten - Zeitspanne zwischen zwei Ausgaben von Jalousiestellungen. Gültiger Bereich: 1 min...720 min. |
fDegLngd | REAL | Geographische Länge (Längengrad) [°]. Gültiger Bereich: - 180°...180°. |
fDegLatd | REAL | Geographische Breite (Breitengrad) [°]. Gültiger Bereich: - 90°...90°. |
fFcdOrtn | REAL | Fassadenausrichtung [°]. |
Dabei gilt auf der Nordhalbkugel für die Fassadenausrichtung (Blick aus dem Fenster):
Blickrichtung | Fassadenausrichtung |
---|---|
Nord | β=0° |
Ost | β=90° |
Süd | β=180° |
West | β=270° |
Für die Südhalbkugel gilt hingegen:
Blickrichtung | Fassadenausrichtung |
---|---|
Süd | β=0° |
Ost | β=90° |
Nord | β=180° |
West | β=270° |
Name | Typ | Beschreibung |
---|---|---|
fFcdAngl | REAL | Fassadenneigung [°] (siehe Fassadenneigung). |
fLamWdth | REAL | Breite der Lamellen in mm (siehe Skizze). |
fLamDstc | REAL | Lamellenabstand in mm (siehe Skizze). |
fFixPos | REAL | Fixe (konstante) Jalousiehöhe [0…100 %]. Gültig, wenn ePosMod = ePosModFix (siehe E_BA_PosMod). |
fMaxLgtIndc | REAL | Maximal gewünschter Lichteinfall in mm gemessen ab Außenseite der Wand (siehe Höhenverstellung). Mit Hilfe der Parameter fWdwHght und fDstcWdwFlr wird in Abhängigkeit des Sonnenstandes errechnet, wie hoch die Jalousie stehen muss, damit der Lichteinfall den Wert fMaxLgtIndc nicht überschreitet. Gültig, wenn ePosMod = ePosModeMaxIncidence (siehe E_BA_PosMod). |
fWdwHght | REAL | Fensterhöhe in mm zur Errechnung der Jalousiehöhe, wenn der Modus "Maximal gewünschter Lichteinfall" gewählt ist. |
fDstcWdwFlr | REAL | Abstand Boden - Fenstersims in mm zur Errechnung des der Jalousiehöhe, wenn der Modus "Maximal gewünschter Lichteinfall" gewählt ist. |
stBldPosTab | Tabelle von 6 Stützpunkten, davon 4 parametrierbar, aus denen dann durch lineare Interpolation eine Jalousieposition in Abhängigkeit des Sonnenstandes gegeben wird. Gültig, wenn ePosMod = ePosModFix (siehe E_BA_PosMod). Weitere Beschreibung siehe FB_BA_BldPosEntry. | |
ePosMod | E_BA_PosMod | Auswahl des Positioniermodus |
Eingänge CONSTANT PERSISTENT
VAR_INPUT CONSTANT PERSISTENT
ePrio : E_BA_SunBldPrio := E_BA_SunBldPrio.eSunProtection;
fAnglLmtUp : REAL;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
ePrio | Priorität des aktiven Telegramms. | |
fAnglLmtUp | REAL | Lamellen müssen nicht über 0° geöffnet werden. |
Ausgänge
VAR_OUTPUT
stSunBld : ST_BA_SunBld;
bActv : BOOL;
bErr : BOOL;
sErrorDescr : T_MAXSTRING;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
stSunBld | Ausgabetelegramm für die Position und den Winkel der Lamelle. | |
bActv | BOOL | Entspricht dem booleschen Wert bActv im Jalousie-Telegramm ST_BA_SunBld und dient zur reinen Anzeige, ob der Baustein ein aktives Telegramm sendet. |
bErr | BOOL | Bei fehlerhafter Abarbeitung, bzw. bei Warnzuständen wird dieser Ausgang auf TRUE gesetzt. |
sErrDescr | Enthält die Fehlerbeschreibung |
Fehlerbeschreibung |
---|
01: Fehler: Die Dauer des Positionierintervalls ist kleiner oder gleich Null oder überschreitet 720 min. |
02: Fehler: Der eingetragene Längengrad ist nicht im gültigen Bereich von -180°…180°. |
03: Fehler: Der eingetragene Breitengrad ist nicht im gültigen Bereich von -90°…90°. |
04: Fehler: Der eingetragene Wert für die Fassadenneigung fFcdAngl ist außerhalb des gültigen Bereiches von -90°…90°. |
05: Fehler: Der Wert für den Lamellenabstand (fLamDstc) ist größer oder gleich dem Wert für die Lamellenbreite (fLamWdth). Dies stellt keine "gültige" Jalousie dar, da die Lamellen nicht vollständig schließen könnten. Mathematisch gesehen würde dieses zu Fehlern führen. |
06: Fehler: Der eingetragene Wert für die Lamellenbreite fLamWdth ist gleich Null. |
07: Fehler: Der eingetragene Wert für den Lamellenabstand fLamDstc ist gleich Null. |
08: Fehler: Der eingetragene Wert für die fixe Jalousiehöhe (fFixPos) ist größer als 100 oder kleiner als 0. Gleichzeitig ist Positionierung "fixe Jalousiehöhe" angewählt – ePosMod = ePosModFix. |
09: Fehler: Das Bit "Werte gültig" (bVld) in der Positioniertabelle stBldPosTab ist nicht gesetzt - ungültige Werte: siehe FB_BA_BldPosEntry. Gleichzeitig ist Positionierung "Tabelle" angewählt – ePosMod = ePosModTab. |
10: Fehler: Der eingetragene Wert für den maximal gewünschten Lichteinfall fMaxLgtIndc ist kleiner oder gleich Null. Gleichzeitig ist Positionierung "maximaler Lichteinfall" angewählt – ePosMod = ePosModMaxIndc. |
11: Fehler: Der eingetragene Wert für die Fensterhöhe fWdwHght ist kleiner oder gleich Null. Gleichzeitig ist Positionierung "maximaler Lichteinfall" angewählt – ePosMod = ePosModMaxIndc. |
12: Fehler: Der eingetragene Abstand Fensterunterkante zu Boden fDstcWdwFlr ist kleiner Null. Gleichzeitig ist Positionierung "maximaler Lichteinfall" angewählt – ePosMod = ePosModMaxIndc. |
13: Fehler: nicht gültiger Positioniermodus am Eingang ePosMod eingetragen. |
![]() | Wenn ein Fehler ansteht, wird diese Automatik deaktiviert und Position und Winkel auf 0 gesetzt. Das bedeutet, dass bei Verwendung einer Prioritätssteuerung automatisch eine andere Funktion niedrigerer Priorität (siehe Übersicht) die Steuerung der Jalousie übernimmt. Bei direkter Beschaltung hingegen wird die Jalousie auf Position/Winkel 0 fahren. |
Voraussetzungen
Entwicklungsumgebung | Erforderliche SPS-Bibliothek |
---|---|
TwinCAT ab v3.1.4024.22 | Tc3_BA2 ab v5.2.5.0 |