0 BEGIN PGM 2070_NL MM 1 ;Programma voor het frezen van een ellipsbaan. 2 ;Hiervoor wordt de eigenlijke baan in afzonderlijke 3 ;lineaire elementen opgedeeld. Het aantal van deze 4 ;lineaire bewegingen bepaalt hoe exact de 5 ;gelineariseerde baan en de ellipsbaan gelijk zijn. 6 ;De baan wordt linksom verplaatst. Alle benodigde 7 ;waarden worden in parameters vastgelegd. 8 ; 9 ;Invoer parameters 10 FN 0: Q1 =+0 ;MIDDELPUNT ELLIPS OP DE X-AS 11 FN 0: Q2 =+0 ;MIDDELPUNT ELLIPS OP DE Y-AS 12 FN 0: Q3 =-10 ;DIEPTE 13 FN 0: Q5 =+50 ;VERDELING 14 ; ;DEFINIEERT IN HOEVEEL LINEAIRE 15 ; ;ELEMENTEN DE BAAN 16 ; ;OPGEDEELD WORDT 17 FN 0: Q6 =+45 ;HALVE AS ELLIPS OP X 18 FN 0: Q16 =+25 ;HALVE AS ELLIPS OP Y 19 FN 0: Q7 =+0 ;STARTHOEK IN HET X/Y-VLAK 20 FN 0: Q17 =+360 ;EINDHOEK IN HET X/Y-vlak 21 FN 0: Q8 =+0 ;ROTATIE VAN DE ELLIPS 22 FN 0: Q10 =+2 ;VEILIGHEIDSAFSTAND 23 FN 0: Q11 =+300 ;AANZET DIEPTEVERPLAATSING 24 FN 0: Q12 =+555 ;AANZET FREZEN 25 FN 0: Q14 =+0 ;OVERMAAT 26 ; ;WAARDE WAARMEE DE HALVE 27 ; ;ASSEN WORDEN GEWIJZIGD 28 ; ;!!!LET OP HET VOORTEKEN!! 29 FN 0: Q15 =+2 ;RADIUSCOMPENSATIE 30 ; ;0 = GEEN COMPENSATIE 31 ; ;1 = RADIUSCOMPENSATIE NAAR LINKS 32 ; ;2 = RADIUSCOMPENSATIE NAAR RECHTS 33 ;Invoer parameter einde 34 ; 35 BLK FORM 0.1 Z X-60 Y-50 Z-40 36 BLK FORM 0.2 X+60 Y+50 Z+0 37 ; 38 ;Gereedschapsoproep frees 39 TOOL CALL 10 Z S3000 40 ; 41 ;Oproep baanbeweging 42 CALL LBL 1 43 ; 44 ;Vrijzetten en programma-einde 45 L Z+100 R0 FMAX M30 46 ; 47 ;Baanbeweging 48 LBL 1 49 ;Coördinatenomrekeningen 50 CYCL DEF 7.0 NULPUNT 51 CYCL DEF 7.1 X+Q1 52 CYCL DEF 7.2 Y+Q2 53 CYCL DEF 10.0 ROTATIE 54 CYCL DEF 10.1 ROT+Q8 55 ; 56 FN 0: Q23 =+Q3 ;Z-waarde kopiëren 57 FN 0: Q27 =+Q7 ;Actuele hoek = starthoek 58 FN 1: Q31 =+Q6 + +Q14 ;Effectieve halve X-as 59 FN 1: Q32 =+Q16 + +Q14 ;Effectieve halve Y-as 60 FN 0: Q35 =+0 ;Teller 61 FN 2: Q37 =+Q17 - +Q7 ;Hoekstap 62 FN 4: Q37 =+Q37 DIV +Q5 ;Hoekstap 63 CALL LBL 4 ;Oproep positieberekening 64 ; 65 ;Inachtneming van de radiuscorrectie en 66 ;naderen van de eerste positie 67 FN 9: IF +Q15 EQU +1 GOTO LBL 11 68 FN 9: IF +Q15 EQU +2 GOTO LBL 12 69 LBL 10 70 L X+Q21 Y+Q22 R0 FMAX M3 71 FN 9: IF +0 EQU +0 GOTO LBL 2 72 LBL 11 73 L X+Q21 Y+Q22 RL FMAX M3 74 FN 9: IF +0 EQU +0 GOTO LBL 2 75 LBL 12 76 L X+Q21 Y+Q22 RR FMAX M3 77 ; 78 LBL 2 79 L Z+Q10 FMAX ;Z-as voorpositioneren 80 L Z+Q3 FQ11 ;Diepteverplaatsing 81 ; 82 LBL 3 ;Herhaling 83 FN 1: Q27 =+Q27 + +Q37 ;Hoek verder rekenen 84 FN 1: Q35 =+Q35 + +1 ;Teller verder rekenen 85 FN 11: IF +Q35 GT +Q5 GOTO LBL 99 ;Vergelijking of het aantal stappen bereikt 86 CALL LBL 4 ;Oproep positieberekening 87 L X+Q21 Y+Q22 Z+Q23 FQ11 ;Naar nieuwe positie verplaatsen 88 FN 12: IF +Q35 LT +Q5 GOTO LBL 3 ;Vergelijk of er nog eens een herhaling nodig is 89 ; 90 LBL 99 91 L Z+Q10 R0 FMAX ;Z-as vrijzetten 92 ;Coördinatenomrekening terugzetten 93 CYCL DEF 10.0 ROTATIE 94 CYCL DEF 10.1 ROT+0 95 CYCL DEF 7.0 NULPUNT 96 CYCL DEF 7.1 X+0 97 CYCL DEF 7.2 Y+0 98 LBL 0 99 ; 100 LBL 4 ;Berekening van de nieuwe X- en Y-positie 101 FN 7: Q21 = COS +Q27 102 FN 3: Q21 =+Q21 * +Q31 103 FN 6: Q22 = SIN +Q27 104 FN 3: Q22 =+Q32 * +Q22 105 LBL 0 106 END PGM 2070_NL MM