Programma di tastatura

Sezione Fanuc
Rispondi
gantoniol
Newbie
Newbie
Messaggi: 10
Iscritto il: domenica 27 agosto 2017, 12:10

Programma di tastatura

Messaggio da gantoniol » lunedì 29 aprile 2024, 17:59

Buonasera a tutti, ho fatto una ricerca nel forum ma non sono riuscito a trovare nulla di analogo al mio problema, per cui volevo chiedere se qualcuno mi sa indicare come posso procedere. Nello specifico devo creare un programma di tastatura con la sonda in macchina al fine di rilevare le coordinate Z di una piastra da lavorare. Dovrei sondare un numero n di punti, ad esempio 10, e inserire il valore Z di ogni punto in una variabile, ad esempio dalla 800 in poi. Fino a qui non ci sono problemi, poi però dovrei trovare il valore minimo e massimo e inserirli rispettivamente in G54 e G55 e qui iniziano i problemi. Qualcuno ha qualche suggerimento in merito?

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

Re: Programma di tastatura

Messaggio da TIRZAN » lunedì 29 aprile 2024, 20:58

C'è da fare un bel programma con le variabili macro.
Quello che farei è assegnare i valori alle variabili e poi confrontarle tra loro con le condizioni "maggiore di" e "minore di"
Andando così ad esclusione, usando ad es i salti condizionati si dovrebbe arrivare alla fine ad assegnare ad altre variabili i valori più bassi e più alti.
Cmq per come la penso non è un programma semplice di 2-3righe.

gantoniol
Newbie
Newbie
Messaggi: 10
Iscritto il: domenica 27 agosto 2017, 12:10

Re: Programma di tastatura

Messaggio da gantoniol » lunedì 29 aprile 2024, 22:36

Si capisco, diciamo che nella mia poca esperienza avevo immaginato che fosse una cosa come quella da te prospettata. In base alla tua esperienza tu come procederesti per fare questa cosa oltre a scrivere un programm? L'alternativa che mi ero prospettato era quella di percorrere la superficie con un comparatore e trovare i valori diciamo a "vista""?!

Avatar utente
Fiveaxis
God
God
Messaggi: 5728
Iscritto il: sabato 15 gennaio 2011, 12:08
Località: Monza e Brianza

Re: Programma di tastatura

Messaggio da Fiveaxis » martedì 30 aprile 2024, 0:31

Premesso che la tastatura in macchina ha senso solo su macchine estremamente precise, io penso che un conto e fare una tastatura pezzo una volta ogni tot è che impostata lavora per produzioni lunghe (settimane/mesi), altra cosa è voler tastare pezzi diversi tutti i giorni... :mrgreen:

Nel primo caso ti metti lì, scrivi il programma con variabili e condizioni logiche: ci metti del tempo che spalmi su centinaia di ore di produzione. Nel secondo caso hai necessità di strumenti flessibili garantibili solo dal software del tastatore connesso ad un modulo di tastatura nel CN...Magari il tutto interfacciato ai cicli di tastatura di un CAM... :mrgreen:
La macchina conta...ma la differenza la fa il "manico"!

gantoniol
Newbie
Newbie
Messaggi: 10
Iscritto il: domenica 27 agosto 2017, 12:10

Re: Programma di tastatura

Messaggio da gantoniol » martedì 30 aprile 2024, 6:00

Direi che l' ultima affermazione non fa una piega. Effettivamente i pezzi da fare sono pochi (10) quindi giustificare ore di scrittura programma a mano forse non è poi così vantaggioso. Visto che abbiamo il CAM è più conveniente investire qualcosa per arrivare la funzione di ispezione superfici e procedere in questo senso che di sicuro è più immediato. Diciamo che il problema nasce dal fatto che dobbiamo lavorare un pezzo di carpenteria saldata la cui superficie è composta d auna lamiera da 20 mm su cui dobbiamo fresare delle tasche a una profondità minima garantita e andando a trovare il punto di Z minimo sul grezzo in modo "automatico" ci semplificherebbe un attimo il lavoro. Diciamo che adesso facciamo una sgrossatura iniziale, misuriamo la profondità delle tasche controllando se rispettiamo la profondità minima di ognuna e in caso contrario aggiorniamo la Z di origine di conseguenza e facciamo ina pre finitura per portarci alla quota richiesta.

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

