0 BEGIN PGM 3250_NL MM 1 ;NC-programma om een contour met 2 ;cyclus 25 te bewerken en vervolgens de 3 ;bovenkant met een radius af te ronden. 4 ;De radius freest de besturing in 5 ;hoogtelijnen. Voor de berekening van de 6 ;hoogtelijnen leest de besturing de 7 ;gereedschapsradius 2 uit de 8 ;gereedschapstabel. 9 ;Zo kan de bewerking met een schachtfrees, 10 ;een kogelfrees of een torusfrees worden 11 ;uitgevoerd, zonder dat u iets aan het 12 ;NC-programma hoeft te wijzigen. 13 ; 14 BLK FORM 0.1 Z X+0 Y+0 Z-20 15 BLK FORM 0.2 X+100 Y+100 Z+0 16 ; 17 ;Gereedschapsoproep voor het contourfrezen 18 TOOL CALL "MILL_D24_ROUGH" Z S6000 F2000 19 ; 20 L Z+100 R0 FMAX M3 ;Vrijzetten 21 ; 22 CYCL DEF 14.0 CONTOUR 23 CYCL DEF 14.1 CONTOURLABEL10 24 CYCL DEF 270 CONTOURREEKS- DATA ~ Q390=+2 ;TYPE BENADERING ~ Q391=+1 ;RADIUS COMPENSATIE ~ Q392=+10 ;RADIUS ~ Q393=+90 ;MIDDELPUNTSHOEK ~ Q394=+0 ;AFSTAND 25 CYCL DEF 25 CONTOURREEKS ~ Q1=-15 ;FREESDIEPTE ~ Q3=+0 ;OVERMAAT ZIJKANT ~ Q5=+0 ;COORD. OPPERVLAK ~ Q7=+50 ;VEILIGE HOOGTE ~ Q10=-5 ;DIEPTEVERPLAATSING ~ Q11=+150 ;AANZET DIEPTEVERPL. ~ Q12=+500 ;AANZET UITRUIMEN ~ Q15=+1 ;FREESWIJZE ~ Q18=+0 ;VOORRUIMGEREEDSCHAP ~ Q446=+0.01 ;RESTMATERIAAL ~ Q447=+10 ;VERBINDINGSAFSTAND ~ Q448=+2 ;BAANVERLENGING 26 M99 ;Cyclusoproep 27 ; 28 ;Gereedschapsoproep voor het radiusfrezen 29 TOOL CALL "TORUS_MILL_D16_3" Z S6000 F2000 30 ; 31 L Z+100 R0 FMAX M3 ;Vrijzetten 32 ; 33 ;Parameterinvoer voor afronding Q50 = 6 ;KANTRADIUS Q51 = 3 ;VERPLAATSING IN GRADEN 34 CALL LBL "RADIUS" ;Oproep subprogramma voor het radiusfrezen 35 ; 36 L Z+100 R0 FMAX ;Vrijzetten 37 M30 ;Einde van programma 38 ; 39 ;Subprogramma's 40 LBL 10 ;Contour 41 L X+10 Y+10 42 L Y+90 43 CR X+90 Y+90 R+100 DR+ 44 L Y+10 45 CR X+10 Y+10 R+100 DR- 46 LBL 0 47 ; 48 ;Subprogramma voor de radius 49 LBL "RADIUS" 50 CYCL DEF 14.0 CONTOUR 51 CYCL DEF 14.1 CONTOURLABEL10 52 CYCL DEF 270 CONTOURREEKS- DATA ~ Q390=+2 ;TYPE BENADERING ~ Q391=+1 ;RADIUS COMPENSATIE ~ Q392=+0 ;RADIUS ~ Q393=+0 ;MIDDELPUNTSHOEK ~ Q394=+0 ;AFSTAND 53 FN 18: SYSREAD Q65 = ID50 NR3 ;R2 van het actieve gereedschap uitlezen Q61 = 0 ;Starthoek 54 LBL 1 ;Sprongmerkteken Q61 = Q61 + Q51 ;Hoek verder stapsgewijs verplaatsen 55 FN 11: IF +Q61 GT +90 GOTO LBL "ENDE1" ;Controleren of hoek groter is dan 90 graden 56 FN 9: IF +Q61 EQU +90 GOTO LBL "ENDE1" ;Controleren of hoek gelijk is aan 90 graden Q62 = ( Q50 - COS Q61 * Q50 ) + ( Q65 - COS Q61 * Q65 ) ;Freesdiepte voor hoogtelijn berekenen Q63 = ( Q50 - SIN Q61 * Q50 ) + ( Q65 - SIN Q61 * Q65 ) ;Overmaat voor hoogtelijn berekenen 57 CYCL DEF 25 CONTOURREEKS ~ Q1=-Q62 ;FREESDIEPTE ~ Q3=-Q63 ;OVERMAAT ZIJKANT ~ Q5=+0 ;COORD. OPPERVLAK ~ Q7=+2 ;VEILIGE HOOGTE ~ Q10=-Q62 ;DIEPTEVERPLAATSING ~ Q11= AUTO ;AANZET DIEPTEVERPL. ~ Q12= AUTO ;AANZET UITRUIMEN ~ Q15=+1 ;FREESWIJZE ~ Q18=+0 ;VOORRUIMGEREEDSCHAP ~ Q446=+0.01 ;RESTMATERIAAL ~ Q447=+10 ;VERBINDINGSAFSTAND ~ Q448=+2 ;BAANVERLENGING 58 M99 ;Cyclusoproep 59 FN 9: IF +0 EQU +0 GOTO LBL 1 ;Sprong 60 ; 61 ;Subprogramma voor de laatste hoogtelijn 62 LBL "ENDE1" Q61 = 90 ;Eindhoek Q62 = ( Q50 - COS Q61 * Q50 ) + ( Q65 - COS Q61 * Q65 ) ;Diepte van de laatste hoogtelijn Q63 = ( Q50 - SIN Q61 * Q50 ) + ( Q65 - SIN Q61 * Q65 ) ;Overmaat voor de laatste hoogtelijn 63 CYCL DEF 25 CONTOURREEKS ~ Q1=-Q62 ;FREESDIEPTE ~ Q3=-Q63 ;OVERMAAT ZIJKANT ~ Q5=+0 ;COORD. OPPERVLAK ~ Q7=+2 ;VEILIGE HOOGTE ~ Q10=-Q62 ;DIEPTEVERPLAATSING ~ Q11= AUTO ;AANZET DIEPTEVERPL. ~ Q12= AUTO ;AANZET UITRUIMEN ~ Q15=+1 ;FREESWIJZE ~ Q18=+0 ;VOORRUIMGEREEDSCHAP ~ Q446=+0.01 ;RESTMATERIAAL ~ Q447=+10 ;VERBINDINGSAFSTAND ~ Q448=+2 ;BAANVERLENGING 64 M99 ;Cyclusoproep 65 L Z+20 R0 FMAX ;Vrijzetten 66 LBL 0 67 END PGM 3250_NL MM