# MCV_ManModeKeys

An diesem Funktionsbaustein werden die Ausgänge von Tasten angeschlossen, die als Eingabeelemente zur Bewegung von Achsen im inkrementellen oder kontinuierlichen Jogbetrieb verwendet werden.

Damit die Betätigung dieser Tasten zur Bewegung einer Achse führt, müssen folgende Kriterien erfüllt sein:

Die Achsgruppe, der eine Achse angehört, muss sich in der Betriebsart Handbetrieb befinden (siehe FB MCV_GrpOperationMode).

Für die Achse muss eine der Betriebsart inkrementeller oder kontinuierlicher Jogbetrieb aktiviert und die Achse mit einem Eingabeelement verknüpft sein (siehe FB MCV_ManualMode).

Blockdiagramm

Parameter des FB

VAR_INPUT
Variablenname | Datentyp | Beschreibung
Enable | BOOL | Ist der Eingang TRUE werden die Kommandos, die an den Eingängen angelegt werden, für die jeweilige Achsgruppe (NC-Kanal) kommandiert, wenn sich diese im Handbetriebsmodus befindet.
KeyCmd | MCV_AY_MM_KEY_CMD | Über diesen Eingang werden die Signale der Tasten für den Handbetrieb übergeben, damit der Motion Controller die entsprechende Bewegung veranlasst. Es handelt sich hierbei um ein Feld mit Elementen der Datenstruktur MCV_MM_KEY_CMD. Das Feldelement [x] beeinflusst dabei alle Achsen, die mit dem Bedienelement mit der CtrlElemId = x + 1 verbunden sind (siehe FB MCV_ManMode, Datenstruktur MCV_MM_AX_SEL).

VAR_OUTPUT
Variablenname | Datentyp | Beschreibung
Valid | BOOL | Ist TRUE, wenn am Eingang „Enable“ TRUE anliegt. Der Funktionsbaustein wirkt dann auf die Achsgruppe im Handbetriebsmodus ein.
Error | BOOL | Zeigt TRUE, wenn ein Fehler aufgetreten ist.
ErrorID | INT | Fehlerkennung
KeyState | MCV_AY_MM_KEY_STATE | Über diesen Ausgang werden die Signale der Tasten für den Handbetrieb ausgegeben. Es handelt sich hierbei um ein Feld mit Elementen der Datenstruktur MCV_MM_KEY_STATE.

## Achtung

Wenn Achsen in unterschiedlichen Achsgruppen, die sich in der Betriebsart Handbetrieb befinden, mit demselben Tastenpaar verbunden wurden, bewegen sich alle diese Achsen, wenn eine Taste des Tastenpaares betätigt wird.

## Datenstruktur MCV_MM_KEY_CMD

Diese Struktur wird dazu verwendet, die Signale für die Bewegung der Achsen im inkrementellen oder kontinuierlichen Jogbetrieb an den Motion Controller zu übertragen. Die Strukturvariablen werden wie folgt genutzt:

- PosDir: wird mit TRUE belegt, wenn durch das Tastenpaar die verbundenen Achsen in positiver Achsrichtung bewegt werden sollen.
- NegDir: wird mit TRUE belegt, wenn durch das Tastenpaar die verbundenen Achsen in negativer Achsrichtung bewegt werden sollen.
- Rapid: wird mit TRUE belegt, wenn die verbundenen Achsen die Bewegung in Eilganggeschwindigkeit ausführen sollen.

## Datenstruktur MCV_MM_KEY_STATE

Diese Datenstruktur zeigt den aktuellen Zustand eines Tastenpaares an.

- PosDirAct: zeigt TRUE, wenn positive Verfahrrichtung ist beauftragt ist.
- NegDirAct: zeigt TRUE, wenn negative Verfahrrichtung ist beauftragt ist.
- RapidAct: zeigt TRUE, wenn Eilgangsgeschwindigkeit angewählt ist.

- PosDirAvail: TRUE zeigt an, dass positive Verfahrrichtung nicht angewählt ist.
- NegDirAvail: TRUE zeigt an, dass negative Verfahrrichtung nicht angewählt ist.
- RapidAvail: TRUE zeigt an, dass Eilgangsgeschwindigkeit nicht angewählt ist.