0 BEGIN PGM 30801_DE MM 1 ;NC-Programm zur Berechnung und Abarbeitung 2 ;der Werkzeugbahnen fuer das dreiachsige 3 ;Bearbeiten einer schraegen Flaeche. 4 ;Die Definition der Flaeche und der 5 ;Bearbeitungsparameter erfolgt im NC-Programm 6 ;3080_de.h. In diesem NC-Programm brauchen 7 ;Sie keine Anpassungen vornehmen. 8 ; 9 ;Verrechnung Werkzeugschneidenradius 10 FN 18: SYSREAD Q17 = ID50 NR3 ;Auslesen R2 vom aktiven Werkzeug 11 Q14 = Q8 - Q6 ;Laenge der Flaeche in X 12 Q15 = Q9 - Q7 ;Laenge der Flaeche in Z 13 Q16 = ATAN ( Q15 / Q14 ) ;Winkel der Flaeche 14 Q16 = ABS Q16 ;Winkel positiv setzen 15 Q18 = COS Q16 * Q17 ;Kontaktpunkt der Werkzeugschneide in der Laenge 16 Q19 = SIN Q16 * Q17 ;Kontaktpunkt der Werkzeugschneide im Radius 17 Q80 = Q17 - Q18 ;Delta Laenge fuers Werkzeug 18 Q81 = Q108 - Q17 + Q19 ;Aktiver Werkzeugradius 19 TOOL CALL DL-Q80 ;Korrektur Werkzeuglaenge 20 ;Korrektur Werkzeug abgeschlossen 21 ; 22 ;Berechnung der Koordinaten fuer die Werkzeugbahnen 23 FN 0: Q32 =+0 ;Y-Koordinate der ersten Fraesbahn 24 FN 1: Q36 =+Q6 + +Q81 ;Aktiven Werkzeugradius am X-Startpunkt verrechnen 25 FN 1: Q36 =+Q36 + +Q24 ;X-Aufmass am X-Startpunkt verrechnen 26 FN 1: Q37 =+Q7 + +Q23 ;Z-Aufmass am Z-Startpunkt verrechnen 27 FN 1: Q38 =+Q8 + +Q81 ;Aktiven Werkzeugradius am X-Endpunkt verrechnen 28 FN 1: Q38 =+Q38 + +Q24 ;X-Aufmass am X-Endpunkt verrechnen 29 FN 1: Q39 =+Q9 + +Q23 ;Z-Aufmass am Z-Endpunkt verrechnen 30 FN 0: Q46 =+0 ;Zaehler fuer die Anzahl der Fraesbahnen 31 FN 4: Q72 =+Q12 DIV +Q26 ;Seitliche Zustellung 32 ; 33 ;Nullpunkt verschieben 34 CYCL DEF 7.0 NULLPUNKT 35 CYCL DEF 7.1 X+Q1 36 CYCL DEF 7.2 Y+Q2 37 CYCL DEF 7.3 Z+Q3 38 ;Rotation um Nullpunkt 39 CYCL DEF 10.0 DREHUNG 40 CYCL DEF 10.1 ROT+Q4 41 ; 42 ;Bearbeitung 43 L X+Q36 Y+Q32 R0 FMAX ;Am Startpunkt vorpositionieren 44 L Z+Q25 FMAX ;Z-Achse auf Sicherheitsabstand positionieren 45 L Z+Q37 FQ20 ;Z-Achse auf Startkoordinate positionieren 46 L X+Q38 Y+Q32 Z+Q39 R0 FQ21 ;Erste Fraesbahn 47 ; 48 LBL 1 ;Sprungmarke fuer Wiederholungen 49 FN 1: Q32 =+Q32 + +Q72 ;Seitliche Zustellung in Y-Richtung verrechnen 50 FN 1: Q46 =+Q46 + +1 ;Zaehler der Fraesbahnen erhoehen 51 FN 11: IF +Q46 GT +Q26 GOTO LBL 99 ;Pruefen, ob die Anzahl der Fraesbahnen erreicht ist 52 L X+Q38 Y+Q32 Z+Q39 FQ21 ;Seitliche Zustellung in Y-Richtung 53 L X+Q36 Y+Q32 Z+Q37 FQ21 ;Fraesbahn 54 FN 1: Q32 =+Q32 + +Q72 ;Seitliche Zustellung in Y-Richtung verrechnen 55 FN 1: Q46 =+Q46 + +1 ;Zaehler der Fraesbahnen erhoehen 56 FN 11: IF +Q46 GT +Q26 GOTO LBL 99 ;Pruefen, ob die Anzahl der Fraesbahnen erreicht ist 57 L X+Q36 Y+Q32 Z+Q37 FQ21 ;Seitliche Zustellung in Y-Richtung 58 L X+Q38 Y+Q32 Z+Q39 FQ21 ;Fraesbahn 59 FN 9: IF +0 EQU +0 GOTO LBL 1 ;Sprung fuer Wiederholung 60 ; 61 LBL 99 ;Sprungmarke fuer Programmende 62 ;Drehung zuruecksetzen 63 CYCL DEF 10.0 DREHUNG 64 CYCL DEF 10.1 ROT+0 65 ;Nullpunktverschiebung zuruecksetzen 66 CYCL DEF 7.0 NULLPUNKT 67 CYCL DEF 7.1 X+0 68 CYCL DEF 7.2 Y+0 69 CYCL DEF 7.3 Z+0 70 L Z+Q25 FMAX ;In der Z-Achse auf Sicherheitsabstand positionieren 71 ;Programmende 72 END PGM 30801_DE MM