0 BEGIN PGM 1075_NL MM 1 ;Programma om een conus met een helixvormige 2 ;baan te frezen. De bewerking vindt plaats 3 ;op basis van hoe u de parameters definieert: 4 ;- binnen of buiten 5 ;- van boven naar beneden of omgekeerd 6 ;- rechts- of linksom 7 ;- van grote naar kleine diameter of omgekeerd 8 ; 9 ;De besturing deelt de daarvoor benodigde 10 ;gereedschapsbaan in lineaire stappen op. Met 11 ;de deling definieert u in hoeveel lineaire 12 ;elementen een baan van 360 graden wordt 13 ;opgedeeld. De besturing berekent voor elk van 14 ;deze lineaire stappen een X-, Y- en 15 ;Z-coördinaat die alle worden genaderd. 16 ; 17 ; 18 BLK FORM 0.1 Z X+0 Y+0 Z-32 19 BLK FORM 0.2 X+100 Y+100 Z+0 20 ; 21 ;Gereedschapsoproep schachtfrees 22 TOOL CALL 15 Z S5000 23 ; 24 ;Parameter-invoer 25 FN 0: Q1 =+50 ;MIDDELPUNT X 26 FN 0: Q2 =+50 ;MIDDELPUNT Y 27 FN 0: Q4 =-1 ;ROTATIERICHTING 28 ; ;-1= RECHTSOM 29 ; ;+1= LINKSOM 30 FN 0: Q5 =+180 ;DELING 31 FN 0: Q6 =+40 ;RADIUS START 32 FN 0: Q7 =+0 ;STARTHOEK 33 FN 0: Q8 =+15 ;KEGELHOEK 34 FN 0: Q9 =+0.2 ;DIEPTEWIJZIGING PER ROTATIE 35 FN 0: Q10 =+2 ;VEILIGE HOOGTE 36 FN 0: Q11 =+300 ;AANZET DIEPTEVERPLAATSING 37 FN 0: Q12 =+1000 ;AANZET FREZEN 38 FN 0: Q3 =+0 ;Z-COÖRDINAAT START 39 FN 0: Q13 =-30 ;Z-COÖRDINAAT EINDE 40 FN 0: Q14 =+0 ;ZIJDELINGSE OVERMAAT 41 FN 0: Q15 =+1 ;RADIUSCOMPENSATIE 42 ; ;-1 = BINNEN 43 ; ;+1 = BUITEN 44 FN 0: Q16 =+2 ;ZIJDELINGSE VEILIGHEIDSAFSTAND 45 ; Einde parameterinvoer 46 ; 47 ;Oproep van de bewerking 48 CALL LBL 1 49 ; 50 ;Terugtrekken en programma-einde 51 L Z+100 R0 FMAX M30 52 ; 53 ;Bewerking 54 LBL 1 55 FN 3: Q31 =+Q16 * +Q15 ;Verrekening zijdelingse veiligheidsafstand 56 FN 3: Q38 =+Q108 * +Q15 ;Verrekening gereedschapsradius 57 FN 3: Q39 =+Q14 * +Q15 ;Verrekening zijdelingse overmaat 58 FN 0: Q23 =+Q3 ;actuele Z-coördinaat 59 FN 0: Q25 =+0 ;Teller 60 FN 1: Q26 =+Q6 + +Q38 ;Gereedschapsradiuscompensatie 61 FN 1: Q26 =+Q26 + +Q39 ;Overmaatcompensatie 62 FN 1: Q28 =+Q26 + +Q31 ;Radius voor voorpositioneren 63 FN 0: Q27 =+Q7 ;Actuele hoek Q36 = TAN Q8 * Q9 ;Radiuswijziging elke 360 graden 64 FN 4: Q36 =+Q36 DIV +Q5 ;Stapgrootte radius 65 FN 4: Q37 =+360 DIV +Q5 ;Stapgrootte hoek 66 FN 3: Q37 =+Q37 * +Q4 ;Hoekstap in de rotatierichting 67 FN 2: Q35 =+Q13 - +Q3 ;Z-bereik Q33 = Q9 / Q5 * SGN Q35 ;Stapgrootte Z Q35 = ( Q13 - Q3 ) / Q33 ;Aantal Z-stappen Q35 = ABS Q35 ;Telwaarde positief 68 ; 69 CC X+Q1 Y+Q2 ;Middelpunt definiëren 70 LP PR+Q28 PA+Q7 R0 FMAX M3 ;Voorpositioneren 71 L Z+Q10 R0 FMAX ;Naar veiligheidsafstand verplaatsen 72 L Z+Q3 R0 FQ11 ;Naar Z-startcoördinaat verplaatsen 73 LP PR+Q26 PA+Q7 R0 FQ12 ;Naar startpositie verplaatsen 74 ; 75 ;Herhalingen 76 LBL 2 77 FN 1: Q26 =+Q26 + +Q36 ;Radius actualiseren 78 FN 1: Q27 =+Q27 + +Q37 ;Hoek actualiseren 79 FN 7: Q21 = COS +Q27 ;Berekening X-coördinaat 80 FN 3: Q21 =+Q21 * +Q26 ;Berekening X-coördinaat 81 FN 1: Q21 =+Q21 + +Q1 ;Nieuwe X-coördinaat 82 FN 6: Q22 = SIN +Q27 ;Berekening Y-coördinaat 83 FN 3: Q22 =+Q26 * +Q22 ;Berekening Y-coördinaat 84 FN 1: Q22 =+Q22 + +Q2 ;Nieuwe Y-coördinaat 85 FN 1: Q23 =+Q23 + +Q33 ;Nieuwe Z-coördinaat 86 FN 1: Q25 =+Q25 + +1 ;Teller actualiseren 87 L X+Q21 Y+Q22 Z+Q23 FQ12 ;Nieuwe coördinaten naderen 88 FN 12: IF +Q25 LT +Q35 GOTO LBL 2 ;Vergelijking of het aantal stappen bereikt is 89 LP IPR+Q31 ;Zijdelings vrijzetten 90 L Z+Q10 R0 FMAX ;Naar veiligheidsafstand verplaatsen 91 LBL 0 92 END PGM 1075_NL MM