Funktionsweise des Tasters
Die CX2100-0xx4 Netzteile verfügen alle über einen 4 Navigationstaster und eine Enter Taste. Es können als fünf Grundzustände über den Taster eingegeben werden

Button |
Wert |
Button |
Wert |
UP |
4 |
RIGHT |
32 |
DOWN |
8 |
ENTER / SELECT |
64 |
LEFT |
16 |
|
|
Darüber hinaus können auch kombinierte Eingaben also UP + RIGHT oder UP + RIGHT + ENTER erfasst werden. Jeder Wert wird einzeln als boolescher Wert zur Verfügung gestellt und kann in der SPS verknüpft werden.

Über eine TwinCAT-Funktion können die Werte des Tasters als nummerischer Wert ausgewertet werden. Über den Wert ist auch einen Kombination der Tasten auswertbar. In einem SPS-Programm kann auf das Register zugegriffen werden und der Wert ausgewertet werden. Dazu muss in dem SPS-Programm zunächst eine Variable vom Type USINT angelegt werden. Diese wird dann als Parameter in der Funktion „F_CXNaviSwitchUSB“ aufgerufen. Das Codefragment zeigt die Deklaration der benötigten Variablen.
PROGRAM MAIN
VAR
bUp AT %I* : BOOL;
bDown AT %I* : BOOL;
bLeft AT %I* : BOOL;
bRight AT %I* : BOOL;
bEnter AT %I*
: BOOL;
bToggle AT %I* : BOOL;
Taster : USINT; (* als Summenwert *)
eNaviSwitchCx2 : E_CX2100_NaviSwitch;
END_VAR

(* get navi switch *)
eNaviSwitchCx2 := F_CXNaviSwitchUSB(Taster);
Über die Variable Taster kann jetzt im SPS-Programm auf den Taster zugegriffen werden. Über ein einfaches CASE-Statement kann der Schalter dann ausgewertet, und die gewünschte Funktion initiiert werden z.B.:
CASE Taster OF
4 : ACTION := UP;
8 : ACTION := DOWN;
16: ACTION := LEFT;
32: ACTION := RIGHT;
64: 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 (4) und RIGHT (32) wäre dann 4 + 32 = 36 (Rechts-Oben). Werte sind: {UP (4), DOWN(8), LEFT(16), RIGHT(32) und ENTER(64)} sind auf diese Weise nur sinnvolle Kombinationen möglich.