L_MC4P_PathRefFromFile

Dieser Funktionsbaustein (FB) liest eine vorhandene Path-Datei (*.txt) und stellt die Daten "MC_PATH_REF" der Applikation bereit. Der FB ist eine Schnittstelle vom Typ MC_PATH_REF und kann direkt mit einem Eingang vom Typ MC_PATH_REF eines anderen FBs verbunden werden, z. B. über den Eingang PathData des FB MC_MovePath.

 

 

 

L_MC4P_PathRefFromFile

 

 

 

BOOL

-

xExecute

   

xDone

-

BOOL

STRING

-

sFileName

   

xBusy

-

BOOL

BOOL

-

xAbort

   

xDecoding

-

BOOL

DWORD

-

dwSkipMask

   

xCommandAborted

-

BOOL

LINT

-

iBlockSearchLineNo

 

 

xError

-

BOOL

 

 

 

 

 

eErrorID

-

L_IE1P_Error

 

 

 

 

 

liLineNoDecoded

-

INT

 

 

 

 

 

sLineDecoded

-

STRING

 

 

 

 

 

 

 

 

Eingänge

Name

Datentyp

Info/Einstellmöglichkeiten

xExecute

BOOL

FALSEäTRUE

Mit der steigenden Flanke des Eingangs xExecute wird das Auslesen und Dekodieren der Datei aus dem Eingang sFileName gestartet.

sFileName

STRING

Name der Bahndatei

Die Bahndatei ist eine Abfolge von Fahraufträgen mit Randbedingungen, die in einer ASCII-Datei auf der Steuerung abgelegt ist. Bitte verwenden Sie für den Dateinamen die Standard-Extension *.lpp, diese Buchstaben stehen für ’LenzePathProfile’.

 

Wie Sie eine Bahndatei speichern und darauf zugreifen, ist beschrieben in den Abschnitten

  • Speichern einer Bahndatei auf der Steuerung

  • Zugriff auf die Bahndatei

Tipp: Nach Abschluss der Dekodierung (xDone = TRUE) kann durch eine erneute steigende Flanke an xExecute eine weitere über sFileName definierte Bahndatei angehängt werden. So können mehrere Dateien nacheinander abgefahren werden.

xAbort

BOOL

FALSEäTRUE

Abarbeitung des FBs abbrechen

dwSkipMask

DWORD

Bitcodierter Steuereingang für Ausblendebenen.

iBlockSearchLineNo

LINT

Eingang = 0 : Startsatzsuche ist deaktiviert (default)

Eingang <> 0 : Zeilennummer des Startsatzes

 

Ausgänge

Name

Datentyp

Wert/Bedeutung

xDone

BOOL

TRUE

Bearbeitung ist abgeschlossen

xBusy

BOOL

TRUE

Abarbeitung läuft.

xDecoding

BOOL

TRUE

Die Dekodierung der ASCII-Datei ist aktiv.

FALSE

Die Dekodierung der Bahndatei wurde angehalten, weil:

  • Das Ende des Programms wurde erreicht. Das Endezeichen ist ein Funktionsbefehl, z. B. M2 oder M30.

  • Der Speicher mit den dekodierten Sätzen vollgelaufen ist und auf die Weiterverarbeitung der Sätze durch den FB MC_MovePath gewartet wird.

Tipp: Es können maximal 30 Fahraufträge im Voraus vorbereitet werden.

xCommandAborted

BOOL

TRUE

Die Dekodierung der ASCII-Datei wurde abgebrochen, weil:

  • Der Eingang xAbort aktiviert ist.

  • Der FB MC_MovePath mit der Interpolation der dekodierten Sätze abgebrochen wurde.

xError

BOOL

TRUE

Es ist ein Fehler aufgetreten. Details siehe ErrorID.

eErrorID

L_IE1P_Error

Wenn Error = TRUE: Fehlernummer zum aufgetretenen Fehler.

Referenzhandbuch "FAST Technologiemodule":

Hier finden Sie Informationen zu Fehler- oder Warnungsmeldungen.

liLineNoDecoded

INT

Anzeige der gerade dekodierten Zeilennummer aus der ASCII-Datei

  • Wenn die Adresse "N" in der ASCII-Datei vorkommt, wird während der Abarbeitung die Nummer angezeigt, die momentan unter der Adresse "N" gelesen wird.

  • Wenn die Adresse "N" in der ASCII-Datei nicht vorkommt, wird die tatsächlich gelesene Zeilennummer angezeigt.

sLineDecoded

STRING

Anzeige derjenigen Programmzeile, die bereits dekodiert ist.

Abweichende Anzeige bei einem Syntaxfehler:

Falls ein Syntaxfehler in einer Programmzeile enthalten sein sollte, wird ausschließlich dieser angezeigt.

Prüfung auf folgende Syntaxfehler im Programm:

  • Unzulässiges Wort/Befehl

  • Kein Trennzeichen zwischen Wörtern

  • Nicht eindeutige Programmanweisungen, z. B. Kreis und Geradeninterpolation

  • Ungültiger Variablenname

Speichern einer Bahndatei auf der Steuerung

Über den »PLC Designer« ist es möglich, direkt auf die SD-Karte zuzugreifen. Speichern Sie die von ihnen erstellte Bahndatei abhängig vom Typ des Lenze-Controllers in diesem Verzeichnis:

Lenze-Controller mit Betriebssystem Windows CE, z. B. c3200: /USBStorage/IPC/PLC/MovePathData/

 

Lenze-Controller mit Betriebssystem Linux, z. B. c5xx: /sdcard/plc/MovePathData/

Zugriff auf die Bahndatei

Der Zugriff auf die Bahndatei erfolgt über L_MC4P_PathRefFromFile.sFileName:

  • Bei Verwendung der Standard-Extension *.lpp genügt es, hier den Dateinamen ohne Pfadangabe anzugeben. Beispiel:
    L_MC4P_PathRefFromFile.sFileName := 'Path1.lpp'
    Diese Datei wird dann in den Standardverzeichnissen (s. o.) der Controller gesucht.
  • Bei einer abweichenden Datei-Extension (z. B. Path2.txt) müssen Sie den kompletten Zugriffspfad mit angeben. Beispiel auf einem c5xx:
    L_MC4P_PathRefFromFile.sFileName := '/sdcard/plc/MovePathData/Path2.txt'
Zyklischer Aufruf durch das PLC-Programm
  • Der FB muss zyklisch aufgerufen werden, wenn bei laufender Applikation die ASCII-Datei eingelesen oder dekodiert wird.
  • Der FB muss nicht zyklisch aufgerufen werden, wenn die Dekodierung der ASCII-Datei abgeschlossen ist.
