FB_DALI_Esylux_PD_C_360_BMS

FB_DALI_Esylux_PD_C_360_BMS 1:

Der Funktionsbaustein FB_DALI_Esylux_PD_C_360_BMS repräsentiert die DALI-Sensoren PD-C 360/8 BMS DALI-2, PD-C 360/24 BMS DALI-2 und PD-C 360/32 BMS DALI-2 der Firma Esylux.

Dieser gibt zwei Tastermeldungen (Instanzen 0 und 1), eine Präsenzmeldung (Instanz 2) und den gemessenen Helligkeitswert (Instanz 3) aus.

Nähere Information zu den unterstützten Instanztypen finden Sie hier:

Part 301 (Taster) – Einleitung

Part 303 (Präsenzmelder) – Einleitung

Part 304 (Helligkeitssensoren) – Einleitung

Durch Änderung der unten aufgeführten Eigenschaften, können die bestehenden Parameter überschrieben werden. Alle Parameter werden durch eine positive Flanke an bInitialize in das DALI-Steuergerät geschrieben und dort gespeichert.

Die Ausgänge mit den Ausgabewerten des DALI-Gerätes enthalten nur dann gültige Werte, wenn der Baustein fehlerfrei ausgeführt wurde (bError = FALSE). Ist der Ausgang bError = TRUE, so dürfen die Ausgänge mit den Ausgabewerten nicht ausgewertet werden.

Über die Eingangsvariablen bQueryPushButtonN, bQueryOccupancy und bQueryBrightness kann das Auslesen unmittelbar ausgelöst werden, auch wenn die entsprechende Instanz nicht freigegeben ist.

FB_DALI_Esylux_PD_C_360_BMS 2:

Stellen Sie die Zeiten so ein, dass möglichst wenige Ereignisse versendet werden. Werden zu viele Ereignisse versendet, kann sich das negativ auf das Verhalten der Anwendung auswirken.

FB_DALI_Esylux_PD_C_360_BMS 3:

Bei Einsatz der KL6811 kann der Baustein nicht verwendet werden.

ALS-Korrekturfaktor

Bei der Inbetriebnahme kann es notwendig sein, die Helligkeitsmessung zu kalibrieren. Die hierzu notwendigen ALS-(ambient light sensor) Parameter sind über die Eigenschaften veränderbar. Der Funktionsbaustein übermittelt die einzelnen ALS-Parameter (0,1…5,0) an den im DALI-Steuergerät integrierten Lichtsensor, wo diese auch abgespeichert werden. Der Korrekturfaktor des Lichtsensors wird jeweils bei 100 und 500 Lux auf dem Fußboden bestimmt. Details zu der Kalibrierung entnehmen Sie bitte der Dokumentation des Herstellers.

FB_DALI_Esylux_PD_C_360_BMS 4: Eingänge

VAR_INPUT
  bInitialize                : BOOL  := FALSE;
  nShortAddress              : USINT := 0;
  nOptions                   : DWORD := 0;
  bQueryPushButton1          : BOOL  := FALSE;
  bQueryPushButton2          : BOOL  := FALSE;
  bQueryOccupancy            : BOOL  := FALSE;
  bQueryBrightness           : BOOL  := FALSE;
  bCancelHoldTimerOccupancy  : BOOL  := FALSE;
END_VAR

Name

Typ

Beschreibung

bInitialize

BOOL

Durch eine positive Flanke an diesem Eingang wird das Konfigurieren des DALI-Steuergerätes gestartet. Während dieser Zeit werden keine DALI-Befehle bearbeitet.

nShortAddress

USINT

Kurzadresse (0…63) des DALI-Steuergerätes.

nOptions

DWORD

Reserviert für zukünftige Erweiterungen.

bQueryPushButtonN

BOOL

Durch eine positive Flanke an diesem Eingang wird der Zustand des Tasters unmittelbar abgefragt.

bQueryOccupancy

BOOL

Durch eine positive Flanke an diesem Eingang wird die Präsenz unmittelbar abgefragt.

bQueryBrightness

BOOL

Durch eine positive Flanke an diesem Eingang wird die Helligkeit unmittelbar abgefragt.

bCancelHoldTimerOccupancy

BOOL

Durch eine positive Flanke an diesem Eingang wird der Hold Timer vorzeitig beendet und der Ausgang bOccupied zurückgesetzt.

FB_DALI_Esylux_PD_C_360_BMS 5: Ausgänge

VAR_OUTPUT
  bError                     : BOOL;
  ipResultMessage            : I_TcMessage;
  bInitializing              : BOOL;
  bReadingPushButton1        : BOOL;
  bReadingPushButton2        : BOOL;
  bReadingOccupancy          : BOOL;
  bReadingBrightness         : BOOL;
  nPushButton1Event          : WORD
  nPushButton2Event          : WORD
  bOccupied                  : BOOL;
  nBrightnessLevel           : UINT;
