parametrica con incremento

Sezione Fanuc
Rispondi
pdca2015
Newbie
Newbie
Messaggi: 8
Iscritto il: sabato 18 aprile 2015, 22:20
Località: novara

parametrica con incremento

Messaggio da pdca2015 » giovedì 24 agosto 2017, 15:37

Buongiorno a tutti ,
uso tornio Fanuc 310i
sto cercando di crearmi una mini macro per sgrossare e non dover ogni volta riscrivere il programma :D

esempio :

#101 = 50 diametro grezzo
#102 = -40 lunghezza da lavorare in Z
#103 = 2 profondita' di passata
#104 = 0.1 F avanzamento
#105 = 10 diametro finale

G0 X52 Z2
#101 - #103 (POSIZIONE PRIMA PASSATA)
G1 #102 #104 (LAVORO)
G0 #101 + #103 (STACCO IN RAPIDO)
Z2

a questo punto non riesco a scrivere la riga per indicare al controllo di posizionarsi a 2 millimetri in meno rispetto al diametro sgrossato prima ](*,)
e successivamente a staccarsi sempre di 2 millimentri per posizionarsi per eseguire le altre passate :cry:

Scusate ma sto cercando di imparare da solo questa programmazione .

Grazie per ogni consiglio.

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

Re: parametrica con incremento

Messaggio da torn24 » giovedì 24 agosto 2017, 16:34

Forse dovresti ripassare un po il linguaggio macro, per ripetere ti servirebbe un ciclo while, questo è un sottoprogramma non una macro, visto che lo chiamerai con M98 senza passargli gli argomenti, mentre una macro si richiama con G65 O G66 passando argomenti.

Conosco i centri di lavoro "fresatrici" ma non i tornio Fanuc, quindi NESSUNA GARANZIA e non mi assumo NESSUNA RESPONSABILITA' sull'esempio, è solo un esempio di uso WHILE e di decremento di una variabile.

Codice: Seleziona tutto


#101 = 50 diametro grezzo 
#102 = -40 lunghezza da lavorare in Z
#103 = 2 profondita' di passata
#104 = 0.1 F avanzamento
#105 = 10 diametro finale
(si dovranno calcolare il numero passate)
#106=FIX[[#101-#105]/#103] ( Arrotondo per difetto "FIX" il grezzo da togliere diviso profondità di passata e trovo numero passate)
IF[[#106*#103]LT[#101-#105]] THEN #103=[[#101-#105]/#106] (se numero passate per profondità di passata è minore del grezzo, ricalcolo la passata)
#107=0 (contatore)

G0 X[#101+2] Z2
#101=#101 - #103 (POSIZIONE PRIMA PASSATA)
WHILE[#107LT#106]DO1
#107=#107+1(CONTA LE PASSATE)
G0 X[#101]
G1 Z#102 F #104 (LAVORO)
G0 X[#101 + #103] (STACCO IN RAPIDO)
Z2
#101=#101-#103 (TOGLIE DAL GREZZO LA PROFONDITA DI PASSATA)
END1
M99



CIAO A TUTTI !

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

Re: parametrica con incremento

Messaggio da TIRZAN » giovedì 24 agosto 2017, 20:19

bastava continuare sulla prima discussione che hai aperto invece di farne un'altra.

cmq per me ti stai solo complicando la vita....ci sono cicli belli e fatti su fanuc per fare questi lavori senza stare a scomodare la programmazione parametrica.

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

Re: parametrica con incremento

Messaggio da torn24 » venerdì 25 agosto 2017, 7:26

@TIRZAN forse è solo curiosità sulla programmazione parametrica senza una vera esigenza pratica.
Per imparare a fare un programma macro bisogna trovare un qualcosa da fare anche se poi non serve :D visto che il G71 lo fa, e lo fa molto meglio :mrgreen:
CIAO A TUTTI !

pdca2015
Newbie
Newbie
Messaggi: 8
Iscritto il: sabato 18 aprile 2015, 22:20
Località: novara

Re: parametrica con incremento

Messaggio da pdca2015 » venerdì 25 agosto 2017, 12:30

Ciao , scusate se la mia richiesta puo sembrare semplice per voi , conosco Fanuc e so che offre cicli di grossatura , pero vorrei mparare a programmare in modo differente dal solito iso. Mi sto informando per apprendere nozioni più evolutive di fare programmi.
I manuali spiegano ma chi meglio di chi ci lavora direttamente può dare un aiuto. :D
grazie a tutti.

Avatar utente
El Ventu
Senior
Senior
Messaggi: 709
Iscritto il: sabato 29 novembre 2008, 11:45
Località: Cesena

Re: parametrica con incremento

Messaggio da El Ventu » domenica 15 ottobre 2017, 10:44

Io mi sono creato questo sistema.
Immetto il numero di passate (l'incremento lo calcola da solo).
Lo uso sia in fresatura che in tornitura, quando necessario (altrimenti preferisco il ciclo G71/72).

Es.di concetto.

Partiamo da D100 e andiamo a 50, per 30mm in Z.
Stacco diagonale a fine passata di 0.25mm(radiali) in X e 0.2mm in Z.
Ultima passata con Vt maggiorata e avanzamento ridotto, e lavorazione spallamento fino a D103.
In pratica ciclo G71+G70...

G0G54T101 (cnmg0.8)
#110=200 (vt.sgross.)
#111=0.3 (f.sgross)
G96S#110M4
G0X100Z5
M8
#100=100 (d.inizio)
#101=50 (d.fine)
#102=8 (n.pass.)
#103=[[#100-#101]/#102] (calcolo profondità)
WHILE [#100NE#101]DO
G0X#100Z5
#100=[#100-#103]
IF [#100EQ#101]THEN#110=300AND#111=.12(cambio vt e f per finitura SE siamo giunti all'ultima passata)
X#100
G1Z-30F#111M8
IF[#100EQ#101]GOTO20(salta lo stacco dal pezzo se siamo all'ultima passata)
U.5W.2
GOTO10(salta la lavorazione spallamento se non siamo all'ultima passata)
N20X [#100+3+[#103*#102]](lavorazione spallamento)
N10G0Z5M9
END
G0X200Z150M5

Ci dovremmo esserci... :lol:

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

Re: parametrica con incremento

Messaggio da torn24 » lunedì 16 ottobre 2017, 7:19

IF [#100EQ#101]THEN#110=300AND#111=.12(cambio vt e f per finitura SE siamo giunti all'ultima passata)
Questo modo di usare AND è la prima volta che lo vedo, non so se funziona o da errore.

In caso desse errore si potrebbe risolvere in questo modo

Codice: Seleziona tutto


IF [#100EQ#101]GOTO200
GOTO300
N200 #110=300
#111=.12
N300

Nel while serve un numero dopo il DO , WHILE[] DO1 END1 :D
CIAO A TUTTI !

Avatar utente
El Ventu
Senior
Senior
Messaggi: 709
Iscritto il: sabato 29 novembre 2008, 11:45
Località: Cesena

Re: parametrica con incremento

Messaggio da El Ventu » martedì 17 ottobre 2017, 16:19

Non serve la numerazione del while se non annidato.
Hai ragione, l'AND lì non funzia, ci va un altro THEN.
Dai, ero appena sveglio... :D

Rispondi

Torna a “Fanuc”