aiuto per sottoprogrammi su fanuc oi-mc

Sezione dedicata esclusivamente a macchine professionali CNC quali Torni cnc, Fresatrici cnc, Brocciatrici cnc, Centri di lavoro cnc, ecc.
Subforum:
Programmazione CNC
Fanuc
Mitsubishi
Heidenhain
Siemens
Haas
Osai
Selca
Fidia
Fagor
WinMax
Mazatrol
bob3m
Junior
Junior
Messaggi: 88
Iscritto il: domenica 9 gennaio 2011, 17:44
Località: Gorizia

Re: aiuto per sottoprogrammi su fanuc oi-mc

Messaggio da bob3m » mercoledì 4 gennaio 2012, 10:35

torn24 ha scritto:

Codice: Seleziona tutto

WHILE[#120 LE 10] DO1 (esegue i blocchi tra do ed end fino a che la variabile 120 non è uguale a 10)

Vorrei precisare per evitare confusioni che esegue messa così i blocchi vengono eseguiti fino a che la variabile 120 non è uguale o inferiore a 10.
Se alposto di "LE" c'era "EQ" allora uguale.
SE c'era "GE" uguale o superiore.

Ciao
Massimo

mrfanuc
Newbie
Newbie
Messaggi: 6
Iscritto il: venerdì 5 ottobre 2012, 22:08
Località: milano

Re: aiuto per sottoprogrammi su fanuc oi-mc

Messaggio da mrfanuc » venerdì 5 ottobre 2012, 22:47

Chi ti ha detto tutto cio?
Le regole del Fanuc sono uguali come tutti gli altri controlli , possono cambiare linguaggi ma le regole di cognizione di lavoro sono uguali.
Intanto nel Fanuc si possono fare sottoprogrammi interni e dopo l' M30 richiamandoli tante volte quanto servono e senza diventare matti a cercare di mettere variabili che a mio avviso servono solo a facilitare errori di programma e perdite di tempo.
I sottoprogrammi si possono fare sia dentro il programma stesso sia esterno o addirittura chiamato da scheda di memoria esterna ma attenzione che ad ogni cognizione di lavoro cambiano i parametri di chiamata del linguaggio stesso.
saluti

LUCA XYZ
Newbie
Newbie
Messaggi: 24
Iscritto il: martedì 10 aprile 2012, 19:38
Località: prov. BG

Re: aiuto per sottoprogrammi su fanuc oi-mc

Messaggio da LUCA XYZ » sabato 6 ottobre 2012, 8:43

Questo, con il fanuc serie0 e il sistema piu semplice che son riuscito a trovare, anche a me non funziona il richiamo con M98 all'interno del programma stesso

ciao Luca


:10("SOTTOPROGRAMMA IN CODA")

T17M6(FRESA D.63)
G54X-35Y-20S6000M3
G52Z119
G43Z0H17D17M7

#100=(???) (INSERISCI PROFONDITA FRESATURA)
#101=(???) (SPECIFICA NUMERO PASSATE)

#102=[#100/#101] #103=#102

N5

IF[#101NE0]GOTO10

G53Y0Z0
M30

N10
G0X-35
Z-#102
G1X135F2000
G91
G0Z.5
G90

#102=[#102+#103]
#101=[#101-1]
GOTO5
%

bob3m
Junior
Junior
Messaggi: 88
Iscritto il: domenica 9 gennaio 2011, 17:44
Località: Gorizia

Re: aiuto per sottoprogrammi su fanuc oi-mc

Messaggio da bob3m » sabato 6 ottobre 2012, 9:01

Per luca xyz
E' ovvio che non ti funziona il richiamo con M98 all'interno del programma stesso.
M98 chiama un programma o sottoprogramma. Se vuoi esegure istruzioni dopo l'M30 devi prendere altre strade, ad esempio un GOTO.

Per mrfanuc
si, a tuo avviso le variabili servono a facilitare errori.
Le variabili servono... e come se servono! Se fai programmini di spianatura, una contornatura e 4 fori fa una pippa, ma se hai il controllo in ISO senza nessun appoggio esterno di CAD CAM e devi fare cave e far calcolare al controllo i percorso con tangenti, seno, coseno... voglio vedere senza variabili....

mrfanuc
Newbie
Newbie
Messaggi: 6
Iscritto il: venerdì 5 ottobre 2012, 22:08
Località: milano

Re: aiuto per sottoprogrammi su fanuc oi-mc

Messaggio da mrfanuc » sabato 6 ottobre 2012, 9:39

BOB3M
il fatto di avere il controllo in iso non vuol dire niente bisogna solo saper programmare e ti diro di piu che la funzione M98 M99 le puoi usare anche dopo l'M30 senza bisogno di goto senza variabili e dentro lo stesso programma dopo l'M30. Io faccio tutti i giorni programmi con almeno una ventina di sottoprogrammi e li richiamo come e quando voglio con tutte le ripetizioni che servono sia per percorsi inclinati contorniture elicoidali ad angolo e quantaltro.
Ci sono dei parametri da attivare i parametri macchina e vedrete che molte lavorazioni diventano molto piu semplici con una stringa messa in un sottoprogramma ed un semplice calcolo trigonometrico che come tutti i fresatori e tornitori dovrebbero conoscere.

saluti

bob3m
Junior
Junior
Messaggi: 88
Iscritto il: domenica 9 gennaio 2011, 17:44
Località: Gorizia

Re: aiuto per sottoprogrammi su fanuc oi-mc

Messaggio da bob3m » sabato 6 ottobre 2012, 11:16

Ciao mrfanuc,
puoi postare un esempio di richiamo con M98 nel stesso programma?

Per i parametri da attivare non ho capito cosa intendi... sempre riguardo al riguardo del richiamo sotto programma o parli dei calcoli trigonometrici?

Riguardo ai calcoli trigonometrici li faccio fare al controllo perchè nel mio caso i pezzi sono diversi. In un sottoprogramma ho messo le formule che mi servono, e dal principale non faccio altro che passargli con G65 quello che serve come raggio da eseguire, raggio utensile, raggio inserto, incremento di passata o rugosità  richiesta, lunghezza pezzo, ecc.
Così non sto li a rifarmi i calcoli ogni volta a ogni pezzo.
Una macro insomma, tutto questo grazie alle variabili (qui mi rifaccio al post dove dici che le variabili servono solo a facilitare errori). Tutto qua.

Ciao
Massimo

mrfanuc
Newbie
Newbie
Messaggi: 6
Iscritto il: venerdì 5 ottobre 2012, 22:08
Località: milano

Re: aiuto per sottoprogrammi su fanuc oi-mc

Messaggio da mrfanuc » sabato 6 ottobre 2012, 13:17

BOB3M - LUCA XYZ - STEFANO8569
-------------------------------------

ESEMPIO DI FRESATURA ELICOIDALE IN SOTTOPROGRAMMA INTERNO AL PROGRAMMA STESSO DOPO M30.
----------------------------------------------------------------------------------------------------------


T25M6 ( FRESA D.25)
G0G43H25D25Z100S2500M13
X0Y0
Z0
M98Q100 (RICHIAMO IL SOTTOPROGRAMMA 100)
G0Z100
M30 (FINE PROGRAMMA)
N100G1F1600 (SOTTOPROGRAMMA N100)
G41G1X20
N101G91G3I-20Z-1 ( SOTTOPROGRAMMA N101 INTERNO AL SOTTOPROGRAMMA N100)
M98Q101L30 (RICHIAMO SOTTOPROGAMMA N101 PER 30 VOLTE)
G3I-20
G90G1G40X0Y0
G0Z100
M99 ( CHIUSURA SOTTOPROGRAMMA ED ANNIDAMENTO)


Questo è solo un piccolo esempio ma ci sono svariate modalita di sottoprogrammare ed eseguire come e dove vogliamo con specchiature cambi origini scale e quantaltro.

Come vedete LUCA XYZ STEFANO8569 lo potete fare benissimo se avete problemi mi contattate e saro lieto di darvi una mano in tutto .

Saluti

Avatar utente
huliofane
Senior
Senior
Messaggi: 1046
Iscritto il: mercoledì 29 ottobre 2008, 15:18
Località: Prov. Verona
Contatta:

Re: aiuto per sottoprogrammi su fanuc oi-mc

Messaggio da huliofane » sabato 6 ottobre 2012, 13:38

salve a tutti io uso quel sistema sempre,ed è pressochè semplicissimo ma bisogna usare 3 programmi,ora mi spiego meglio...

G0 G90 G54 X-30 Y40 S3500M3
G43 H1 Z10
M8

(QUI TI POSIZIONI NEL PUNTO DI PARTENZA,SUPPONIAMO CHE DEVI CREARE UN QUADRO 30X30 H30 CON UNA FRESA DA 20)
G0X-30 Y40 Z10 (LO SO LO AVEVO GIA SCRITTO MA SE NON CI SONO PROBLEMI DI MEMMORIA MALE NON FA)
G1 Z0 F550
M98P101000 (M98 LO CONOSCIAMO P 10 (QUANTE VOLTE) 1000 (IL PROGRAMMA 1000)

G0G90Z20M9
G91 G28 Y0Z0
M30

IL PRGRAMMA 1000 SARà  COSì
G90
M98P2
M99


IL PROGRAMMA 2 SARà  COSì

G0G90G54X-30Y40
G91G1Z-3F550
G90
GIX15F1250
G2X40Y30R10
G1Y-15
G2X15Y-40R10
G1X-15
G2X-40Y-15R10
G1Y30
Y40F2500
X-30
M99

ORA IL PROGRAMMA 1 ESEGUIRà  10 VOLTE QUESTO PROGRAMMA ,ALLA FINE DELLA 10 VOLTA ANDRà  AD ESEGUIRE LA RIGA SUBITO DOPO LA RIGA DI M98P101000,IO CONSIGLIO,SE FAI I CONTROLLO BLOCCO SINGOLO,DI LASCIARE UN PAIO DI RIGHE VUOTE SOTTO,COSì QUANDO HAI FINITO LE 10 SUCESSIONI ,RIESCI A VEDERE PRIMA DOVE VA A FINIRE IL CNC,RICORDA CHE HAI USATO IL G91(INCREMENTALE) PER FREGARE IL SISTEMA IN Z,MA POI LO DEVI ANULLARE PRIMA DELLE PASSATE.


PUOI ANCHE CREARE UN TONDO DA UN QUADRO CON LO STESSO SISTEMA,AD ES :

GA G90G54X25Y40
G43H1Z10
GIZ0F550
M98P101000
G90
G2J-25
G1Y26
G0Z20
G91 G28 Y0 Z0
M30



IL MILLE è UGUALE

O0002:
G1X0Y25
G91
G2J-25Z-3
M99

SPERO D ESSERTI STATO UTILE,IO LO USO SPESSO E FUNZIONA CON QUASI TUTTI I FANUC.SE HAI DOMANDE CHIEDI PURE. CIAO CIAO
Quando smonto una cosa,per quel piccolo lasso di tempo,entro nella testa di chi l'ha creata

bob3m
Junior
Junior
Messaggi: 88
Iscritto il: domenica 9 gennaio 2011, 17:44
Località: Gorizia

Re: aiuto per sottoprogrammi su fanuc oi-mc

Messaggio da bob3m » sabato 6 ottobre 2012, 14:47

Ciao mrfanuc,
a... ecco... mi sembrava strano chiamare un sottoprogramma con l'M98 che è presente nello stesso programma principale...
N100 è un numero riga e con M98Q100 fai un salto condizionato come con GOTO, quindi non è un sottoprogramma ma la continuazione dello stesso bypassando l'M30.
Onestamente è poco leggibile, troppi salti. Comunque ogni uno fa come è abituato.
Io fare così:

T25M6 ( FRESA D.25)
#100=0
G0G43H25D25Z100S2500M13
X0Y0
Z0
WHILE[#100GE30]DO1
G1G41X20F1600
G91G3I-20Z-1
G3I-20
G90G1G40X0Y0
#100=#100+1
END1
G0Z100
M30

Oppure se si vuole usa i numeri riga anche con GOTO, oppure richiamare veri sottoprogrammi, insomma ci sono molti modi. L'importante è cercare la via più breve e "pulita". Personalmente in un caso come questo preferisco come il prog. postato qui sopra.

------
Ciao huliofane,
che strano quel:
M98P101000
dici che esegue il programma numero 1000 per 10 volte?
Visto così sembrerebbe che chiami il numero programma 101000.
Che fanuc è? Sono curioso...

Ciao
Massimo

Avatar utente
dacchio
Junior
Junior
Messaggi: 195
Iscritto il: domenica 18 dicembre 2011, 17:46
Località: pescara

Re: aiuto per sottoprogrammi su fanuc oi-mc

Messaggio da dacchio » sabato 6 ottobre 2012, 15:09

ma scusate non usate la L? es:
M98P100L10
lui leggerà  il programma 100 e lo ripeterà  10 volte...io faccio cosi

bob3m
Junior
Junior
Messaggi: 88
Iscritto il: domenica 9 gennaio 2011, 17:44
Località: Gorizia

Re: aiuto per sottoprogrammi su fanuc oi-mc

Messaggio da bob3m » sabato 6 ottobre 2012, 17:51

Ciao dacchio,
va benissimo per ciclare più volte un sottoprogramma, ma come da discussione se si vuole per forza di cose usare un programma unico...

Come dici tu è corretto (M98P1000L10) per ciclare 10 volte il prog 1000, mi sembra strano il metodo scritto da huliofane (M98101000).
Tutto può essere, magari il suo controllo lo accetta...

mrfanuc
Newbie
Newbie
Messaggi: 6
Iscritto il: venerdì 5 ottobre 2012, 22:08
Località: milano

Re: aiuto per sottoprogrammi su fanuc oi-mc

Messaggio da mrfanuc » domenica 7 ottobre 2012, 1:26

BOB3M
-------

Guarda che non è strano per niente...

L'M98 non è affatto un salto condizionato anche perche se lo fosse avrebbe bisogno di una variabile insieme ad un GOTO a meno che tu non esegua solo una volta la suddetta operazione da richiamare.
NON bypassa proprio niente , perche M98 è un richiamo di sottoprogramma e la famosa N100 non è una riga perche io non programmo con numerazione blocchi, ma bensi è un'apertura di una label ovvero di un sottoprogramma e il famoso N100 lo digito io chiudendolo con un M99.

Il fatto che tu dica che abbia troppi salti che sinceramente non vedo dove siano e che non sia pulito ...beh...quello è un tuo giudizio e buon pro ti faccia, ma sinceramente non so quanti seguirebbero il tuo esempio ...

saluti

Avatar utente
dacchio
Junior
Junior
Messaggi: 195
Iscritto il: domenica 18 dicembre 2011, 17:46
Località: pescara

Re: aiuto per sottoprogrammi su fanuc oi-mc

Messaggio da dacchio » domenica 7 ottobre 2012, 9:24

bob3m ha scritto:Ciao dacchio,
va benissimo per ciclare più volte un sottoprogramma, ma come da discussione se si vuole per forza di cose usare un programma unico...

Come dici tu è corretto (M98P1000L10) per ciclare 10 volte il prog 1000, mi sembra strano il metodo scritto da huliofane (M98101000).
Tutto può essere, magari il suo controllo lo accetta...
sinceramente non mi sono mai posto questo problema...non so come si possa fare...
il modo piu semplice che mi viene in mente e copiare e incollare la parte di programma da ripetere e cambiare la profondita di passata :mrgreen:

LUCA XYZ
Newbie
Newbie
Messaggi: 24
Iscritto il: martedì 10 aprile 2012, 19:38
Località: prov. BG

Re: aiuto per sottoprogrammi su fanuc oi-mc

Messaggio da LUCA XYZ » domenica 7 ottobre 2012, 9:54

Ripropongo il mio programma perchè mi sono accorto di un errore nella trascrizione,mi dava un fastidio tremendo il notarlo e non son riuscito a modificare il precedente intervento. Quindi chiedo anche se sia possibile farlo.
Luca

:10("SOTTOPROGRAMMA IN CODA")

T17M6(FRESA D.63)
G54X-35Y-20S6000M3
G52Z119
G43Z0H17D17M7

#100=??? (INSERIRE QUOTA PROFONDITA FRESATURA)
#101=??? (INSERIRE NUMERO PASSATE)

#102=[#100/#101] (CALCOLO PROFONDITA PASSATA)
#103=#102
N5

IF[#101NE0]GOTO10

G53Y0Z0
M30

N10
G0X-35
Z-#102
G1X135F2000
G91
G0Z.5
G90

#102=[#102+#103]
#101=[#101-1]
GOTO5

stefano8569
Newbie
Newbie
Messaggi: 12
Iscritto il: mercoledì 28 dicembre 2011, 21:57
Località: torino

Re: aiuto per sottoprogrammi su fanuc oi-mc

Messaggio da stefano8569 » domenica 7 ottobre 2012, 9:59

mrfanuc ha scritto:BOB3M - LUCA XYZ - STEFANO8569
-------------------------------------

ESEMPIO DI FRESATURA ELICOIDALE IN SOTTOPROGRAMMA INTERNO AL PROGRAMMA STESSO DOPO M30.
----------------------------------------------------------------------------------------------------------


T25M6 ( FRESA D.25)
G0G43H25D25Z100S2500M13
X0Y0
Z0
M98Q100 (RICHIAMO IL SOTTOPROGRAMMA 100)
G0Z100
M30 (FINE PROGRAMMA)
N100G1F1600 (SOTTOPROGRAMMA N100)
G41G1X20
N101G91G3I-20Z-1 ( SOTTOPROGRAMMA N101 INTERNO AL SOTTOPROGRAMMA N100)
M98Q101L30 (RICHIAMO SOTTOPROGAMMA N101 PER 30 VOLTE)
G3I-20
G90G1G40X0Y0
G0Z100
M99 ( CHIUSURA SOTTOPROGRAMMA ED ANNIDAMENTO)


Questo è solo un piccolo esempio ma ci sono svariate modalita di sottoprogrammare ed eseguire come e dove vogliamo con specchiature cambi origini scale e quantaltro.

Come vedete LUCA XYZ STEFANO8569 lo potete fare benissimo se avete problemi mi contattate e saro lieto di darvi una mano in tutto .

Saluti
Ciao mrfanuc ho solo letto adesso e quello che avevo chiesto quasi un anno fa e me lo stai svelando tu adesso con mia grande gioia.
Domani voglio provare il tuo programma ma non capisco cosa sia la Q di fianco M98 io metto la P ma richiamo un programma esterno come avevo gia accennato nei messaggi prcedenti mentre io lo voglio richiamare da dentro il programma stesso.
Ho provato ad usare le variabili, senza successo e soddisfazione, perche io abituato a selca ed heidenhain prediligo i sottoprogrammi , per richiamare tutto quando serve con facilita e senza diventare matto.
Domani metto in macchina il tuo e ti dico subito se va o non va .

Rispondi

Torna a “Macchine utensili professionali CN/CNC”