Einleitung

Die IEC 62386-306 beschreibt DALI-Steuergeräte, die als Universalsensoren definiert werden.

DALI-Steuergeräte nach IEC 62386-306 entsprechen dem Instanz-Typ 6. Der Typ einer Instanz kann mit dem Baustein FB_DALI103QueryInstanceType abgefragt werden.

Eingangswert

Über den Baustein FB_DALI103QueryInputValue kann der aktuelle Zustand (inputValue) des Universalsensors abgefragt werden.

Timer

Die IEC 62386-306 definiert verschiedene Timer zum Auslösen gerätespezifischer Ereignisse.

Im Folgenden werden die Ereignisse für den Instanz-Typ 6 in Zusammenhang mit den dazugehörigen Timern erläutert.

Die jeweilige Zeit errechnet sich aus

Einleitung 1:

Time (Zeitangabe)

Multiplier

Voreinstellwert des Multipliers

Tincr Inkrementalwert

Tdefault Standardwert

Tmin niedrigst- möglicher Einstellwert

Tmax höchst- möglicher Einstellwert

 Tdeadtime

 tDeadtime

 30

 50 ms

 1,5 s

 0 s

 12,75 s

 Treport

 tReport

 30

 5 s

 2 min 30 s

 5 s

 21 min 15 s

 TalarmReport

 tAlarmReport

 30

 5 s

 2 min 30 s

 5 s

 21 min 15 s

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

Ereignis-Filter

DALI-Steuergeräte sind in der Lage verschiedene Ereignisse zu versenden. Der Ereignis-Filter besteht aus einem 8 Bit-Wert, wobei jedes einzelne Bit festlegt, ob ein Ereignis gesperrt oder freigegeben wird. Ist das entsprechende Bit gesetzt, so ist das Ereignis freigegeben, sonst ist es gesperrt.

Mit dem Baustein FB_DALI103QueryEventFilter kann der Wert des Ereignis-Filters gelesen und mit dem Baustein FB_DALI103SetEventFilter beschrieben werden.

Zum Auslösen zeitgesteuerter Ereignisse muss der Ereignis-Filter (siehe eventFilter) entsprechend konfiguriert sein.

 Bit

 Ereignis

 Beschreibung

 0

 Measured value report

 Measured Value Report Ereignis aktiviert.

 1

 Alarm 0 activated

 Alarm 0 aktiviert-Ereignis ist aktiv.

 2

 Alarm 0 deactivated

 Alarm 0 deaktiviert-Ereignis ist aktiv.

 3

 Alarm 1 activated

 Alarm 1 aktiviert-Ereignis ist aktiv.

 4

 Alarm 1 deactivated

 Alarm 1 deaktiviert-Ereignis ist aktiv.

 5

 Alarm 2 activated

 Alarm 2 aktiviert-Ereignis ist aktiv.

 6

 Alarm 2 deactivated

 Alarm 2 deaktiviert-Ereignis ist aktiv.

 7

 Alarm 3 activated

 Alarm 3 aktiviert-Ereignis ist aktiv.

 8

 Alarm 3 deactivated

 Alarm 3 deaktiviert-Ereignis ist aktiv.

 9…15

 -

 Reserviert

Ereignis Input Notification

Beim Instanz-Typ 6 besteht die Möglichkeit mit Hilfe des Ereignisfilters das Ereignis freizugeben. Das Ereignis wird vom DALI-Steuergerät durch eine Input Notification gesendet und kann mit FB_DALIGetInputNotification empfangen werden.

In der folgenden Tabelle sind die Ereignisse aufgeführt.

Ereignis Name

Ereignis Information

Beschreibung

Measured Value

2#1X_XXXX_XXXX

Das Ereignis enthält den aktuellen Messwert (9 Bit).

Ist die Auflösung größer 9, so wird mit diesem Ereignis nur eine Änderung des Eingangswert mitgeteilt. Dieser kann anschließend mit FB_DALI103QueryInputValue gelesen werden.

Ist die Auflösung kleiner oder gleich 9, so enthält dieses Ereignis den aktuellen Eingangswert.

Alarm 0

2#00_XXXX_XX00

alarmIsActivated[0] ist 0 und hat sich seit der letzten Alarm Event Übermittlung nicht geändert.

2#00_XXXX_XX01

alarmIsActivated[0] ist 1 und hat sich seit der letzten Alarm Event Übermittlung nicht geändert.

2#00_XXXX_XX10

alarmIsActivated[0] ist 0 und hat sich seit der letzten Alarm Event Übermittlung geändert.

