FB_BA_SunPrtc

Baustein zur Blendschutzsteuerung mit Hilfe einer Lamellen-Jalousie

FB_BA_SunPrtc 1:

Funktionsbeschreibung

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 lrFixPos vorgegeben.
  2. Die Position der Jalousie wird in Abhängigkeit des Sonnenstandes variiert. Die Position wird in der Tabelle (stBldPosTab) vorgegeben. Siehe auch Beschreibung des FB_BA_BldPosEntry.
  3. Die höher 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 lrMaxLgtIndc definiert.

Damit das Neupositionieren des Lamellenwinkels nicht zu häufig erfolgt, kann mittels der Variablen udiPosIntval eine Zeitintervall bestimmt werden, innerhalb dessen keine Anpassung des Lamellenwinkels erfolgt. Um trotzdem eine Blendwirkung auszuschließen, wird der Winkel immer so 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 parametriet (bErr=False)

Der Baustein FB_BA_SunPrtc ermöglicht einen Blendschutz auf 2 verschiede parallel arbeitende Weisen:

Anhand der eingetragenen Parameter, welche weiter unten beschrieben werden, errechnet der Baustein die notwendige Lamellenstellung und Jalousie-Position und übergibt sie in die Ausgabestruktur stSunBld. Die Ausgabe erfolgt freilich nicht kontinuierlich, da eine ständige Jalousiebewegung als störend empfunden werden würde. Am Eingang udiPosIntval lässt sich in Minuten einstellen, in welchem Abstand neue Positionswerte ausgegeben werden sollen.
Jedoch muss zwischen zwei Positionierzeitpunkten die Verschattungskriterien immer erfüllt sein: kein direktes Licht darf durch die Lamellen treten und der erwünschte Lichteinfall durch die Jalousiehöhe muss begrenzt bleiben, geht man zunächst davon aus, dass die Jalousienhöhe über den Modus "maximal erwünschter Lichteinfall" gesteuert wird. Daher werden intern zwei Jalousie- und Lamellenstellungen errechnet: die für den jetzigen und die für den nächsten Schaltpunkt. Diejenige Stellung, bei der die Jalousie mehr geschlossen ist, ist dann die gültige.

Die Positionierung in Intervallen beginnt genau dann, wenn folgende 3 Bedingungen erfüllt sind:

Sind diese 3 Bedingungen nicht erfüllt, so wird in der Positionierstruktur das Aktiv-Bit (bActv) auf FALSE, die Jalousiehöhe auf 0% und der Lamellenwinkel auf 0% gestellt.

Fehlerbehandlung

Folgende Fehleingaben werden erkannt:

Immer:

Nur wenn Positionierung "fixe Jalousiehöhe" angewählt - ePosMod=ePosModFix:

Nur wenn Positionierung "maximaler Lichteinfall" angewählt - ePosMod=ePosModMaxIndc:

Nur wenn Positionierung "maximaler Lichteinfall" angewählt - ePosMod=ePosModMaxIndc.

Ein-/Ausgänge

VAR_INPUT

bEn           : BOOL;
stUTC         : TIMESTRUCT;
udiPosIntval  : UDINT;
lrDegLngd     : LREAL;
lrDegLatd     : LREAL;
lrFcdOrtn     : LREAL;
lrFcdAngl     : LREAL;
lrLamWdth     : LREAL;
lrLamDstc     : LREAL;
lrFixPos      : LREAL;
lrMaxLgtIndc  : LREAL;
lrWdwHght     : LREAL;
lrDstcWdwFlr  : LREAL;
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). Mit Hilfe des Bausteins FB_BA_GetTime kann diese Zeit aus einem Zielsystem gelesen werden.

FB_BA_SunPrtc 2:

Ein Zeitrücksprung von mehr als 300s 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: Positionierintervall in Minuten - Zeitspanne zwischen zwei Ausgaben von Jalousiestellungen. Gültiger Bereich: 1min..720min.

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

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

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

lrFcdAngl: Fassadenneigung [°]. Siehe Fassadenneigung

lrLamWdth: Breite der Lamellen in mm, siehe Skizze

lrLamDstc: Lamellenabstand in mm, siehe Skizze

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

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

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

lrDstcWdwFlr: 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;
udiErrorId  : UDINT;
udiErrArg   : UDINT;

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.

udiErrId / udiErrArg: Enthält die Fehlernummer und das Fehlerargument. Siehe Fehlercodes.

FB_BA_SunPrtc 3:

Sollte ein Fehler anstehen, so 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

Zielsystem

erforderliche Bibliothek

erforderliches Supplement

TwinCAT 2.11 R3/x64

PC/CX

TcBA-Bibliothek ab V1.0.0

TS8040 | TwinCAT Building Automation ab V1.0.0