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 » domenica 7 ottobre 2012, 12:05

Ciao mrfanuc,

per strano mi riferivo al "M98P101000" di huliofane, non a te.
La mia non voleva essere una critica verso te, come ho detto nel post precedente ogni uno fa quel che vuole, l'importante è arrivare ad eseguire il lavoro. Siamo qui per confrontarci e migliorare.
Però mi dispiace ma non riesco a non replicare il tuo ultimo post, ma non pensare che è per ribattere, è che proprio dici cose non corrette.
Tu dici:
mrfanuc ha scritto: la famosa N100 non è una riga
Mi dispiace ma puoi prendere qualsiasi manuale ISO fanuc e vedrai che N sta per numero riga, questo è oggettivo.
Un programma e/o sottoprogramma per essere chiamato tale deve avere un numero programma proprio, ad esempio O0100.
mrfanuc ha scritto: L'M98 non è affatto un salto condizionato
Infatti, la sua funzione nativa è di richiamare un sottoprogramma, usato come hai fatto tu, fa un salto alla riga richiesta fino a trovare un M99 che lo riporta indietro.
mrfanuc ha scritto: il famoso N100 lo digito io chiudendolo con un M99
Certo, perchè M99 non fa altro che ritornare all'M98 che lo ha chiamato, quindi hai proprio fatto un salto condizionato bypassando l'M30.
Osserva bene il tuo codice e vedrai.
mrfanuc ha scritto: Il fatto che tu dica che abbia troppi salti che sinceramente non vedo dove siano
Bè.. ha saltato 2 volte in 3 parti di programma, onestamente non è più "pulito" fare 1 loop?
Più che mio giudizio è una mia opinione, io non giudico.. che non sia mai!
Si cerca sempre di creare un codice breve e leggibile.

Ciao e buona domenica
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 » domenica 7 ottobre 2012, 13:08

BOBM3
-------

Guarda... delle tue critiche sinceramente non so che farmene visto che sono dette da un professorone come te che a tutti costi vuol mettersi in mostra e per di piu si contraddice messaggio dopo messaggio ma ti ripeto va bene cosi e buon pro ti faccia a te e le tue convinzioni . (rileggiti tutte le risposte in contraddizione )
Gia il fatto che non sai cosa voglia dire M98P100001 la dice lunga sulle tue conoscenze di programmazione ti posso solo dire che le tue variabiline le uso anche io , anche se tu non hai capito niente del discorso iniziale e se posso osarmi sarei lieto di farti un corso aggiornato di linguaggio FANUC PRO perche sinceramente hai un po di confusione e sono sicuro che il programma di esempio messo da me, tu sarai proprio uno di quelli che lo userà  vista la semplicità  ed il modo liscio e fluido di costruzione.
Sono entrato qui per curiosita e per dare certe risposte di aiuto dato che con quasi 40 anni di fanuc sulle spalle conosco tutti i modelli e serie della casa per cui lavoro e il manuale lo so a memoria senza doverlo leggere .

Detto cio esco e mi cancello da questo forum lasciandolo ai professoroni di turno.


Saluti



Eliminata citazione inutile del messaggio precedente. --W.

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 » domenica 7 ottobre 2012, 14:11

ciao bob3m e tutti gli altri,in effetti come dici sembrava strano pure a me,ma partendo dal presupposto che tutti i fanuc hanno come nomenclatura "solo" 4 caratteri il resto lo vede come moltiplicatore o così penso io fatto sta che mi funziona su tutti i fanuc che ho trovato mai nessun problama,addirittura facevo pezzi per telescopi che andavano in arizzona e dovavo ricavare un quadro da 300x300 h 300 fatto strano e avevamo a disposizione un tondo soltanto e lo abbiamo tirato giu in verticale ...insomma per fartela breve lo abbiamo lasciato la di notte a fare tasche e contornature strane anche piu di 90 righe quindi M98P921000 e funziona,mai un problema,a volte mi ricavo le contornature con mastercam e uso soltanto il file di contorno e lo richiamo in quella maniera ,faccio prima e mi occupa meno posto in machina(lo so che si possono impostare i sottoprogrammi,ma ho in macchina un programinoo gia fatto per le contornature,perchè ne faccio molte ed in questo modo mi semplifico la vita)

