# Synchronisation des Zugriffs durch NC-Kanal

Bei einem lesenden oder schreibenden synchronen Variablenzugriff erwartet der Anwender eventuell eine zeitliche Sequenz, wie im NC-Programm angegeben. Dieses Verhalten kann durch die Synchronisationsart der Variablen festgelegt werden.

Ein asynchroner Lese-/Schreibzugriff (siehe Bild, Fall b)) wird unmittelbar während der Dekodierung des NC-Programms durchgeführt.

Da die NC-Programmdekodierung in einer planerischen Phase zeitlich vor der eigentlichen Abarbeitung der NC-Befehle durchgeführt wird, darf ein synchronen Variablenzugriff dann nicht einfach während der Programmdekodierung durchgeführt werden, sondern muss zur aktuellen Programmabarbeitung (Achsbewegung) synchron erfolgen. Ein synchroner Zugriff wird folgendermaßen sichergestellt:

Synchrones LESEN (siehe Bild, Fall a)): Beim Lesen wird die Dekodierung solange angehalten, bis die aktuelle Programmbearbeitung an der zuletzt dekodierten NC-Programmzeile angelangt ist (implizites #FLUSH WAIT [PROG// NC-Kanal leeren]). Der Wert wird dann gelesen und dem Decoder zur Verfügung gestellt. Dann erst wird die Decodierung fortgesetzt. Da ein #FLUSH WAIT während bestimmter satzübergreifender NC- Funktionalitäten (z.B. aktiver Splineinterpolation, aktiver Werkzeugradiuskorrektur) nicht erlaubt ist, ist auch ein synchrones LESEN während dieser Funktionalität nicht möglich. In diesen Fällen wird der Fehler ID 20651 ausgegeben.

Synchrones SCHREIBEN (siehe Bild, Fall a)): Ein Schreibzugriff wird wie ein sonstiges NC-Kommando während der Dekodierung eingeplant und erst später bei der NC-Bearbeitung tat-sächlich durchgeführt.

Da diese Synchronisierung, insbesondere das Anhalten der Dekodierung bei einem Lesezugriff, unerwünschte Laufzeiteinflüsse hat, kann diese implizite Synchronisation bei der Definition der Variablen ausgeschaltet werden. Dies ist natürlich nur möglich, wenn der Zeitpunkt des Lesezugriffs nicht synchron zur Bearbeitung erfolgen muss bzw. dies durch einen expliziten Synchronisationspunkt (z.B. explizites #FLUSH WAIT) im NC-Programm sowieso sichergestellt ist.

Abb.: Asynchroner/synchroner Zugriff der Dekodierung (DEC) und Abarbeitung (BAHN) über SPS-Treiber (HLD)

## Achtung

Die Ausgabe synchronisierter V.E.-Variablen erfolgt steuerungsintern über die gleiche Schnittstelle wie die von Technologiefunktionen (M-/H-/T-Funktionen) mit der Synchronisationsart MOS. Der Anwender hat daher sicherzustellen, dass alle an dieser Schnittstelle anstehenden Daten von der SPS ausgelesen werden, da sonst die Synchronität zur Ausgabe im NC-Kanal nicht gewährleistet ist.