FB_BA_LightGroupSwitchPresence

FB_BA_LightGroupSwitchPresence 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) dar, welche sowohl über Schalter als auch über Präsenzmelder bedient wird.

Funktion

Über den Templateeingang bManualSwitch lässt sich das Licht über den Steuerbaustein LightSwitch 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.

Ist über den Parameter eLightActivationMode Vollautomatik-Betrieb eingestellt, so schaltet sich das Licht bei Präsenzerkennung am Eingang bPresence automatisch ein und bei fallender Flanke automatisch aus. Ist hingegen Halbautomatik-Betrieb angewählt, so erfolgt über den Präsenzeingang nur eine Abschaltung.

Der Licht-Steuerbaustein unterscheidet, ob er über Präsenz oder über Hand aktiviert bzw. Hand-übersteuert wurde. Im ersten Fall wird der Ausgang bAutomaticMode gesetzt, im zweiten Fall bManualMode; beide Ausgänge gleichzeitig werden nicht gesetzt. Mit diesen Ausgängen wird entweder über den Baustein AutoMode 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 Automatik oder Hand/Handübersteuerung zur Anzeige gebracht werden.

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

Neben den internen Telegrammen von AutoMode 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).

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_LightCtrl (interner Baustein) realisiert. In diesem Template sichtbar ist die Verwendung folgender Variablen:

FB_BA_LightGroupSwitchPresence 2:

Die Initialisierung des Templates erfolgt innerhalb der Methode FB_Init.

Blockschaltbild

FB_BA_LightGroupSwitchPresence 3:

Syntax

FUNCTION_BLOCK FB_BA_LightGroupSwitch EXTENDS FB_BA_Ext_LightCtrl
VAR_INPUT
  bManualSwitch           : BOOL;
  bOn                     : BOOL;
  bOff                    : BOOL;
  bResetRoomFunction      : BOOL;
  bPresence               : BOOL;
  stAreaLighting          : ST_BA_Lighting;
  stScene                 : ST_BA_Lighting;
  stReferenceFeedback     : ST_BA_LightActuatorFeedback;
END_VAR
VAR_OUTPUT
  stLighting              : ST_BA_Lighting;
END_VAR
VAR_INPUT CONSTANT PERSISTENT
  nSwiOvrTi               : UDINT;
  nSwiTi                  : UDINT;
  nDimTi                  : UDINT;
  nPreOffRampTi           : UDINT;
  fOnVal                  : REAL;
  fPreOffVal              : REAL;
  nPreOffDly              : UDINT;
  bMemoryMode             : BOOL;
  eLightActivationMode    : E_BA_LightActivationMode;
  fLgtT                   : REAL;
END_VAR
VAR_INPUT CONSTANT 
  ManMode                 : FB_BA_LightingEvt :=( ePrio:= E_BA_LightingPrio.eManual);  
  AutoMode                : FB_BA_LightingEvt :=( ePrio:= E_BA_LightingPrio.eAutomaticLight);
END_VAR
VAR
  LightSwitch             : FB_BA_LightCtrl;
  PrioSwi                 : FB_BA_LightingTgmSel4;
END_VAR

FB_BA_LightGroupSwitchPresence 4: Eingänge

Name

Typ

Beschreibung

bManualSwitch

BOOL

Kurze Tastendrücke an diesem Eingang schalten das Licht an und aus. Lange Tastendrücke (t > SwiOvrTi) lassen das Licht auf- und abdimmen.

bOn

BOOL

Schaltet das Licht ein und aktiviert den Lichtsteuerbaustein.

bOff

BOOL

Schaltet das Licht aus. Bedingt durch eine Zusatzbeschaltung, die bei Erreichen von 0% am Lichtsteuerbaustein einen Triggerimpuls an dessen Eingang bRst gibt, wird auch gleichzeitig der Baustein deakiviert.

bResetRoomFunction

BOOL

Dieser Eingang schaltet den Lichtbaustein LightSwitch ab - er ist dann nicht mehr aktiv (Ausgang bAutmaticMode/bManualMode = FALSE). Die Abschaltung erfolgt über eine Rampe und Verweilzeit auf einem Basislichtwert, siehe Parameter: fPreOffVal, nPreOffDly und nPreOffRampT.

bPresence

BOOL

Präsenzmeldeeingang. Ist über den Parameter eLightActivationMode Vollautomatik angewählt, so wird der Lichtbaustein mit einer steigenden Flanke als "automatisch" aktiviert (Ausgang bAutomaticMode = TRUE), sofern er nicht vorher schon auf Hand/Hand-übersteuert stand (Ausgang bManualMode = TRUE).

Eine fallende Flanke deaktiviert den Lichtsteuerbaustein (Ausgang bAutomaticMode=FALSE, bMaualMode=FALSE).

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_LightGroupSwitchPresence 5: Ausgänge

Name

Typ

Beschreibung

stLighting

ST_BA_Lighting

Resultierendes Ausgabeprogramm.

FB_BA_LightGroupSwitchPresence 6: Eingänge CONSTANT PERSISTENT

Name

Typ

Beschreibung

nSwiOvrTi

UDINT

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

nSwiTi

UDINT

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

nDimTi

UDINT

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

nPreOffRampTi

UDINT

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

fOnVal

REAL

Einschaltwert. 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.

bMemoryMode

BOOL

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.

eLightActivationMode

E_BA_LightActivationMode

Auswahl der Funktion der Beleuchtungsautomatik:

  • Halbautomatik: Die Lichtfunktion wird nur über einen Tastendruck aktiviert, über eine wegfallende Präsenz wird sie automatisch deaktiviert.
  • Vollautomatik: Die Lichtfunktion kann sowohl über eine Präsenzerkennung als auch über einen Tastendruck aktiviert werden, über eine wegfallende Präsenz wird sie automatisch deaktiviert.

fLgtT

REAL

Lichttemperatur: In FB_Init voreingestellt auf 3000K.

FB_BA_LightGroupSwitchPresence 7: Eingänge CONSTANT

Name

Typ

Beschreibung

ManMode

FB_BA_LightingEvt

Telegrammerzeuger für die Lichtwerte. Die Priorität ist voreingestellt auf eManualActuator.

AutoMode

FB_BA_LightingEvt

Telegrammerzeuger für die Lichtwerte, sollte der Baustein über den Präsenzmelder aktiviert worden und (noch) nicht handübersteuert sein.

Die Priorität ist voreingestellt auf eAutomaticLight.

VAR

Name

Typ

Beschreibung

LightSwitch

FB_BA_LightCtrl

Lichtsteuerbaustein.

PrioSwi

FB_BA_LightingTgmSel4

Telegrammauswahl.

Voraussetzungen

Entwicklungsumgebung

Erforderliche Function

TwinCAT ab v3.1.4024.56

TF8040 | TwinCAT Building Automation ab V5.8.0.0