come ripeto,anche a me sembra strano ma lo ho sempre usato,rispondendo alla tua domanda,lo uso e lo ho usato con :system2t,21m e 21t ,0m e 0t pure con 18m poi nn ricordo gli altri,ma anche con sistemi nuovi e vecchi,pensa che system2t è un dinosauro,l'ultimo che faceva assistenza è morto,non andato in pensione !!!
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 » domenica 7 ottobre 2012, 15:45

Ciao mrfanuc,
mie critiche? Ho iniziato il post precedente scrivendo che la mia non vuole essere una critica... bu non capisco.
Professorone, mie variabiline, ho confusione, mi contraddico, mettermi in mostra, non ho capito niente...
Ok, te la sei presa... anche se non ho capito il motivo, ho sempre cercato di avere un tono amichevole per non risultare antipatico e cercare di farmi capire.
A me piace confrontarmi, dare e ricevere consigli per crescere e aggiornarmi.
Comunque hai ragione, chiudiamola qua. Scriversi non ci si capisce.
Ciao
Massimo


Ciao huliofane,
interessante... io ho sempre usato M98P1000L10.
Domani lo provo.
Ciao
Massimo

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, 16:30

huliofane ha scritto:ciao bob3m e tutti gli altri,in effetti come dici sembrava strano pure a me,ma partendo dal presupposto che tutti i fanuc hanno come nomenclatura "solo" 4 caratteri il resto lo vede come moltiplicatore o così penso io fatto sta che mi funziona su tutti i fanuc che ho trovato mai nessun problama,addirittura facevo pezzi per telescopi che andavano in arizzona e dovavo ricavare un quadro da 300x300 h 300 fatto strano e avevamo a disposizione un tondo soltanto e lo abbiamo tirato giu in verticale ...insomma per fartela breve lo abbiamo lasciato la di notte a fare tasche e contornature strane anche piu di 90 righe quindi M98P921000 e funziona,mai un problema,a volte mi ricavo le contornature con mastercam e uso soltanto il file di contorno e lo richiamo in quella maniera ,faccio prima e mi occupa meno posto in machina(lo so che si possono impostare i sottoprogrammi,ma ho in macchina un programinoo gia fatto per le contornature,perchè ne faccio molte ed in questo modo mi semplifico la vita)

come ripeto,anche a me sembra strano ma lo ho sempre usato,rispondendo alla tua domanda,lo uso e lo ho usato con :system2t,21m e 21t ,0m e 0t pure con 18m poi nn ricordo gli altri,ma anche con sistemi nuovi e vecchi,pensa che system2t è un dinosauro,l'ultimo che faceva assistenza è morto,non andato in pensione !!!
Ciao huliofane
si il tuo metodo è giusto e funziona perche lo uso anche io per chiamare programmi esterni al programma in uso
domani sono curioso di provare come ha detto mrfanuc sarebbe interessante se funzionasse mi alleggerirei di molte noie.

claugo
Junior
Junior
Messaggi: 94
Iscritto il: sabato 24 dicembre 2011, 12:43
Località: modena

Re: aiuto per sottoprogrammi su fanuc oi-mc

Messaggio da claugo » domenica 7 ottobre 2012, 21:27

Per richiamare un sottoprogramma interno al programma il Fanuc utilizza una Q

M98 Q100
M30
N100
SOTTO PROGRAMMA
M99

Se metti M98 Q100 L3 il sotto programma viene ripetuto 3 volte
dopo la Q può esserci qualsiasi numero 1-500... inportante è che all'inizio del sotto programma metti
lo stesso numero di chiamata con la Q.

M98 Q1
M30
N1
SOTTO PROGRAMMA
M99

M98 Q20
M30
N20
SOTTO PROGRAMMA
M99

Ecc...

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 » lunedì 8 ottobre 2012, 6:11

