FB_DALI_ToPushButtonState

Ermittelt aus den Ereignissen eines Tasters, den statischen Zustand.
Für eine korrekte Auswertung müssen über den Ereignis-Filter die Ereignisse Button Released (Bit 0) und Button Pressed (Bit 1) aktiviert sein.
![]() | Schalten Sie nur die Ereignisse frei, die Sie für die Anwendung benötigen. Werden zu viele Ereignisse versendet, kann sich das negativ auf das Verhalten der Anwendung auswirken. |
Eingänge
VAR_INPUT
nPushButtonEvent : UINT;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
nPushButtonEvent | UINT | Diese Variable enthält die einzelnen Ereignisse des Tasters, welche durch die jeweiligen Bits repräsentiert werden. |
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.
Ausgänge
VAR_OUTPUT
bPushButton : BOOL;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
nPushButton | BOOL | Diese Variable gibt den statischen Zustand des Tasters wieder, welcher auf Grundlage der einzelnen Ereignisse ermittelt wurde. |
Beispiel
Das Beispiel zeigt, wie die Ereignisse eines 4-fach DALI-Taster in vier einzelne Variablen umgewandelt werden.
PROGRAM Demo_ST
VAR
fbSwitchPanel : FB_DALI_Lunatone_Cross_Switch(Communication.fbKL6821Communication);
bInitialize : BOOL;
bError : BOOL;
bInitializing : BOOL;
aToPushButtonState : ARRAY [1..4] OF FB_DALI_ToPushButtonState();
aPushButton : ARRAY [1..4] OF BOOL;
END_VAR
Programmteil in strukturiertem Text:
fbSwitchPanel( bInitialize := bInitialize,
nShortAddress := 0,
bInitializing => bInitializing,
bError => bError);
aToPushButtonState[1](nPushButtonEvent := fbSwitchPanel.nPushButton1Event,
bPushButton => aPushButton[1]);
aToPushButtonState[2](nPushButtonEvent := fbSwitchPanel.nPushButton2Event,
bPushButton => aPushButton[2]);
aToPushButtonState[3](nPushButtonEvent := fbSwitchPanel.nPushButton3Event,
bPushButton => aPushButton[3]);
aToPushButtonState[4](nPushButtonEvent := fbSwitchPanel.nPushButton4Event,
bPushButton => aPushButton[4]);
Programmteil im Funktionsplan (engl. Continuous Function Chart) (CFC):

Voraussetzungen
Entwicklungsumgebung | Erforderliche SPS-Bibliothek |
---|---|
TwinCAT ab v3.1.4024.25 | Tc3_DALI ab v3.10.5.0 |