END_VAR

Name

Typ

Beschreibung

bError

BOOL

Der Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung ein Fehler aufgetreten ist. Weitere Informationen zu dem Fehler können über die Variable ipResultMessage abgefragt werden. Der Ausgang wird wieder auf FALSE gesetzt, sobald bBusy auf TRUE geht.

ipResultMessage

I_TcMessage

Interface-Pointer (siehe Fehlerauswertung) mit dem detaillierte Informationen über die Abarbeitung des Bausteins abgefragt werden können (siehe Laufzeitmeldungen). Der Interface-Pointer ist gültig, nachdem bBusy von TRUE auf FALSE gewechselt hat.

bInitializing

BOOL

Der Ausgang wird gesetzt, sobald die Initialisierung des DALI-Steuergerätes gestartet wurde und bleibt so lange aktiv, bis alle DALI-Befehle abgearbeitet wurden.

bReadingPushButtonN

BOOL

Der Ausgang ist TRUE, solange Werte der Instanz des Tasters vom DALI-Steuergerät gelesen werden.

bReadingOccupancy

BOOL

Der Ausgang ist TRUE, solange Werte der Instanz des Bewegungsmelders vom DALI-Steuergerät gelesen werden.

bReadingBrightness

BOOL

Der Ausgang ist TRUE, solange Werte der Instanz des Helligkeitssensors vom DALI-Steuergerät gelesen werden.

nPushButtonNEvent

WORD

Der Ausgang gibt die Ereignisse für den entsprechenden Taster über je ein Bit für einen Zyklus aus.

Bit

Beschreibung

0

Taster losgelassen.

1

Taster gedrückt.

2

Kurzer Tastendruck.

3

Doppelter Tastendruck.

4

Start langer Tastendruck.

5

Wiederholung langer Tastendruck.

6

Stopp langer Tastendruck.

7

Taster wieder frei, war zuvor blockiert.

8

Taster blockiert.

Mit Hilfe des Funktionsbausteins FB_DALI_ToPushButtonState kann der Zustand eines Tasters in eine BOOL-Variable umgewandelt werden.

Name

Typ

Beschreibung

bOccupied

BOOL

Ist der Ausgang auf TRUE, so wurde Präsenz im Erfassungsbereich des Präsenzmelders erkannt.

nBrightnessLevel

UINT

Gemessener Helligkeitswert des Helligkeitssensors.

FB_DALI_Esylux_PD_C_360_BMS 6:

Dieser Messwert muss mit den gemessenen Referenzwerten am Einsatzort des DALI-Steuergerätes abgeglichen werden.

FB_DALI_Esylux_PD_C_360_BMS 7: Eigenschaften

Alle Parameter, die per bInitialize in das DALI-Steuergerät geschrieben werden, sind als Eigenschaften vorhanden.

Die Eigenschaften von Instanzen des gleichen Typs sind in der Tabelle nur einmal aufgeführt und am Ende mit N gekennzeichnet.

Name

Typ

Zugriff

Initialwert

Beschreibung

bEnableBrightness

BOOL

Get, Set

TRUE

Ein TRUE an dieser Eigenschaft gibt die Instanz zur Helligkeitsmessung frei. Ein FALSE an dieser Eigenschaft bewirkt, dass das Versenden von Ereignissen aus dieser Instanz deaktiviert ist. Der Istwert der Instanz kann jedoch über den Eingang bQueryBrightness weiterhin abgefragt werden.

bEnableOccupancy

BOOL

Get, Set

TRUE

Ein TRUE an dieser Eigenschaft gibt die Instanz zur Bewegungserkennung frei. Ein FALSE an dieser Eigenschaft bewirkt, dass das Versenden von Ereignissen aus dieser Instanz deaktiviert ist. Der Istwert der Instanz kann jedoch über den Eingang bQueryOccupancy weiterhin abgefragt werden.

bEnablePushButtonN

BOOL

Get, Set

FALSE

Taster Eingang 1 oder 2, der jeweils am DALI-Steuergerät freigegeben oder gesperrt werden kann. Ein FALSE an dieser Eigenschaft bewirkt, dass das Versenden von Ereignissen aus dieser Instanz deaktiviert ist. Der Istwert der Instanz kann jedoch über den Eingang bQueryPushButtonN weiterhin abgefragt werden.

eEventPriorityBrightness

E_DALIEventPriority

Get, Set

MiddleLow

Einstellung der Ereignis-Priorität.

fALS0CorrectionFactor100

LREAL

Get, Set

1,0

Korrekturfaktor (0,1…5,0) des Helligkeitssensors 0 bei einem Messwert von 100 Lux auf der zu messenden Oberfläche.

fALS0CorrectionFactor500

LREAL

Get, Set