Appena provato e a me M98101000 non funziona, mi da l'allarme "dati eccessivi".
Con M98P1000L10 ovviamente nessun problema.
Appena ho un pò di tempo lo provo su un vecchio 21i.
Ciao
Massimo

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 » lunedì 8 ottobre 2012, 10:27

claugo ha scritto:Per richiamare un sottoprogramma interno al programma il Fanuc utilizza una Q

M98 Q100
M30
N100
SOTTO PROGRAMMA
M99

Se metti M98 Q100 L3 il sotto programma viene ripetuto 3 volte
dopo la Q può esserci qualsiasi numero 1-500... inportante è che all'inizio del sotto programma metti
lo stesso numero di chiamata con la Q.

M98 Q1
M30
N1
SOTTO PROGRAMMA
M99

M98 Q20
M30
N20
SOTTO PROGRAMMA
M99

Ecc...

Ciao Glaugo ho appena eseguito il programma di mrfanuc e mi funziona tutto alla grande, che poi è lo stesso che hai confermato tu nel messaggio precedente, ho fatto un programma con ben 14 sottoprogrammi dopo m30 e 5 di questi hanno chiamate con ripetizioni e con grande soddisfazione ho eseguito e tirato giu il primo pezzo fatto senza nessuna complicazione.

Volevo dire grazie a chi è riuscito a darmi un aiuto, in particolare a mrfanuc che penso che la sua esperienza sia indiscutibile
e che ha risolto una mia richiesta fatta quasi un anno fa.

buon lavoro a tutti

Stefano

Paolino03/02/1972
Newbie
Newbie
Messaggi: 35
Iscritto il: mercoledì 28 marzo 2012, 19:03
Località: Modena

Re: aiuto per sottoprogrammi su fanuc oi-mc

Messaggio da Paolino03/02/1972 » lunedì 8 ottobre 2012, 15:14

Caro claugo avevo promesso che ti avrei insultato, ma visto il risultato in parte positivo non posso farlo, in parte perchè come hai notato il codice Q funziona solo su alcuni Fanuc, e non posso insultarti perchè se no damani al lavoro mi avresti picchiato.

Ciao grande ci vediamo domani al lavoro.
chi non sbaglia mai vuol dire che non fa una mazza dalla mattina alla sera.

claugo
Junior
Junior
Messaggi: 94
Iscritto il: sabato 24 dicembre 2011, 12:43
Località: modena

Re: aiuto per sottoprogrammi su fanuc oi-mc

Messaggio da claugo » lunedì 8 ottobre 2012, 18:36

Grazie Paolino ma domani ti meno lo stesso.

In effetti questo è un grosso problema del Fanuc. Ci sono delle funzioni tipo questa e cioè la chiamata
a un sotto programma interno al programma, M98 Q.., che non funziona su tutti. Il perchè mi è sconosciuto visto che il costruttore della macchina gestisce solo il PLC che controlla le M e la gestione del cambio utensile. Ma allora perchè il software che gestisce il sistema non è uguale per tutti?
Capisco le macro di funzioni speciali che devono essere acquistate a parte ma se funziona il Goto, While, perche non deve funzionare anche l'M98 uguale per tutti?

Se qualcuno sa la risposta è pregato di farsi avanti.

Ciao

Paolino03/02/1972
Newbie
Newbie
Messaggi: 35
Iscritto il: mercoledì 28 marzo 2012, 19:03
Località: Modena

Re: aiuto per sottoprogrammi su fanuc oi-mc

Messaggio da Paolino03/02/1972 » martedì 9 ottobre 2012, 17:39

questi sono i misteri dell fantastico mondo dei cnc


:boxing:
chi non sbaglia mai vuol dire che non fa una mazza dalla mattina alla sera.

badade
Junior
Junior
Messaggi: 166
Iscritto il: mercoledì 5 gennaio 2011, 11:45
Località: Varese

Re: aiuto per sottoprogrammi su fanuc oi-mc

Messaggio da badade » martedì 9 ottobre 2012, 23:10

