Io ho un centro di lavoro più tosto vecchiotto, ho la serie 0-M.
io di solito ora uso le variabili, è molto semplice se uno ci prende la mano. sennò prima facevo con i sotto programmi come hai fatto anche te con il selca. Ma il fanuc, per lo meno la serie 0-M che uso io i sotto programmi non li si puo' fare dentro il programma, ma aprire un'altro programma di un 'altro nome che poi verra richiamato con l'M98.
faccio un esempio di programma con sotto programma.
O0001:G0G17G40G69G80G90 (STRINGA INIZIALE : RAPIDO,PIANI X E Y , CHIUSURA DEI CICLI ,INTERPOLAZIONE ,RUOTAZIONE PROGRAMMA, CICLO FORATURA ,ASSOLUTO)
T1M6 (RICHIAMO T1 FRE d22)
S1000M3F1000 (GIRI,AZIONAMENTO MANDRINO SENZO ORARIO,AVANZAMENTO)
T2 (RICHIAMO PROSSIMO UTENSILI NEL MAGAZZINO)
G54X0Y0 (POSIZIONAMENTO A X0 Y0 CON LO ZERO G54)
G43H1Z50M8 (RICHIAMO CORRETTORE ALTEZZA H1 SULLA TABELLA LUNGHEZZE UTENSILI , E POSIZIONAMENTO A Z50 , ACCENDE REFRIGERANTE)
G40D41 (RICHIAMO CORRETTORE DIAMETRO CHE SARA' IMPOSTATO A 11 SULLA TABELLA UTENSILI)
Z5(Z5 IN RAPIDO)
G1Z1 (VA A Z1 IN LAVORO)
G1G41G91X20 (ATTACCA LA COMPENSAZIONE CONCORDE IN INCREMENTALE)
M98P300100 (RICHIAMA IL SOTTOPROGRAMMA O0100 E LO RIPETE 30 VOLTE)
G3G91I-20 (GIRO FINALE PER FARE IL PIANO)
G1X-20G40 (STACCO COMPENSAZIONE)
G0G90Z50M9 (SI RIALZA DAL PEZZO E SPEGNE REFRIGERANTE)
G53X150Y270Z0 (SI SPOSTA CON I ZERI MACCHINA NELLA PARTE PIU' COMODA PER SMONTARE IL PEZZO, SI AVVICINA ALLA PORTA)
M30(CHIUSURA PROGRAMMA)
SOTTOPROGRAMMA (CHE NON PUO' ESSERE INSERITO DENTRO AL PROGRAMMA MA SCRITTO COME UN NUOVO PROGRAMMA)
O0100:G3G91I-20Z-0.5 (GIRA IN SENSO ANTIORARIO IN INCREMENTALE INCREMENTANDO ANCHE LA Z-0.5 IN UN GIRO)
M99 (CHIUSURA SOTTO PROGRAMMA)
Ora invece un programma come faccio di solito ultimamente, tutto nel programma che è molto più comodo con le macro.
O0001:G0G17G40G61G69G80G90 (STRINGA INIZIALE : RAPIDO,PIANI X E Y , CHIUSURA DEI CICLI ,INTERPOLAZIONE ,RUOTAZIONE PROGRAMMA, CICLO FORATURA ,ASSOLUTO)
T1M6 (RICHIAMO T1 FRE d22)
S1000M3F1000 (GIRI,AZIONAMENTO MANDRINO SENZO ORARIO,AVANZAMENTO)
T2 (RICHIAMO PROSSIMO UTENSILI NEL MAGAZZINO)
G54X0Y0 (POSIZIONAMENTO A X0 Y0 CON LO ZERO G54)
G43H1Z50 (RICHIAMO CORRETTORE ALTEZZA H1 SULLA TABELLA LUNGHEZZE UTENSILI , E POSIZIONAMENTO A Z50 , ACCENDE REFRIGERANTE)
G40D41 (RICHIAMO CORRETTORE DIAMETRO CHE SARA' IMPOSTATO A 11 SULLA TABELLA UTENSILI)
Z5 (Z5 IN RAPIDO)
G1Z0.5 (VA A Z0.5 IN LAVORO)
G1G41G91X20 (ATTACCA LA COMPENSAZIONE CONCORDE IN INCREMENTALE)
N100G3G91I-20Z-0.5 (GIRA IN SENSO ANTIORARIO IN INCREMENTALE INCREMENTANDO ANCHE LA Z-0.5 IN UN GIRO)
G65H83P-100Q#5003R-14.5 (RIPETI N100 FINO A CHE IL VALORE Z NON DIVENTA Z-15 LA VARIABILE #5003 STA A SIGNIFICARE ASSE Z )
G3G91I-20 (GIRO FINALE PER FARE IL PIANO)
G1X-20G40 (STACCO COMPENSAZIONE)
G0G90Z50M9 (SI RIALZA DAL PEZZO E SPEGNE REFRIGERANTE)
G53X150Y270Z0 (SI SPOSTA CON I ZERI MACCHINA NELLA PARTE PIU' COMODA PER SMONTARE IL PEZZO, SI AVVICINA ALLA PORTA XYZ DIPENDE DALLA MACCHINA)
M30 (FINE PROGRAMMA)
I PROGRAMMI DOVREBBERO ANDARE BENE : LI HO FATTI ORA QUI AL PC.. CMQ PER CHI LI VORRA' PROVARE PER SICUREZZA PROVATELI CON LA SHIFT Z PIU' ALTA!!!