FB_BA_LightGroupConstant

FB_BA_LightGroupConstant 1:

In einer Licht-Zone werden ein oder mehrere Lichtaktoren zur gleichzeitigen Ansteuerung zusammengefasst, je nachdem wie es die örtlichen Gegebenheiten erfordern.

Dieses Template stellt eine Licht-Zone (Raum) mit Konstantlichtregelung und manueller Übersteuerung dar.

Funktion

Ist über den Parameter eLightActivationMode Vollautomatik eingestellt, so schaltet sich die Lichtfunktion ConstLgtCtrl bei Präsenzerkennung am Eingang bPresence in den Regelbetrieb. Ist hingegen Halbautomatk angewählt, wird der erste Tastendruck am Template bManualSwitch den Baustein in den Regelbetrieb versetzen. Weitere Tastendrücke oder eine Wertvorgabe über die HMI (fSetLightValueMan_In / SetLightValueMan_In) brechen den Regelbetrieb ab und der Baustein befindet sich in der Hand-Übersteuerung.

In diesem Modus lässt sich das Licht über den Templateeingang bManualSwitch wechselweise ein- und ausschalten bzw. bei Langtastendruck (t>SwiOvrTi) auf- und abdimmen. Die Eingänge bOn und bOff lassen das Licht gezielt ein- und ausschalten während über eine HMI durch den Befehl bSetLightValueMan_In der Lichtwert fSetLightValueMan_In direkt gesetzt wird.

Der Licht-Steuerbaustein zeigt seinen derzeitigen Status "Regelbetrieb" oder "Handübersteuerung" an den Ausgängen bControlMode und bManualMode an; beide Ausgänge gleichzeitig werden nicht gesetzt. Mit diesen Ausgängen wird entweder über den Baustein CnstLgtAuto ein Lichtausgabetelegramm mit der Priorität eAutomaticLight erzeugt oder über ManMode ein Telegramm der Priorität eManual. Die unterschiedliche Telegrammpriorität wird am Baustein PrioSwi der internen HMI-Variable eActualPrio_Out zugewiesen. So kann über eine HMI eine Unterscheidung Regelbetrieb oder Handübersteuerung zur Anzeige gebracht werden.

Bei einer fallenden Flanke am Templateeingang bPresence oder durch Setzen von bResetRoomFunction wird der Lichtsteuerbaustein deaktiviert, wobei er, falls angewählt, noch über eine Ausschaltrampe mit Verweilzeit auf einem Vorab-Ausschhaltwert sein Abschalten ankündigt. Danach werden beide Bausteinausgänge bControlMode und bManualMode abgelöscht.

Neben den internen Telegrammen von bControlMode und ManMode werden auch die eingangsseitigen stAreaLighting und stScene mit auf den Selektor (PrioSwi) geführt.

Dabei stellt stArea das resultierende Telegramm aus den übergeordneten Ebenen (Bereich/area, Etage/floor und Gebäude/building) dar, während stScene für eine beliebige, die Konstantlichtregelung zu übersteuernde Lichtszene reserviert ist.

Der Telegrammselektor (PrioSwi) leitet das höchst priorisierte Telegramm durch - bei gleicher Priorität das zuletzt gesendete (last writer wins).

Der Sollwert für die Konstantlichtregelung wird mithilfe eines Analogobjekts SpBrightness eingestellt.

Eingang stReferenceFeedback

Über diesen Eingang werden Informationen über den angesteuerten Lichtaktor bzw. den Referenzaktor einer Gruppe in die Lichtsteuerfunktion zurückgeführt.

Hierbei ist der Lichtwert des Referenzaktors von besonderer Bedeutung: Ist der Lichtaktor bereits von einer anderen Funktion gleicher oder niederer Priorität angesteuert und das hier beschriebene Template "übernimmt" nun die Kontrolle, so muss es den Aktor ausgehend von seinem bestehenden Lichtwert aus ansteuern.

Darüber hinaus werden aktuelle Werte und Status übertragen, die über die HMI zur Anzeige gebracht werden können.

Datenaustausch HMI

Der Datenaustausch mit der HMI wird hier in der Basisklasse FB_BA_Ext_LightConstCtrl (interner Baustein) realisiert. In diesem Template sichtbar ist die Verwendung folgender Variablen:

FB_BA_LightGroupConstant 2:

Die Initialisierung des Templates erfolgt innerhalb der Methode FB_Init.

Blockschaltbild

FB_BA_LightGroupConstant 3:

Syntax

FUNCTION_BLOCK FB_BA_LightGroupConstant EXTENDS FB_BA_Ext_LightConstCtrl
VAR_INPUT
  bManualSwitch          : BOOL;
  bOn                    : BOOL;
  bOff                   : BOOL;
  bResetRoomFunction     : BOOL;
  bPresence              : BOOL;
  fBrightness            : REAL;

  stAreaLighting         : ST_BA_Lighting;
  stScene                : ST_BA_Lighting;
  stReferenceFeedback    : ST_BA_LightActuatorFeedback;
