DIN 66025 Grundlagen

Struktur eines DIN 66025-Programms

Das Programm nach DIN 66025 besteht aus einzelnen Sätzen. Am Anfang jedes Satzes steht die Satznummer.

['%' <Programmname>]
<Satz>{<Satz>}

Die Sätze können folgendermaßen aufgebaut sein:

  • N<Satznummer> G<Ausdruck> <G-Code-Wörter>

  • N<Satznummer> <G-Code-Wörter> (es gilt die G<Ausdruck> des vorherigen Satzes)

  • N<Satznummer> M<Ausdruck> <G-Code-Wörter>

  • N<Satznummer> <Unterprogrammname> ( <ActualParamList> )

  • Zusätzliche Satzaufbauten bei Unterprogrammen:

    • SUBPROGRAM <Name> {<FormalParamList>} <RESTORE_OPT>

    • N<Satznummer> RETURN

    • END_SUBPROGRAM

Beispiel

Bahn aus zwei Geraden und einem Kreisbogen, gefolgt von einem Unterprogrammaufruf.

% MyProgram
N10 G01 X100 Y100 E100 F100 E-200
N20 G01 Z40 F20
N30 G03 X-100 R200 F100
N40 SubPrg{5}

Syntax

['%' <Programmname>]

Kopfzeile

optional

Beginnt mit %, gefolgt vom Programmnamen, der durch ein Leerzeichen oder TAB getrennt wird

<Satz>

Der Satz wird wortweise von rechts nach links abgearbeitet

/

Satzunterdrückung. Wenn ein Satz mit / beginnt und der Befehl CNC ‣ Satzunterdrückung ausgewählt wurde, wird der Satz nicht ausgeführt.

N<Satznummer>

Die Satznummer wird als Markierung und für die Festlegung von Sprungzielen verwendet.

Zum Beispiel: N01

G<Ausdruck>

Fahrbefehl

  • Wenn in einem Satz kein Fahrbefehl eingetragen ist, wird automatisch der Fahrbefehl, der im vorherigen Satz verwendet wurde, ergänzt.

  • Groß- und Kleinschreibung wird ignoriert

  • Führende Nullen werden ignoriert. Es gilt: G01 = g1

  • Entspricht einem Bahnelement oder Wegobjekt.

    Zum Beispiel: G1 (Gerade), G2 (Kreisbogen)

  • Geschwindigkeit, mit der die Bahnobjekte interpoliert werden, entspricht grundsätzlich der eingestellten Bahngeschwindigkeit und Bahnbeschleunigung/-verzögerung. Der Interpolator stellt sicher, dass diese Grenzwerte nicht überschritten werden.

<G-Code-Wort>

G-Code-Wort

  • Besteht aus einer Adresse (beispielsweise E) und einem Ausdruck (beispielsweise 100, zusammen also E100)

  • Groß- und Kleinschreibung wird ignoriert

  • Führende Nullen werden ignoriert

  • Bewirkt, dass die Zahl des Worts in eine Variable geschrieben wird. Der Buchstabe des Worts ist der Variablenname. Darauf greift der Fahrbefehl zu.

  • Alle Zahlen können Fließkommawerte sein. Das gilt nicht bei: Fahrbefehl G<Ausdruck>,   M-Funktion M<Ausdruck>  und Schaltpunkt H<Ausdruck>

  • Die Worte eines Satzes werden durch Leerzeichen oder Tab getrennt

<Ausdruck>

Siehe Kapitel 'Ausdrücke'

()

Kommentar

  • Die Zeichen innerhalb der runden Klammern werden als Kommentar interpretiert.

Hinweis: Über den Eingang bParenthesesAsComments (FB SMC_ReadNCFile2) können Kommentare umdefiniert werden.

Interpolation zwischen zwei aufeinander folgenden Sätzen

Die Geschwindigkeit beim Übergang zweier benachbarter Objekte wird nach folgenden Regeln bestimmt:

  • Wenn eines der beiden Objekte eine Positionierung G0 ist, gilt: Übergangsgeschwindigkeit = 0

  • Wenn der Winkel zwischen den Tangenten der beiden Bahnelementen am Übergang größer als die Winkeltoleranz ist, gilt: Übergangsgeschwindigkeit = 0

  • Ansonsten gilt: Die Übergangsgeschwindigkeit ist die kleinere Sollgeschwindigkeit der beiden Bahnelemente.

  • Grundsätzlich bewirkt ein Fahrbefehl, dass eine Interpolation von der Zielposition des letzten Fahrbefehls zur Zielposition, die vom aktuellen Fahrbefehl spezifiziert wurde, durchgeführt wird. Der erste Fahrbefehl startet bei der Position, die im Decoder oder CNC-Editor festgelegt wurde. Wenn diese Position nicht definiert ist, wird an der Position X=0, Y=0, Z=0 gestartet.

