Herunterladen Inhalt Inhalt Diese Seite drucken

Beckhoff CX1100-00 series Hardware Dokumentation Seite 24

Inhaltsverzeichnis

Werbung

Produktübersicht
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
Weitere Details zu der Funktion sind in der  Dokumentation zu TwinCAT nachzulesen. In einem Programm
kann die Funktion wie folgt eingesetzt werden: (die Deklaration und Verknüpfung sind wie im oberen Beispiel
angegeben)
CASE F_CXNaviSwitch(Taster) OF
e_CX1100_NaviSwitch_IDLE            :;          (* do nothing *)
e_CX1100_NaviSwitch_MIDDLE              :call_select;   (* select item *)
e_CX1100_NaviSwitch_TOP             :call_prev_item;(* previous menue item *)
e_CX1100_NaviSwitch_RIGHT               :call_inc_value;(* increase value *)
e_CX1100_NaviSwitch_BOTTOM              :call_next_item;(* next menue item *)
e_CX1100_NaviSwitch_LEFT            :call_dec_value;(* decrease value *)
END_CASE;
Die weitere Auswertung der Schaltereingabe erfolgt dann auch hier im fortlaufenden Programm.
24
Version: 2.1
CX1100-00xx

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis