0 BEGIN PGM 2030_DE MM 1 ;Regelmaesiges Vieleck. 2 ;Bestimmung der Koordinaten mit Sinus und Kosinus 3 BLK FORM 0.1 Z X+0 Y+0 Z-20 4 BLK FORM 0.2 X+100 Y+100 Z+0 5 ; 6 ;Werkzeugaufruf Fraeser 7 TOOL CALL 51 Z S3000 8 ; 9 ;Eingabe Parameter 10 FN 0: Q1 =+50 ;Mitte X-ACHSE 11 FN 0: Q2 =+50 ;MITTE Y-ACHSE 12 FN 0: Q3 =-10 ;TIEFE 13 FN 0: Q4 =-1 ;UMLAUFSINN 14 ; ;-1=IM UHRZEIGERSINN 15 ; ;+1=GEGEN UHRZEIGERSINN 16 FN 0: Q5 =+6 ;ANZAHL DER ECKEN 17 FN 0: Q6 =+45 ;UMKREISRADIUS 18 FN 0: Q7 =+0 ;WINKELLAGE ERSTE ECKE 19 FN 0: Q10 =+2 ;SICHERHEITSABSTAND 20 FN 0: Q11 =+150 ;VORSCHUB TIEFENZUSTELLUNG 21 FN 0: Q12 =+300 ;VORSCHUB FRAESEN 22 FN 0: Q14 =+0 ;SEITLICHES AUFMASS 23 FN 0: Q15 =+1 ;RADIUSKORREKTUR(O=RO,1=RL,2=RR) 24 ;Eingabe Ende! 25 ; 26 L Z+100 R0 FMAX M3 27 ; 28 LBL 1 29 CC X+Q1 Y+Q2 ;CC auf Mitte X+Y 30 ; 31 ;Berechnungen 32 FN 0: Q27 =+0 ; Aktuellen Winkel null setzen; 33 FN 0: Q35 =+1 ; Eckenzaehler setzen 34 FN 1: Q26 =+Q6 + +Q14 ;zu fertigender Radius (Umkreisradius+Aufmass) 35 FN 4: Q28 =+Q108 DIV +2 ;Anfahrradius ( 1/2*Werkzeugradius) 36 FN 3: Q29 =+Q108 * +2 ;Werkzeugdurchmesser (2*Werkzeugradius) 37 FN 1: Q29 =+Q26 + +Q29 ;Abstand fuer Vorpositionierung (Radius+Werkzeugdurchmesser) 38 FN 4: Q37 =+360 DIV +Q5 ;Winkelschritt 39 FN 3: Q37 =+Q37 * +Q4 ;Umlaufsinn 40 FN 0: Q27 =+Q7 ;Aktueller Winkel=Winkel erste Ecke 41 LP PR+Q29 PA+Q7 R0 FMAX ;Vorpositionieren 42 L Z+Q10 FMAX 43 L Z+Q3 FQ11 ;Tiefenzustellung 44 ; 45 FN 9: IF +Q15 EQU +1 GOTO LBL 11 ;wenn Radiuskorrektur RL Sprung zu LBL11 46 FN 9: IF +Q15 EQU +2 GOTO LBL 12 ;wenn Radiuskorrektur RR Sprung zu LBL12 47 ; 48 ;Anfahrt erste Ecke mit R0 49 LP PR+Q26 PA+Q7 R0 FQ12 50 RND RQ28 51 FN 9: IF +0 EQU +0 GOTO LBL 2 ;Sprung zu LBL2 52 ; 53 ;Anfahrt erste Ecke mit RL 54 LBL 11 55 LP PR+Q26 PA+Q7 RL FQ12 56 RND RQ28 57 FN 9: IF +0 EQU +0 GOTO LBL 2 ;Sprung zu LBL2 58 ; 59 ;Anfahrt erste Ecke mit RR 60 LBL 12 61 LP PR+Q26 PA+Q7 RR FQ12 62 RND RQ28 63 FN 9: IF +0 EQU +0 GOTO LBL 2 ;Sprung zu LBL2 64 ; 65 ; 66 LBL 2 67 FN 1: Q35 =+Q35 + +1 ;Eckenzaehler 68 FN 1: Q27 =+Q27 + +Q37 ;neuer Winkel (aktueller Winkel+Winkelschritt) 69 ; 70 ;Berechnen neue X und Y Position 71 FN 6: Q22 = SIN +Q27 ;Sinus vom aktuellen Winkel 72 FN 3: Q22 =+Q22 * +Q26 ;Sinus * Radius 73 FN 1: Q22 =+Q22 + +Q2 ;Y-Position=Ergebnis+Mitte Y-Achse 74 FN 7: Q21 = COS +Q27 ;Cosinus vom aktuellen Winkel 75 FN 3: Q21 =+Q21 * +Q26 ;Cosinus * Radius 76 FN 1: Q21 =+Q21 + +Q1 ;X-Position=Ergebnis+Mitte X-Achse 77 ; 78 ;fahren auf neue Position 79 L X+Q21 Y+Q22 FQ12 80 ; 81 FN 12: IF +Q35 LT +Q5 GOTO LBL 2 ;Wenn Wert Eckenzaehler kleiner Anzahl der Ecken Ruecksprung zu LBL2 82 ; 83 LP PR+Q26 PA+Q7 ;zurueck auf erste Ecke 84 RND RQ28 85 LP PR+Q29 PA+Q7 R0 ;Freifahren 86 L Z+Q10 R0 FMAX ;Auf sichere Hoehe fahren 87 LBL 0 88 L Z+100 R0 FMAX M2 89 ;Programm Ende 90 END PGM 2030_DE MM