1,0

Korrekturfaktor (0,1…5,0) des Helligkeitssensors 0 bei einem Messwert von 500 Lux auf der zu messenden Oberfläche.

fALS1CorrectionFactor100

LREAL

Get, Set

1,0

Korrekturfaktor (0,1…5,0) des Helligkeitssensors 1 bei einem Messwert von 100 Lux auf der zu messenden Oberfläche.

fALS1CorrectionFactor500

LREAL

Get, Set

1,0

Korrekturfaktor (0,1…5,0) des Helligkeitssensors 1 bei einem Messwert von 500 Lux auf der zu messenden Oberfläche.

nReportTimerBrightness

USINT

Get, Set

30 s

Zeit (0…255 s) nach der das anstehende Ereignis des Helligkeitssensors wiederholt wird, wenn in der Zwischenzeit kein anderes Ereignis eingetreten ist.

nDeadtimeTimerBrightness

UINT

Get, Set

1500 ms

Totzeit (0...12750 ms), um sicherzustellen, dass nicht zu viele Ereignisse hintereinander versendet werden. Ein Ereignis wird erst nach Ablauf des Deadtime-Timer gesendet. Der Deadtime-Timer wird jedes Mal neu gestartet, nachdem ein Ereignis gesendet wurde.

nHysteresisBrightness

USINT

Get, Set

5 %

Wert (0…25 %) zur Errechnung eines Hysterese Werts, um häufige und störende Änderungen bei der Messung der Helligkeit zu verhindern.

nHysteresisMinBrightness

USINT

Get, Set

40

Da bei geringer Helligkeit die prozentuale Hysterese auch zu starken Schwankungen führen kann, kann über diese Eigenschaft eine minimale Hysterese vorgegeben werden. Bei der minimalen Hysterese handelt es sich um einen Absolutwert, mit einem Wertebereich von 0 bis 255.

eEventPriorityOccupancy

E_DALIEventPriority

Get, Set

Middle

Einstellung der Ereignis-Priorität.

nDeadtimeTimerOccupancy

UINT

Get, Set

100 ms

Totzeit (0...12750 ms), um sicherzustellen, dass nicht zu viele Ereignisse hintereinander versendet werden. Ein Ereignis wird erst nach Ablauf des Deadtime-Timer gesendet. Der Deadtime-Timer wird jedes Mal neu gestartet, nachdem ein Ereignis gesendet wurde.

nHoldTimerOccupancy

UINT

Get, Set

900 s

Haltezeit (1...2538 s), in der die Präsenz weiter aktiv ist, nachdem keine Bewegung mehr vom Sensor erkannt wurde.

nReportTimerOccupancy

USINT

Get, Set

60 s

Zeit (0…255 s) nach der das anstehende Ereignis des Präsenzmelders wiederholt wird, wenn in der Zwischenzeit kein anderes Ereignis eingetreten ist.

nSensitivityOccupancy

USINT

Get, Set

95

Einstellung der Empfindlichkeit der Präsenzmelderinstanz von 0 (niedrige Empfindlichkeit) bis 100 (hohe Empfindlichkeit).

nEventFilterPushButtonN

BYTE

Get, Set

2#1000_0011

Einstellung des Ereignis-Filters.

eEventPriorityPushButtonN

E_DALIEventPriority

Get, Set

Middle

Einstellung der Ereignis-Priorität.

nDoubleTimerPushButtonN

UINT

Get, Set

0 ms

Zeit (0, tDoubleMin…2000 ms) zur Unterscheidung zwischen einem einfachen und einem doppelten Tastendruck.

nRepeatTimerPushButtonN

UINT

Get, Set

160 ms

Intervall (100…2000 ms) von Wiederholungsereignissen bei einem langen Tastendruck.

nShortTimerPushButtonN

UINT

Get, Set

500 ms

Zeit (tShortMin…5100 ms) zur Unterscheidung zwischen einem langen und einem kurzen Tastendruck. tShortMin ist ein herstellerspezifischer Wert.

nStuckTimerPushButtonN

USINT

Get, Set

20 s

Zeit (5…255 s) nach deren Ablauf der Taster keinen langen Tastendruck mehr repräsentiert. Der Taster klemmt.

bModeLED

BOOL

Get, Set

TRUE

LED-Modus:
FALSE: LED deaktiviert
TRUE: LED aktiviert

nBrightnessLED

USINT

Get, Set

50

LED-Helligkeit (5…100 %).

ipDALICommunication

I_DALICommunication

Get, Set

0

Interface-Pointer auf den Kommunikationsbaustein (siehe Übergabe der Referenz auf den Kommunikationsbaustein).

Voraussetzungen

Entwicklungsumgebung

Erforderliche SPS-Bibliothek

TwinCAT ab v3.1.4024.50

Tc3_DALI ab v3.17.1.0