2#00_XXXX_XX11

alarmIsActivated[0] ist 1 und hat sich seit der letzten Alarm Event Übermittlung geändert.

Alarm 1

2#00_XXXX_00XX

alarmIsActivated[1] ist 0 und hat sich seit der letzten Alarm Event Übermittlung nicht geändert.

2#00_XXXX_01XX

alarmIsActivated[1] ist 1 und hat sich seit der letzten Alarm Event Übermittlung nicht geändert.

2#00_XXXX_10XX

alarmIsActivated[1] ist 0 und hat sich seit der letzten Alarm Event Übermittlung geändert.

2#00_XXXX_11XX

alarmIsActivated[1] ist 1 und hat sich seit der letzten Alarm Event Übermittlung geändert.

Alarm 2

2#00_XX00_XXXX

alarmIsActivated[2] ist 0 und hat sich seit der letzten Alarm Event Übermittlung nicht geändert.

2#00_XX01_XXXX

alarmIsActivated[2] ist 1 und hat sich seit der letzten Alarm Event Übermittlung nicht geändert.

2#00_XX10_XXXX

alarmIsActivated[2] ist 0 und hat sich seit der letzten Alarm Event Übermittlung geändert.

2#00_XX11_XXXX

alarmIsActivated[2] ist 1 und hat sich seit der letzten Alarm Event Übermittlung geändert.

Alarm 3

2#00_00XX_XXXX

alarmIsActivated[3] ist 0 und hat sich seit der letzten Alarm Event Übermittlung nicht geändert.

2#00_01XX_XXXX

alarmIsActivated[3] ist 1 und hat sich seit der letzten Alarm Event Übermittlung nicht geändert.

2#00_10XX_XXXX

alarmIsActivated[3] ist 0 und hat sich seit der letzten Alarm Event Übermittlung geändert.

2#00_11XX_XXXX

alarmIsActivated[3] ist 1 und hat sich seit der letzten Alarm Event Übermittlung geändert.

Die mit X markierten Stellen können entweder den Wert 0 oder 1 annehmen und so mehrere Ereignisse miteinander kombinieren oder den Messwert ausgeben.

Hysterese

Zur Vermeidung von zu häufiger, störender Änderung des Ausgangswertes ist es möglich bei DALI-Geräten mit dem Instanz-Typ 6 eine Hysterese zu definieren.

Über die Variable hysteresis kann ein prozentualer Wert zur Errechnung eines Hysterese-Bereichs vorgegeben werden.

Mit dem Baustein FB_DALI306QueryHysteresis kann der Wert abgefragt und mit FB_DALI306SetHysteresis vorgegeben werden.

Da bei einem niedrigen Messwert die prozentuale Hysterese zu starken Schwankungen führen kann, kann über die Variable hysteresisMin eine minimale Hysterese vorgegeben werden. Bei der minimalen Hysterese handelt es sich um einen Absolutwert, mit einem Wertebereich von 0 bis 255.

Der Rücksetzwert hängt von der vom Hersteller vorgegebenen Auflösung der Eingangswerte ab.

 resolution

 Herstellerabhängiger Rücksetzwert

 1…6

 0

 7

 1

 8

 2

 9

 5

 10

 10

 11

 20

 12

 40

 13

 81

 14

 163

 > 15

 255

Mit dem Baustein FB_DALI306QueryHysteresisMin kann der Wert abgefragt und mit FB_DALI306SetHysteresisMin manuell vorgegeben werden.

Deadtime Timer

Mehrere Events dürfen nicht gleichzeitig aus einer Instanz gesendet werden, um dies zu vermeiden kann eine Totzeit (Tdeadtime) aktiviert werden (siehe tDeadtime).

Wenn der Deadtime Timer aktiv ist, soll eine Instanz kein weiteres Ereignis senden, bis der Timer Tdeadtime abgelaufen ist. Nach dem Versenden eines Ereignisses wird der Timer neu gestartet.

Falls ein neues Ereignis auftritt, bevor das aktuelle Ereignis gesendet wurde, so ersetzt das neue Ereignis das bisherige. Dieses kann geschehen, wenn der Bus nicht verfügbar ist oder mit dem Timer TDeadtime gearbeitet wird.

Wenn Treport < Tdeadtime, dann soll Treport = Tdeadtime sein, egal welchen Wert Treport vorher hatte.

Wenn TalarmReport < Tdeadtime, dann soll TalarmReport = Tdeadtime sein, egal welchen Wert TalarmReport vorher hatte.