FB_BA_SunPrtc

FB_BA_SunPrtc 1:

Der Funktionsbaustein 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.

  1. Die Jalousie fährt bei aktiven Sonnenschutz in eine fest vorgegebene Höhe. Der Wert für die Höhe wird mit der Variablen rFixPos vorgegeben.
  2. 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.
  3. 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 rMaxLgtIndc definiert.

Damit das Neupositionieren des Lamellenwinkels nicht zu häufig erfolgt, kann mittels der Variablen udiPosIntval_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.

VAR_INPUT

bEn               : BOOL;
stUTC             : TIMESTRUCT;
udiPosIntval_min  : UDINT;
rDegLngd          : REAL;
rDegLatd          : REAL;
rFcdOrtn          : REAL;
rFcdAngl          : REAL;
rLamWdth          : REAL;
rLamDstc          : REAL;
rFixPos           : REAL;
rMaxLgtIndc       : REAL;
rWdwHght          : REAL;
rDstcWdwFr        : REAL;
stBldPosTab       : ST_BA_BldPosTab;
ePosMod           : E_BA_PosMod;

bEn: 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 (rPos, rAngl).

stUTC: Eingabe der aktuellen Uhrzeit als koordinierte Weltzeit (UTC, Universal Time Coordinated - im älteren Sprachgebrauch auch GMT, Greenwich-Mean-Time) (siehe TIMESTRUCTTIMESTRUCT). Mit Hilfe des Bausteines FB_BA_GetTime kann diese Zeit aus einem Zielsystem gelesen werden.

FB_BA_SunPrtc 2:

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.

udiPosIntval_min: Positionierintervall in Minuten - Zeitspanne zwischen zwei Ausgaben von Jalousiestellungen. Gültiger Bereich: 1 min...720 min.

rDegLngd: Geographische Länge (Längengrad) [°]. Gültiger Bereich: - 180°...180°.

rDegLatd: Geographische Breite (Breitengrad) [°]. Gültiger Bereich: - 90°...90°.

rFcdOrtn: 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°

rFcdAngl: Fassadenneigung [°]. Siehe Fassadenneigung.

rLamWdth: Breite der Lamellen in mm, siehe Skizze.

rLamDstc: Lamellenabstand in mm, siehe Skizze.

rFixPos: Fixe (konstante) Jalousiehöhe [0..100%]. Gültig, wenn ePosMod = ePosModFix (siehe Enumerator E_BA_PosMod).

rMaxLgtIndc: Maximal gewünschter Lichteinfall in mm gemessen ab Außenseite der Wand (siehe Höhenverstellung). Mit Hilfe der Parameter rWdwHght und rDstcWdwFlr wird in Abhängigkeit des Sonnenstandes errechnet, wie hoch die Jalousie stehen muss, damit der Lichteinfall den Wert rMaxLgtIndc nicht überschreitet. Gültig, wenn ePosMod = ePosModeMaxIncidence (siehe Enumerator E_BA_PosMod).

rWdwHght: Fensterhöhe in mm zur Errechnung des der Jalousiehöhe wenn der Modus des "Maximal gewünschter Lichteinfalls" gewählt ist.

rDstcWdwFlr: Abstand Boden - Fenstersims in mm zur Errechnung des der Jalousiehöhe wenn der Modus des "Maximal gewünschter Lichteinfalls" 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 Enumerator E_BA_PosMod). Weitere Beschreibung siehe FB_BA_BldPosEntry.

ePosMod: Auswahl des Positioniermodus, siehe Enumerator E_BA_PosMod.

VAR_OUTPUT

stSunBld     : ST_BA_SunBld;
bActv        : BOOL;
bErr         : BOOL;
sErrorDescr  : T_MAXSTRING;

stSunBld: Ausgabestruktur der Jalousiestellungen, siehe ST_BA_SunBld

bActv: Der Baustein ist im aktiv-Zustand, das heißt, es liegt kein Fehler an, der Baustein ist freigegeben und der Sonnenstand befindet sich im eingetragenen Fassadenbereich (die Fassade wird beschienen).

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn die eingetragenen Parameter fehlerhaft sind.

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 rFcdAngl ist außerhalb des gültigen Bereiches von -90°..90°.

05: Fehler: Der Wert für den Lamellenabstand (rLamDstc) ist größer oder gleich dem Wert für die Lamellenbreite (rLamWdth). 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 rLamWdth ist gleich Null.

07: Fehler: Der eingetragene Wert für den Lamellenabstand rLamDstc ist gleich Null.

08: Fehler: Der eingetragene Wert für die fixe Jalousiehöhe (rFixPos) 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 rMaxLgtIndc ist kleiner oder gleich Null. Gleichzeitig ist Positionierung "maximaler Lichteinfall" angewählt - ePosMod=ePosModMaxIndc.

11: Fehler: Der eingetragene Wert für die Fensterhöhe rWdwHght ist kleiner oder gleich Null. Gleichzeitig ist Positionierung "maximaler Lichteinfall" angewählt - ePosMod=ePosModMaxIndc.

12: Fehler: Der eingetragene Abstand Fensterunterkante zu Boden rDstcWdwFlr ist kleiner Null. Gleichzeitig ist Positionierung "maximaler Lichteinfall" angewählt - ePosMod=ePosModMaxIndc.

13: Fehler: nicht gültiger Positioniermodus am Eingang ePosMod eingetragen.

FB_BA_SunPrtc 3:

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.7

Tc3_BA ab v1.1.6.0