FB_BA_BldPosEntry

FB_BA_BldPosEntry 1:

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:

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:

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.

FB_BA_BldPosEntry 3: 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).

FB_BA_BldPosEntry 4: Ausgänge

VAR_OUTPUT
  stBldPosTab  : ST_BA_BldPosTab;
  bErr         : BOOL;
  sErrDescr    : T_MAXSTRING;
END_VAR

Name

Typ

Beschreibung

stBldPosTab

ST_BA_BldPosTab

Übergabestruktur der Stützstellen

bErr

BOOL

Bei fehlerhafter Abarbeitung, bzw. bei Warnzuständen wird dieser Ausgang auf TRUE gesetzt.

sErrDescr

T_MAXSTRING

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