END_VAR
VAR_OUTPUT
  stLighting             : ST_BA_Lighting;
  bAdjusting             : BOOL;
END_VAR
VAR_INPUT CONSTANT PERSISTENT
  fHys                   : REAL;
  nSwiOvrTi              : UDINT;
  nSwiTi                 : UDINT;
  nDimTi                 : UDINT;
  nRampTi                : UDINT;
  nPreOffRampTi          : UDINT;
  nBrtnsAdjTi            : UDINT;
  fOnValCtrl             : REAL;
  fOnValMan              : REAL;
  fPreOffVal             : REAL;
  nPreOffDly             : UDINT;
  fMinVal                : REAL;
  nMinOffDly             : UDINT;
  nMinOnDly              : UDINT;
  bMemoryMode            : BOOL;
  fLgtT                  : REAL;
END_VAR
VAR_INPUT CONSTANT
  SpBrightness           : FB_BA_AV_Op;
  ManMode                : FB_BA_LightingEvt := ( ePrio := E_BA_LightingPrio.eManual);
  CnstLgtAuto            : FB_BA_LightingEvt := ( ePrio := E_BA_LightingPrio.eAutomaticLight);
END_VAR
VAR
  ConstLgtCtrl           : FB_BA_LightCtrlConst;
  PrioSwi                : FB_BA_LightingTgmSel4;
END_VAR

FB_BA_LightGroupConstant 4: Eingänge

Name

Typ

Beschreibung

bManualSwitch

BOOL

Ist der Konstantlichtregelbaustein noch nicht aktiv, so schaltet ein kurzer Tastendruck zunächst die Regelung ein, danach lassen weitere Signale den Baustein in die Handfunktion übergehen und es gilt: kurzer Tastendruck: an/aus, lange Tastendrücke: wechselweise hoch- oder herunterdimmen.

bOn

BOOL

Ist der Konstantlichtregelbaustein noch nicht aktiv, so schaltet ein TRUE-Signal zunächst die Regelung ein, danach bezieht sich dieser Eingang nur auf das Einschalten im Hand-Modus.

bOff

BOOL

Schaltet das Licht aus, der Konstantlichtregelbaustein befindet sich weiterhin im Handbetrieb. War der Konstantlichtregelbaustein vorher im Regelbetrieb, so befindet er sich nun im Handbetrieb.

bResetRoomFunction

BOOL

Dieser Eingang schaltet den Konstantlichtregelbaustein ab. Die Abschaltung erfolgt über eine Rampe und Verweilzeit auf einem Basislichtwert, siehe Parameter: fPreOffVal, nPreOffDly und nPreOffRampT.

bPresence

BOOL

Präsenzmeldeeingang. Ist der Konstantlichtregelbaustein im Vollautomatikbetrieb konfiguriert, so kann über diesen Eingang eine steigende Flanke die Funktion ein- und eine fallende Flanke ausschalten.

Im Halbautomatikbetrieb schaltet nur eine fallende Flanke an diesem Eingang den Konstantlichtregelbaustein aus.

fBrightness

REAL

Aktuelle Helligkeit für die Konstantlichtautomatik: Bereich und Einheit richten sich nach dem Helligkeitssensor.

stAreaLighting

ST_BA_Lighting

Resultierendes Telegramm aus den übergeordneten Ebenen (Bereich/area, Etage/floor und Gebäude/building), welches im Baustein FB_BA_AreaLighting gebildet wird.

stScene

ST_BA_Lighting

Reservierter Telegramm-Eingang für eine Szenenansteuerung.

stReferenceFeedback

ST_BA_LightActuatorFeedback

Rückmeldeeingang des angesteuerten Lichtaktors bzw. der Führungsleuchte der angesteuerten Gruppe.

FB_BA_LightGroupConstant 5: Ausgänge

Name

Typ

Beschreibung

stLighting

ST_BA_Lighting

Resultierendes Ausgabeprogramm.

bAdjusting

BOOL

Der Konstantlichtregelbaustein befindet sich im Ausregelbetrieb. Dieses Signal kann dazu genutzt werden, Helligkeitssensoren, welche nicht analog, sondern über eine Kommunikation arbeiten, häufiger abzufragen und damit ein günstigeres Regelverhalten zu erzielen.

FB_BA_LightGroupConstant 6: Eingänge CONSTANT PERSISTENT

Name

Typ

Beschreibung

fHys

REAL

