Unterstützte M-Funktionen
Die unterstützen M-Funktionen werden in der SEW Robot Language durch einen IEC-Funktionsaufruf (CallFunction) als auszulösendes Ereignis eines Bahnereignisses (PathEvent) abgebildet. Dadurch wird der IEC-Funktionsaufruf am Anfang des folgenden Bahnsegmentes aufgerufen. Die maschinenspezifische Funktionalität, wie beispielsweise das Ein- oder Ausschalten von Werkzeugen, muss durch den Programmierer in der IEC selbst festgelegt werden. Die Bezeichnungen der M-Funktionen in der Übersichtstabelle dienen nur der Orientierung. Der G-Code Import überträgt hierzu die angegebene Zahl der M-Funktion auf den Index des IEC-Funktionsaufrufs. Die Anzahl der in einem Bahnsegment ausführbaren M-Funktionen ist auf 64 limitiert. Weitere M-Funktionen können erst im nachfolgenden Bahnsegment aufgerufen werden. Weitere Informationen finden Sie in den Kapiteln IEC-Funktionsaufruf und Bahnereignis.
HINWEIS

Stellen Sie sicher, dass vor Ausführen des G-Codes alle benötigten Indizes der M-Funktionen als IEC-Funktionsaufruf im Anwenderprogramm in der IEC implementiert wurden. Zudem muss der implementierte IEC-Funktionsaufruf beim ersten Aufruf "TRUE" als Ergebnis zurückliefern. Andernfalls wird bei Auslösen des Bahnereignisses ein Fehler während der Programmausführung auftreten, der zu einem Not-Halt der Applikation führt.
Das folgende Beispiel zeigt die Umsetzung des G-Code in die SEW Robot Language und die daraus resultierenden Schaltzeitpunkte.
G1 X0 Y0
M3
G1 X350
M4
G1 Y350
M5
G1 X0
M543
G1 Y0
M30
Bahnereignisse können mittels aktiviertem Stift (Pen, im ControlPanel der 3D-Simulation) aufgezeichnet werden. Eine Kugel markiert die Position auf der Bahn, an welcher die M-Funktion ausgeführt bzw. das Bahnereignis ausgelöst wurde.
HINWEIS

Befindet sich kein Fahrbefehl zwischen dem Ende des Programms (END_PROG) und dem Ende des eines registrierten Bahnereignisses (REG_PATH_EVENT), fügt der G-Code Import automatisch einen leeren linearen Fahrbefehl hinzu (LIN_EXPLICIT ohne Koordinaten).
Der leere lineare Fahrbefehl ist notwendig, damit ein Bahnereignis am Ende des Programms zulässig ist. Dies bewirkt, dass der zuletzt eingegebene Punkt (durch X, Y, Z, A…) erneut angesteuert und ein Genauhalt durchgeführt wird.
Wird das importierte G-Code Programm als Unterprogramm mittels des SEW Robot Language Befehls CALL_PROG aufgerufen und es trifft die oben beschriebene Situation auf dieses G-Code Programm zu, dann wird vor dem Verlassen des Unterprogramms ein Genauhalt ausgeführt. Soll beim Verlassen kein Genauhalt ausgeführt werden, ist das Registrieren eines Bahnereignisses am Ende des Unterprogramms zu vermeiden.
In folgendem Beispielprogramm ist ein leerer Fahrbefehl vor Verlassen des Programms notwendig. Hier eine Bahn, bei welcher zu Beginn eine Aktion ein und am Ende ausgeschaltet wird:
G1 X0
M3 ;Einschalten
G1 X250
M4 ;Ausschalten
M30
Die verfügbaren M-Funktionen finden Sie im Kapitel Übersicht. (HINWEIS: Der Index 65535 ist der maximal zulässige Index für M-Funktionen).
Bei M0, M1, M3..29, M31..47, M50..59, M61..M65535 muss der Anwender die gewünschte Aktion (z. B. einen bestimmten frei wählbaren Ausgang setzen) in der IEC-CallFunction selbst programmieren. Es können entsprechende IEC-Code-Beispiele importiert werden. Siehe dazu Kapitel CallFunctions für G-Code.