FB_BA_LightCtrlValue

FB_BA_LightCtrlValue 1:

Dieser Baustein dient dazu, einen Einschaltwert (0..100%) für eine Konstantlichtregelung zu bestimmen, so dass diese mit einer Helligkeit nahe des Sollwertes aufstartet und das Licht nicht lange nachsteuern muss.

Funktion

Die Funktionen dieses Bausteines sind nur verfügbar, wenn er mit einem TRUE-Signal an bEn freigegeben ist. Anderenfalls nimmt der Ausgang fOnValue den Standardwert am Eingang fOnValDefault an. Ist fOnValDefault nicht beschaltet, so wird er per Initialisierung auf 50 gesetzt.

Einlernen

Im freigegebenen Zustand (bEn = TRUE) lässt sich der Baustein einlernen. Mit einer steigenden Flanke an bTeach wird eine Schrittkette gestartet.

Das Licht wird über das Lichtsteuertelegramm stTeachLighting zunächst ausgeschaltet. Danach wird für die Zeit nBrtnsAdjTi in Sekunden gewartet, so dass der Helligkeitssensor die Lichtverhältnisse richtig erfassen kann. Der Helligkeitswert, der über den Eingang fBrtns eingelesen wird, wird gespeichert. Das Licht wird nun auf 100% gestellt und es wird wieder nBrtnsAdjTi in Sekunden gewartet. Die Differenz des nun erfassten Helligkeitswertes zum gespeicherten Wert ist der mögliche Zuwachs durch das Kunstlicht und wird als persistente Ausgangsvariable fBrtnsGain gespeichert angezeigt. Der Lichtwert wird zum Abschluss der Routine noch einmal auf 0 gesetzt.

Das Lichtsteuertelegramm stTeachLighting ist nur während dieser Einlernphase aktiv und hat mit ePrio := E_BA_LightingPrio.eMaintenance eine hohe Priorität über den Hand oder Automatikbefehlen, die keinen Alarm darstellen. Damit erfüllt dieser Baustein die Bedingung, parallel zur Konstantlichtregelung zu stehen - die jeweiligen Telegramme können schlussendlich über einen Prioritätenschalter geführt werden.

Darüber hinaus ist während der Einlernphase der Ausgang bTeaching gesetzt. Dieser kann dazu genutzt werden, Helligkeitssensoren, die kein kontinuierliches Signal ausgeben, schneller abzufragen und damit den Einlernvorgang zu verkürzen.

Arbeitsweise

Ist der Baustein freigegeben (bEn = TRUE) und mindestens einmal eingelernt, so dass der Ausgangswert fBrtnsGain einen Wert größer Null angenommen hat, so wird kontinuierlich ein Eingangswert fOnValue errechnet:

Die Differenz von Soll- und Istwert, fSP zu fBrtns, wird per Dreisatz dem Zuwachs durch das Kunstlicht fBrtnsGain gegenübergestellt. Damit ergibt sich der notwendige prozentuale Helligkeitsaufschlag. Dieser wird dem aktuellen Lichtwert, der am Eingang fRefLgtVal anliegt, aufaddiert.

Ein nicht eingelernter Baustein wird dadurch erkannt, dass der Ausgang fBrtnsGain noch auf 0 steht. In diesem Fall wird auch bei gegebener Bausteinfreigabe (bEn = TRUE) der Standardwert fOnValDefault ausgegeben.

fRefLgtVal

Lichtwert eines einzelnen Lichtaktors, der die Lichtzone repräsentiert. Mit dem Helligkeits-Istwert und -Sollwert sowie dem ermittelten Helligkeitszuwachs fBrtnsGain lässt sich lediglich der prozentuale Aufschlag ermitteln, der notwendig ist, um die Konstantlichtregelung nahe am Sollwert aufzustarten. Kennt man den aktuellen Lichtwert, so ergibt sich aus der Summe der absolute Einschaltwert.

