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

Funktionsweise des Tasters 1:

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.

Funktionsweise des Tasters 2:

Ü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
Funktionsweise des Tasters 3:
(* 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.