Heidenhain iTNC 530

Hier findest Du einige Parameterprogramme für Fräsmaschinen mit der Heidenhain iTNC 530 Steuerung. Für tägliche und sich oft wiederholende Bearbeitungen kann man sich schonmal das Leben erleichtern.

Keilnut (mit Anzug) stossen

Um eine Keilnut auf der Maschine zu stossen, fehlt mir an der iTNC 530 / TNC 640 leider der Zyklus, somit habe ich mir selbst einen geschrieben. Da normalerweise Plättchen der Toleranzklasse P9 verwendet werden, hab ich noch um den Eintrag Schichtdicke erweitert, um vor einer etwaigen Oberflächenbehandlung die Nut zu verbreitern. Dazu kommt noch eine Übersicht über die Nut zu Beginn und eine Restweganzeige.

keilnut_stossen.h

Code eingefügt.
0  BEGIN PGM KEILNUT STOSSEN MM 
1  BLK FORM 0.1 Z X-100 Y-100 Z-50
2  BLK FORM 0.2  X+100  Y+100  Z+0
3  ;
4 ; Variablen fuer Keilnut definieren
5 ;
6 Q801 = 0 ; X Koordinate
7 Q802 = 0 ; Y Koordinate
8 Q803 = 90 ; Winkel Nut
9 ;
10 Q804 = 2.96 ; Tiefe Nut
11 ;
12 Q805 = 40 ; Dicke Material
13 Q806 = 6 ; Breite Nut / Werkzeug
14 Q807 = 10 ; Radius Bohrung
15 Q808 = 0.015 ; Zugabe Schichtdicke
16 ;
17 ; Variablen fuer Zyklus definieren
18 ;
19 Q810 = 0.02 ; Zustellung Span
20 Q811 = 5000 ; Vorschub
21 Q812 = 57 ; Werkzeug Nummer
22 Q813 = 2.42 ; Exzentermass Schneide
23 Q814 = 6.04 ; Radius WKZ Halter
24 Q815 = 270 ; Winkel Differenz
25 Q816 = 5 ; Sicherheitsabstand Z
26 Q817 = 50 ; 2. Sicherheitsabstand Z
27 Q818 = 0.2 ; Anfahrabstand Schneide
28 ;
29 ; Ab hier nichts mehr aendern!!
30 ;
31 TOOL CALL Q812 Z
32 PLANE RESET STAY
33 CYCL DEF 7.0 NULLPUNKT
34 CYCL DEF 7.1  X+Q801
35 CYCL DEF 7.2  Y+Q802
36 Q801 = 0
37 Q802 = 0
38 Q809 = Q808 / 2
39 Q820 = Q815 - Q803
40 Q821 = SQRT ( SQ Q807 - SQ ( Q806 / 2 ) ) - Q818 - Q814 - Q813
41 Q822 = ( 2 * Q807 - SQRT ( 4 * SQ Q807 - SQ Q806 ) ) / 2
42 Q823 = Q801 + Q821
43 Q824 = Q823
44 Q825 = Q801 + Q821 + Q804 + Q818 + Q822 + Q808
45 FN 16: F-PRINT TNC:\Print\keilnut-info.a / SCREEN:
46 STOP
47 CYCL DEF 13.0 ORIENTIERUNG
48 CYCL DEF 13.1 WINKELQ820
49 M20 M35
50 CYCL DEF 10.0 DREHUNG
51 CYCL DEF 10.1  ROT+Q803
52 L  X+Q823  Y+Q802 FMAX
53 L  Z+Q816 FMAX M7
54 Q826 = Q825 - Q824
55 FN 16: F-PRINT TNC:\Print\keilnut-restweg.a / SCREEN:
56 LBL "CONTINUE"
57 L  Z-Q805 FQ811
58 L  X+Q824 FQ811
59 L  Z+Q816 FMAX
60 FN 9: IF +Q808 EQU +0 GOTO LBL "NEXT"
61 L  X+Q823  Y+Q809 FMAX
62 L  Z-Q805 FQ811
63 L  X+Q824 FQ811
64 L  Z+Q816 FMAX
65 L  X+Q823  Y-Q809 FMAX
66 L  Z-Q805 FQ811
67 L  X+Q824 FQ811
68 L  Z+Q816 FMAX
69 LBL "NEXT"
70 Q823 = Q823 + Q810
71 Q826 = Q826 - Q810
72 FN 16: F-PRINT TNC:\Print\keilnut-restweg.a / SCREEN:
73 L  X+Q823  Y+Q802 FMAX M20
74 FN 12: IF +Q823 LT +Q825 GOTO LBL "CONTINUE"
75 FN 9: IF +Q823 EQU +Q825 GOTO LBL "CONTINUE"
76 FN 11: IF +Q823 GT +Q825 GOTO LBL "ENDE"
77 LBL "ENDE"
78 FN 16: F-PRINT TNC:\Print\keilnut-restweg.a / SCLR:
79 PLANE RESET STAY
80 CYCL DEF 7.0 NULLPUNKT
81 CYCL DEF 7.1  X+0
82 CYCL DEF 7.2  Y+0
83 L  Z+Q817 FMAX M9
84 CYCL DEF 13.0 ORIENTIERUNG
85 CYCL DEF 13.1 WINKEL0
86 M20
87 CYCL DEF 10.0 DREHUNG
88 CYCL DEF 10.1  ROT+0
89 L  Y+0  Z-5 FMAX M92
90 ;
91 TOOL CALL 0 Z
92 M30
93 END PGM KEILNUT STOSSEN MM

