0 BEGIN PGM 1010_IT MM 1 ;Programma per la definizione di una sagoma 2 ;di mpunti nella forma di un'ellisse. Per 3 ;la lavorazione viene richiamato un ciclo 4 ;di lavorazione sulle posizioni calcolate. 5 ;In questo programma un ciclo di foratura 6 ;con cui viene dapprima eseguita la 7 ;centrinatura e poi la foratura. Dopo aver 8 ;definito tutti i parametri necessari, 9 ;dell'utensile e del ciclo di lavorazione, 10 ;viene richiamato un sottoprogramma. In 11 ;questo sottoprogramma viene dapprima 12 ;eseguito un calcolo dell'intera traiettoria 13 ;dell'utensile. Questa consiste nelle singole 14 ;coordinate X e Y. La distanza dei singoli 15 ;punti, e quindi la precisione della 16 ;traiettoria, si determinano con il parametro 17 ;Q5=Passo angolare, che definisce l'angolo 18 ;tra due punti. Dopo aver calcolato il profilo 19 ;completo, le singole posizioni di lavorazione 20 ;vengono definite e raggiunte e viene 21 ;richiamato il ciclo. 22 ; 23 ;Immissione parametri 24 FN 0: Q1 =+46 ;SEMIASSE ELLISSE NELL'ASSE X 25 FN 0: Q2 =+20 ;SEMIASSE ELLISSE NELL'ASSE Y 26 FN 0: Q5 =+0.5 ;PASSO ANGOLARE 27 FN 0: Q6 =+15 ;ROTAZIONE DELL'ELLISSE 28 FN 0: Q8 =+50 ;CENTRO ELLISSE NELL'ASSE X 29 FN 0: Q9 =+40 ;CENTRO ELLISSE NELL'ASSE Y 30 FN 0: Q12 =+2 ;DISTANZA DI SICUREZZA 31 FN 0: Q13 =+30 ;NUMERO DELLE LAVORAZIONI 32 ;Fine immissione parametri 33 ; 34 BLK FORM 0.1 Z X+0 Y+0 Z-20 35 BLK FORM 0.2 X+100 Y+80 Z+0 36 ; 37 ;Chiamata utensile punta da centro NC 38 TOOL CALL 201 Z S1000 39 ; 40 ;Definizione ciclo di lavorazione 41 CYCL DEF 1.0 PERCAGE PROFOND 42 CYCL DEF 1.1 DISTQ12 43 CYCL DEF 1.2 PROF-2.5 44 CYCL DEF 1.3 PASSE10 45 CYCL DEF 1.4 TEMP0 46 CYCL DEF 1.5 F100 47 ; 48 CALL LBL 20 ;Chiamata sottoprogramma posizioni 49 ; 50 ;Chiamata utensile punta 51 TOOL CALL 225 Z S1000 52 ; 53 ;Definizione ciclo di lavorazione 54 CYCL DEF 1.0 PERCAGE PROFOND 55 CYCL DEF 1.1 DISTQ12 56 CYCL DEF 1.2 PROF-20 57 CYCL DEF 1.3 PASSE10 58 CYCL DEF 1.4 TEMP0 59 CYCL DEF 1.5 F100 60 ; 61 CALL LBL 20 ;Chiamata sottoprogramma posizioni 62 ; 63 ;Disimpegno e fine programma 64 L Z+100 R0 F9998 M30 65 ; 66 ;Sottoprogramma per determinare le posizioni 67 LBL 20 68 ;Definizione punto zero al centro dell'ellisse e rotazione 69 CYCL DEF 7.0 POINT ZERO 70 CYCL DEF 7.1 X+Q8 71 CYCL DEF 7.2 Y+Q9 72 CYCL DEF 10.0 ROTATION 73 CYCL DEF 10.1 ROT+Q6 74 CALL LBL 10 ;Chiamata del calcolo dell'intera ellisse 75 FN 4: Q48 =+Q40 DIV +Q13 76 FN 0: Q50 =+Q40 77 FN 0: Q36 =+0 ;Reset parametri 78 FN 0: Q40 =+0 ;Reset parametri 79 FN 0: Q46 =+0 ;Reset parametri 80 FN 0: Q47 =+0 ;Reset parametri 81 FN 0: Q50 =+1 ;Contatore 82 CALL LBL 2 83 L X+Q21 Y+Q22 R0 F9999 M3 ;Raggiungimento della prima posizione 84 L Z+Q12 M99 ;Raggiungimento dell'altezza di sicurezza e chiamata ciclo 85 LBL 21 86 FN 1: Q46 =+Q46 + +Q48 87 LBL 22 88 FN 1: Q36 =+Q36 + +Q5 89 CALL LBL 2 90 CALL LBL 3 91 FN 12: IF +Q47 LT +Q46 GOTO LBL 22 92 L X+Q21 Y+Q22 M99 ;Raggiungimento della posizione e chiamata ciclo 93 FN 1: Q50 =+Q50 + +1 ;Ripresa del contatore 94 FN 12: IF +Q50 LT +Q13 GOTO LBL 21 ;Confronto del contatore 95 ;Reset rotazione e origine 96 CYCL DEF 10.0 ROTATION 97 CYCL DEF 10.1 ROT+0 98 CYCL DEF 7.0 POINT ZERO 99 CYCL DEF 7.1 X+0 100 CYCL DEF 7.2 Y+0 101 LBL 0 102 ; 103 ;Calcolo dell'ellisse 104 LBL 10 105 FN 0: Q40 =+0 106 FN 0: Q36 =+0 ;Angolo di partenza 107 FN 0: Q4 =+360 ;Angolo finale 108 CALL LBL 2 109 LBL 1 110 FN 1: Q36 =+Q36 + +Q5 ;Ulteriore calcolo dell'angolo 111 CALL LBL 2 112 CALL LBL 3 113 FN 12: IF +Q36 LT +Q4 GOTO LBL 1 ;Confronto dell'angolo attuale con l'angolo finale 114 FN 0: Q36 =+Q4 115 CALL LBL 2 116 LBL 0 117 LBL 2 ;Calcolo delle coordinate 118 FN 7: Q21 = COS +Q36 119 FN 3: Q21 =+Q21 * +Q1 120 FN 6: Q22 = SIN +Q36 121 FN 3: Q22 =+Q22 * +Q2 122 LBL 0 123 LBL 3 ;Calcolo dell'angolo e delle coordinate 124 FN 1: Q37 =+Q36 + +Q5 125 FN 7: Q31 = COS +Q37 126 FN 3: Q31 =+Q31 * +Q1 127 FN 6: Q32 = SIN +Q37 128 FN 3: Q32 =+Q32 * +Q2 129 FN 2: Q34 =+Q31 - +Q21 130 FN 2: Q35 =+Q32 - +Q22 131 FN 8: Q39 =+Q35 LEN +Q34 132 FN 1: Q40 =+Q40 + +Q39 133 FN 1: Q47 =+Q40 + +0 134 LBL 0 135 END PGM 1010_IT MM