Sie sind auf Seite 1von 17

CNC-Programmierung

CNC-Programme nach DIN 66025

Dr.-Ing. Hans-Peter Linde


Staatliche Studienakademie Dresden

Dr. Linde

Anwendung der Regelungen der DIN 66025

Betrachtet man die auf dem Markt befindlichen Steuerungen, lassen sich folgende
Gruppen erkennen.
1. Steuerungen, die ausschlielich auf Basis der Syntax der DIN 66025
programmierbar sind.
2. Steuerungen, die neben der Syntax der DIN 66025 auch
(herstellerabhngige) Sonderbefehle bzw. Hochsprachenelemente
verwenden.
3. Steuerungen, die eigentlich in einer herstellerabhngigen Befehlssyntax
programmiert werden, aber in der Lage sind, Programme nach DIN 66025
abzuarbeiten.

Dr. Linde

Anwendung der Regelungen der DIN 66025


1. Steuerungen, die ausschlielich auf Basis der Syntax der DIN 66025
programmierbar sind.
CNC55 (Eckelmann)

Bei dieser Gruppe von Steuerungen werden alle


Programmworte jeweils nur aus einem Adressbuchstaben und
einer (vorzeichenbehafteten) Ziffernfolge gebildet.
Erweiterungen im Funktions- bzw. Befehlsvorrat sind bei
diesen Steuerungen nur mglich, in dem frei verfgbare
Adressbuchstaben (z. B. Adressen H, L oder O) fr die
Erweiterungen benutzt werden oder bestimmte
Adressbuchstaben werden ber die Festlegungen der DIN
66025 hinaus mehrfach verwendet (z. B.
Funktionserweiterungen mit den Adressen D, R, F oder T). In
diesem Fall sind dann oft G-Befehle mit dreistelliger
Ziffernfolge in der Anwendung.

Dr. Linde

%2
N010 G17
N020 G1 F10000
N030 G60 X0
N040 M70
N050 T1 M06
N060 M03
N070 S10
N080 G88 C0
N090 G93 X100 Y100
N100 G00 X50 Y0
N110 G00 Z25
N120 G01 Z18 F2500
N130 G01 X70
N140 G00 Z25
N150 G89 C30
N160 G27 X100 Z12
N170 G88 C0
N180 G93 X0 Y0
N190 M05
N200 T00 M06
N210 S0
N220 G00 X1400
N230 M71
N240 M30

Anwendung der Regelungen der DIN 66025


2. Steuerungen, die neben der Syntax der DIN 66025 auch
(herstellerabhngige) Sonderbefehle bzw. Hochsprachenelemente
verwenden.
Zustzlich zu den in der DIN 66025 vereinbarten
Befehlsstrukturen knnen Sonderbefehle verwendet
werden. Diese Sonderbefehle werden mit
reservierten Bezeichnungen versehen (z. B.
Vorschub steuernde Befehle wie CFIN, CPREKON).
Zustzlich sind Sprungbefehle bzw.
Programmverwzeigungen mglich (z. B. IF THEN,
GOTO, REPEAT)

%_N_UHR200X200_MPF
;$PATH=/_N_WKS_DIR/_N_TEST_WPD
N010 G17 G90 G64 G40 G54 M51
N020 G53 G00 Z340 D0
N050 WECHSEL (1,100,3)
N090 TRANS X100 Y100
N100 MARKE1: G00 X50 Y0
N110 G00 Z25 D1
N120 G01 Z18 F2500
N130 G01 X70
N140 G00 Z25
N150 AROT RPL=30
N160 REPEATB MARKE1 P=12
N170 TRANS
N430 G53 G00 Z340 D0 S0
N440 WECHSEL (0,,)
N450 G00 X1400
N460 M41
N470 M30
Sinumerik 840D (Siemens)

Dr. Linde

Anwendung der Regelungen der DIN 66025


3. Steuerungen, die eigentlich in einer herstellerabhngigen Befehlssyntax
programmiert werden, aber in der Lage sind, Programme nach DIN 66025
abzuarbeiten
Einige Steuerungshersteller verwenden eigene
Programmiersprachen (d. h. nicht konform zur DIN
66025), um Bearbeitungsprogramme aus Folgen von
Bearbeitungsschritten (Zyklen) zu bilden.
Darber hinaus bieten derartige Steuerungen
zustzlich die Mglichkeit, mittels einem Interpreter
auch Programm nach DIN 66025 zu verarbeiten.

0 BEGIN PGM LINEAR MM


