FB_BA_ShdCorr

Der Funktionsbaustein FB_BA_ShdCorr dient zur Verschattungsbeurteilung einer Fenstergruppe auf einer Fassade.
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 aShdObj 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 aFcdElem 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 (fFcdOrtn), der Sonnenrichtung (fAzm) und der Sonnenhöhe (fElv) 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. Wird die in der Einleitung vorgestellte Zeichnung betrachtet, 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)
Eingänge
VAR_INPUT
tTiActl : TIMESTRUCT;
fFcdOrtn : REAL;
fAzm : REAL;
fElv : REAL;
nGrpID : DINT;
bSouth : BOOL;
aShdObj : ARRAY[1..BA_Param.nSunPrt_MaxShdObj] OF ST_BA_ShdObj;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
tTiActl | 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". | |
fFcdOrtn | REAL | Fassadenausrichtung, siehe Abbildung oben. |
fAzm | REAL | Sonnenrichtung zum Betrachtungszeitpunkt [°] |
fElv | REAL | Sonnenhöhe zum Betrachtungszeitpunkt [°] |
nGrpID | UDINT | 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. |
bSouth | BOOL | FALSE: Berechnungen beziehen sich auf Verhältnisse der Nordhalbkugel - |
aShdObj | ARRAY OF ST_BA_ShdObj |
/
Ein-/Ausgänge
VAR_IN_OUT
aFcdElem : ARRAY[1..BA_Param.nSunPrt_MaxColumnFcd, 1..BA_Param.nSunPrt_MaxRowFcd] OF ST_BA_FcdElem;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
aFcdElem | ARRAY OF ST_BA_FcdElem |
Ausgänge
VAR_OUTPUT
bGrpNotShdd : BOOL;
bFcdSunlit : BOOL;
bErr : BOOL;
sErrDescr : T_MAXSTRING;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
bGrpNotShdd | BOOL | Steht auf TRUE, solange die Fenstergruppe als nicht verschattet errechnet wird. |
bFcdSunlit | BOOL | Dieser Ausgang ist dann auf TRUE gesetzt, wenn die Sonne auf die Fassade scheint. Siehe Beschreibung oben. |
bErr | BOOL | Bei fehlerhafter Abarbeitung, bzw. bei Warnzuständen wird dieser Ausgang auf TRUE gesetzt. |
sErrDescr | Enthält die Fehlerbeschreibung |
Fehlerbeschreibung |
---|
01: Fehler: Indexfehler Fenstergruppe (Gruppe von Fassadenelementen): Index ist kleiner oder gleich 0. |
02: Fehler: Ein Fassadenelement ist ungültig. |
Voraussetzungen
Entwicklungsumgebung | Erforderliche SPS-Bibliothek |
---|---|
TwinCAT ab v3.1.4024.22 | Tc3_BA2 ab v5.2.5.0 |