Verknüpfung des FBs

Der FB kann direkt mit einem Eingang (Typ MC_PATH_REF) eines anderen FBs verbunden werden.

Beispiel:

Verknüpfung mit dem Eingang PathData des FBs MC_MovePath

Programm für die Dekodierung übergeben

Das Programm wird über den Eingang sFileName übergeben. Am Eingang sFileName wird der Name des Programms im Datentyp STRING erwartet.

Das Programm sollte auf dem Controller unter dem Pfad "USBStorage\IPC\PLC\MovePathData" abgelegt werden, alternativ auf der SD-Karte unter "\IPC\PLC\MovePathData\".

Starten der Dekodierung

Der Bediener kann den aktuellen Status der ASCII-Datei-Abarbeitung über den Ausgang liLineNoDecoded verfolgen. Der Ausgang liLineNoDecoded zeigt, welche Zeilennummer im ASCII-Programm unter der Adresse "N" (z. B. N010) gerade dekodiert wird.

Das Dekodieren einer ASCII-Datei wird über die steigende Flanke des Eingangs xExecute gestartet. Der Ausgang xDecoding wird gesetzt, solange im Hintergrund die Dekodierung der ASCII-Datei ausgeführt wird. Maximal können 30 Fahraufträge im Voraus vorbereitet werden. In diesem Fall wird die Dekodierung angehalten und der Ausgang xDecoding = FALSE gesetzt. Die nachfolgenden Fahraufträge werden nach und nach abgefahren, sobald die bestehenden Fahraufträge von MC_MovePath abgefahren sind.

Mehrere Programme vorbereiten

Durch die Verwendung mehrerer Instanzen des FBs L_MC4P_PathRefFromFile ist es möglich, mehrere Bahndateien ohne Unterbrechung zu dekodieren und diese über MC_MovePath abzufahren.

Die Dekodierung des Programms hat einen Vorlauf von bis zu 30 Fahraufträgen gegenüber der Interpolation im MC_MovePath.

Wenn die Bahndatei zu Ende dekodiert ist, wird der Ausgang xDone = TRUE gesetzt. Zu dieser Zeit werden die bereits dekodierten Fahraufträge von MC_MovePath interpoliert.

Mit dem Status xDone = TRUE kann eine neue oder dieselbe Bahndatei an den Eingang sFileName und mit der steigenden Flanke xExecute zur Dekodierung beauftragt werden.

Der FB L_MC4P_PathRefFromFile dekodiert die Fahraufträge und hängt diese zu den Fahraufträgen aus der letzten Bahndatei ein.

Im MC_MovePath werden die Fahraufträge aus der alten Bahndatei und die Fahraufträge aus der neuen Bahndatei ohne Unterbrechung als ein Ganzes interpoliert.

Syntax nach DIN 66025

Eine Bahndatei ist eine ASCII-Datei, die im Speicher der Steuerung abgespeichert ist. In der Bahndatei stehen Befehle und Anweisungen, die eine Bahn für eine Kinematik beschreiben. In diesem Kapitel wird die Programmierungssyntax der Bahndatei "PathFile" erläutert. Hierbei werden der Programmaufbau sowie die Befehle und Anweisungen, die zur Festlegung einer Bahn notwendig sind, beschrieben.

Aufbau eines Programms

Der ASCII-Interpreter dekodiert die vorgesehenen Wörter in der Syntax nach DIN-66025. Damit ist die Struktur des Programms in der ASCII-Datei fest vorgeschrieben.

Ein Programm startet dann, wenn ein Startzeichen gelesen wird. Fehlt so ein Startzeichen im gesamten Programm, wird mit der ersten Zeile der Dekodierung gestartet.

Die Dekodierung wird beendet, wenn ein Endezeichen gelesen wird. Fehlt ein Endzeichen im Programm, ist das Programm mit der letzten Zeile zu Ende.

Ein Satz besteht aus mehreren Wörtern und einem Satzende-Zeichen. Das Satzende-Zeichen ist das sogenannte Zeilenumbruch-Zeichen, welches im Texteditor unsichtbar ist.

Die Wörter werden durch das Leerzeichen oder den Tabulator voneinander getrennt. Ein Wort besteht immer aus einer Adresse und einem Zahlenwert. Beispielsweise ist das Wort für die Zeilennummer "N10" aufgebaut aus der Adresse "N" und dem Zahlenwert "10". Führende Nullen werden grundsätzlich ignoriert, d.h. N0010 und N10 sind gleichwertig.

Die Dekodierung der Adressen und sonstigen Syntax ist nicht Case-Sensitiv, d. h. n10 und N10 werden gleichbehandelt.

Jedes Wort hat eine selbsthaltende Funktion. Das heißt wird einem Adressbuchstaben ein Zahlenwert vorgegeben, gilt dieser Wert so lange, bis der Wert geändert wird. Die Wörteranzahl in einem Satz ist nach der Norm nicht beschränkt. Weiterhin dürfen beliebige Wörter in der beliebigen Kombination in einem Satz programmiert werden. Die Satzlänge darf maximal 255 ASCII-Zeichen einschließlich Kommentare enthalten.

Falls es zweideutige Anweisungen wie beispielsweise eine Kreis-Interpolation und eine Geraden-Interpolation in einem Satz auftauchen, so wird dieser Fall als Syntaxfehler interpretiert.

Aufbau eines Programms

Syntaxprüfung

Die Syntax wird zur Laufzeit der Dekodierung geprüft. Damit wird ein Syntaxfehler erst dann erkannt, wenn die entsprechende Zeile gelesen und in einem Fahrauftrag dekodiert wird.

Ein Syntaxfehler wird in folgenden Fällen interpretiert:

Im Falle eines Syntaxfehlers wird der Ausgang xError = TRUE geschaltet und die entsprechende Fehlerkennung über den Ausgang eErrorID ausgegeben. Im Ausgang sLineDecoded wird die Zeile, in der der Syntaxfehler interpretiert worden ist, ohne Kommentare angezeigt. Am Ausgang liLineNoDecoded wird die zugehörige Zeilennummer ausgegeben.

Programmstart und Startzeichen

Das Startzeichen ist als Prozentzeichen (%) in der Norm DIN 66025 festgelegt. Vor dem Startzeichen können beliebige Informationen und Texte stehen. Ein Programm startet, wenn ein Startzeichen gelesen wird. Fehlt so ein Startzeichen im gesamten Programm, wird mit der ersten Zeile der Dekodierung gestartet.

Programmende

