FB_BA_ShdCorr
Funktionsbaustein zur Verschattungsbeurteilung einer Fenstergruppe auf einer Fassade
Funktionsbeschreibung
Der Baustein FB_BA_ShdCorr berechnet für eine Gruppe von Fenstern, ob sich diese im Schatten von umliegenden Objekten befindet. Mit dem Ergebnis, welches am Ausgang bGrpNotShdd ausgegeben wird, kann beurteilt werden, ob ein Sonnenschutz für diese Fenstergruppe sinnvoll ist.
Dabei greift der Baustein auf zwei zu definierende Listen zu:
- Die Parameter, welche die Verschattungselemente beschreiben, die für die Fassade maßgeblich sind, auf der sich die Fenstergruppe befindet.. Diese Liste der Verschattungsobjekte wird als Eingangsvariable arrShdObj an den Baustein angelegt, da die Informationen lediglich gelesen werden.
- Die Daten der Elemente (Fenster) der Fassade, in der sich die zu betrachtende Gruppe befindet. Auf diese Liste der Fassadenelemente wird über die IN-OUT-Variable arrFcdElem zugegriffen, da nicht nur die Koordinaten der Fenster gelesen werden, sondern von dem Baustein FB_BA_ShdCorr in diese Liste auch jeweils die Verschattungsinformation für jede Fensterecke hinterlegt wird. Diese Information kann so in weiteren Teilen des Applikationsprogrammes genutzt werden.
Anhand der Fassadenausrichtung (lrFcdOrtn), der Sonnenrichtung (lrAzm) und der Sonnenhöhe (lrElv) kann dann für jeden Eckpunkt eines Fensters errechnet werden, ob sich dieser im Bereich eines Schattens befindet. Eine Gruppe von Fenstern gilt dann als komplett verschattet, wenn alle Eckpunkte verschattet sind.
Dabei gilt auf der Nordhalbkugel für die Fassadenausrichtung (Blick aus dem Fenster):
Blickrichtung | Fassadenausrichtung |
---|---|
Nord | β=0° |
Ost | β=90° |
Süd | β=180° |
West | β=270° |
Der Baustein führt seine Berechnungen nur dann durch, wenn die Sonne tatsächlich auf die Fassade scheint. Betrachtet man die in der Einleitung vorgestellte Zeichnung, so ist dies gegeben wenn gilt:
Fassadenausrichtung < Azimutwinkel < Fassadenausrichtung + 180°
Darüber hinaus ist eine Berechnung auch dann nicht nötig, wenn die Sonne noch nicht aufgegangen ist, die Sonnenhöhe (Elevation) also unter 0° liegt. In beiden Fällen wird der Ausgang bFcdSunlit auf FALSE gesetzt.
Für die Südhalbkugel ändern sich die Verhältnisse. Es gilt für die Fassadenausrichtung (Blick aus dem Fenster):
Blickrichtung | Fassadenausrichtung |
---|---|
Süd | β=0° |
Ost | β=90° |
Nord | β=180° |
West | β=270° |
Auch ändert sich die interne Berechnung Fassade zu Sonnenstrahl:
Zur Unterscheidung der Verhältnisse - Nord- oder Südhalbkugel - ist der Eingangsparameter bSouth auf FALSE zu setzen (Nordhalbkugel) oder auf TRUE (Südhalbkugel)
Ein-/Ausgänge
VAR_INPUT
stTiActl : TIMESTRUCT;
lrFcdOrtn : LREAL;
lrAzm : LREAL;
lrElv : LREAL;
bSouth : BOOL;
usiGrpID : USINT;
arrShdObj : ARRAY[1..gBA_cMaxShdObj] OF ST_BA_ShdObj;
stTiActl: Eingabe der aktuellen Uhrzeit - hier die Ortszeit, da mithilfe dieser Zeit die verschattenden Monate berücksichtigt werden. Bei Verwendung der UTC-Zeit (bzw. GMT) kann, je nach Lage auf der Erde, der Monat mitten am Tag "umspringen".
lrFcdOrtn: Fassadenausrichtung, siehe Abbildung oben
lrAzm: Sonnenrichtung zum Betrachtungszeitpunkt [°]
lrElv: Sonnenhöhe zum Betrachtungszeitpunkt [°]
bSouth: FALSE: Berechnungen beziehen sich auf Verhältnisse der Nordhalbkugel - TRUE: auf Südhalbkugel
usiGrpId: Betrachtete Fenstergruppe. Die Gruppe 0 ist hierbei für nicht verwendete Fensterelemente reserviert, siehe FB_BA_FcdElemEntry. Ein 0-Eintrag würde zu einer Fehlerausgabe führen (bErr=TRUE). Der Baustein wird dann nicht weiter abgearbeitet und bGrpNotShdd auf FALSE gesetzt.
arrShdObj: Liste der Verschattungsobjekte.
VAR_OUTPUT
bGrpNotShdd : BOOL;
bFcdSunlit : BOOL;
bErr : BOOL;
udiErrId : UDINT;
udiErrArg : UDINT;
bGrpNotShdd : Steht auf TRUE, solange die Fenstergruppe als nicht verschattet errechnet wird.
bFcdSunlit: Dieser Ausgang ist dann auf TRUE gesetzt, wenn die Sonne auf die Fassade scheint. Siehe Beschreibung oben.
bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn die eingetragenen Parameter fehlerhaft sind.
udiErrId / udiErrArg: Enthält die Fehlernummer und das Fehlerargument. Siehe Fehlercodes.
VAR_IN_OUT
arrFcdElem : ARRAY[1..gBA_cMaxColumnFcd, 1..gBA_cMaxRowFcd] OF ST_BA_FcdElem;
arrFcdElem: Liste der Fassadenelemente.
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 |