FB_DALI102Observer

Der Baustein überprüft an einer DALI-Linie sämtliche DALI-Vorschaltgeräte auf Fehler. Des Weiteren wird überprüft, ob sich an der DALI-Linie unadressierte DALI-Vorschaltgeräte befinden.
Für die Überprüfung der DALI-Linie werden zyklisch (siehe tCycle) die Bausteine FB_DALI102QueryControlGearFailure, FB_DALI102QueryLampFailure und FB_DALI102QueryMissingShortAddress aufgerufen. Hierbei werden sämtliche DALI-Befehle als Sammelruf (Broadcast) ausgeführt. Dadurch lassen sich alle DALI-Vorschaltgeräte einer DALI-Linie mit jeweils einem DALI-Befehl überprüfen.
Über nOptions wird festgelegt, welche Überprüfungen an der DALI-Linie ausgeführt werden. Das Überprüfen der DALI-Linie kann ebenfalls durch eine positive Flanke an dem Eingang bStartVerification unmittelbar gestartet werden.
Ändert sich der Fehlerzustand eines DALI-Vorschaltgerätes, so wird von allen DALI-Vorschaltgeräten der aktuelle Status ausgelesen. Der Ausgang aStates enthält die zurückgelieferten Statusinformationen der gesamten DALI-Linie. Jedes Element von aStates enthält die beiden Fehlerinformationen des jeweiligen DALI-Vorschaltgerätes. Die Bedeutung der Bits ist folgendermaßen definiert:
Bit | Bedeutung |
---|---|
0 | Status des DALI-Vorschaltgeräts (siehe controlGearFailure) |
1 | Lampenausfall (siehe lampFailure) |
Einige Fehlerzustände können nur dann erkannt werden, wenn die Lampe eingeschaltet ist.
Wird ein unadressiertes DALI-Vorschaltgerät erkannt, so wird dieses automatisch mit der ersten freien Kurzadresse (beginnend bei 0) adressiert. Das Adressieren wird nicht ausgeführt, wenn mehrere DALI-Vorschaltgeräte ohne Kurzadresse erkannt werden.
Sollen mehrere defekte DALI-Vorschaltgeräte ausgetauscht, oder weitere DALI-Vorschaltgeräte hinzugefügt werden, so kann dieses nur geräteweise erfolgen. Fügen Sie ein unadressiertes DALI-Vorschaltgerät hinzu und warten Sie, bis dieses adressiert wurde (durch die Option Tc3_DALI.GVL.cOpticalFeedback geht das neu adressierte DALI-Vorschaltgerät auf die Helligkeit maxLevel). Fügen Sie erst dann das nächste unadressierte DALI-Vorschaltgerät hinzu.
![]() | Der Baustein sollte nur mit der DALI-2 zertifizierten KL6821/EL6821 verwendet werden. |
Eingänge
VAR_INPUT
bEnable : BOOL := FALSE;
bStartVerification : BOOL;
tCycle : TIME := T#1M;
nOptions : DWORD := GVL.cOpticalFeedback OR GVL.cCheckControlGearFailure OR GVL.cCheckLampFailure OR GVL.cCheckUnaddressedControlGears;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
bEnable | BOOL | Aktiviert die Überprüfung der DALI-Vorschaltgeräte, sobald dieser Eingang TRUE ist. Ist der Eingang FALSE, so ist die Überprüfung der DALI-Vorschaltgeräte deaktiviert. |
bStartVerification | BOOL | Durch eine positive Flanke an diesem Eingang wird das Überprüfen der DALI-Linie unmittelbar gestartet. Dieses ist unabhängig davon, ob die Überprüfung aktiviert oder deaktiviert (bEnable) wurde. |
tCycle | TIME | Zykluszeit, in der die DALI-Vorschaltgeräte überprüft werden. Stellen Sie die Zykluszeit so ein, dass möglichst wenige DALI-Befehle versendet werden. Wird die Zeit auf 0 sec gesetzt, so wird das Überprüfen der DALI-Linie nicht zyklisch ausgeführt. |
nOptions | DWORD | Optionen für die Überprüfung der DALI-Linie (siehe Tabelle unten). Die einzelnen Konstanten müssen miteinander ODER-verknüpft werden. |
Optionen für die Überprüfung
Konstante | Beschreibung |
---|---|
Tc3_DALI.GVL.cCheckControlGearFailure | Es wird überprüft, ob sich an der DALI-Linie ein oder mehrere defekte DALI-Vorschaltgeräte befinden. |
Tc3_DALI.GVL.cCheckLampFailure | Es wird überprüft, ob sich an der DALI-Linie ein oder mehrere DALI-Vorschaltgeräte mit einer defekten Lampe befinden. |
Tc3_DALI.GVL.cCheckUnaddressedControlGears | Es wird überprüft, ob sich an der DALI-Linie ein oder mehrere neue DALI-Vorschaltgeräte (ohne Kurzadresse) befinden. |
Tc3_DALI.GVL.cOpticalFeedback | Vor dem Adressieren werden alle DALI-Vorschaltgeräte auf minLevel gesetzt. Neu adressierte DALI-Vorschaltgeräte erhalten nach der Zuweisung der Kurzadresse die Helligkeit maxLevel. |
Ausgänge
VAR_OUTPUT
bError : BOOL;
ipResultMessage : I_TcMessage;
bBusy : BOOL;
aStates : ARRAY [0..63] OF BYTE;
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. |
bBusy | BOOL | Der Ausgang wird gesetzt, sobald die Ausführung der DALI-Befehle gestartet wurde und bleibt so lange aktiv, bis alle DALI-Befehle abgearbeitet wurden. |
aStates | ARRAY OF BYTE | Array, welches die gelesenen Zustände aller DALI-Vorschaltgeräte enthält (siehe Tabelle oben). |
Eigenschaften
Name | Typ | Zugriff | Initialwert | Beschreibung |
---|---|---|---|---|
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.29 | Tc3_DALI ab v3.11.0.0 |