Ricordo di aver avuto, qualche tempo fa, un dialogo con Claugo (ciao) in relazione al problema trattato in questo post: allora fui preso alla sprovvista!
Conoscevo l'effettiva possibilità  di un richiamo numerico, l'avevo anche usata, ma non la ricordavo dato che oramai sono più di dieci anni che non uso più
il richiamo ai sottoprogrammi, preferisco usare un ciclo WHILE. Poi Claugo mi disse di aver scoperto la 'Q', io mi sentii sollevato del buon risultato raggiunto
e il dialogo terminò.. ma questo riaccese in mè un ricordo!
Qualche giorno dopo, preso dalla curiosità  di ricordare, sono andato a recuperare i miei vecchi appunti, scritti su fogli oramai ingialliti dal tempo...
quando li cerchi non li trovi e quando meno te lo aspetti sbucano come funghi! Ho trovato e ricordato come scrivevo anticamente i miei sottoprogrammi!
Avrei dovuto chiamare Claugo... non l'ho fatto!
Approfitto quindi del post per rispondere a lui e a quanti sono interessati sperando di far maggiore chiarezza!

Noi tutti conosciamo la sintassi per richiamare un sottoprogramma, non è univoca, e questo può sconcertare:
possiamo usare una notazione numerica, 'M98 P0101000',
oppure una notazione letterale, 'M98 P1000 L5', 'M98 P1000 K5'.

(Le nostre cnc non sono tutte uguali, non solo varia la serie, ma anche il sistema di codici usato (A B C), ed il formato nastro (10/11 15/16),
la presenza dell'opzione macroistruzioni A o B, ed altre cose come la parametrizzazione che il costruttore decide di imporre al controllo.
Non che la programmazione venga stravolta, si tratta di "piccole" differenze che però a volte lasciano perplessi.
Una sintassi usata su una cnc non è dunque universale ma potrebbe essere una applicazione particolare di una determinata configurazione.)

Il modo di usare l'M98, come quasi tutti conoscono è una forma "ristretta" del richiamo ad una sub o del richiamo ad una sequenza numerica.
Il mio foglietto era ingiallito ma sono riuscito ugualmente a far mente locale!

Il modo "esteso" per il richiamo di una sub (e richiamo di una sequenza numerica), o modo completo se volete, è il seguente M98 P3456 Q200 L34

M98 è il richiamo,
P il sottoprogramma (esterno),
Q il numero di linea (assunto come inizio di programma (esterno) se non specificato),
L il numero di ripetizione (assunto 1 in caso non specificato).

Il richiamo quindi può essere molteplice: di subprogramma, di numero di sequenza, o di ambedue!
E' chiaro che L assume significato solo con la presenza di P o Q, mentre P o Q possono essere presenti singolarmente oppure insieme.

Vediamo alcuni esempi:

M98 P1000 viene richiamato il subprogramma O1000 all'inizio dello stesso

M98 P1000 Q200 viene richiamato il subprogramma O1000 che partirà  dalla linea 200 (numerazione che deve essere presente nella sub)

M98 P1000 Q200 L3 viene richiamato il subprogramma O1000 che partirà  dalla linea 200 e verrà  ripetuto 3 volte

M98 P1000 L3 viene richiamato il subprogramma O1000 che partirà  dall'inizio e verrà  ripetuto 3 volte

M98 Q100 viene richiamata la sub interna (non un programma esterno) alla linea 100

M98 Q100 L3 viene richiamata la sub interna (non un programma esterno) alla linea 100 e ripetuta per 3 volte

E' chiaro che ogni sub esterna o interna deve terminare con M99.
Il funzionamento di M99 è identico sia per programmi esterni che interni e cioè si ha il ritorno alla linea chiamante, verificata la non presenza di un ciclo
ripetitivo (L=1), il programma continua alla riga successiva. Ricordo inoltre che al M99 può essere associato un numero al fine di ritornare ad una sequenza
numerica prestabilita (M99 P0080 ritorna alla riga 80 del programma chiamante).

Ho potuto sperimentare personalmente la veridicità  di queste affermazioni su fanuc 16/18/21/31/32.
Inoltre il richiamo è possibile non solo per un nome programma ma anche per un mome file (M98 <nome programma>, M98<K3456>)
Per i controlli più datati non ho potuto eseguire test, (le vecchie macchine se ne vanno e subentrano quelle nuove),
ma amici mi dicono che non dovrebbero esserci problemi se non riguardo ai parametri (difficolta a trovarli o visualizzarli), ma di questo non posso dare certezze!

