FB_BA_BldPosEntry

Der Funktionsbaustein FB_BA_BldPosEntry dient zur Eingabe von Stützstellen für den Baustein FB_BA_SunPrtc, falls dieser im Modus der Höhenpositionierung mit Hilfe einer Tabelle betrieben wird (siehe E_BA_PosMod).
Der Baustein FB_BA_SunPrtc bietet neben den Betriebsarten "fixe Jalousiehöhe" und "maximaler Lichteinfall" auch die Möglichkeit, die Jalousiehöhe per Tabelleneinträge in Abhängigkeit von der Sonnenhöhe zu steuern. Durch die Eingabe mehrerer Stützpunkte wird linear interpoliert die betreffende Jalousiehöhe zum entsprechenden Sonnenstand errechnet. Da falsch eingetragene Werte jedoch zu Fehlfunktionen beim FB_BA_SunPrtc führen können ist diesem der Baustein FB_BA_BldPosEntry voranzustellen. Es lassen sich vier Stützpunkte an diesem Baustein parametrieren, wobei ein fehlender Eintrag als Nulleintrag gewertet wird.
Der Baustein sortiert die eingegebenen Werte nicht selbstständig, sondern achtet darauf, dass die eingetragenen Sonnenstände der jeweiligen Stützstellen in aufsteigender Reihenfolge eingegeben wurden. Unbeabsichtigt fehlerhafte Einträge fallen dadurch schneller auf.
Die gewählten Werte für fSunElv1 ... fSunElv4 müssen auch eindeutig sein, es darf beispielsweise nicht gelten:
[ fSunElv1 = 10 ; fPos1 = 50] und gleichzeitig [fSunElv2 = 10 ; fPos2 = 30 ].
Das würde bedeuten, dass für ein und denselben Wert zwei verschiedene Zielwerte bestünden, was keinen eindeutigen funktionalen Zusammenhang bilden lässt.
Darüber hinaus müssen die Einträge für Sonnenstand und Jalousiehöhe im gültigen Bereich liegen.
Das bedeutet mathematisch, dass folgende Bedingungen erfüllt sein müssen:
- fSunElv1 < fSunElv2 < fSunElv3 < fSunElv4 - (Werte aufsteigend und ungleich)
- 0 ≤ fSunElv ≤ 90 ([°] - Gültigkeitsbereich Quellwerte)
- 0 ≤ fPos ≤ 100 (in Prozent - Gültigkeitsbereich Zielwerte)
Der Baustein überprüft die eingetragenen Werte auf diese Bedingungen hin und gibt bei Nichterfüllen eine Fehlermeldung aus. Zusätzlich wird der Kontrollwert bVld von ST_BA_BldPosTab auf FALSE gesetzt.
Des Weiteren sorgt der Baustein selbstständig für ein Ausfüllen der Randbereiche: Intern wird ein weiterer Stützpunkt bei fSunElv = 0 mit fPos1 und ein weiterer oberhalb von fSunElv4 bei fSunElv = 90 mit fPos4 aufgestellt. Damit wird sichergestellt, dass für alle gültigen Eingabewerte 0 ≤fSunElv ≤ 90 ein sinnvoller Zielwert vorhanden ist, ohne dass ein Eintrag für fSunElv = 0 und fSunElv = 90 vom Anwender zwingend vergeben werden muss:

Die tatsächliche Anzahl an Stützstellen, welche an den Baustein FB_BA_SunPrtc übergeben wird, erhöht sich damit auf 6, siehe ST_BA_BldPosTab.
Die Interpolation der Werte erfolgt im Blendschutz-Baustein.
Eingänge
VAR_INPUT
fSunElv1 : REAL;
fPos1 : REAL;
fSunElv2 : REAL;
fPos2 : REAL;
fSunElv3 : REAL;
fPos3 : REAL;
fSunElv4 : REAL;
fPos4 : REAL;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
fSunElv1 | REAL | Sonnenstand des 1. Stützpunktes [°] (0…90). |
fPos1 | REAL | Jalousieposition (Grad der Schließung) des 1. Stützpunktes [%] (0…100). |
fSunElv2 | REAL | Sonnenstand des 2. Stützpunktes [°] (0…90). |
fPos2 | REAL | Jalousieposition (Grad der Schließung) des 2. Stützpunktes [%] (0…100). |
fSunElv3 | REAL | Sonnenstand des 3. Stützpunktes [°] (0…90). |
fPos3 | REAL | Jalousieposition (Grad der Schließung) des 3. Stützpunktes [%] (0…100). |
fSunElv4 | REAL | Sonnenstand des 4. Stützpunktes [°] (0…90). |
fPos4 | REAL | Jalousieposition (Grad der Schließung) des 4. Stützpunktes [%] (0…100). |
Ausgänge
VAR_OUTPUT
stBldPosTab : ST_BA_BldPosTab;
bErr : BOOL;
sErrDescr : T_MAXSTRING;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
stBldPosTab | Übergabestruktur der Stützstellen | |
bErr | BOOL | Bei fehlerhafter Abarbeitung, bzw. bei Warnzuständen wird dieser Ausgang auf TRUE gesetzt. |
sErrDescr | Enthält die Fehlerbeschreibung |
Fehlerbeschreibung |
---|
01: Fehler: Die x-Werte (Elevationswerte) in der Tabelle sind entweder nicht in aufsteigender Reihenfolge oder doppelt vorhanden. |
02: Fehler: Ein eingetragener Elevationswert ist außerhalb des gültigen Bereiches von 0°…90°. |
03: Fehler: Ein eingetragener Positionswert ist außerhalb des gültigen Bereiches von 0%…100%. |
Voraussetzungen
Entwicklungsumgebung | Erforderliche SPS-Bibliothek |
---|---|
TwinCAT ab v3.1.4024.22 | Tc3_BA2 ab v5.2.5.0 |