0 BEGIN PGM 1075_DE MM 1 ;Programm, um einen Konus mit einer 2 ;helikalen Bahn zu fraesen. 3 ;Die Bearbeitung erfolgt je nachdem wie Sie 4 ;die Parameter definieren: 5 ;- Innen oder Aussen 6 ;- Von Oben nach Unten oder umgekehrt 7 ;- Im- oder gegen den Uhrzeigersinn 8 ;- Vom grossen zum kleinen Durchmesser oder 9 ; umgekehrt 10 ; 11 ;Die Steuerung teilt die dafür nötige 12 ;Werkzeugbahn in lineare Schritte 13 ;auf. Mit der Teilung definieren Sie, 14 ;in wie viele lineare Elemente eine 360-Grad- 15 ;Bahn aufgeteilt wird. Die Steuerung berechnet 16 ;zu jedem dieser linearen Schritte eine 17 ;X-, Y- und Z-Koordinate, die angefahren 18 ;werden. 19 ; 20 ; 21 BLK FORM 0.1 Z X+0 Y+0 Z-32 22 BLK FORM 0.2 X+100 Y+100 Z+0 23 ; 24 ;Werkzeugaufruf Schaftfraeser 25 TOOL CALL 15 Z S5000 26 ; 27 ;Parametereingabe 28 FN 0: Q1 =+50 ;MITTE X 29 FN 0: Q2 =+50 ;MITTE Y 30 FN 0: Q4 =-1 ;UMLAUFSINN 31 ; ;-1= IM UHRZEIGERSINN 32 ; ;+1= GEGEN UHRZEIGERSINN 33 FN 0: Q5 =+180 ;TEILUNG 34 FN 0: Q6 =+40 ;RADIUS START 35 FN 0: Q7 =+0 ;STARTWINKEL 36 FN 0: Q8 =+15 ;KEGELWINKEL 37 FN 0: Q9 =+0.2 ;TIEFENAENDERUNG JE UMLAUF 38 FN 0: Q10 =+2 ;SICHERE HOEHE 39 FN 0: Q11 =+300 ;VORSCHUB TIEFENZUSTELLUNG 40 FN 0: Q12 =+1000 ;VORSCHUB FRAESEN 41 FN 0: Q3 =+0 ;Z-KOORDINATE START 42 FN 0: Q13 =-30 ;Z-KOORDINATE ENDE 43 FN 0: Q14 =+0 ;SEITLICHES AUFMASS 44 FN 0: Q15 =+1 ;RADIUSKOMPENSATION 45 ; ;-1= INNEN 46 ; ;+1= AUSSEN 47 FN 0: Q16 =+2 ;SEITLICHER SICHERHEITSABSTAND 48 ; Parametereingabe Ende 49 ; 50 ;Aufruf der Bearbeitung 51 CALL LBL 1 52 ; 53 ;Freifahren und Programmende 54 L Z+100 R0 FMAX M30 55 ; 56 ;Bearbeitung 57 LBL 1 58 FN 3: Q31 =+Q16 * +Q15 ;Verrechnung Sicherheitsabstand seitlich 59 FN 3: Q38 =+Q108 * +Q15 ;Verrechnung Werkzeugradius 60 FN 3: Q39 =+Q14 * +Q15 ;Verrechnung seitliches Aufmass 61 FN 0: Q23 =+Q3 ;aktuelle Z-Koordinate 62 FN 0: Q25 =+0 ;Zaehler 63 FN 1: Q26 =+Q6 + +Q38 ;Werkzeugradiuskompensation 64 FN 1: Q26 =+Q26 + +Q39 ;Aufmasskompensation 65 FN 1: Q28 =+Q26 + +Q31 ;Radius für Vorpositioniering 66 FN 0: Q27 =+Q7 ;Aktueller Winkel 67 Q36 = TAN Q8 * Q9 ;Radiusaenderung je 360 Grad 68 FN 4: Q36 =+Q36 DIV +Q5 ;Schrittgroesse Radius 69 FN 4: Q37 =+360 DIV +Q5 ;Schrittgroesse Winkel 70 FN 3: Q37 =+Q37 * +Q4 ;Winkelschritt im Umlaufsinn 71 FN 2: Q35 =+Q13 - +Q3 ;Z-Bereich 72 Q33 = Q9 / Q5 * SGN Q35 ;Schrittgroesse Z 73 Q35 = ( Q13 - Q3 ) / Q33 ;Anzahl der Z-Schritte 74 Q35 = ABS Q35 ;Zaehlwert positiv 75 ; 76 CC X+Q1 Y+Q2 ;Mittelpunkt definieren 77 LP PR+Q28 PA+Q7 R0 FMAX M3 ;Vorpositionieren 78 L Z+Q10 R0 FMAX ;Auf Sicherheitsabstand fahren 79 L Z+Q3 R0 FQ11 ;Auf Z-Startkoordinate fahren 80 LP PR+Q26 PA+Q7 R0 FQ12 ;Auf Startposition fahren 81 ; 82 ;Wiederholungen 83 LBL 2 84 FN 1: Q26 =+Q26 + +Q36 ;Radius aktualisieren 85 FN 1: Q27 =+Q27 + +Q37 ;Winkel aktualisieren 86 FN 7: Q21 = COS +Q27 ;Berechnung X-Koordinate 87 FN 3: Q21 =+Q21 * +Q26 ;Berechnung X-Koordinate 88 FN 1: Q21 =+Q21 + +Q1 ;Neue X-Koordinate 89 FN 6: Q22 = SIN +Q27 ;Berechnung Y-Koordinate 90 FN 3: Q22 =+Q26 * +Q22 ;Berechnung Y-Koordinate 91 FN 1: Q22 =+Q22 + +Q2 ;Neue Y-Koordinate 92 FN 1: Q23 =+Q23 + +Q33 ;Neue Z-Koordinate 93 FN 1: Q25 =+Q25 + +1 ;Zaehler aktualisieren 94 L X+Q21 Y+Q22 Z+Q23 FQ12 ;Neue Koordinaten anfahren 95 FN 12: IF +Q25 LT +Q35 GOTO LBL 2 ;Vergleich, ob Anzahl der Schritte erreicht 96 LP IPR+Q31 ;Seitlich freifahren 97 L Z+Q10 R0 FMAX ;Auf Sicherheitsabstand fahren 98 LBL 0 99 END PGM 1075_DE MM