Perché non tutte le cnc hanno attiva questa funzione?
Dipende da un parametro macchina, o meglio da un bit di un parametro: parametro 6005, bit 0 (SQC).
Il bit 0 del parametro 6005 (SQC), decide se il richiamo di un sottoprogramma specificando il suo numero di sequenza nella funzione di richiamo (la Q per intenderci),
è abilitato oppure no: 0=disabilitato, 1 abilitato (il bit 0 è quello pià  a destra nel byte).
Quindi potete verificare questo parametro e fare le vostre prove!
La procedura la conosciamo: in MDI abilitare la scrittura parametri, entrare in system e cercare il parametro 6005, modificare a 1 il bit 0, disabilitare la scrittura
parametri. La modifica del parametro 6005 prevede lo spegnimento del cnc, fatelo altrimenti non otterrete dei risultati!

(Approfitto del'occasione per esprimere un sentimento che penso accomuni anche altre persone! Mi dispiace, leggere di persone che "litigano" per opinioni differenti. In questo ed in altri post è successo! Ognuno ha le proprie conoscenze e le proprie ignoranze, chi è portato più all'aspetto pratico e chi al teorico. Siamo un piccolo mondo dove convergono persone di ogni sorta... una cosa però deve accomunarci altrimenti non andiamo avanti, perdiamo quella possibilità  di comunicazione che dovrebbe essere lo spirito del forum: il confronto! Non voglio spendere mille parole per definire la questione, non sono qui a fare la ramanzina a nessuno! Semplicemente mi premeva esprimere questo sentimento, richiamare l'attenzione di noi tutti al fatto che la conoscenza non è "solo nostra", ma al contrario c'è sempre da imparare (o da insegnare!). E mi dispiace ancor più quando vengono prese decisioni apocalittiche!)

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ì 10 ottobre 2012, 15:58

Ciao badade,
hai fatto veramente un buon lavoro, complimenti... più chiaro di così non si può.
Concordo a pieno con la tua riflessione finale.
Ciao
Massimo

Paolino03/02/1972
Newbie
Newbie
Messaggi: 35
Iscritto il: mercoledì 28 marzo 2012, 19:03
Località: Modena

Re: aiuto per sottoprogrammi su fanuc oi-mc

Messaggio da Paolino03/02/1972 » mercoledì 10 ottobre 2012, 18:40

Sono pienamente daccordo con quello che dice badate, c'è sempre da imparare anche dalla persona meno esperta, bisogna solo aprire la mente a nuove conoscenze, e metodi di lavoro, ci sono persone che una volta imparato un metodo di lavoro o un metodo di programmazzione non abbandonano piu il sistema, e se per caso cerchi di fargli capire che ci sono altri metodi perchè comunque la tecnologia è sempre in costante evoluzione ti guardano come se fossi un matto, oppure ci sono persone che si offendono, ne parlavo proprio oggi in pausa pranzo con claugo. sono dell'idea che quelle persone che lavorano e programmano in maniera arcaica senza mai chiedere consigli o senza sperimentare bisogna lasciarle lavorare con il loro metodo e lasciarle nella loro infinita ignoranza.

Domani provo a cambiare il discusso parametro per abilitare la Q.

Grazie mille.
chi non sbaglia mai vuol dire che non fa una mazza dalla mattina alla sera.

claugo
Junior
Junior
Messaggi: 94
Iscritto il: sabato 24 dicembre 2011, 12:43
Località: modena

Re: aiuto per sottoprogrammi su fanuc oi-mc

Messaggio da claugo » mercoledì 10 ottobre 2012, 19:02

Ciao Badate
....Sempre un piacere leggerti



Per Paolino.... Se domani vai a sbattere non dare poi micca la colpa a Badate :lol: :lol:


Un saluto a tutti

Rispondi

Torna a “Macchine utensili professionali CN/CNC”