Eine letzte Änderung noch: Oft genug kommen bearbeitete Teile noch zur Oberflächenbehandlung und man muss entsprechend der Schichtdicke entweder größer fertigen oder Nacharbeiten. Keine Lust auf Beides. Eine andere Schneidplatte macht in meinen AUgen bei ein paar wenigen Keilnuten auch wenig Sinn, daher hab ich das Programm um den Eintrag
Zugabe Schichtdicke erweitert:
Wenn der Eintrag Zugabe Schichtdicke größer 0 ist, verfährt der Zyklus pro Span nach dem ersten Schnitt in der Mitte, einmal links und einmal rechts. Dazu wird um die Schichtdicke tiefer geräumt. Ich denke, so macht man am wenigsten Schaden an den Ecken der Platte, da die auch zu Beginn am Radius mit der Ecke schneidet. Läuft dann halt ums dreifache länger, das Programm, da dreifach auf einem Maß stossen...
Neues Programm:
CODE
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 = 0; Winkel Nut
9;
10 Q804 = 2.9; Tiefe Nut
11;
12 Q805 = 42; 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 = 38; Werkzeug Nummer
22 Q813 = 3.05; Exzentermass Schneide
23 Q814 = 6.5; 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 CYCL DEF 19.0 BEARBEITUNGSEBENE
33 CYCL DEF 19.1 B+0 C+0
34 CYCL DEF 7.0 NULLPUNKT
35 CYCL DEF 7.1 X+Q801
36 CYCL DEF 7.2 Y+Q802
37 Q801 = 0
38 Q802 = 0
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 CYCL DEF 13.0 ORIENTIERUNG
46 CYCL DEF 13.1 WINKELQ820
47 M20
48 CYCL DEF 10.0 DREHUNG
49 CYCL DEF 10.1 ROT+Q803
50 L X+Q823 Y+Q802 FMAX
51 L Z+Q816 FMAX M7
52 LBL "CONTINUE"
53 L Z-Q805 FQ811
54 L X+Q824 FQ811
55 L Z+Q816 FMAX
56 FN 9: IF +Q808 EQU +0 GOTO LBL "NEXT"
57 L X+Q823 Y+Q808 FMAX
58 L Z-Q805 FQ811
59 L X+Q824 FQ811
60 L Z+Q816 FMAX
61 L X+Q823 Y-Q808 FMAX
62 L Z-Q805 FQ811
63 L X+Q824 FQ811
64 L Z+Q816 FMAX
65 LBL "NEXT"
66 Q823 = Q823 + Q810
67 L X+Q823 Y+Q802 FMAX
68 FN 12: IF +Q823 LT +Q825 GOTO LBL "CONTINUE"
69 FN 9: IF +Q823 EQU +Q825 GOTO LBL "CONTINUE"
70 FN 11: IF +Q823 GT +Q825 GOTO LBL "ENDE"
71 LBL "ENDE"
72 CYCL DEF 19.0 BEARBEITUNGSEBENE
73 CYCL DEF 19.1 B+0 C+0
74 CYCL DEF 7.0 NULLPUNKT
75 CYCL DEF 7.1 X+0
76 CYCL DEF 7.2 Y+0
77 L Z+Q817 FMAX M9
78 CYCL DEF 13.0 ORIENTIERUNG
79 CYCL DEF 13.1 WINKEL0
80 M20
81 CYCL DEF 10.0 DREHUNG
82 CYCL DEF 10.1 ROT+0
83 L Y+0 Z-175 FMAX M91
84 TOOL CALL 48 Z
85 L Y+0 Z-175 FMAX M91 M30
86 END PGM Keilnut stossen MM
Wenn Wert größer 0, Zugabe Schichtdicke in Richtung Nut, links und rechts davon!
CODE
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. Durch die Differenzeingabe setze ich beides gleich:
CODE
Q815 = 270; Winkel Differenz
Drehe Spindel auf Koordinatensystem von ROT (X+ Richtung ist Null, aufsteigend nach Y+), somit ist beides synchon:
CODE
CYCL DEF 13.0 ORIENTIERUNG
CYCL DEF 13.1 WINKELQ820
M20
Selbstverständlich würde ich mich um ein Feedback, egal welcher Art, freuen...
Der Beitrag wurde von ABMNITNC bearbeitet: 05.09.2018, 20:19 Uhr
Angehängte Datei(en)
keilnut_stossen.h ( 2.19KB )
Anzahl der Downloads: 11