M0 Geplanter Halt
Die Interpretation des Programmcodes und die Bewegung wird an dieser Stelle unterbrochen, bis der Anwender die Freigabe setzt. Hierzu wird an der Stelle des M0-Befehls durch den G-Code Import der SRL-Befehl WAITMOTION DONE
vor dem Aufruf der CallFunction mit Index 0 eingefügt. Es wird hierbei kein Bahnereignis verwendet. Die Auswertung der Freigabebedingung erfolgt erst nach vollständiger Ausführung der Bewegung des vorhergehenden Segments.
Die Funktionalität des geplanten Halts ist als IEC-Codebeispiel importierbar. Das Beispiel kann angepasst und verwendet werden. Siehe dazu Kapitel CallFunction für G-Code.
Das nachfolgende G-Code Beispiel zeigt den Import des M0-Befehls:
G1 X0 Y0
G1 X350
M0
G1 Y350
G1 Y0
M30
HINWEIS
Auch wenn die Freigabe zur Weiterfahrt vor Erreichen der CallFunction 0 (N40
) bereits gesetzt wurde, entsteht durch den WaitMotion Done Befehl ein Rastpunkt. Es wird nicht auf den nachfolgenden Bewegungsbefehl übergeschliffen. Die nachfolgenden Bewegungsbefehle werden erst interpretiert, wenn die Bewegungen vor WaitMotion Done abgeschlossen und die CallFunction mit Index 0 den Wert "TRUE" zurückliefert.
Die Freigabebedingung ist durch den Anwender in der CallFunction mit Index 0 zu programmieren. Solange der Anwendercode den Wert "FALSE" in der CallFunction zurückgibt, bleibt der Programminterpreter an dieser Stelle stehen (CallF := FALSE). Es werden keine neuen Bewegungsbefehle interpretiert. Die Weiterfahrt wird erst fortgesetzt, wenn der Anwendercode in der CallFunction den Wert "TRUE" zurückgibt (CallF := TRUE)
In folgendem Beispiel, wird die Weiterfahrt erst ermöglicht, wenn die SRL-BOOL-Variable mit Index 80 auf "TRUE" gesetzt wurde. Der Anwender kann an dieser Stelle aber auch andere Bedingungen oder Eingänge (Digitale Eingabe / Ausgabe) verwenden.