1 BLK FORM 0.1 Z X+0 Y+0 Z-20
2 BLK FORM 0.2 X+100 Y+100 Z+0
3 TOOL DEF 1 L+0 R+10
4 TOOL CALL 1 Z S4000
5 L Z+250 R0 FMAX
6 L X-10 Y-10 R0 FMAX
7 L Z-5 R0 F1000 M3
8 APPR LT X+5 Y+5 LEN10 RL F300
9 L Y+95
10 L X+95
11 CHF 10
12 L Y+5
13 CHF 20
14 L X+5
15 DEP LT LEN10 R0 F1000
16 L Z+250 R0 FMAX M2
17 END PGM LINEAR MM
TNC 410 (Heidenhain)

Dr. Linde

ISO-Code
Auf der Basis der im Jahre 1972 verffentlichen Norm ISO 1058 entstand der
nationale Standard DIN 66025 Programmaufbau fr numerisch gesteuerte
Arbeitsmaschinen. Umgangssprachlich wird die Programmierung nach diesem
Standard dann auch als Programmierung im ISO-Code bzw. DIN-Code
bezeichnet.
Im Zuge der technischen Entwicklung und der zunehmenden Komplexitt der
Bearbeitungsaufgaben erwiesen sich die relativ starren Befehlstrukturen der DIN
66025 als nachteilig. In diesem Standard sind z. B. keine Sprungbefehle oder
Schleifenoperationen vereinbart. Da die Befehlsstrukturen der DIN 66025 aber
auf einheitlichen, internationalen Regeln basieren, wurden Lsungen gesucht,
um die Regeln der DIN 66025 einzuhalten und gleichzeitig eine hhere
Programmqualitt zu erreichen.
Ein Programm besteht aus dem Zeichen % (Programmanfang) und einer
geordneten Folge von Programmstzen.
Ein Programmsatz besteht aus Programmworten und dem Zeichen
Satzende.
Ein Programmwort besteht aus einem Adressbuchstaben und einer
(vorzeichenbehafteten) Ziffernfolge.

Dr. Linde

ISO-Code

Dr. Linde

Programmstruktur ISO-Code
Ein Programm besteht aus dem Zeichen % (Programmanfang) und einer
geordneten Folge von Programmstzen.
Wird das Programm durch eine Programmnummer (Siemens: auch
Programmname) gekennzeichnet, steht diese unmittelbar nach dem Zeichen
Programmanfang. Ein Satz beginnt mit der Satznummer (optional) und endet mit
dem Zeichen Satzende (line feed, entsteht durch Drcken der Enter-Taste).
Alt: Ein Programm kann in Abschnitte, die aus mehreren Stzen bestehen,
unterteilt werden. Der erste Satz ist dann als
Hauptsatz (mit dem Zeichen :) zu programmieren.
Speziell: Fa. Siemens Programmtyp: MPF=main program file,
SPF=sub program file usw.
%_N_MUSTER_MPF
;$PATH=/_N_WKS_DIR/_N_TEST_WPD
;AUTOR: MUSTERMANN
;ROHTEIL X=480MM Y=480MM Z=19MM
;BAUTEIL
N1 G40 G451 G54 G64 CFIN M51
N2 G53 G0 G90 D0 Z610
N5 G0 B0 C0
Dr. Linde

Programmstruktur ISO-Code
Ein Programmsatz besteht aus Programmworten und dem Zeichen
Satzende.
Art und Anzahl der zu programmierenden Worte werden durch die Steuerung
bestimmt. Ein Programmsatz kann maximal 242 bzw. maximal 512 Zeichen
enthalten. In einem Programmsatz knnen die Programmworte weggelassen
werden, die fr den jeweiligen Arbeitsablauf nicht notwendig sind
(variable Satzlnge). Ein Wort, das sich in mehreren aufeinander folgenden
Programmstzen nicht ndert, braucht nur einmal angegeben werden und kann in
den nachfolgenden Stzen, in denen es unverndert gelten soll, weggelassen
werden. Ein Satz sollte alle Daten zur Ausfhrung eines Arbeitsschrittes enthalten
und endet mit dem Zeichen "LF" (LINE FEED = neue Zeile). Bei den
Programmworten ist folgende Reihenfolge einzuhalten:
1. Satznummer N
2. Wort (e) mit Wegebedingungen G
3. Wort (e) mit Koordinaten X, Y, Z, A, B, C, I, J, K, I1=, J1=, K1=
4. Wort mit Vorschubangaben F
5. Wort mit Spindeldrehzahl S
6. Wort mit Werkzeug und Werkzeugkorrekturen T, D
7. Wort (e) mit Zusatzbedingungen und Hilfsfunktionen M, H
Dr. Linde