Das Programmende wird mit einem Funktionsbefehl gekennzeichnet. Es gibt drei Möglichkeiten, ein Programm zu beenden. Mit dem Befehlswort "M2" oder "M30" wird das Programm beendet. Alle Zeilen nach dem Programmende werden nicht mehr gelesen und dekodiert. Fehlt ein Befehl zum Programmende, ist das Programm mit der letzten Zeile in der ASCII-Datei zu Ende.

Kommentare

Ein Kommentar wird zwischen zwei runden oder geschweiften Klammern geschrieben. Ein kompletter Satz kann mit dem Slash-Zeichen (/) auskommentiert werden. Jeder Kommentar wird überlesen und nicht dekodiert.

Im folgenden Beispiel ist die Anwendung von Kommentaren in einem Programm dargestellt:

Ausnahme sind mathematische Ausdrücke innerhalb der Zeile. In diesem Fall sind Slash und Klammerungen mathematische Zeichen. Kommentare innerhalb von mathematischen Ausdrücken sind daher nicht zulässig.

Ausblendebenen steuern über dwSkipMask

Eine Ausblendebene ist ein Kommentar, der aus der Applikation heraus aktiviert/deaktivert werden kann. Eine Ausblendebene besteht aus einem "/" mit direkt (kein Leer- oder anderes ASCII-Zeichen) folgender ganzzahliger Nummer von 0 … 31 oder einer Variablen, Mit dwSkipMask.<x> := TRUE werden alle Zeilen, die mit /<x> gekennzeichnet sind, als Kommentar ausgewertet und ausgeblendet, wie das folgende Beispiel zeigt:

dwSkipMask wird zum Zeitpunkt der Dekodierung der jeweiligen Zeile vom FB gelesen und kann daher auch zur Laufzeit verändert werden.Bei der Anpassung der Ausblendebenen zur Laufzeit wird dringend empfohlen, über einen quittierpflichtigen Interpreterhalt (G75) die Synchronität von Dekodierung und Applikation zu gewährleisten.

Ausblendebenen können beliebig innerhalb einer Zeile stehen.

Es können mehrere unterschiedliche Ausblendebenen innerhalb derselben Zeile verwendet werden.

Ungültige Ausblendebenensyntax (z. B außerhalb des Wertebereiches. /38 N001 G1 X0 Y0) werden als normaler Kommentar gewertet und immer komplett ignoriert.

Als Ausblendebene können Variablen (z. B. /$Var1$ N001 G1 X0 Y0) verwendet werden, jedoch keine Gleichungen.

 

Startsatzsuche

Die Startsatzsuche ermöglicht es, ein mit N-Wörtern versehenenes NC-Programm ab einer definierten Zeilennummer auszuführen.

Typische Anwendungsfälle sind der Test von Teilabschnitten von NC-Programmen oder das Fortsetzen der Programmabarbeitung nach einer Unterbrechung.

Es ist ebenfalls möglich, mittels der Funktion Startsatzsuche eine Syntaxprüfung des NC-Programms vor der Interpolation durchzuführen

 

Bei der Startsatzsuche ist es notwendig, den gesamten Programmkontext des PLC-Programms wiederherzustellen, d. h. die Konfigurationsbefehle (M-Befehle, Verschleifen aus/an, weitere Bewegungsparameter usw.) werden auch vor dem Startsatz wie im Normalbetrieb berücksichtigt. Lediglich die Fahrbefehle (G00 … G04) werden bei der Startsatzsuche vernachlässigt bzw. nicht interpoliert.

Quittierpflichtige M-Funktionen müssen auch vor dem Startsatz am MC_MovePath quittiert werden.

 

Verwendung der Startsatzsuche

Die Startsatzsuche wird über die FBs L_MC4P_PathRefFromFile und MC_MovePath bedient.

Über den Eingang L_MC4P_PathRefFromFile.liBlockSearchLineNo wird die Zeilennummer vorgegeben, ab der eine Interpolation des NC-Programms erfolgen soll. Bis zum Finden der vorgegebenen Zeilennummer werden alle NC-Befehle durch den L_MC4P_PatzhRefFromFile durch eine interne Kennung markiert. Im FB MC_MovePath werden alle derart markierten Befehle ohne Interpolation abgearbeitet.

Ist der Startsatz gefunden, wird dieser am MC_MovePath.SourceLine ausgegeben, zusammen mit dem Status MC_MovePath.WaitingForAckBlockSearch. Wird der Start des Programms am MC_MovePath.AckBlockSearch quittiert, beginnt die Abarbeitung des NC-Programms ab dem gefundenen Startsatz.

 

Eigenschaften der Startsatzsuche

 

Geometrische Anweisungen

Alle Orts- und Orientierungsangaben im Koordinatenraum werden als geometrische Anweisungen bezeichnet. Alle Geometriedaten sind in der Norm DIN-66217 festgelegt.

Koordinatensystem nach DIN-66217:

Orts- und Orientierungsangabe:

Das folgende Beispiel definiert einen Ort im Raum:

X100 Y-25 Z10.54 (entspricht den Koordinatenpunkt X= 100Unit, Y= -25Unit und Z=10,54Units)

Ebenenauswahl

Für eine bestimmte Fahranweisung wird nach der Norm eine Ebenenangabe vorausgesetzt. Dabei werden insgesamt drei Grundebenen mit Normalenvektoren in X, Y und Z Richtung definiert. Mit dem G17-Wort wird die X-Y-Ebene ausgewählt, mit dem G18-Wort die X-Z-Ebene und mit G19-Wort die Y-Z-Ebene.

Absolute und relative Maßangabe

Nach der Norm gibt es die Möglichkeit zwischen absoluten und relativen Maßangaben zu wechseln. Mit dem Wort G90 werden alle Angaben als absolute Werte vorgegeben. Mit dem Wort G91 werden die Werte relativ vorgeben. Die Maßangeben mit den Wörtern G90 und G91 beziehen sich auf die Koordinaten: X, Y, Z, A, B, C, U, V, W.

Das folgende Beispiel zeigt den Unterschied zwischen absoluten und relativen Maßangaben:

Wenn ein G91-Wort aufgerufen wird, werden die Werte relativ vorgegeben, d. h. die vorgegeben Werte werden zu den aktuellen addiert. Falls in einem Programm keine G90- oder G91-Wörter existieren, wird standardmäßig das G90-Wort für die absolute Maßangabe aktiv. Die Reihenfolge der Wörter innerhalb eines Satzes spielt keine Rolle. Die Wörtern G90 und G91 können an beliebiger Stelle im Satz geschrieben werden. Wenn die Wörter G90 und G91 innerhalb eines Satzes stehen, wird dies als Syntaxfehler interpretiert. Für die Interpolations-Koordinaten I, J und K werden separate Wörter G98 und G99 für die absolute oder relative Maßangabe verwendet. Mit dem Wort G98 wird die absolute Maßangabe für I, J und K unabhängig von der Maßangabe der Hauptkoordinaten verwendet. Für die relative Maßangabe wird der Wort G99 ebenfalls unabhängig von der Maßangabe der Hauptkoordinaten verwendet.