Konstantlicht-Automatik: Hystereseband. Die Konstantlichtregelung steuert den Ausgang so weit hoch, bzw. herunter, bis die gemessene Helligkeit den Zielwert erreicht, bzw. leicht über- oder unterschreitet. Das Licht gilt dann als ausgeregelt. Erst wenn die gemessene Helligkeit den Sollwert um fHys/2 über- oder unterschreitet, wird erneut nachgeregelt.

Bereich und Einheit richten sich nach dem Helligkeitssensor, siehe oben: fBrtnsSP und fBrtnsSen. In FB_Init voreingestellt auf 50.

nSwiOvrTi

UDINT

Unterscheidungszeit [ms] zwischen Kurz- und Langtastendruck. In FB_Init voreingestellt auf 250ms.

nSwiTi

UDINT

Rampe für die Schaltfunktionen in Sekunden, bezogen auf ein Dimmen von 0 bis 100%. In FB_Init voreingestellt auf 2s.

nDimTi

UDINT

Rampe für die Dimmfunktionen in Sekunden, bezogen auf ein Dimmen von 0 bis 100%. In FB_Init voreingestellt auf 10s.

nRampTi

UDINT

Regelrampe der Konstantlicht-Automatik in Sekunden, bezogen auf ein Dimmen von 0 bis 100%. In FB_Init voreingestellt auf 60s.

nPreOffRampTi

UDINT

Rampe, mit vor dem Abschalten auf einen Basiswert fPreOffVal gefahren wird. In FB_Init voreingestellt auf 2s.

nBrtnsAdjTi

UDINT

Wartezeit in Sekunden nach Einschalten des Lichts, damit der Helligkeitssensor den korrekten Wert erfasst.

fOnValCtrl

REAL

Einschaltwert für den Regelbetrieb, sollte dieser bei vorher ausgeschalteter Funktion aktiviert werden. In FB_Init voreingestellt auf 50%.

fOnValMan

REAL

Einschaltwert der Handfunktion, sollte nicht über den Parameter eOperationalMode "Memory-Mode" angewählt sein. In FB_Init voreingestellt auf 100%.

fPreOffVal / nPreOffDly

REAL / UDINT

Basiswert und Haltezeit auf diesem Wert vor dem Ausschalten der Gesamtfunktion. Unterschreitet der aktuelle Lichtwert den Basiswert bereits, so ist diese Funktion nicht aktiv und es wird unmittelbar abgeschaltet. In FB_Init voreingestellt auf 4% und 10s.

fMinVal

REAL

Konstantlicht-Automatik: Mindestausgabewert. Wird dieser Wert intern unterschritten (d.h. es ist hell genug, dass kein künstliches Licht benötigt wird), so schaltet die Konstantlichtregelung das Licht nach Ablauf von nOffDly in Sekunden ab. Ist das Licht ausgeschaltet und die Regelung erkennt wieder Bedarf an Licht über dem Minimumwert, so schaltet die Regelung nach nOnDly in Sekunden das Licht wieder auf zunächst fMinVal ein.

In FB_Init voreingestellt auf 4%

nMinOffDly

UDINT

Konstantlicht-Automatik: Abschaltwartezeit in Sekunden, siehe fMinVal. In FB_Init voreingestellt auf 300s.

nMinOnDly

UDINT

Konstantlicht-Automatik: Einschaltwartezeit in Sekunden, siehe fMinVal. In FB_Init voreingestellt auf 300s.

bMemoryMode

BOOL

Memory-Mode: Beim Einschalten des Lichts im Handbetrieb nimmt das Licht den Wert an, den die Funktion vor dem letzten Ausschalten innehatte. Ist der "Memory-Mode" nicht aktiv, so ist der Einschaltwert über fOnValMan definiert. In FB_Init voreingestellt auf FALSE.

fLgtT

REAL

Lichttemperatur: In FB_Init voreingestellt auf 3000K.

FB_BA_LightGroupConstant 7: Eingänge CONSTANT

Name

Typ

Beschreibung

SpBrightness

FB_BA_AV_Op

Analoges Eingabeobjekt: Sollwert der Regelungs [lx].

ManMode

FB_BA_LightingEvt

Telegrammerzeuger für die Lichtwerte im Handbetrieb (bManualMode = TRUE). Die Priorität ist voreingestellt auf eManualActuator.

CnstLgtAuto

FB_BA_LightingEvt

Telegrammerzeuger für die Lichtwerte im Regelbetrieb (bControlMode = TRUE). Die Priorität ist voreingestellt auf eConstantLightControl.

VAR

Name

Typ

Beschreibung

ConstLgtCtrl

FB_BA_LightCtrlConst

Konstantlichtregelbaustein.

PrioSwi

FB_BA_LightingTgmSel4

Telegrammauswahl.

Voraussetzungen

Entwicklungsumgebung

Erforderliche Function

TwinCAT ab v3.1.4024.56

TF8040 | TwinCAT Building Automation ab V5.8.0.0