Programma di tastatura
-
- Newbie
- Messaggi: 10
- Iscritto il: domenica 27 agosto 2017, 12:10
Programma di tastatura
-
- God
- Messaggi: 3088
- Iscritto il: sabato 27 luglio 2013, 16:54
- Località: AQ
Re: Programma di tastatura
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.
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.
-
- Newbie
- Messaggi: 10
- Iscritto il: domenica 27 agosto 2017, 12:10
Re: Programma di tastatura
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""?!
- Fiveaxis
- God
- Messaggi: 5728
- Iscritto il: sabato 15 gennaio 2011, 12:08
- Località: Monza e Brianza
Re: Programma di tastatura
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...
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...
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...
La macchina conta...ma la differenza la fa il "manico"!
-
- Newbie
- Messaggi: 10
- Iscritto il: domenica 27 agosto 2017, 12:10
Re: Programma di tastatura
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.
-
- God
- Messaggi: 5096
- Iscritto il: venerdì 1 febbraio 2008, 11:28
- Località: Modena
Re: Programma di tastatura
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.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,
Per quanto riguarda questa parte, forse non è difficile come potrebbe sembrare.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?
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 !
-
- God
- Messaggi: 5096
- Iscritto il: venerdì 1 febbraio 2008, 11:28
- Località: Modena
Re: Programma di tastatura
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.
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 !
-
- God
- Messaggi: 3088
- Iscritto il: sabato 27 luglio 2013, 16:54
- Località: AQ
Re: Programma di tastatura
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
Forse sono funzionalità disponibili dai costruttori dei sistemi di tastatura (Renishaw ecc)...
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
Forse sono funzionalità disponibili dai costruttori dei sistemi di tastatura (Renishaw ecc)...
-
- God
- Messaggi: 5096
- Iscritto il: venerdì 1 febbraio 2008, 11:28
- Località: Modena
Re: Programma di tastatura
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.
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 !
-
- God
- Messaggi: 5096
- Iscritto il: venerdì 1 febbraio 2008, 11:28
- Località: Modena
Re: Programma di tastatura
Pero sinceramente, mi sembrava proprio questa la richiesta. Altrimenti non avrei rispostoNello 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.
CIAO A TUTTI !
-
- God
- Messaggi: 3088
- Iscritto il: sabato 27 luglio 2013, 16:54
- Località: AQ
Re: Programma di tastatura
È che alla fine se i valori max e Min li trova manualmente li può inserire direttamente nelle origini senza scomodare le macro
Cmq tutte le idee sono utili per risolvere un problema
Cmq tutte le idee sono utili per risolvere un problema
-
- Newbie
- Messaggi: 10
- Iscritto il: domenica 27 agosto 2017, 12:10
Re: Programma di tastatura
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
%