Programmstruktur ISO-Code
Ein Programmwort besteht aus einem Adressbuchstaben und einer
(vorzeichenbehafteten) Ziffernfolge.
Eine Ziffernfolge ist entweder ganzzahlig oder wird durch einen Dezimalpunkt
getrennt. Koordinaten (und Radiuswerte) sind vorzeichenbehaftet. Das Zeichen
Plus ist Standard und kann entfallen; das Zeichen Minus ist zu schreiben.
Besteht eine Ziffernfolge nur aus Nullen, so ist mindestens eine Null zu schreiben.
Speziell: Fa. Siemens: Erweiterung des Funktionsumfangs durch
- Verwendung von Hochsprachenelementen, z. B. IF, THEN, GOTO
- Verwendung Standardfunktionen, z. B. SIN, EXP, SQRT
- Verwendung von Variablen, z. B. CR= Hier werden die Werte der
Variablen durch Gleichheitszeichen zugewiesen
- Verwendung von Vorschub steuernden Funktionen, z. B. CFIN, CFC,
ADIS
N40 G2 X240 Y-475 CR=235 F4500
N45 G3 X242 Y-477 CR=2
N50 G1 G40 G90 X241 Y-478 Z17
N55 G0 Z80
N60 G90 G53 G0 D0 Z610 B0 C0 S0
Dr. Linde

Adressen

DIN 66025
Dr. Linde

Bedeutung [Dimension]

Format

Min. Wert

Max. Wert

Drehung um die X-Achse [Grad]

A+033

A-999.999

A999.999

Drehung um die Y-Achse [Grad]

B+033

B-999.999

B999.999

Drehung um die Z-Achse [Grad]

C+033

B-999.999

C999.999

Werkzeugkorrekturblock

D02

D0

D99

Gesonderte Bedeutung

Vorschubgeschwindigkeit [mm/min]

F05

F0

F60000

Wegebedingung

G03

G0

G99 (G999)

Hilfsfunktion

H02

H0

H99

Interpolationsparameter X-Achse [mm]

I+053

I-99999.999

I99999.999

Interpolationsparameter Y-Achse [mm]

J+053

J-99999.999

J99999.999

Interpolationsparameter Z-Achse [mm]

K+053

K-99999.999

K99999.999

Unterprogrammaufruf

L03

L0

L999

Zusatzfunktion

M02

M0

M99

Satznummer

N05

N0

N99999

Nicht vereinbart

Bewegung parallel zur X-Achse [mm]

P+053

P-99999.999

P99999.999

Bewegung parallel zur Y-Achse [mm]

Q+053

Q-99999.999

Q99999.999

Bewegung parallel zur Z-Achse [mm]


oder Parameter

R+053
R03

R-99999.999
R0

R99999.999
R999

Spindeldrehzahl [1/min]

S03

S0

S18000

Werkzeugauswahl, Motor vorlegen

T02

T0

T99, T12

Bewegung parallel zur X-Achse [mm]

U+053

U-99999.999

U99999.999

Bewegung parallel zur Y-Achse [mm]

V+053

Q-99999.999

V99999.999

Bewegung parallel zur Z-Achse [mm]

W+053

R-99999.999

W99999.999

Koordinate in X-Richtung [mm]

X+053

X-99999.999

X99999.999

Koordinate in Y-Richtung [mm]

Y+053

Y-99999.999

Y99999.999

Koordinate in Z-Richtung [mm]

Z+053

Z-99999.999

Z99999.999

Programmelemente Programmname
Befindet sich mehr als ein CNC-Programm im Anwenderspeicher, so sind die
Programme durch Programmnamen zu unterschieden. Ein Programmname kann
frei gewhlt werden. Es gelten folgende Regeln.
- In Namen drfen die Buchstaben A bis Z, die Ziffern 0 bis 9 und der Unterstrich
_ verwendet werden.
- Die ersten beiden Zeichen sollten entweder zwei Buchstaben oder ein Unterstrich
mit einem Buchstaben sein.
- Obwohl beim System Sinumerik grundstzlich auch Kleinbuchstaben zugelassen
sind, sollten beim Programmnamen Grossbuchstaben verwendet werden.
Abweichend davon, kann bei einem Unterprogrammen auch der Programmname
aus einem Buchstaben und einer Ziffernfolge bestehen.
Extern erstellte CNC-Programme, die in die Steuerung eingelesen werden,
beginnen nach dem %-Zeichen mit der Zeichenkette _N_.
Beispiel: Hauptprogramm TEIL32, Unterprogramme PLATTE400X400 und
L899
%_N_TEIL32_MPF
%_N_PLATTE400X400_SPF
%_N_L899_SPF
Dr. Linde