Fahranweisungen Geraden-Interpolation

Eine Gerade wird durch zwei Ortspunkte eindeutig definiert. Der Startpunkt einer Geraden ergibt sich aus der Zielposition des vorhergehenden Satzes. Der Endpunkt einer Geraden muss mit entsprechendem Wort und den Koordinaten angegeben werden. Unterschieden wird zwischen der "Geradeninterpolation mit Eilganggeschwindigkeit" und der "Geradeninterpolation mit Vorschubgeschwindigkeit".

Eilganggeschwindigkeit: Die Interpolation mit Eilganggeschwindigkeit wird mit dem Wort G0 programmiert. In einem Satz mit dem Wort G0 müssen die Koordinaten des Zielortes vorgegeben werden. Die Interpolation zwischen Start und Endposition wird als Punkt-zu-Punkt-Bewegung (PTP - "Point To Point movements") ausgeführt. Somit wird die Kontur der Geraden zwischen Start- und Endpunkt verlassen. Der Zielort wird schnellstmöglich erreicht. Alle Achsen kommen gleichzeitig im Ziel an. Für die Parameter "Geschwindigkeit", "Beschleunigung", "Verzögerung" und "Ruck" werden die Achsdaten (AXIS_REF) der betroffenen Achsen verwendet.

Vorschubgeschwindigkeit (Linear): Das Wort G1 steht für die Geradeninterpolation mit Vorschubgeschwindigkeit. Hierbei wird die von Programm festgelegte Vorschubgeschwindigkeit, Beschleunigung und Verzögerung verwendet. Alle technologischen Anweisungen wie Verschleifen in den Ecken werden berücksichtigt. Der Startpunkt wird durch die vorhergehenden Informationen festgelegt und der Endpunkt muss in einem Satz mit dem G1-Wort angegeben werden. Durch mehrere aufeinanderfolgenden G01-Sätze entsteht ein Polygonzug, der je nach Anforderung der technologischen Anweisungen, auf unterschiedliche Weise verfahren werden kann. Beispielsweise können die Ecken in den Punkten mit dem Wort G51 verschliffen werden.

Fahranweisungen Geraden-Interpolation

Fahranweisungen Kreis-Interpolation

Die Programmierung einer Kreis-Interpolation muss in einem Satz entweder mit dem G2-Wort oder G3-Wort erfolgen. Dabei steht das G2-Wort für einen Kreisbogen im Uhrzeigersinn und das G3-Wort für einen Kreisbogen entgegen dem Uhrzeigersinn. In einem Satz kann maximal eine Kreisumdrehung programmiert werden.

Mit den Koordinaten X, Y und Z wird der Endpunkt des Kreisbogens bestimmt. Die Vorgabe des Endpunktes kann relativ mit dem G91-Wort oder absolute mit dem G90-Wort programmiert werden.

Weiterhin ist es für den Kreisbogen notwendig, die Angabe des Mittelpunktes oder des Radius zu programmieren. Der Mittelpunkt wird über die Interpolationskoordinaten I, J und K vorgegeben. Mit der Adresse I wird die X-Richtung, mit J die Y-Richtung und mit K die Z-Richtung des Mittelpunktes festgelegt. Falls nichts anderes definiert ist, sind die Interpolations-Koordinaten immer als relative Position zum Anfangspunkt definiert. Die Interpolationskoordinaten haben einen relativen Bezug zum Startpunkt des Kreisbogens mit dem Wort G99. Mit dem Wort G98 wird über die Interpolationskoordinaten der absolute Punkt im Koordinatensystem für den Mittelpunkt festgelegt. Alternativ zum Mittelpunkt kann der Radius eines Kreises in der Adresse R vorgegeben werden.

Mit der Auswahl einer Ebenen wird der Kreisbogen entsprechend in die Ebene gelegt. Mit G17 wird die X-Y-Ebene, mit G18 die X-Z-Ebene und mit G19 die Y-Z-Ebene vorgegeben. Falls keine Ebenenauswahl im Programm existiert, wird standardmäßig die Ebene vom Startpunkte des Kreisbogens zum Mittelpunkt über die I-, J- und K-Koordinaten gespannt. Damit ist die Ebene durch den Startpunkt und den Mittelpunkt bestimmt.

Hinweis:

Wird bei einem Kreisbogen der Zielpunkt und der Mittelpunkt angegeben, so führt dies aufgrund des gegebenen Startpunktes zu ggf. mehrdeutigen Kreisradien. Typischerweise liegt die Genauigkeit an der Anzahl der angegebenen Nachkommastellen der Koordinatenwörter x, y, z und i, j, k. Die Radien werden mittels einer Toleranz auf Gleichheit geprüft. Ggf. wird ein Fehler am L_MC4P_PathRefFromFile ausgegeben. Der Wert der Toleranz kann über das Property L_MC4P_PathRefFromFile.SetCircTargetTolerance ausgelesen und angepasst werden

Beispiel 1 zur Kreis-Interpolation:

Beispiel 2 zur Kreis-Interpolation:

Beispiel 3 zur Kreis-Interpolation:

Beispiel

Beispiel 4 zur Kreis-Interpolation:

Hinweis:

Der Modus G16 ijk wird gemäß dem PLC-Open Standard interpretiert. Die Lage des Mittelpunktes im Radiusmode ist nicht eindeutig. Nach der Konvention wird die Wahl des Mittelpunktes durch die Richtung des ijk-Vektors bestimmt. Mit G17 kann das so nicht unterstützt werden, da der Normalenvektor in positiver z-Richtung zeigt. Gewählt wird für G17 immer der kürzere Kreisbogen (analog für G18/G19). Darum unterscheiden sich die Kreise aus Beispiel 3 und Beispiel 4.

N040 G16 I0 J0 K1

N050 G1 X10 Y10

N030 G3 X20 Y0 R10(Radius)

 

Beispiel

Beispielcode für Kreise auf beliebigen Ebenen:

/automatic created File: Hier steht ein beschreibender Text!

3D Kreise

 

G-CODE NACH DIN 62012

 

Programmstart:

 

Verweilzeit

Mit dem Wort G04 wird die Verweilzeit in einer Zeile programmiert. Die Angabe der Zeit wird mit dem Zahlenwert unter der Adresse T definiert. Der Zahlenwert wird in der Einheit Sekunden [s] vorgegeben. Im folgenden Beispiel ist die Verweilzeit von 20 s programmiert.

