0 BEGIN PGM 1025_NL MM 1 ;Programma voor het definiëren van een 2 ;puntenpatroon, waarbij boringen op een rond 3 ;werkstuk in lineaire vorm worden gemaakt. 4 ;De lijnen liggen parallel aan de X-as. U 5 ;definieert de afstand tussen de boringen 6 ;onderling in een parameter. De afstand 7 ;tussen de lijnen op de Y-as definieert u 8 ;eveneens in een parameter, waarbij deze 9 ;echter als factor met de afstand op de X-as 10 ;wordt vermenigvuldigd. Op basis van de 11 ;ingevoerde parameters en de 12 ;gereedschapsradius berekent de besturing de 13 ;mogelijke boorposities waar dan de boorcyclus 14 ;wordt uitgevoerd. 15 ;In dit programma wordt van tevoren nog met 16 ;de programmaoproep een rond werkstuk gemaakt. 17 ; 18 ;Invoer parameters 19 FN 0: Q1 =+80 ;MIDDELPUNT VAN DE CIRKEL OP DE X-AS 20 FN 0: Q2 =+80 ;MIDDELPUNT VAN DE CIRKEL OP DE Y-AS 21 FN 0: Q3 =+80 ;CIRKELRADIUS 22 FN 0: Q4 =+8 ;AFSTAND VAN DE BEWERKINGEN OP 23 ; ;DE X-AS 24 FN 0: Q5 =+0.866 ;FACTOR VOOR DE AFSTAND 25 ; ;OP DE Y-AS 26 ; ;Q4 * Q5 = AFSTAND OP Y 27 FN 0: Q8 =+2 ;VEILIGHEIDSAFSTAND 28 ;Einde parameterinvoer 29 ; 30 BLK FORM 0.1 Z X-0.5 Y-0.5 Z-20 31 BLK FORM 0.2 X+160.5 Y+160.5 Z+0 32 ; 33 ;Oproep programma 10251-de.h voor het voorfrezen 34 ;van het ronde werkstuk 35 CALL PGM 10251_nl.H 36 ; 37 ;Gereedschapsoproep boor 38 TOOL CALL 223 Z S200 39 ; 40 ;Definitie bewerkingscyclus 41 CYCL DEF 1.0 DIEPBOREN 42 CYCL DEF 1.1 AFSTQ8 43 CYCL DEF 1.2 DIEPTE-21 44 CYCL DEF 1.3 VERPL10 45 CYCL DEF 1.4 STTIJD0 46 CYCL DEF 1.5 F100 47 ; 48 CALL LBL 1 ;Oproep subprogramma posities 49 ; 50 ;Terugtrekken en programma-einde 51 L Z+50 R0 FMAX M2 52 ; 53 ;Subprogramma posities 54 LBL 1 55 ;Berekening van de afstanden en de eerste positie 56 FN 2: Q14 =+Q3 - +Q108 57 FN 1: Q13 =+Q14 + +Q2 58 FN 1: Q15 =+Q3 + +Q108 59 FN 2: Q32 =+Q2 - +Q3 60 FN 2: Q32 =+Q32 - -Q108 61 FN 0: Q21 =+Q1 62 FN 0: Q22 =+Q32 63 FN 3: Q27 =+Q4 * +Q5 64 FN 3: Q23 =+Q4 * +0.5 65 FN 3: Q24 =+Q4 * +3 66 FN 1: Q24 =+Q24 + +Q3 67 ; 68 L Z+100 R0 FMAX M3 ;Naar veilige positie verplaatsen 69 L X+Q21 Y+Q22 R0 FMAX M3 ;Eerste positie benaderen 70 L Z+Q8 FMAX M99 ;Naar veiligheidsafstand verplaatsen en cyclus oproepen 71 LBL 5 ;Bepaling van de overige posities, benaderen en cyclusoproep 72 FN 1: Q21 =+Q21 + -Q23 73 FN 1: Q22 =+Q22 + +Q27 74 FN 11: IF +Q22 GT +Q13 GOTO LBL 99 75 LBL 30 76 FN 1: Q21 =+Q21 + -Q4 77 CALL LBL 50 78 FN 12: IF +Q29 LT +Q14 GOTO LBL 30 79 FN 9: IF +Q29 EQU +Q14 GOTO LBL 31 80 LBL 32 81 FN 1: Q21 =+Q21 + +Q4 82 CALL LBL 50 83 FN 11: IF +Q29 GT +Q14 GOTO LBL 32 84 LBL 31 85 L X+Q21 Y+Q22 R0 FMAX M99 86 FN 1: Q21 =+Q21 + +Q4 87 CALL LBL 50 88 FN 12: IF +Q29 LT +Q14 GOTO LBL 31 89 FN 9: IF +Q29 EQU +Q14 GOTO LBL 31 90 FN 1: Q21 =+Q21 + +Q23 91 FN 1: Q22 =+Q22 + +Q27 92 FN 11: IF +Q22 GT +Q13 GOTO LBL 99 93 LBL 40 94 FN 1: Q21 =+Q21 + +Q4 95 CALL LBL 50 96 FN 12: IF +Q29 LT +Q14 GOTO LBL 40 97 FN 9: IF +Q29 EQU +Q14 GOTO LBL 42 98 LBL 41 99 FN 1: Q21 =+Q21 + -Q4 100 CALL LBL 50 101 FN 11: IF +Q29 GT +Q14 GOTO LBL 41 102 LBL 42 103 L X+Q21 Y+Q22 R0 FMAX M99 104 FN 1: Q21 =+Q21 + -Q4 105 CALL LBL 50 106 FN 12: IF +Q29 LT +Q14 GOTO LBL 42 107 FN 9: IF +Q29 EQU +Q14 GOTO LBL 42 108 FN 9: IF +0 EQU +0 GOTO LBL 5 109 LBL 0 110 LBL 50 111 FN 2: Q28 =+Q1 - +Q21 112 FN 2: Q29 =+Q2 - +Q22 113 FN 8: Q29 =+Q28 LEN +Q29 114 FN 3: Q30 =+Q28 * +Q28 115 FN 5: Q30 = SQRT +Q30 116 FN 11: IF +Q30 GT +Q24 GOTO LBL 99 117 LBL 0 118 LBL 99 119 L Z+50 R0 FMAX ;Vrijzetten 120 LBL 0 121 END PGM 1025_NL MM