Re: Programma di tastatura

Messaggio da torn24 » martedì 30 aprile 2024, 6:21

Dovrei sondare un numero n di punti, ad esempio 10, e inserire il valore Z di ogni punto in una variabile, ad esempio dalla 800 in poi. Fino a qui non ci sono problemi,
Se questo lo fai tu, perché non so che tipo di sonda hai, e non saprei usare una sonda che comunica automaticamente le quote al cnc.

poi però dovrei trovare il valore minimo e massimo e inserirli rispettivamente in G54 e G55 e qui iniziano i problemi. Qualcuno ha qualche suggerimento in merito?
Per quanto riguarda questa parte, forse non è difficile come potrebbe sembrare.
In macro B fanuc non esiste un vero e proprio array "struttura dati informatica", ma la si può costruire con uso di variabili.

Esistono algoritmi per ordinare gli array e trovare l'elemento più piccolo e o l'elemento più grande, bubble sort è il peggiore ma è quello che conosco, ed è implementabile con due cicli.

Trovato il punto più basso e il punto piu alto, si potrebbe usare G90 G10 L2 P, per assegnarlo all'origine.

Se vuoi provarci ci possiamo provare, certezza del risultato non posso dartela, ma al massimo buttiamo via tempo non soldi.
CIAO A TUTTI !

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

Re: Programma di tastatura

Messaggio da torn24 » martedì 30 aprile 2024, 7:13

Ho provato a scrivere una piccola macro per farti vedere quello che avevo in mente. Per ora ho impiegato pochi minuti se andasse bene veramente tempo insignificante, se invece bisogna modificarla allora non so. :)

Nei commenti la spiegazione.

Codice: Seleziona tutto


%
O1000