Erklärung einiger Parameter:

Wenn Wert größer 0, Zugabe Schichtdicke in Richtung Nut, links und rechts davon!

Parameter

15 Q808 = 0.015 ; Zugabe Schichtdicke

Hier muss die Differenz von Spindelnullstellung M19 zu ROT 0 Grad eingegeben werden, ich stelle das weiter unten im Programm gleich.

Hintergrund: Beim Spindelwinkel liegt die 0 anders, als im Koordinatensystem und kann nur positiv eingegeben werden.

Parameter

24 Q815 = 270 ; Winkel Differenz

Drehe Spindel auf Koordinatensystem von ROT (X+ Richtung ist Null, aufsteigend nach Y+), somit ist beides synchon, durch die Differenzeingabe oben setze ich beides gleich:

Parameter

45 CYCL DEF 13.0 ORIENTIERUNG
46 CYCL DEF 13.1 WINKELQ820
47 M20

Leicht modifiziert kann das Programm auch für alte Ausführungen der Keilnut, nämlich mit Anzug (und Krawatte Smiley ) genutzt werden.

keilnut_mit_anzug_stossen.h

Code eingefügt.
0  BEGIN PGM KEILNUT MIT ANZUG STOSSEN MM 
1  BLK FORM 0.1 Z X-100 Y-100 Z-50
2  BLK FORM 0.2  X+100  Y+100  Z+0
3  ;
4  ; Achtung, hier muss man auf mehrere
5  ; Dinge gleichzeitig achten:
6  ; Sicherheitsabstand Anfang Nut ver-
7  ; groessern, Winkel immer auf 0,
8  ; B Achse schwenkt auf Winkel fuer
9  ; Anzug, C Achse auf +90 Grad drehen
10 ; (= Winkel 0, siehe oben )
11 ; Tiefe muss auch tiefer werden
12 ;
29 ; Variablen fuer Keilnut definieren
30 ;
31 Q801 = 0 ; X Koordinate
32 Q802 = 0 ; Y Koordinate
33 Q803 = 0 ; Winkel Nut
34 ;
35 Q804 = 2.6 ; Tiefe Nut
36 ;
37 Q805 = 50 ; Dicke Material
38 Q806 = 14 ; Breite Nut / Werkzeug
39 Q807 = 22.5 ; Radius Bohrung
40 Q808 = 0 ; Zugabe Schichtdicke
41 ;
42 ; Variablen fuer Zyklus definieren
43 ;
44 Q810 = 0.015 ; Zustellung Span
45 Q811 = 4500 ; Vorschub
46 Q812 = 33 ; Werkzeug Nummer
47 Q813 = 8.22 ; Exzentermass Schneide
48 Q814 = 14.24 ; Radius WKZ Halter
49 Q815 = 270 ; Winkel Differenz
50 Q816 = 5 ; Sicherheitsabstand Z
51 Q817 = 50 ; 2. Sicherheitsabstand Z
52 Q818 = 0.7 ; Anfahrabstand Schneide
53 ;
54 ; Ab hier nichts mehr aendern!!
55 ;
56 TOOL CALL Q812 Z
57 PLANE RESET STAY
58 CYCL DEF 7.0 NULLPUNKT
59 CYCL DEF 7.1  X+Q801
60 CYCL DEF 7.2  Y+Q802
61 ;
62 PLANE SPATIAL SPA+0 SPB-0.573 SPC+90 TURN FMAX SEQ- COORD ROT
63 ;
64 Q801 = 0
65 Q802 = 0
66 Q820 = Q815 - Q803
67 Q821 = SQRT ( SQ Q807 - SQ ( Q806 / 2 ) ) - Q818 - Q814 - Q813
68 Q822 = ( 2 * Q807 - SQRT ( 4 * SQ Q807 - SQ Q806 ) ) / 2
69 Q823 = Q801 + Q821
70 Q824 = Q823
71 Q825 = Q801 + Q821 + Q804 + Q818 + Q822 + Q808
72 CYCL DEF 13.0 ORIENTIERUNG
73 CYCL DEF 13.1 WINKELQ820
74 M20 M35
75 CYCL DEF 10.0 DREHUNG
76 CYCL DEF 10.1  ROT+Q803
77 L  X+Q823  Y+Q802 FMAX
78 L  Z+Q816 FMAX M7
79 LBL "CONTINUE"
80 L  Z-Q805 FQ811
81 L  X+Q824 FQ811
82 L  Z+Q816 FMAX
83 FN 9: IF +Q808 EQU +0 GOTO LBL "NEXT"
84 L  X+Q823  Y+Q808 FMAX
85 L  Z-Q805 FQ811
86 L  X+Q824 FQ811
87 L  Z+Q816 FMAX
88 L  X+Q823  Y-Q808 FMAX
89 L  Z-Q805 FQ811
90 L  X+Q824 FQ811
91 L  Z+Q816 FMAX
92 LBL "NEXT"
93 Q823 = Q823 + Q810
94 L  X+Q823  Y+Q802 FMAX
95 FN 12: IF +Q823 LT +Q825 GOTO LBL "CONTINUE"
96 FN 9: IF +Q823 EQU +Q825 GOTO LBL "CONTINUE"
97 FN 11: IF +Q823 GT +Q825 GOTO LBL "ENDE"
98 LBL "ENDE"
99 PLANE RESET STAY
100 CYCL DEF 7.0 NULLPUNKT
101 CYCL DEF 7.1  X+0
102 CYCL DEF 7.2  Y+0
103 L  Z-5 FMAX M9 M92
104 PLANE RESET TURN FMAX
105 CYCL DEF 13.0 ORIENTIERUNG
106 CYCL DEF 13.1 WINKEL0
107 M20
108 CYCL DEF 10.0 DREHUNG
109 CYCL DEF 10.1  ROT+0
110 L  Y+0  Z-5 FMAX M92
111 TOOL CALL 100 Z
112 M30
113 END PGM KEILNUT MIT ANZUG STOSSEN MM