% (Programmanfang)

N001 G01 X200 Y100 Z100 (Anfahren einer Position)

N002 G04 T20 (Verweilzeit von 20s)

N003 M02 (Programmende)

Die Interpolation der Bahn wird im programmierten Punkt für 20 s gehalten.

M-Funktionen

Maschinenfunktionen werden zur Synchronisation der Abarbeitung des NC-Programmes mit der PLC verwendet.

Syntax: /N001 Myyy

Mit yyy = 0….65499 (Word).

Typ der M-Funktion

Wertebereich
xx=00 … 65

Abkürzung

Ablauf

Ohne Synchronisation

xx100 ... xx199

MOS

Meldung der M-Funktion beim Start des Satzes, keine Quittung erforderlich

Meldung am Satzstart, Quittierung am Satzstart

xx200 ... xx299

MVS_SVS

Meldung der M-Funktion und Warten auf die Quittung beim Start des Satzes

Meldung am Satzstart, Quittierung am Satzende

xx300 ... xx399

MVS_SNS

Meldung der M-Funktion beim Start des Satzes Warten auf die Quittung am Satzende, d. h. nach Erreichen der Zielposition des Fahrweges

Meldung am Satzende, Quittierung am Satzende

xx400 ... xx499

MNS_SNS

Meldung der M-Funktion und Warten auf die Quittung am Satzende, d. h. nach Erreichen der Zielposition des Fahrweges

Programmende

M2, M30

 

Die M-Funktionen M2 und M30 sind gleichwertig und beenden das Programm, ggf. auch aus einem Unterprogramm heraus

Unterprogrammende

M17, M29

 

Die M-Funktionen M17 und M29 sind gleichwertig und beenden das Unterprogramm. Es wird in die aufrufende Programmebene zurückgekehrt und dieses fortgesetzt.

Sonstige M-Funktionen

 

Nicht unterstütze M-Funktion

Syntaxfehlermeldung des ASCII-Interpreters.

Die Zuordnung einer M-Funktion zu einem Typ erfolgt über die Nummer der M-Funktion.

Nichtquittierungspflichtige M-Funktionen (Mxx100 ... Mxx199)

Nichtquittierungspflichtige M-Funktionen werden mit MOS abgekürzt. In einem Fahrauftrag führt eine MOS nicht zu einem Anhalten der Bahn. Die MOS wird lediglich so lange angezeigt, wie der Fahrauftrag abgefahren wird.

Beispiel 1:

 

In Beispiel 1 werden die Zielpositionen nacheinander angefahren. Dabei werden die Eckpunkte mit einem Überschliffradius von 10 verschliffen. Bei Anfahrt des Zielpunktes aus der Zeile N030 wird die M103-Funktion aktiviert. Sie ist so lange aktiv, bis der Verschliff aus dem Satz N030 in den Satz N040 interpoliert wird.  Die M-Funktion führt nicht zum Anhalten der Bahn beim Übergang vom Satz N030 in den Satz N040.

Sollte eine MOS in einem Satz allein stehen (ohne Fahrauftrag), wird dies wie ein Haltepunkt interpretiert. Die Bahn hält für einen SPS-Taktzyklus in diesem Satz an und fährt anschließend mit dem nachfolgenden Satz fort.

Beispiel 2:

In Beispiel 2 werden die Zielpositionen ebenfalls nacheinander angefahren. Nach Erreichen der Zielposition aus Zeile N020 wird die Bahn für einen SPS-Taktzyklus im Satz N030 angehalten. Die M-Funktion M103 wird für diesen einen SPS-Zyklus angezeigt. Die Bahn fährt anschließend mit dem nachfolgenden Satz fort.

Parallel aktive M-Funktionen

In einem Satz dürfen maximal 10 M-Funktionen parallel aktiv sein und davon darf nur eine M-Funktion quittierungspflichtig sein. In separaten Sätzen gibt es keine Einschränkung bei der maximalen Anzahl von M-Funktionen.

Beispiel 3:

In Beispiel 3 wird in den Sätzen N020 und N030 jeweils für einen SPS-Taktzyklus angehalten, um die M-Funktionen M101 und M102 anzuzeigen.

Mit dem Satz N040 werden zwei parallele M-Funktionen (M104 und M105) aktiviert. Am MC_MovePath wird nur eine aktive M-Funktion über den Ausgang MFunction angezeigt.

Für die parallele Darstellung der M-Funktionen wird ein zusätzlicher Funktionsbaustein benötigt: Der FB L_MC4P_MFunctionFromPathRef wird parallel zu MC_MovePath mit der PathRef angeschlossen. Über die Angabe wMCommand am Eingang des FBs L_MC4P_MFunctionFromPathRef wird die M-Funktion aufgerufen. Hierbei wird der Status der definierten M-Funktion am Ausgang des FBs angezeigt.

Quittierungspflichtige M-Funktionen

In einem Fahrauftrag können mehrere quittierungspflichtige M-Funktionen eingesetzt werden. Pro Satz ist allerdings nur eine quittierungspflichtige M-Funktion erlaubt. Das heißt, es sind keine parallel quittierungspflichtige M-Funktion erlaubt.

Im Fall, dass zwei quittierungspflichtige M-Funktion in einem Satz programmiert sind, wird der FB L_MC4P_PathRefFromFile einen Syntaxfehler ausgeben.

Drei Arten von quittierungspflichtigen M-Funktionen werden unterschieden:

MVS_SVS (Wertebereich Mxx200 ... Mxx299)

Wenn die MVS_SVS in einem Satz zusammen mit einem Fahrauftrag vorkommt, wird die M-Funktion am Eingang des Satzes gemeldet. Am Satzanfang wird die Bahn immer angehalten. Erst nach Quittierung der M-Funktion über den Eingang MAcknowledge des FBs MC_MovePath startet der Fahrauftrag gemäß dem programmierten Satz.

Beispiel 4:

Im Beispiel 4 ist im Satz N020 eine M-Funktion von Typ MVS_SVS mit einem Fahrauftrag programmiert. Nach Erreichen des Zielpunktes aus dem Satz N010 bei X = 100, Y = 100 und Z = 0 wird die Bahn angehalten. Am MC_MovePath wird am Ausgang MFunction die M-Funktion 204 ausgegeben. Erst nach Quittierung der M-Funktion 204 über den Eingang MAcknowledge des MC_MovePath wird die Bahn mit dem Fahrauftrag aus dem Satz N020 fortgesetzt.

