# Steuerkommandos

Steuerkommandos werden sowohl von der CNC an die PLC als auch in die umgekehrte Richtung übertragen.

Kommuniziert eine Oberfläche (GUI) über die CNC-Kommunikationsobjekte, ist die Möglichkeit vorhanden, jedes Kommando, das sowohl von der GUI als auch der PLC bedient werden kann, über die PLC umzuleiten. Die PLC trifft dann die Entscheidung, inwieweit das GUI-Kommando an die CNC durchgesetzt werden darf.

Für jedes Steuerkommando ist auf dem HLI eine sogenannte Control Unit angelegt. Die Control Units werden nach dem Wirkungsziel unterschieden und benannt.

- Control Units, die zur Beeinflussung der CNC dienen, werden als MC-Control Units bezeichnet (LC wirkt auf MC ein)
- Control Units die zur Beeinflussung der PLC dienen, werden als LC-Control Units bezeichnet (MC wirkt auf LC ein)

Die nachfolgende Abbildung veranschaulicht die realisierte Interaktion zwischen den Teilnehmern eines Steuerungssystems unter Verwendung einer MC-Control Unit.

Abb.: Anwendung einer MC-Control Unit

Sollen Kommandos der GUI über die PLC umgeleitet werden, muss die PLC das Element enable_w mit dem Wert TRUE belegen. Die entsprechenden Steuerkommandos der GUI werden dann vor der Verarbeitung auf das Element request_r der MC-Control Unit gelegt. Damit hat die PLC die Möglichkeit, diese Anforderung der GUI zuzulassen oder abzulehnen. Wird ein Kommandierung der GUI durch die PLC erlaubt, so muss diese das Kommando vom Element request_r auf das Element command_w durch die PLC kopiert werden.

Ebenso kann die PLC Steuerkommandos an die CNC auch ohne vorherigen Auftrag durch ein GUI direkt durch Beschreiben des Elements command_w beauftragen.

Zur Kontrolle über den Erfolg der Kommandierung wird das Element state_r verwendet. Die CNC legt dort den zur Kommandierung korrespondierenden Status ab.

Eine MC-Control Unit besitzt folgende Struktur:

TYPE MC_CONTROL_UNIT:

STRUCT

request_r < DATENTYP A >; (* von GUI kommandierte Daten *)

enable_w BOOL; (* PLC bedient dieses Kommando *)

command_w < DATENTYP A >; (* von PLC kommandierte Daten *)

state_r < DATENTYP B >; (* Rückmeldung der CNC *))

END_STRUCT

END_TYPE

Anmerkung:

- < DATENTYP A > und < DATENTYP B > können identisch sein.
- < DATENTYP A > und < DATENTYP B > können neben den Standarddatentypen (z.B. BOOL, INT, UINT, ... ) auch komplexe Datenstrukturen sein.

## Weiterführende Informationen

- Control Unit mit Verbrauchskontrolle