Vado a postare una macro per SIEMENS SINUMERIK 810 GA3 (quello con lo schermo verde per intenderci) , così oltre a Canister anche qualcun'altro potrà dargli un occhio.
Allora Viene sfruttato il ciclo L930 che svuota una tasca circolare
bisogna programmare :
R500 = Diametro del preforo a centro tasca se esiste un preforo
R502 = Raggio con cui io voglio che la macchina interpoli a elica qualora non esista un preforo
R503 = Incremento in Z durante la discesa a elica
R504 = Avanzamento durante la discesa ad elica
R1 = incremento di penetrazione senza segno
R2 = superficie di riferimento
R3 = profondità della tasca
R6 = verso di fresatura (2 = G02 3 = G03)
R15 = avanzamento sul piano mentre svuoto la tasca
R16 = avanzamento in penetrazione verticale
R22 = centro della tasca in X
R23 = centro della tasca in Y
R24 = Raggio della tasca
dopodichè L1000 P1 e lui richiama la macro
Non so se è perfetta e non mi ricordo se il SIEMENS puo eseguire un cerchio intero come il FANUC cioè dandogli G2/G3 e le sole coordinate I/J.
NON PRENDETE PER ORO COLATO LA MACRO , PROVATELA PRIMA IN BLOCCO SINGOLO E POI IN AUTOMATICO (SUL SIEMENS POTREBBERO ESSERCI DELLE DIFFERENZE AD ESEGUIRE UNA MACRO TRA SBK E AUTOMATICO) E NON PROVATELA SU PEZZI FINITI , FATE UNA PROVA NELLA PLASTICA , LA MACRO LAVORA SOLO NEL PIANO G17 !!!!!
L1000
N10 @36a R600 K0 ; Scrive in R600 il numero di correttore D attuale
N20 @320 R601 K0 R600 K4 ; Legge il valore del correttore raggio dalla tabella utensili e lo memorizza in R601
N30 @124 R601 R24 K50 ; Verifica che il raggio fresa non sia superiore al raggio tasca , se non è così va al blocco 50
N40 M00 (RAGGIO FRESA TROPPO GRANDE) ;
N45 @100 K-40 ;
N50 @124 R502 R601 K70 ; Se il raggio scelto per interpolare a elica è più grande del raggio fresa si ferma
N60 M00 (DIAM. INTERPOLAZ. TROPPO GRANDE) ;
N65 @100 K-60 ;
N70 @124 R503 R03 K90 ; Se la profondità incrementale in Z per interpolare è maggiore della profondità tasca si ferma
N80 M00 (INCR. Z ECCESSIVO) ;
N85 @100 K-80 ;
N90 R602 =R500 / 2 ; Divide il Diametro del preforo e lo memorizza in R602
N100 G00 X =R22 Y =R23 ; Si posiziona al centro della tasca
N110 G00 Z =R10 ; Si avvicina in Z al piano di SVINCOLO
N115 G00 Z =R2 ; Si avvicina al piano di riferimento
N120 @125 R601 R602 K160 ; Se il raggio fresa è minore del raggio preforo esegue il ciclo e scende in verticale sennò N160
N130 L930 P1 ; Richiama il ciclo di Tasca
N140 G00 Z =R10 ; Va al piano di Svincolo
N150 @100 K9999 ; Va alla Fine della macro
N160 R603 = R1 ; Memorizza il valore originale di R1
N170 R604 = R2 ; Memorizza il valore originale di R2
N180 R605 = R3 ; Memorizza il valore originale di R3
N180 R606 = -1 * R3 ; Nega il valore di R3 e lo memorizza in R606 per calcolare la profondità a partire dal piano di riferimento se era positivo diventa negativo e viceversa
N190 R607 = R2 + R606 ; Somma algebrica dei due parametri e calcola la profondità totale
N200 R608 = R607 / R1 ; Calcola quante passate devo fare in Z per aprire la tasca
N210 R609 = R608 ;
N220 @622 R608 ; Toglie la parte decimale a R608 e lascia solo l'intero
N230 @125 R608 R609 K250 ; Se R608 è inferiore e R609 il numero di passate non era un intero
N240 R608 = R608 + 1 ; e quindi ne aggiunge una al valore tronco di R608
N250 R610 = R607 / R608 ; Calcola il nuovo incremento
N260 R1 = R610 ; Attiva il nuovo incremento per L930
N270 R611 = R610 / R503 ; Calcola Quanti giri a elica devo fare per arrivare all'incremento R610
N280 R612 = R611 ;
N290 @622 R611 ; Toglie la parte decimale a R611 e lascia solo l'intero
N300 @125 R611 R612 K320 ; Se R611 è inferiore a R612 i giri a elica non erano un intero
N310 R611 = R611 +1 ; e quindi ne aggiunge 1 al valore tronco di R611
N320 R613 = R610 / R611 ; calcola il nuovo incremento per la discesa a elica
N340 R614 = 0 ; Counter per gli incrementi in Z R1
N350 R615 = 0 ; Counter per il numero di giri in discesa a elica
N360 R1 = 0 ; Azzera R1
N380 R3 = R2 ; PORTA R3 A R2
N382 R616 = R2
N390 R3 = R3 - R603 ; NUOVO R3
N393 R1 = R1 + R603 ; INCREMENTA R1
N395 G1 G91 X =R502 F =R15 ; si sposta in X + per iniziare l'interpolazione
N397 G1 G90 Z =R616 F1000 ; Scende in Z per iniziare ad interpolare
N400 G91 G =R6 I =-R502 Z =-R613 F =R504 ; Esegue un giro a elica
N410 G90 ;
N420 R615 = R615 +1 ; Incrementa il counter
N430 @141 R615 R611 K -400 se il counter non è arrivato torna indietro
N435 @714
N436 G =R6 I =-R502 ; fa un giro a vuoto sul fondo
N437 R616 = R616 - R603 ; nuovo avvicinamento
N440 G00 Z =R2 risalgo
N450 G00 X =R22 Y =R23 ritorno al centro
N460 L930 P1 Freso la tasca
N470 R614 = R614 +1 ; incrementa il counter per le passate in Z
N480 R615 =0 ;
N480 @141 R614 R608 K-390 ;
N490 G00 Z =R10 ;
N500 R1 = R603 R2 = R604 R3 = R605 ; Rimetto a posto i registri per sicurezza
N9999 M17
Prima di insultarmi abbiate pietà di me che sono 10 anni che non uso più quel controllo numerico
![Pianto :crybaby2:](./images/smilies/crybaby2.gif)