Im Fall, dass eine MVS_SVS alleine ohne Fahrauftrag in einem Satz programmiert ist, führt die Bahn an dieser Stelle (Zielposition des voranlaufenden Fahrauftrages) einen Genauhalt durch. Die Bahn wird erst nach der Quittierung der M-Funktion über den Eingang MAcknowledge des MC_MovePath weiter zum nächten Fahrauftrag verfahren.

Beispiel 5:

Im Beispiel 5 ist im Satz N020 eine M-Funktion von Typ MVS_SVS ohne Fahrauftrag programmiert. Nach Erreichen des Zielpunktes aus dem Satz N010 bei X = 100, Y = 100 und Z = 0 wird die Bahn angehalten. Am MC_MovePath wird am Ausgang MFunction die M-Funktion 202 ausgegeben. Erst nach Quittierung der M-Funktion 202 über den Eingang MAcknowledge des MC_MovePath wird die Bahn mit dem Fahrauftrag aus dem Satz N030 fortgesetzt.

MVS_SNS (Wertebereich Mxx300 ... Mxx399)

Wenn die MVS_SNS in einem Satz zusammen mit einem Fahrauftrag vorkommt, wird die M-Funktion am Eingang des Satzes gemeldet.

Der Fahrauftrag wird mit der aktiven M-Funktion abgefahren bis die Zielposition erreicht ist. Bis zu diesem Zeitpunkt kann die M-Funktion jederzeit quittiert werden.

Wenn die Quittierung vor Erreichen der Zielposition im aktuellen Satz erfolgt, wird am Satzende ein Verschliff eingebaut und ohne Haltepunkt der nächste Satz abgefahren.

Im Fall keiner vorzeitigen Quittierung der M-Funktion, wird in der Zielposititon angehalten und zwar ohne Verschliff in den nachfolgenden Satz. Nach Quittierung in der Zielposition des Satzes wird das nächte Satz aus der Path-Datei angefahren.

Beispiel 6:

Im Beispiel 6 ist im Satz N020 eine M-Funktion von Typ MVS_SNS mit einem Fahrauftrag programmiert. Die M-Funktion 305 wird bereits nach Erreichen der Zielposition aus dem Satz N010 und bei der Anfahrt der Zielposition N020 gemeldet. Die Bahn wird im Zielpunkt aus dem Satz N020 bei X = 100, Y = 200 und Z = 0 angehalten.

Am MC_MovePath wird am Ausgang MFunction die M-Funktion 305 ausgegeben. Erst nach Quittierung der M-Funktion über den Eingang MAcknowledge des MC_MovePath wird die Bahn mit dem Fahrauftrag aus dem Satz N030 fortgesetzt.

Im Fall, dass eine MVS_SNS alleine ohne Fahrauftrag in einem Satz programmiert ist, wird diese M-Funktion wie eine MVS_SVS alleine ohne Fahrauftrag behandelt. Die Bahn wird an dieser Stelle (Zielposition des voranlaufenden Fahrauftrages) angehalten. Die Bahn wird erst nach Quittierung der M-Funktion über des Eingang MAcknowledge des FBs MC_MovePath weiter zum nächsten Fahrauftrag verfahren.

MNS_SNS (Wertebereich Mxx400 ... Mxx499):

Bei einer MNS_SNS zusammen mit einem Fahrauftrag in einem Satz wird die M-Funktion beim Erreichen der Zielposition gemeldet. Die Bahn wird immer in der Zielposition angehalten. Erst nach Erreichen der Zielposition darf die M-Funktion quittiert werden. Nach der Quittierung wird der nächte Satz angefahren.

Beispiel 7:

Im Beispiel 7 ist im Satz N020 eine M-Funktion von Typ MNS_SNS mit einem Fahrauftrag programmiert.

Bei der Abfahrt dieser Datei über MC_MovePath wird die Bahn beim Erreichen des Zielpunktes aus dem Satz N020 bei X = 100, Y = 200 und Z = 0 angehalten. Am MC_MovePath wird die M-Funktion 407 ausgegeben. Erst nach Quittierung der M-Funktion 407 wird die Bahn mit dem Fahrauftrag aus dem Satz N030 fortgesetzt.

In Fall, dass eine MNS_SNS alleine ohne Fahrauftrag in einem Satz programmiert ist, wird diese M-Funktion wie eine MVS_SVS alleine ohne Fahrauftrag behandelt. Die Bahn wird an dieser Stelle (Zielposition des voranlaufenden Fahrauftrages) angehalten. Die Bahn wird erst nach Quittierung der M-Funktion über des Eingangs MAcknowledge des FBs MC_MovePath weiter zum nächsten Fahrauftrag verfahren.

M-Funktionen mit Parametern

Quittierungspflichtige M-Funktionen können mit Parametern versehen werden. Die Bezeichnung der Parameter beginnt mit einem „P“ gefolgt von einem Buchstaben "A ... Z". Pro M-Funktion können somit bis zu 26 Parameter definiert werden.

Beispiel 8

Das Auslesen erfolgt mit dem FB L_MC4P_MFunctionFromPathRef.

 

Schaltfunktionen

Schaltfunktionen können entlang der Bahn definiert werden. Eine Schaltfunktion wird über die Adresse H zusammen mit einem Parameter O bzw. L programmiert.

Schaltfunktionen benötigen immer einen Bewegungsauftrag (i. Allg. G00 bis G04). Werden Schaltfunktionen in einem Satz ohne M-Befehl und ohne Bewegungsauftrag programmiert, werden sie der nachfolgenden Zeile zugeordnet.

Der Zustand aller Schaltfunktionen kann je Achsgruppe über den zentralen FB <<LINK>> L_MC4P_GroupDigitalSwitchHandler ausgelesen werden. Dieser muss Enabled werden, damit Zustandswechsel der Schaltfunktionen synchronisiert mit der Interpolation ausgewertet werden können.

 

Zur Programmierung von Schaltfunktionen über das NC-Programm gilt:

H: Schaltfunktion

O: relative Schaltposition auf dem Segment

L: Distanz zum Start bzw. Zielpunkt in mm

 

Es ist nicht möglich, eine Schaltfunktion über den Definitionsbereich eines Satzes hinweg zu verschieben. Der Parameter O wird intern auf den Wertebereich [0…1] limitiert. Der Parameter L wird intern auf [-Segmentlänge … +Segmentlänge] begrenzt.

 

Es können insgesamt 32676 unterschiedliche Schaltfunktionen programmiert werden

 

Es können je Bewegungssatz maximal drei Schaltpunkte definiert werden.

 

 

Beispiel:

 

% (Startzeichen)

N010 G01 X0 Y0 Z0 (Anfahren Startposition)

 

N020 G01 X100 Y100 Z0 H1 O0.5 H2 L-10(Schaltfunktionen 1 und 2 aktivieren)

 