In den meisten Anwendungen wird der Lichtwert vor Einschalten 0% sein. Durch die Lichtsteuerung über Prioritäten ist es jedoch möglich, dass eine Lichtgruppe vor Einschalten der Konstantlichtregelung von einer niedrigeren Priorität angesteuert wird und damit schon auf einem gewissen Niveau steht.

Daher ist die Kenntnis des aktuellen Lichtstellgröße wichtig.

FB_BA_LightCtrlValue 2: Eingänge

VAR_INPUT
  bEn                : BOOL;
  bTeach             : BOOL;
  fBrtns             : REAL;
  fSP                : REAL;
  nBrtnsAdjTi        : UDINT := 5;
  fOnValDefault      : REAL = 50;
  fRefLgtVal         : REAL;
END_VAR

Name

Typ

Beschreibung

bEn

BOOL

Ein TRUE-Signal an diesem Eingang aktiviert den Baustein. Ist der Baustein noch nicht eingelernt, d.h. der ermittelte Helligkeitszuwachs am Ausgang fBrtnsGain ist noch 0, so wird am Ausgang fOnValue dauerhaft der Standardwert fOnValDefault angenommen. Dieser Wert wird auch gesetzt, wenn der Baustein nicht freigegeben ist (bEn = FALSE).

bTeach

BOOL

Eine steigende Flanke an diesem Eingang startet den Einlernvorgang.

fBrtns

REAL

Eingang für den Helligkeitsmesswert.

fSP

REAL

Eingang für den Helligkeitssollwert.

nBrtnsAdjTi

UDINT

Wartezeit in Sekunden, die beim Einlernvorgang nach einem Lichtwechsel gewartet wird, um einen korrekten Wert vom Helligkeitssensor zu empfangen.

fOnValDefault

REAL

Standardausgabewert [0..100%] der am Ausgang fOnVal durchgereicht wird, sollte der Baustein entweder nicht freigegeben (bEn = FALSE) oder nicht eingelernt sein (fBrtnsGain = 0).

fRefLgtVal

REAL

Lichtwert [%] eines einzelnen Lichtaktors, der die Lichtzone repräsentiert.

FB_BA_LightCtrlValue 3: Ausgänge

VAR_OUTPUT
  fOnValue           : REAL;
  bTeaching          : BOOL;
  stTeachLighting    : ST_BA_Lighting;
END_VAR

Name

Typ

Beschreibung

fOnValue

REAL

Ermittelter Einschaltwert. Ist der Baustein nicht freigegeben oder nicht eingelernt, so wird hier der Standardwert fOnValDefault ausgegeben.

bTeaching

BOOL

Ein TRUE-Signal an diesem Ausgang zeigt an, dass der Einlernvorgang aktiv ist.

stTeachLighting

ST_BA_Lighting

Lichtsteuertelegramm mit der voreingestellten Priorität E_BA_LightingPrio.eMaintenance.

FB_BA_LightCtrlValue 4: Eingänge CONSTANT PERSISTENT

VAR_INPUT CONSTANT PERSISTENT
  ePrio              : BYTE := E_BA_LightingPrio.eMaintenance;
END_VAR

Name

Typ

Beschreibung

ePrio

E_BA_LightingPrio

Priorität des Telegrammes, voreingestellt auf E_BA_LightingPrio.eMaintenance.

FB_BA_LightCtrlValue 5: Ausgänge PERSISTENT

VAR_OUTPUT PERSISTENT
  fBrtnsGain         : REAL;
END_VAR

Name

Typ

Beschreibung

fBrtnsGain

REAL

Ermittelter Helligkeitszuwachs. Dieser Wert ist bezogen auf den Unterschied von einer Helligkeit (fBrtns) bei einem Lichtwert von 0% zu einer Helligkeit bei einem Lichtwert von 100%.

Voraussetzungen

Entwicklungsumgebung

Erforderliche SPS-Bibliothek

TwinCAT ab v3.1.4024.55

Tc3_BA2 ab v5.3.19.0