Siehe auch

Fahrbefehle und die entsprechenden Bahnelemente

Fahrbefehl

Beschreibung

Bahnelement

G0

Direkte Bewegung ohne Werkzeugeingriff, Linearbewegung

Positionierung

G1

Lineare, gerade Bewegung mit Werkzeugeingriff

Lineare Bewegung

G2

Kreissegment oder Kreis im Uhrzeigersinn

Kreisbogen

G3

Kreissegment oder Kreis gegen den Uhrzeigersinn

Kreisbogen

G4

Verweilzeit

Verweilzeit

G5

Punkt eines 2D-Kardinalsplines

Spline

G6

Parabel

Parabel

G8

Ellipsensegment oder Ellipse im Uhrzeigersinn

Ellipse

G9

Ellipsensegment oder Ellipse gegen den Uhrzeigersinn

Ellipse

G10

Punkt eines 3D-Kardinalsplines

Spline

G15

Wechsel zu 2D

3D-Modus

G16

Wechsel zu 3D durch Aktivierung des 3D-Modus mit Normalenvektor I/J/K zur Ebene

3D-Modus

G17

Wechsel zu 3D durch Aktivierung des 3D-Modus in X/Y-Ebene

3D-Modus

G18

Wechsel zu 3D durch Aktivierung des 3D-Modus in Z/X-Ebene

3D-Modus

G19

Wechsel zu 3D durch Aktivierung des 3D-Modus in Y/Z-Ebene

3D-Modus

G20

Bedingter Sprung nach L wenn K <> 0

Sprung

G36

Wert D auf Variable O schreiben

Ändern von Variablenwerten

G37

Variable O um Wert D inkrementieren

Ändern von Variablenwerten

G40

Ende der Werkzeugradiuskorrektur

Vorverarbeitung

G41

Beginn der Werkzeugradiuskorrektur links der Fahrrichtung

Vorverarbeitung

G42

Beginn der Werkzeugradiuskorrektur rechts der Fahrrichtung

Vorverarbeitung

G43

Startet die Werkzeuglängenkurrektur.

Vorverarbeitung

G50

Ende der Eckverrundung/-verschleifung

Vorverarbeitung

G51

Beginn der Eckverschleifung

Vorverarbeitung

G52

Beginn der Eckverrundung

Vorverarbeitung

G53

Beendet die Koordinatentransformation und setzt das Dekoderkoordinatensystem in die Ursprungslage ( = Maschinenkoordinatensystem) zurück.

Koordinatensystem schieben, drehen und skalieren

G54

Transformiert die Koordinaten absolut.

Koordinatensystem schieben, drehen und skalieren

G55

Transformiert die Koordinaten relativ.

Koordinatensystem schieben, drehen und skalieren

G56

Setzt die aktuelle Orientierung, Position und Skalierung des DCS als Referenzpunkt

Koordinatensystem schieben, drehen und skalieren

G60

Ende der Schleifenvermeidung

Vorverarbeitung

G61

Beginn der Schleifenvermeidung

Vorverarbeitung

G70

Beendet die Glättung von Zusatzachsen. (Siehe SMC_SmoothAddAxes)

Vorverarbeitung

G71

Startet die Glättung von Zusatzachsen. (Siehe SMC_SmoothAddAxes)

Vorverarbeitung

G75

Zeitsynchronisation mit dem Interpolator

Zeitsynchronisation mit Interpolator

G90

Die Koordinaten (X/Y/Z/A/B/C/P/Q/U/V/W) werden als absolute Werte interpretiert. (Dies ist die Standardeinstellung.)

Modi

G91

Die Koordinaten (X/Y/Z/A/B/C/P/Q/U/V/W) werden als Werte relativ zur aktuellen Position interpretiert.

Modi

G92

Positionierung durch Sprung

Positionierung

G98

Die Achsmittelpunkte (I/J/K) werden als absolute Werte interpretiert.

Modi

G99

Die Achsmittelpunkte (I/J/K) werden als Werte relativ zur Startposition interpretiert. (Dies ist die Standardeinstellung.)

Modi

G-Code-Worterkennung

A

Zielposition der zusätzlichen Splineachse.

Bei einer Koordinatentransformation im Decoderkoordinatensystem enthält das Wort einen Winkel.

B

C

D

  • Werkzeugradius für Korrektur G40-G42

  • Werkzeugabstand für Eckverrundung G50-G51

  • Variablenwert G36/G37