Für die Info und Restweganzeige müssen die beiden folgenden Templates ins Verzeichnis TNC:\Print der Steuerung. Bei der iTNC 530 müssen noch zwei Änderungen gemacht werden: Aus ""; wird " "; (Leerzeichen einfügen) und aus M_TRUNCATE; wird M_CLOSE;

Hier das fertige Ergebnis:



Zeigt eine Übersicht der KeilnutBild zeigt den Restweg

keilnut-info.a

Code eingefügt.
45 CYCL DEF 13.0 ORIENTIERUNG
46 CYCL DEF 13.1 WINKELQ820
"Keilnut Info:";
"";
"X Koordinate     : %+9.3F",Q801;
"Y Koordinate     : %+9.3F",Q802;
"Lage             : %+9.3F",Q803;
"Nutbreite        : %+9.3F",Q806;
"Radius Bohrung   : %+9.3F",Q807;
"";
"Tiefe Radial     : %+9.3F",Q804;
"Tiefe Axial      : %+9.3F",Q805;
"Schichtdicke     : %+9.3F",Q809;
"";
"Werkzeug         : %+9.3F",Q812;
"Exzentermass     : %+9.3F",Q813;
"Radius WKZ Halter: %+9.3F",Q814;
"";
"Weiter mit NC Start...";
M_TRUNCATE;

keilnut-restweg.a

"Restweg bis zum Nutgrund: %+9.3F",Q826;
M_TRUNCATE;

Zurück