FB_BA_Swi4DALI

Dieser Baustein dient zum Auslesen eines DALI-4-fach-Tasters.
Hinweise zur Funktion des verwendeten DALI-Gerätes entnehmen Sie bitte der Gerätedokumentation des Herstellers.
Funktion
Das Gerät selbst ist spezifiziert durch die Instanznummern der Taster, nInstButton1…nInstButton4.
Es wird grundsätzlich das geräteinterne Ereignissystem (notifications) verwendet, welches selbsttätig ein Telegramm losschickt, sobald ein Tastendruck oder ein Loslassen einer Taste erkannt wird.
Die Zustände der Tasten werden zusätzlich zyklisch abgefragt. So wird sichergestellt, dass der Zustand der Tasten immer wieder korrigiert wird, sollte einmal ein Telegramm "verloren gehen".
Der DALI-Tasterbaustein kann über den Eingang bInitialize mit fest eingestellten Parametern initialisiert werden, siehe VAR CONSTANT.
Syntax
FUNCTION_BLOCK FB_BA_Swi4DALI
VAR_INPUT
bEn : BOOL;
bInitialize : BOOL;
nAdr : BYTE;
nInstButton1 : BYTE;
nInstButton2 : BYTE;
nInstButton3 : BYTE;
nInstButton4 : BYTE;
ipDALICommunication : Tc3_DALI.I_DALICommunication;
END_VAR
VAR_OUTPUT
bButton1 : BOOL;
bButton2 : BOOL;
bButton3 : BOOL;
bButton4 : BOOL;
bInitializing : BOOL;
bErr : BOOL;
END_VAR
VAR_INPUT CONSTANT PERSISTENT
nPrdQuery : UDINT := 60;
END_VAR
VAR CONSTANT
nEventFilter : DWORD := 131;
eEventPriority : Tc3_DALI.E_DALIEventPriority := Tc3_DALI.E_DALIEventPriority.Middle;
eEventScheme : Tc3_DALI.E_DALIEventScheme := Tc3_DALI.E_DALIEventScheme.DeviceInstance;
nRepeatTimer : UINT := 160;
nShortTimer : UINT := 500;
nDoubleTimer : UINT := 0;
nStuckTimer : BYTE := 20;
END_VAR
VAR_INPUT
Name | Typ | Beschreibung |
---|---|---|
bEn | BOOL | Freigabe des Bausteines: ein TRUE-Signal an diesem Eingang aktiviert die Funktion. |
bInitialize | BOOL | Eine positive Flanke an diesem Eingang startet die DALI-Initialisierungsroutine, welche die eingestellten Parameter in das DALI-Gerät überträgt, siehe FB_BA_Swi4DALI. |
nAdr | BYTE | DALI-Kurzadresse des Tastsensors. |
nInstButton1… nInstButton4 | BYTE | Nummern der abzufragenden Taster-Instanzen. |
ipDALICommunication | Interface-Pointer auf den DALI-Kommunikationsbaustein. |
VAR_OUTPUT
Name | Typ | Beschreibung |
---|---|---|
bButton1…bButton4 | BOOL | Zustand der einzelnen Taster (TRUE = gedrückt). |
bInitializing | BOOL | Der Sensor befindet sich in der DALI-Initialisierungsphase, d.h. die eingetragenen Parameter werden in das DALI-Gerät übertragen. |
bErr | BOOL | Fehlerausgang. Ein Klartext wird in TwinCAT im Ausgabefenster in der Fehlerliste (Error List) ausgegeben. |
VAR_INPUT CONSTANT PERSISTENT
Name | Typ | Beschreibung |
---|---|---|
nPrdQuery | UDINT | Abfrageintervall der Schalterzustände. Diese Abfrage dient lediglich der Korrektur, falls durch einen Telegrammfehler ein falscher Status gemerkt wird. |
VAR CONSTANT
![]() | Die folgenden Parameter sind unveränderbar und werden durch die Initialisierungsroutine in das DALI-Gerät übertragen. |
Name | Typ | Beschreibung |
---|---|---|
nEventFilter | DWORD | DALI-Ereignisfilter-Maske für Präsenzmelder. Dieser Wert ist auf 7 eingestellt und fragt damit die Zustände Occupied, Vacant und Repeat Event ab. |
eEventPriority | DALI-Ereignispriorität, mit der Input Notification Events von der Instanz des DALI-Steuergeräts versendet werden, eingestellt auf Middle. | |
eEventScheme | DALI-Ereignisschema. Dieses ist auf DeviceInstance eingestellt (Geräte- / Instanz-Adressierung mit Kurzadresse und Instanznummer). | |
nRepeatTimer | UINT | Repeat-Timer als Vielfaches von 20ms. Eingestellt auf 8 (=160ms). |
nShortTimer | UINT | Short-Timer als Vielfaches von 20ms. Eingestellt auf 25 (=500ms). |
nDoubleTimer | UINT | Double-Timer als Vielfaches von 20ms. Eingestellt auf 0 (=0ms). Damit ist dieser Wert auf den herstellerspezifischen Minimalwert gesetzt. |
nStuckTimer | BYTE | Stuck-Timer in Sekunden. Eingestellt auf 20s. |
Voraussetzungen
Entwicklungsumgebung | Erforderliche Function |
---|---|
TwinCAT ab v3.1.4024.35 | TF8040 | TwinCAT Building Automation ab V5.0.0.0 |