N030 G01 z100 H-1 O1 H-2 O0 (Schaltfunktionen 1 und 2 deaktivieren)

 

N040 M30 (Programmende)

 

In Satz N020 wird die Schaltfunktion H1 zur Hälfte des Weges aktiviert, die Schaltfunktion H2 wird 10mm vor Erreichen der Zielposition x100, y100, z0 aktiv

In Satz N030 erfolgt das Ausschalten der Schaltfunktionen. H1 am Ende des Satzes (O1), H2 wird zu beginn des Satzes (O0) deaktiviert.

 

Verhalten der Schaltfunktionen innerhalb von verschliffenen Sätzen

Werden Verschliffe programmiert, so wird der Verschliff geometrisch dem Folgesatz zugeordnet. Die Schaltpositionen, welche mit O bzw. L programmiert sind, beziehen sich daher auf die Gesamtlänge von Verschliff + Nachfolgegeometrie.

 

Beispiel:

NC-Code

Bewegung

   

% (Startzeichen)

 

N010 G51 D20 (Verschliff an)

 

N020 G1 <P1> H1 O0…O1 (Schaltpunkt an P0…P11)

 

N030 G2 <P2> H2 O0…O1 (Schaltpunkt an P11…P21)

 

N040 G1 <P3> H3 O0…O1 (Schaltpunkt an P21…P3)

 

N050 M30 (Programmende)

 

Entsprechend gilt für H-Funktionen mit L-Parametern für verschliffene Bewegungen

Die Referenzpunkte für die Distanzen sind:

Bei L>0 (Abstand zum Startpunkt) der Beginn des vorherigen Verschliffs

Bei L<0 (Distanz zum Zielpunkt) der Anfang des nachfolgenden Verschliffs, Ende der „Originalgeometrie“

 

Schaltfunktionen für Eilgang-Bewegungen G00 und Wartezeiten G04

Bei Bewegungen G00 ist keine kartesische Bahn definiert. Die Antriebsachsen werden zeitlich synchronisiert verfahren.

Eine Programmierung von Schaltpunkten ist bei G00 nur mit relativem Schaltparameter O zulässig.

Als Basis für den relativen Fortschritt der Bewegung wird bei G00 die Verfahrzeit verwendet.

 

Schaltfunktionen bei kartesischen Bewegungen G01..G03 ohne kartesische Distanz

Werden in einer kartesischen Bewegung ausschließlich Rotationsachsen (A, B oder C) oder Hilfsachsen (Aux1 ... Aux6 bzw. U, V, W) positioniert, so gelten die folgenden Regeln:

 

Interpreterhalt – Synchronisation des Interpreters mit der Interpolation (MC_MovePath)

Mit dem Wort G75 wird der Interpreter angehalten, bis alle bisher aus der ASCII-Datei eingelesenen Sätze abgefahren wurden.

Interpreterhalt ohne Synchronisation aus der Applikation 

Mit dem Wort G75 wird der Interpreter angehalten. Sobald der MC_MovePath alle Sätze im Speicher abgefahren hat und die Achsen angehalten sind, wird der Interpreter wieder gestartet.

Interpreterhalt mit Synchronisation aus der Applikation

Mit dem Wort G75 und einer M-Funktion von Typ MVS_SVS (Mxx200 bis xx299) in einer Zeile wird der Interpreter angehalten. Die Interpretation von Sätzen wird fortgesetzt, wenn die Quittierung des M-Befehl in der Applikation erfolgt.

G75 mit einer M-Funktion eines anderen Typs als MVS_SVS führt zu einer Fehlermeldung.

 

Zugriff auf SPS-Variablen im G-Code

Über $..$ geklammerte Ausdrücke kann aus dem Interpreter auf globale Variablen der SPS zugegriffen werden. Die Variablen sind mit vollem Pfad anzugeben und über die Symbolkonfiguration zugreifbar zu machen.

 

Verwendung mathematischer Ausdrücke im G-Code

In vielen Fällen ist es hilfreich, bestimmte Werte für z.B. Geschwindigkeiten, Positionen oder logische Bedingungen bei Programmsprüngen (siehe Befehl GOTO) nicht fest fortzugeben, sondern diese innerhalb des G-Codes zu berechnen.

Dabei gilt:

Beispiel eines Rechtecks mit variabler Kantenlänge:

Folgender Funktionsumfang steht zur Verfügung:

Funktion

Befehl

Datentyp der Operanden

Datentyp des Resultats

Algorithmische Funktionen

Addition

+

LREAL,LREAL

LREAL

Subtraktion

-

LREAL,LREAL

LREAL

Multiplikation

*

LREAL,LREAL

LREAL

Division

/

LREAL,LREAL

LREAL

Exponentenrechnung

^

LREAL,LREAL

LREAL

Modulorechnung

MOD

LREAL,LREAL

LREAL

Absolutwertbildung

ABS

LREAL

LREAL

Quadratwurzel

SQRT

LREAL

LREAL

e–Funktion

EXP

LREAL

LREAL

Natürlicher Logarithmus

LN

LREAL

LREAL

Zehner - Logarithmus

LOG

LREAL

LREAL

Trigonometrische Funktionen (Im Gradmaß)

Sinus

SIN

LREAL

LREAL

Kosinus

COS

LREAL

LREAL

Tangens

TAN

LREAL

LREAL

Arkus-Sinus

ASIN

LREAL

LREAL

Arkus-Kosinus

ACOS

LREAL

LREAL

Arkus-Tangens

ATAN

LREAL

LREAL

Funktionen zum Runden

Abschneiden der Nachkommastellen = Zum kleineren Betrag Runden

TRUNC

LREAL

LREAL

Runden

ROUND

LREAL

LREAL

Aufrunden

CEIL

LREAL

LREAL

Abrunden

FLOOR

LREAL

LREAL

Logische Operatoren

UND-Verknüpfung

AND

BOOL,BOOL

BOOL

ODER-Verknüpfung

OR

BOOL,BOOL

BOOL

exklusive ODER-Verknüpfung

XOR

BOOL,BOOL

BOOL

NICHT-Operator

NOT

BOOL

BOOL

Vergleichsoperatoren

Gleichheit

EQ

LREAL,LREAL
BOOL,BOOL

BOOL

Ungleichheit

NE

LREAL,LREAL
BOOL,BOOL

BOOL

größer gleich

GE

LREAL,LREAL

BOOL

kleiner gleich

LE

LREAL,LREAL

BOOL

kleiner

LT

LREAL,LREAL

BOOL

größer

GT

LREAL,LREAL

BOOL

Sonstige Operanden

Vorzeichen

SIGN

LREAL

LREAL

Klammerung

