0 BEGIN PGM 3165_NL MM 1 ;Programma om een conische buitenschroefdraad te 2 ;frezen. 3 ;De gereedschapsbaan wordt in lineaire stappen 4 ;opgedeeld. Met de deling definieert u in hoeveel 5 ;lineaire elementen een baan van 360 graden wordt 6 ;opgedeeld. De besturing berekent voor elk van 7 ;deze lineaire stappen een X-, Y- en Z-coördinaat 8 ;die alle worden genaderd. Er wordt van boven 9 ;naar onderen bewerkt. Met de rotatierichting legt 10 ;u vast of er een schroefdraad naar rechts of 11 ;links ontstaat. 12 ; 13 BLK FORM 0.1 Z X+0 Y+0 Z-32 14 BLK FORM 0.2 X+100 Y+100 Z+0 15 ; 16 ;Programma-oproep voor het voorfrezen van de kegel 17 ;!In het opgeroepen programma moeten opgeslagen 18 ;gegevens worden aangepast, bijvoorbeeld 19 ;gereedschapsnummer, snijgegevens en parameters! 20 CALL PGM 31651_nl.h 21 ; 22 ;Gereedschapsoproep schroefdraadfrees 23 TOOL CALL 10 Z S5000 24 ; 25 ;Parameter-invoer 26 FN 0: Q1 =+50 ;MIDDELPUNT X 27 FN 0: Q2 =+50 ;MIDDELPUNT Y 28 FN 0: Q4 =-1 ;ROTATIERICHTING +/-1 29 ; ;-1 = RECHTSOM 30 ; ;+1= LINKSOM 31 FN 0: Q5 =+180 ;VERDELING 32 FN 0: Q6 =+40 ;KERNRADIUS START 33 FN 0: Q7 =+0 ;STARTHOEK 34 FN 0: Q8 =+15 ;KEGELHOEK 35 FN 0: Q9 =+3 ;SPOED 36 FN 0: Q10 =+2 ;VEILIGE HOOGTE 37 FN 0: Q11 =+300 ;VAANZET VOORPOSITIONEREN 38 FN 0: Q12 =+1000 ;AANZET FREZEN 39 FN 0: Q3 =+0 ;Z-COÖRDINAAT START 40 FN 0: Q13 =-30 ;Z-COÖRDINAAT EINDE 41 FN 0: Q14 =+1 ;OVERMAAT IN HET X/Y-VLAK 42 FN 0: Q16 =+2 ;VEILIGHEIDSAFSTAND ZIJKANT 43 ;Einde parameterinvoer 44 ; 45 ;Oproep van de bewerking 46 CALL LBL 1 47 STOP 48 ; 49 ;Parameterinvoer nabewerken 50 FN 0: Q5 =+360 ;VERDELING 51 FN 0: Q12 =+500 ;AANZET FREZEN 52 FN 0: Q14 =+0 ;OVERMAAT IN HET X/Y-VLAK 53 ; 54 ;Oproep van de bewerking 55 CALL LBL 1 56 ; 57 ;Vrijzetten en programma-einde 58 L Z+100 R0 FMAX M30 59 ; 60 ;Bewerking 61 LBL 1 62 ;Berekeningen 63 FN 3: Q31 =+Q16 * +1 ;Verrekening zijdelingse veiligheidsafstand 64 FN 3: Q38 =+Q108 * +1 ;Verrekening gereedschapsradius 65 FN 3: Q39 =+Q14 * +1 ;Verrekening overmaat 66 FN 0: Q23 =+Q3 ;Z-coördinaat actueel 67 FN 0: Q25 =+0 ;Teller 68 FN 1: Q26 =+Q6 + +Q38 ;Gereedschapsradiuscompensatie 69 FN 1: Q26 =+Q26 + +Q39 ;Overmaatcompensatie 70 FN 1: Q28 =+Q26 + +Q31 ;Radius voorpositionering 71 FN 0: Q27 =+Q7 ;Hoek actuee Q36 = TAN Q8 * Q9 ;Radiuswijziging elke 360 graden 72 FN 4: Q36 =+Q36 DIV +Q5 ;Stapgrootte radius 73 FN 4: Q37 =+360 DIV +Q5 ;Stapgrootte hoek 74 FN 3: Q37 =+Q37 * +Q4 ;Hoekstap in de rotatierichting 75 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 76 ;Einde berekeningen 77 ; 78 CC X+Q1 Y+Q2 ;Middelpunt definiëren 79 LP PR+Q28 PA+Q7 R0 FMAX M3 ;Voorpositioneren 80 L Z+Q10 R0 FMAX ;Naar veiligheidsafstand verplaatsen 81 L Z+Q3 R0 FQ11 ;Naar Z-startcoördinaat verplaatsen 82 LP PR+Q26 PA+Q7 R0 FQ12 ;Naar startradius verplaatsen 83 LBL 2 ;Herhalingen 84 FN 1: Q26 =+Q26 + +Q36 ;Radius actualiseren 85 FN 1: Q27 =+Q27 + +Q37 ;Hoek actualiseren 86 FN 7: Q21 = COS +Q27 ;Berekening X-coördinaat 87 FN 3: Q21 =+Q21 * +Q26 ;Berekening X-coördinaat 88 FN 1: Q21 =+Q21 + +Q1 ;Nieuwe X-coördinaat 89 FN 6: Q22 = SIN +Q27 ;Berekening Y-coördinaat 90 FN 3: Q22 =+Q26 * +Q22 ;Berekening Y-coördinaat 91 FN 1: Q22 =+Q22 + +Q2 ;Nieuwe Y-coördinaat 92 FN 1: Q23 =+Q23 + +Q33 ;Nieuwe Z-coördinaat 93 FN 1: Q25 =+Q25 + +1 ;Teller actualiseren 94 L X+Q21 Y+Q22 Z+Q23 FQ12 ;Nieuwe coördinaten naderen 95 FN 12: IF +Q25 LT +Q35 GOTO LBL 2 ;Vergelijking of het aantal stappen is bereikt 96 LP IPR+Q31 ;Zijdelings vrijzetten 97 L Z+Q10 R0 FMAX ;Naar veiligheidsafstand verplaatsen 98 LBL 0 99 END PGM 3165_NL MM