Programmelemente Kommentare
Ein Kommentar dient der Erluterung eines Programms. Kommentare werden von
der Steuerung ignoriert.
Ein Kommentar darf nicht die Zeichen Programmanfang (%) oder Hauptsatz (:)
enthalten. Ein Kommentar beginnt mit dem Zeichen Kommentarbeginn (;) und
endet mit dem Zeichen Satzende.
Gesamter Satz als Kommentar:
N300 ; FAHREN ZUM ANSCHNITT
Teil des Satzes als Kommentar:
N310 G0 X205 Y103.7 F3500 ; FRAESEN
Kommentar-Vorspann eines Programms:
%_N_DECKEL_MPF
;$PATH=/_N_WKS_DIR/_N_TEST_WPD
;ROHTEIL X=480MM Y=480MM Z=19MM
;ABDECKUNG OBEN
EXTERN WECHSEL (INT,INT,INT)
N1 G40 G451 G54 G64 CFIN M51
N4 G53 G0 G90 D0 Z340
Dr. Linde

Programmelemente Meldungen
Meldungen sind Hinweise/Erluterungen fr den Maschinenfhrer und werden auf
dem Bildschirm angezeigt. Eine Meldung wird solange angezeigt, bis sie durch eine
andere Meldung berschrieben oder durch einen Lschbefehl gelscht wird.
Hinweis: In der DIN 66025 sind keine Meldungen vereinbart. Die Beispiele
beziehen sich auf Steuerung Sinumerik 840D.
N300 MSG (ANZEIGETEXT) Zeichenkette zwischen ... wird als
Meldung auf dem Monitor dargestellt.
N310 MSG ()

Dr. Linde

die Meldung auf dem Monitor wird gelscht.

Programmelemente Satznummerierung
Das Programmwort fr Satznummer besteht aus dem Adressbuchstabe N und
einer ganzzahligen Ziffernfolge. Ein Programm sollte numerisch aufsteigend
nummeriert werden. Als Schrittweite der Satznummerierung sollte 5 oder 10
gewhlt werden. Die Programmstze (bei unverzweigtem Programm) werden
entsprechend der Reihenfolge der Eingabe abgearbeitet und nicht in der
Reihenfolge der Satznummern. Bei einigen Steuerungen ist die Angabe von
Satznummern nicht zwingend notwendig und kann entfallen.
Aber: Stellt die Steuerung in einem CNC-Programm Fehler fest, so werden diese
Fehler benannt und als Ort der Feststellung (d. h. wo die Fehler wirksam werden
muss nicht der Ort des Entstehens sein) die dazugehrige Satznummer
angegeben.
N100
N105
Ein Ausblendsatz kann wahlweise abgearbeitet werden, wenn er vor der
Satznummer das Zeichen / (Satzausblenden) enthlt. Wurde durch den
Maschinenfhrer am Bedienfeld der Steuerung der Schalter Satzausblenden
manuell bettigt, dann werden alle als Ausblendstze gekennzeichneten
Programmstze ignoriert.
/N150
Dr. Linde

Programmelemente Sprungziele
Durch die Definition von Sprungzielen (so genannte Labels), bei bedingten oder
unbedingten Sprngen, knnen innerhalb eines Programms Verzweigungen
programmiert werden.
Der Name eines Labels kann mit mindestens 2 und hchstens 32 Zeichen
(Buchstaben, Ziffern, Unterstrich) angegeben werden. Dabei mssen die ersten
beiden Zeichen mssen Buchstaben sein. Nach dem Namen des Labels folgt ein
Doppelpunkt (":"). Der Name eines Labels muss eindeutig sein.
Ein Label steht immer am Satzanfang; wird eine Satznummer verwendet steht das
Label unmittelbar hinter der Satznummer.
N10 MARKE1: G00 X20 Y105

N200 IF R10<R22 THEN GOTOB MARKE1

Dr. Linde

Programmelemente erweiterte Adressschreibweise


Bei der Steuerung Sinumerik 840D werden folgende Unterscheidungen getroffen.
1. Adressen
Adressen fr die Bezeichnung u. a. fr Satznummern, Achsen, Wegebedingungen,
Werkzeugaufrufe, Werkzeugkorrektur, Spindeldrehzahl, Vorschub und
Zusatzfunktionen.
N10 G00 X120.5 oder N15 G01 Z40 F3500
2. Wertzuweisungen
Den Adressen knnen Werte zugewiesen werden. Die Wertzuweisung erfolgt
abhngig von der Art des Adressbezeichners unterschiedlich.
Ein "="-Zeichen zwischen dem Adressbezeichner und dem Wert muss geschrieben
werden, wenn:
- der Adressbezeichner aus mehr als einem Buchstaben besteht,
- der Wert aus mehr als einer Konstanten besteht.
X=10*(5+SIN(37.5))
Wertzuweisung ber einen numerischen Ausdruck
3. Bezeichner
Die Adressen nach DIN 66025 knnen durch Bezeichner (Namen) ergnzt werden.
Die Bezeichner mssen eindeutig sein. Derselbe Bezeichner darf nicht fr
verschiedene Objekte verwendet werden.
N205 TRANS X20 Y-15.7 oder N210 AROT RPL=60
Dr. Linde