# Anwendung der Funktionsbausteine für den Satzvorlauf

Nachfolgend sind die 4 Teilaufgaben bei der Implementierung des Satzvorlaufs aufgeführt, sowie die dazu verwendeten Funktionsbausteine:

## Teilaufgabe 1: Erfassen der Daten einer Abbruchstelle

Bei jedem Reset sind die aktuellen Daten der Ausführung des NC-Programms zu sichern, damit der Satzvorlauf auf diese Unterbrechungsstelle möglich ist. Der FB MCV_ReadActualPathInfo liefert die entsprechenden Informationen. Er sollte deshalb zyklisch aufgerufen werden und immer aktiviert sein.

## Teilaufgabe 2: Parametrierung des Satzvorlaufs

Damit ein NC-Programm im Satzvorlaufmodus läuft, müssen vor dem Start des NC-Programms die Parameter für den gewünschten Satzvorlauftyp zum Motion Controller gesendet werden. Dies wird ausgelöst, indem der "Execute"-Eingang auf TRUE gesetzt wird. Für jeden verfügbaren Satzvorlauftyp ist ein FB in der Bibliothek definiert:

- Satzvorlauf definiert über Satzzähler: MCV_BlockSearchSetBlockCount
- Satzvorlauf definiert über Satznummer: MCV_BlockSearchSetBlockNumber
- Satzvorlauf definiert über Dateioffset: MCV_BlockSearchSetFileOffset

## Teilaufgabe 3: Handshake mit dem Motion Controller

Der Start eines NC-Programms im Satzvorlauf erfolgt auf dieselbe Art und Weise wie ohne Satzvorlauf. Ist aber durch die Parametrierung ein Satzvorlauftyp aktiviert worden, wird die SPS nach dem Start des NC-Programms über diesen Umstand informiert und kann entsprechende Maßnahmen durchführen. Das Ende dieser Vorbereitungen quittiert wiederum die SPS zum Motion Controller, der anschließend das Auffinden der Fortsetzposition meldet, was wiederum durch die SPS quittiert wird.

Für diese Aufgabe wird der FB MCV_BlockSearchCtrl eingesetzt.

## Teilaufgabe 4: Deaktivieren des Satzvorlaufs

Auch nach Ende des NC-Programms ist der Satzvorlauftyp weiterhin aktiviert. Damit dieser beim nächsten Programmstart nicht mehr aktiv ist, muss er abgeschaltet werden. Hierzu wird der FB MCV_BlockSearchDeselect eingesetzt.