IF.......?

Sezione Fanuc
Rispondi
Marcos80
Newbie
Newbie
Messaggi: 6
Iscritto il: giovedì 4 giugno 2020, 14:57

IF.......?

Messaggio da Marcos80 » giovedì 29 ottobre 2020, 21:13

Ciao Forum.
Spero che qualcuno mi possa dare una mano con questo quesito....!🤔
Ho bisogno di un consiglio sulle regole dell'IF...!

IF[#600EQ1]M98Q1001

Non riesco a fare questo salto...!
Ho provato in tutte le maniere.....ES....!

IF[#600EQ1]THEN[M98Q1001]
IF[[#600EQ1][M98Q1001]]

Ma niente...! Mi dà errore IF

Mi sorge la domanda....?
Posso strutturare solo con GOTO...?
Non posso mettere un M98 dopo il controllo..?
Grazie...!
Marco.


IF[#600EQ1]GOTO1001


N1001
XYZ.....
M99

torn24
God
God
Messaggi: 5046
Iscritto il: venerdì 1 febbraio 2008, 11:28
Località: Modena

Re: IF.......?

Messaggio da torn24 » venerdì 30 ottobre 2020, 7:20

Nel controllo IF nei cnc Fanuc, puoi fare solo due cose, con THEN cambiare il valore di una variabile, o senza THEN un salto con goto.
Ma comunque è possibile tramite una condizione IF richiamare un sottoprogramma.
Ti faccio un esempio.

Codice: Seleziona tutto


IF[[#600EQ1]GOTO100 (Se la condizione è vera va ed esegue la riga N100, se falsa il GOTO seguente impedisce l' esecuzione della riga)
GOTO200 (Normalmente salta la riga e non esegue il sottoprogramma)
N100 M98Q1001
N200
CIAO A TUTTI !

Marcos80
Newbie
Newbie
Messaggi: 6
Iscritto il: giovedì 4 giugno 2020, 14:57

Re: IF.......?

Messaggio da Marcos80 » venerdì 30 ottobre 2020, 21:56

Grazie per la cortese risposta...! La soluzione tramite GOTO e stata quella che ho utilizzato fin da subito per risolvere il problema...…! Cercavo una soluzione alternativa che mi snellisse la lettura e la stesura del programma e mi eviti problematiche dei salti GOTO che su alcuni CNC mi creano problemi....!
Su alcuni controlli posso gestire il salto in maniera più semplice.

Es.
Sono circa 24 salti per utensile.
E la media di 10 utensili a lavorazione.

#601=1(=1morsa on =0off)
#602=1(=2morsa on =0off)
Ecc.Ecc
IF[#601EQ1]GOTO100
M98Q1001
N100
IF[#6012EQ1]GOTO100
M98Q1001
N100

La maggior parte dei CNC accetta questa condizione.
Ma su alcuni controlli sono obbligato a fare diversamente...! Eseguire un salto dedicato..!

IF[#601EQ0]GOTO100
M98Q1001
N100
IF[#602EQ0]GOTO101
M98Q1001
N101

Goto100 n100
Goto101 n101

Ho provato anche tramite parametri....se non sbaglio era uno dei 6000 ma niente...!

Sono in cerca di consigli.
Ciao.
Marco.

torn24
God
God
Messaggi: 5046
Iscritto il: venerdì 1 febbraio 2008, 11:28
Località: Modena

Re: IF.......?

Messaggio da torn24 » sabato 31 ottobre 2020, 7:08

Ciao! Non immagino quali consigli ti possano dare, perché è il linguaggio che non permette di fare altro.
Anche se il linguaggio è limitato di norma permette di risolvere la maggior parte delle esigenze, sicuramente c'è un modo per ottenere quello che ti serve, ma c'è da ragionare su tutto il programma e capire se c'è un modo per farlo. In pratica se non ottieni quello che vuoi è probabile che il programma è pensato male.
CIAO A TUTTI !

TIRZAN
God
God
Messaggi: 3071
Iscritto il: sabato 27 luglio 2013, 16:54
Località: AQ

Re: IF.......?

Messaggio da TIRZAN » sabato 31 ottobre 2020, 14:56

Hai provato a scrivere nella condizione THEN GOTO 100 ecc

Rispondi

Torna a “Fanuc”