FB_DALI301PushButton

FB_DALI301PushButton 1:

Der Funktionsbaustein dient der Konfiguration und dem Betrieb einer Instanz eines DALI-Steuergerätes, welches den Part 301 (Taster) unterstützt.

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

Part 301 (Taster) - Einleitung

Bei Bedarf kann der Ausgabewert auch unmittelbar über die Variable bQueryInputValue abgefragt werden, auch wenn die entsprechende Instanz nicht freigegeben ist.

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.

FB_DALI301PushButton 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_DALI301PushButton 3:

Bei Einsatz der KL6811 kann der Baustein nicht verwendet werden.

FB_DALI301PushButton 4: Eingänge

VAR_INPUT
  bInitialize                 : BOOL  := FALSE;
  nShortAddress               : BYTE  := 0;
  nInstanceNumber             : BYTE  := 0;
  bQueryInputValue            : BOOL  := FALSE;
  bGetInputNotifications      : BOOL  := TRUE;
  nOptions                    : DWORD := 0;
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

BYTE

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

nInstanceNumber

BYTE

Nummer der anzusprechenden Instanz (0…31) das DALI-Steuergerätes.

bQueryInputValue

BOOL

Durch eine positive Flanke an diesem Eingang wird der Zustand des Eingangs unmittelbar abgefragt. Eine Abfrage ist auch dann möglich, wenn die Instanz über die Eigenschaft bEnableInstance gesperrt ist.

bGetInputNotifications

BOOL

Durch ein TRUE an diesem Eingang werden die empfangenen Input Notification Events am Ausgang ausgegeben.

nOptions

DWORD

Reserviert für zukünftige Erweiterungen.

FB_DALI301PushButton 5: Ausgänge

VAR_OUTPUT
  bError                     : BOOL;
  ipResultMessage            : I_TcMessage;
  bInitializing              : BOOL;
  bReadingInputValue         : BOOL;
  nPushButtonEvent           : WORD;
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.

bReadingInputValue

BOOL

Der Ausgang wird gesetzt, sobald das manuelle Lesen des Eingangs ausgelöst wurde.

nPushButtonEvent

WORD

Der Ausgang gibt die Ereignisse für den 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.

FB_DALI301PushButton 6: Eigenschaften

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

Name

Typ

Zugriff

Initialwert

Beschreibung

bEnableInstance

BOOL

Get, Set

TRUE

Die Instanz kann am DALI-Steuergerät freigegeben oder gesperrt werden. Wenn diese Eigenschaft FALSE ist, dann ist das Versenden von Ereignissen aus dieser Instanz deaktiviert. Der Istwert der Instanz kann jedoch über den Eingang bQueryInputValue weiterhin abgefragt werden.

nEventFilter

BYTE

Get, Set

2#1000_0011

Einstellung des Ereignis-Filters.

eEventPriority

E_DALIEventPriority

Get, Set

Middle

Einstellung der Ereignis-Priorität.

nRepeatTimer

UINT

Get, Set

160 ms

Zeit (100…2000 ms) nach der das anstehende Ereignis des Tasters bei einem langen Tastendruck wiederholt wird.

nShortTimer

UINT

Get, Set

500 ms

Zeit (tShortMin…5100 ms) zur Unterscheidung zwischen einem langen und einem kurzen Tastendruck

nDoubleTimer

UINT

Get, Set

0 ms

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

nStuckTimer

BYTE

Get, Set

20 s

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

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

Tc3_DALI ab v3.5.0.0