FB_BA_BldPosEntry

Dieser Baustein dient zur Eingabe von Stützstellen für den Baustein FB_BA_SunPrtc, sollte dieser im Modus der Höhenpositionierung mit Hilfe einer Tabelle betrieben werden, siehe E_BA_PosMod.

FB_BA_BldPosEntry 1:

Funktionsbeschreibung

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 lrSunElv1 .. lrSunElv4 müssen auch eindeutig sein, es darf beispielsweise nicht gelten:
[ lrSunElv1 = 10 ; rBldPos1 = 50] und gleichzeitig [lrSunElv2 = 10 ; rBldPos2 = 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:

Der Baustein überprüft die eingetragenen Werte auf diese Bedingungen hin und gibt bei Nicht-Erfüllen einen Fehlercode aus. Zusätzlich wird der Ausgang bValid auf FALSE gesetzt.
Des Weiteren sorgt der Baustein selbstständig für ein Ausfüllen der Randbereiche: Intern wird ein weiterer Stützpunkt bei rSunElv = 0 mit rBldPos1und ein weiterer oberhalb von lrSunElv4 bei rSunElv = 90 mit rBldPos4aufgestellt. Damit wird sichergestellt, dass für alle gültigen Eingabewerte 0 ≤rSunElv ≤ 90 ein sinnvoller Zielwert vorhanden ist ohne dass ein Eintrag für rSunElv = 0 und rSunElv = 90 vom Anwender zwingend vergeben werden muss:

FB_BA_BldPosEntry 2:

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.

Ein-/Ausgänge

VAR_INPUT

lrSunElv1 : LREAL;
lrPos1    : LREAL;
lrSunElv2 : LREAL;
lrPos2    : LREAL;
lrSunElv3 : LREAL;
lrPos3    : LREAL;
lrSunElv4 : LREAL;
lrPos4    : LREAL;

lrSunElv1: Sonnenstand des 1. Stützpunktes (0°..90°)

rBldPos1: Jalousieposition (Grad der Schließung) des 1. Stützpunktes (0%..100%)

lrSunElv2: Sonnenstand des 2. Stützpunktes (0°..90°)

rBldPos2: Jalousieposition (Grad der Schließung) des 2. Stützpunktes (0%..100%)

lrSunElv3: Sonnenstand des 3. Stützpunktes (0°..90°)

rBldPos3: Jalousieposition (Grad der Schließung) des 3. Stützpunktes (0%..100%)

lrSunElv4: Sonnenstand des 4. Stützpunktes (0°..90°)

rBldPos4: Jalousieposition (Grad der Schließung) des 4. Stützpunktes (0%..100%)

VAR_OUTPUT

bValid        : BOOL;
uiErrorId     : UDINT;
stBldPosTab   : ST_BA_BldPosTab;

stBldPosTab: Übergabestruktur der Stützstellen, siehe ST_BA_BldPosTab

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

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

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