BECKHOFF CX1100-000x Benutzerhandbuch
Seite 23

Produktübersicht
Embedded-PC
21
PROGRAM MAIN
VAR
Taster AT %IB0 : USINT;
END_VAR
Über ein einfaches CASE-Statement kann der Schalter dann ausgewertet, und die gewünschte Funktion initiiert
werden z.B.:
CASE Taster OF
0:
ACTION := NONE;
1:
ACTION := UP;
2:
ACTION := DOWN;
4:
ACTION := LEFT;
8:
ACTION := RIGHT;
16:
ACTION := SELECT;
END_CASE;
In diesem Fall ist "ACTION" ein neu definierter ENUM-Type. Es kann auch die gewünschte Aktion sofort aktiviert
werden.
Für die kombinierten Funktionen werden die Zahlwerte addiert. Also UP (1) und RIGHT (8) wäre dann 8 + 1 = 9
(Rechts-Oben). Es sind auf diese Weise nur sinnvolle Kombinationen möglich also Gegenüber liegende
Schalterpositionen sind ohne Zerstörung des Schalters nicht anwählbar.
Will man die Auswertung nicht selbst vornehmen, so stellt das TwinCAT-System eine Bibliotheksfunktion bereit, die
die Umwandlung der Tastereingabe in einen ENUM-Type realisiert. Dazu muss zuerst die Bibliothek für die CX-
Systeme: TcSystemCX.lib im Bibliotheksverwalter eingebunden werden. Die Funktion heißt "
F_CXNaviSwitch(iCX1100_IN : USINT) " und liefert einen ENUM-Type. Dieser codiert namentlich die gedrückte
Richtung des Schalters also z.B. e_CX1100_NaviSwitch_MIDDLE für <Mitte>. Alle gültigen Varianten lauten:
e_CX1100_NaviSwitch_IDLE
e_CX1100_NaviSwitch_MIDDLE
e_CX1100_NaviSwitch_TOP
e_CX1100_NaviSwitch_TOPRIGHT
e_CX1100_NaviSwitch_RIGHT
e_CX1100_NaviSwitch_BOTTOMRIGHT
e_CX1100_NaviSwitch_BOTTOM
e_CX1100_NaviSwitch_BOTTOMLEFT
e_CX1100_NaviSwitch_LEFT
e_CX1100_NaviSwitch_TOPLEFT
e_CX1100_NaviSwitch_MIDDLE_TOP
e_CX1100_NaviSwitch_MIDDLE_TOPRIGHT
e_CX1100_NaviSwitch_MIDDLE_RIGHT
e_CX1100_NaviSwitch_MIDDLE_BOTTOMRIGHT
e_CX1100_NaviSwitch_MIDDLE_BOTTOM
e_CX1100_NaviSwitch_MIDDLE_BOTTOMLEFT
e_CX1100_NaviSwitch_MIDDLE_LEFT
e_CX1100_NaviSwitch_MIDDLE_TOPLEFT