FB_BA_LightCtrlValue

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.
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. |
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 | Lichtsteuertelegramm mit der voreingestellten Priorität E_BA_LightingPrio.eMaintenance. |
Eingänge CONSTANT PERSISTENT
VAR_INPUT CONSTANT PERSISTENT
ePrio : BYTE := E_BA_LightingPrio.eMaintenance;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
ePrio | Priorität des Telegrammes, voreingestellt auf E_BA_LightingPrio.eMaintenance. |
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 |