(...)

 

 

unäres Minus (Vorzeichen)

-

LREAL

LREAL

unäres Plus (Vorzeichen)

+

LREAL

LREAL

Konstanten

Pi

PI

 

LREAL

Wahr

TRUE

 

BOOL

Falsch

FALSE

 

BOOL

Programmsprünge

Mit dem Befehl GOTO können innerhalb desselben ASCII-Programms Sprünge durchgeführt werden.

Beispiel unbedingter Programmsprung:

Bedingte Programmsprünge

Mit dem Befehl IF kann eine Bedingung angegeben werden, ob ein Sprung ausgeführt werden soll.

Beispiel bedingter Programmsprung:

Verwendung von Unterprogrammen

Häufig verwendete Bewegungen können als Makro in Unterprogramme ausgelagert werden. Durch die Angabe des Unterprogramms im Hauptprogramm wird der Inhalt der Unterprogrammdatei in den Ablauf des Hauptprogramms integriert.

Beispiel:

Übersicht der Adressen

Zeichen

Bedeutung

Bemerkung

%

Programm-Start

 

M2, 30

Programm-Ende

 

M17, M29

Unterprogrammende

 

Zeilenumbruch

Satz-Ende

 

()

Kommentar

 

/

Kommentar einer ganzen Zeile

 

/xx

Ausblendebene

xx = 0 ... 31

.  <Punkt>

Dezimaltrennzeichen

 

, <Komma>

Wird nicht unterstüzt-> Syntaxfehler

 

` <Hochkomma>

Kennzeichnung von Gleichungen

Kennzeichnung des Unterprogrammbezeichnern für L-Wort

 

= <Gleichheitszeichen>

Optionales Gleichheitszeichen zur besseren Lesbarkeit

Beispiel:

G1 X2 und G1 X=2 sind gleichwertig

$Variable$

Lesezugriff auf PLC Variable.

Variablen müssen in der Symbolkonfiguration hinterlegt sein

N, N00, N010 usw.

Zeilennummer

 

A

Drehbewegung um X-Achse

 

AUX1 … AUX6

Koordinate der Hilfsachsen Aux1…Aux6

Anstelle von AUX1 ..AUX3 können auch die Koordinatenwörter U, V, W verwendet werden

Zur besseren Lesbarkeit sollte zwischen AUX<i> und der Zielposition immer ein Gleichheitszeichen verwendet werden.

B

Drehbewegung um Y-Achse

 

C

Drehbewegung um Z-Achse

 

E

Beschleunigung

 

E-

Negative Verzögerung (bremsen)

Falls im Programm keine E-Angabe vorhanden ist, wird für die Verzögerung der Beschleunigungswert verwendet

 

F

Vorschub -> Bahngeschwindigkeit

 

G

Wegbedingung

 

H

Nicht unterstützt

 

I

Interpolationsparameter - zur Bestimmung des Kreises in X-Richtung

 

J

Interpolationsparameter - zur Bestimmung des Kreises in Y-Richtung

 

K

Interpolationsparameter - zur Bestimmung des Kreises in Z-Richtung

 

L

Bezeichner für Unterprogramme

 

M

M30, M2 wird als Programmende unterstützt

 

O

Nicht unterstützt

 

P

Parameter von M-Funktionen

 

Q

Nicht unterstützt

 

D

Zusammen mit G51 wird der Blendingradius für die Segmente festgelegt

 

R

Bei G02 und G03 steht R für den Radius der Kreisinterpolation.

 

S

Nicht unterstützt

 

T

Angabe der Zeit für die Verweilzeit G04

 

U

Aux1-Hilfsachse

Gleichwertig zu AUX1

V

Aux2-Hilfsachse

Gleichwertig zu AUX2

W

Aux3-Hilfsachse

Gleichwertig zu AUX3

X

Bewegung in Richtung X-Achse im Bezugskoordinatensystem

 

Y

Bewegung in Richtung Y-Achse

 

Z

Bewegung in Richtung Z-Achse

 

Übersicht der geometrischen Anweisung

Zeichen

Bedeutung

Bemerkung

G00

Eilgang (PTP-Bewegung)

4Punkt-zu-Punkt-Bewegungen und kartesische Bahnbewegungen

Schnellste Bewegung; alle Achsen kommen gleichzeitig an (keine definierte Bahn)

G01

Geraden-Interpolation

 

G02

Kreis-Interpolation im Uhrzeigersinn

Der Zielpunkt wird über X, Y und Z festgelegt.

Der Mittelpunkt wird mit Adressen I, J, und K definiert.

Alternativ zum Mittelpunkt kann die Angabe des Radius mit der Adresse R vorgenommen werden.

 

G03

Kreis-Interpolation gegen den Uhrzeigersinn

Der Zielpunkt wird über X, Y und Z festgelegt.

Der Mittelpunkt wird mit den Adressen I, J, und K definiert.

Alternativ zum Mittelpunkt kann die Angabe des Radius mit der Adresse R vorgenommen werden.

 

G04

Angabe der Verweilzeit (Pause)

Unter dem Parameter T wird die Verweilzeit in Sekunden programmiert.

Beispiel:

G04 T10 à An dieser Stelle im Programm eine Pause von 10 s ausführen.

G16

Räumliche Kreisinterpolation

Definition der Ebene im Raum über I, J, K

G17

Auswahl der Hauptebene XY

 

G18

Auswahl der Hauptebene ZX

 

G19

Auswahl der Hauptebene YZ

 

G22

Unterprogrammaufruf

 

G50

Verschleifen von Eckpunkten über einen Blendingradius ausschalten.

 

G51

Verschleifen von Eckpunkten über einen Blendingradius einschalten. Der Blendingradius wird über die Adresse D programmiert.

 

G53

Verschiebung aufheben

è WCS-Koordinatensystem einschalten

 

G54

PCS 1-Koordinatensystem einschalten

 

G55

PCS 2-Koordinatensystem einschalten

 

G56

PCS 3-Koordinatensystem einschalten

 

G57

PCS 4-Koordinatensystem einschalten

 

G58

PCS 5-Koordinatensystem einschalten

 

G59

MCS-Koordinatensystem einschalten

 

G75

Interpreterhalt – Synchronisation der ASCII-Interpretation mit der Bahnabarbeitung

s

G90

Absolutes Maßsystem für die Koordinaten X, Y, Z, A, B, C, U, V, W

 

G91

Relatives Maßsystem für die Koordinaten X, Y, Z, A, B, C, U, V, W

 

G98

Absolutes Maßsystem für die Interpolations-Koordinaten I, J und K

 

G99

Relatives Maßsystem für die Interpolations-Koordinaten I, J und K