E

Max. Bahnbeschleunigung/-verzögerung in [u/sec2]. Wert > 0: Beschleunigung, Wert < 0: Verzögerung

EF

Bahnbeschleunigung/-verzögerung für G0-Bewegungen.

E<axis>

Individuelle Beschleunigung/Verzögerung (>0/<0) der angegebenen Zusatzachse <axis>.

Zusatzachsen sind A, B, C, P, Q, U, V, W und im 2D-Modus zusätzlich Z.

Wenn dieser G-Code verwendet wird, muss der Bahnverarbeitungsbaustein SMC_ExtendedVelocityChecks zur Begrenzung der Geschwindigkeit verwendet werden.

F

Geschwindigkeit in [u/sec]. "Feed"

FF

Geschwindigkeit für G0-Bewegungen

F<axis>

Individuelle Geschwindigkeit der angegebenen Zusatzachse <axis>.

Zusatzachsen sind A, B, C, P, Q, U, V, W und im 2D-Modus zusätzlich Z.

Wenn dieser G-Code verwendet wird, muss der Bahnverarbeitungsbaustein SMC_ExtendedVelocityChecks zur Begrenzung der Geschwindigkeit verwendet werden.

G

Wegbedingung

H

Schaltpunkt (H-Funktion). Positiv: Einschalten. Negativ: Ausschalten.

I

  • X-Koordinate des Kreis-/Ellipsenmittelpunkts für G02/G03/G08/G09

  • X-Koordinate des Scheitelpunkts der Parabel für G06

  • Normalenvektor (X) für die 3D-Ebenenfunktion

  • Parameter für die Aktivierung erweiterter Vorverarbeitungsfunktionen für G38/G39

  • Skalierung in X-Richtung bei G54/G55/G56

  • Werkzeugversatz in X-Richtung bei G43

J

  • Y-Koordinate des Kreis-/Ellipsenmittelpunkts für G02/G03/G08/G09.

  • Y-Koordinate des Scheitelpunkts der Parabel für G06

  • Normalenvektor (Y) für die 3D-Ebenenfunktion

  • Parameter für die Aktivierung erweiterter Vorverarbeitungsfunktionen für G38/G39

  • Skalierung in Y-Richtung bei G54/G55/G56

  • Werkzeugversatz in Y-Richtung bei G43

K

  • Richtung der Ellipsen-Hauptachse im mathematischen Sinn: 0° = O, 90° = N, ...

  • Sprungbedingung bei G20

  • dT1-Parameterwert bei M-Funktion

  • Z-Koordinate des Kreismittelpunkts bei G02/G03 im 3D-Modus

  • Normalenvektor (Z) für die 3D-Ebenenfunktion

  • Parameter für die Aktivierung erweiterter Vorverarbeitungsfunktionen für G38/G39

  • Skalierung in Z-Richtung bei G54/G55/G56

  • Werkzeugversatz in Z-Richtung bei G43

L

  • Absolute Schaltpunktposition bei H-Funktion gemessen vom Bahnelementanfang, falls Position > 0 oder gemessen vom Bahnelementende, falls Position < 0.

  • Sprungziel bei G20.

  • dT2-Parameterwert bei M-Funktion.

  • Nummer der Zusatzachse bei G70 und G71.

M

Zusatzoption für Maschinen, auch M-Funktion

O

  • Relative Schaltpunktposition mit Wertebereich [0..1] bei H-Funktion.

  • Variablenwert G36/G37.

  • Datenstruktur der Parameter bei einer M-Funktion.

P

Zielposition der zusätzlichen linearen Achse P.

P<Achse><Periode>

Konfiguration der Moduloachsen.

Wenn Periode = 0 gilt, zum Beispiel PA0, wird das Verhalten der Achse linear. (Modi).

Q

Zielposition der zusätzlichen linearen Achse Q

R

  • Kreisradius alternativ zu I, J mit G02/G03.

  • Längenverhältnis der elliptischen Nebenachse/Hauptachse im Wertebereich von [0..1] mit G08/G09.

S

S-Profil für lineare Achsen. Positiv: einschalten. Negativ: ausschalten

Achse

  • 3: Z, wenn Z im 2D-Modus ist

  • 7: P

  • 8: Q

  • 9: U

  • 10: V

  • 11: W

T

Kommandospezifischer Parameter

U

Zielposition der zusätzlichen linearen Achse U

V

Zielposition der zusätzlichen linearen Achse V

W

Zielposition der zusätzlichen linearen Achse W

X

X-Koordinate der Zielposition

Y

Y-Koordinate der Zielposition

Z

Z-Koordinate der Zielposition