(Dopo la tastatura di 10 punti, memorizzati nelle variabili dalla #500 alla #510)
(I punti devono essere tastati rispetto all'origine macchina G53, tenendo conto della lunghezza tastatore)
(Si procede,in pratica, come prendere lo zero pezzo in zeta)
(Trova il punto zeta più basso e più alto e li memorizza nelle variabili rispettivamente #100 e #101)
(Tramite la funzione G10 imposta origine zeta G54 al valore più piccolo, e a G55 il valore più alto)
#100=#500 (Valore minimo in zeta)
#101=#500 (Valore massimo in zeta)
#102=0 (Variabile contatore usata nel ciclo)

WHILE[#102LE10]DO1

IF[#[500+#102]LT#100] THEN #100=#[500+#102] (Trovo valore minimo)
IF[#[500+#102]GT#101] THEN #101=#[500+#102] (Trovo valore massimo)
#102=[#102+1] (Incremento contatore)
END1
G90 G10 L2 P1 Z#100 (Imposto G54 Valore zeta più piccolo)
G11
G90 G10 L2 P2 Z#101 (Imposto G55 Valore zeta più Grande)
G11

M99
%





CIAO A TUTTI !

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

Re: Programma di tastatura

Messaggio da TIRZAN » mercoledì 1 maggio 2024, 10:59

Se ho capito bene il problema nello specifico è tipo un lavoro che sto seguendo in officina da un amico (struttura saldata su cui fare lavorazioni).

Se possibile almeno io quando ho questi casi porto la superficie di lavoro in piano con una spianatura in modo da avere una Z fissa di partenza per fare poi tutte le altre lavorazioni.

Se non puoi spianare la superficie, visto che i pezzi sono pochi e come specifica hai solo il valore minimo di profondità garantito io metterei su il primo pezzo, fai la tastatura in un solo punto e fai le lavorazioni in modo da stare nelle specifiche con un po' di sicurezza.
Gli altri pezzi li metti su fai rifare la tastatura nello stesso punto andando ad aggiustare la quota in Z dell'origine e riparti con le lavorazioni.
Se i pezzi non sono fatti a banana vedi che dovresti rimanere cmq nelle specifiche.

@torn: il programma è ok ma i valori max e Min li dovresti ricavare manualmente...quello che forse intendeva (e come pensavo di fare) è trovarli in automatico col ciclo di tastatura...in pratica 10 tastatura in 10 macro da confrontare tra loro per trovare max e Min #-o
Forse sono funzionalità disponibili dai costruttori dei sistemi di tastatura (Renishaw ecc)...

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

Re: Programma di tastatura

Messaggio da torn24 » mercoledì 1 maggio 2024, 11:41

Ma aveva detto trovare 10 punti e inserirli in variabile, e ha detto che per questo non ci sono problemi.
E ha detto che le difficoltà era trovare il minimo e massimo e inserirli in G54 e G55.
La macro risolveva la seconda parte. Per dieci valori in zeta, trova il valore minimo e il valore massimo automaticamente, e le inserisce nelle origini. Sembrava che era questo che non riusciva a fare.

Comunque, probabilmente non ho capito bene cosa voleva fare, pensavo punto più alto e più basso di uno stesso pezzo. Ma si farebbe bene anche a mano confrontare 10 valori.
CIAO A TUTTI !

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

Re: Programma di tastatura

Messaggio da torn24 » mercoledì 1 maggio 2024, 12:06

Nello specifico devo creare un programma di tastatura con la sonda in macchina al fine di rilevare le coordinate Z di una piastra da lavorare. Dovrei sondare un numero n di punti, ad esempio 10, e inserire il valore Z di ogni punto in una variabile, ad esempio dalla 800 in poi. Fino a qui non ci sono problemi, poi però dovrei trovare il valore minimo e massimo e inserirli rispettivamente in G54 e G55 e qui iniziano i problemi.
Pero sinceramente, mi sembrava proprio questa la richiesta. Altrimenti non avrei risposto :D
CIAO A TUTTI !

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

Re: Programma di tastatura

Messaggio da TIRZAN » mercoledì 1 maggio 2024, 13:18

È che alla fine se i valori max e Min li trova manualmente li può inserire direttamente nelle origini senza scomodare le macro :mrgreen:
Cmq tutte le idee sono utili per risolvere un problema:wink:

gantoniol
Newbie
Newbie
Messaggi: 10
Iscritto il: domenica 27 agosto 2017, 12:10

Re: Programma di tastatura

Messaggio da gantoniol » mercoledì 1 maggio 2024, 14:37

Buongiorno a tutti, Il metodo migliore è più comodo sarebbe quello esposto da Tirzan, cioè una spianatura su tutta la superficie in modo tale da uniformare il valore di Z e procedere con le lavorazioni. Ma purtroppo non l'ufficio progettazione non ci lascia procedere in questo modo. Anche la seconda parte sempre da lui spiegata è corretta ma, essedo che quando una cosa può andare male sicuramente lo farà, la lamiera è a banana con differenze significative...

La parte suggerita da Torn24 è quanto si addice al mio caso per trovare il valore minimo e massimo, per scrivere i valori nelle rispettive variabili ci pensa il ciclo della sonda della macchina.

Avevo anche messo giù un programma per fare il tutto, ma la parte relativa alla ricerca del valore minimo e massimo è nettamente migliore quella esposta da Torn24.

Questo è quello che avevo pensato io:

Codice: Seleziona tutto

%
O1002 (PROGRAMMA TASTATURA)
(RILEVAZIONE SUPERFICIE Z)
(CAMPIONE DI 15 PUNTI)
G30 G91 Z0.
G90
G53 G00 X-2100.


(ISPEZIONE PER WCS2)
N10 T40 M06
(RENISHAW OMP60 6MM X 100MM)
G17 G90 G94
G54
G00 X-842.5 Y265.5
G43 Z25. H40
G65 P9003
M98 P1002
#801=#5223+#138

G00 X-842.5 Y0.
M98 P1002
#802=#5223+#138

G00 X-842.5 Y-265.5
M98 P1002
#803=#5223+#138

G00 X-450. Y265.5
M98 P1002
#804=#5223+#138

G00 X-450. Y0
M98 P1002
#805=#5223+#138

G00 X-450. Y-265.5
M98 P1002
#806=#5223+#138

G00 X50. Y265.5
M98 P1002
#807=#5223+#138

G00 X-190. Y0.
M98 P1002
#808=#5223+#138

G00 X50. Y-265.5
M98 P1002
#809=#5223+#138

G00 X368. Y310.
M98 P1002
#810=#5223+#138

G00 X368. Y0.
M98 P1002
#811=#5223+#138

G00 X368. Y-310.
M98 P1002
#812=#5223+#138

G00 X782. Y310.
M98 P1002
#813=#5223+#138

G00 X782. Y0.
M98 P1002
#814=#5223+#138

G00 X782. Y-310.
M98 P1002
#815=#5223+#138

G65 P9004

M05
G30 G91 Z0.
G90
G53 G00 X-2100.
G49

(RICERCA VALORE MINORE)

IF [#801LE#802]THEN#816=#801
IF [#802LE#801]THEN#816=#802
IF [#803LE#804]THEN#817=#803
IF [#804LE#803]THEN#817=#804
IF [#805LE#806]THEN#818=#805
IF [#806LE#805]THEN#818=#806
IF [#807LE#808]THEN#819=#807
IF [#808LE#807]THEN#819=#808
IF [#809LE#810]THEN#820=#809
IF [#810LE#809]THEN#820=#810
IF [#811LE#812]THEN#821=#811
IF [#812LE#811]THEN#821=#812
IF [#813LE#814]THEN#822=#813
IF [#814LE#813]THEN#822=#814
IF [#815LE#822]THEN#822=#815
IF [#816LE#817]THEN#823=#816
IF [#817LE#816]THEN#823=#817
IF [#818LE#819]THEN#824=#818
IF [#819LE#818]THEN#824=#819
IF [#820LE#821]THEN#825=#820
IF [#821LE#820]THEN#825=#821
IF [#822LE#825]THEN#825=#822
IF [#823LE#824]THEN#826=#823
IF [#824LE#823]THEN#826=#817
IF [#825LE#826]THEN#826=#825

#5223=#826

(RICERVA VALORE MAGGIORE)

IF [#801GE#802]THEN#816=#801
IF [#802GE#801]THEN#816=#802
IF [#803GE#804]THEN#817=#803
IF [#804GE#803]THEN#817=#804
IF [#805GE#806]THEN#818=#805
IF [#806GE#805]THEN#818=#806
IF [#807GE#808]THEN#819=#807
IF [#808GE#807]THEN#819=#808
IF [#809GE#810]THEN#820=#809
IF [#810GE#809]THEN#820=#810
IF [#811GE#812]THEN#821=#811
IF [#812GE#811]THEN#821=#812
IF [#813GE#814]THEN#822=#813
IF [#814GE#813]THEN#822=#814
IF [#815GE#822]THEN#822=#815
IF [#816GE#817]THEN#823=#816
IF [#817GE#816]THEN#823=#817
IF [#818GE#819]THEN#824=#818
IF [#819GE#818]THEN#824=#819
IF [#820GE#821]THEN#825=#820
IF [#821GE#820]THEN#825=#821
IF [#822GE#825]THEN#825=#822
IF [#823GE#824]THEN#826=#823
IF [#824GE#823]THEN#826=#817
IF [#825GE#826]THEN#826=#825

#5243=#829

N1002 (TASTATURA PUNTI Z)

G65 P9810 Z5. F1000.
G65 P9811 Z-5.5 Q10.
G65 P9810 Z5.
G00 Z25.
M99
%

Rispondi

Torna a “Fanuc”