FRESARE NUMERI PROGRESSIVI

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
Rispondi
vittorioooo
Newbie
Newbie
Messaggi: 27
Iscritto il: giovedì 9 maggio 2013, 10:23
Località: milano

FRESARE NUMERI PROGRESSIVI

Messaggio da vittorioooo » giovedì 9 maggio 2013, 14:18

Buongiorno a tutti :) sono nuovo del forum, ho cercato nei vari argomenti ma non ho trovato risposte..
Inanzitutto ho un centro di lavoro famup60e con linguaggio fanuc18i.
Vi spiego il mio problema, mi hanno dato dei particolari da fare e su ognuno di essi devo scrivere il numero di codice e su qui nessun problema perchè è uguale per tutti però a fianco devo scrivere il numero progressivo di ogni pezzo, dall'1 al 120 (per ora),ovvero:
codice 1
codice 2
...
codice 120

è possibile tramite variabili, macro ecc.. fare in modo che la macchina vada in incrementale da sola, senza dover modificare programma pezzo per pezzo?
spero di essermi spiegato :D
un grazie a tutti anticipatamente :)
Vittorio

Avatar utente
Zebrauno
God
God
Messaggi: 9670
Iscritto il: venerdì 18 settembre 2009, 18:24
Località: Savigliano/Torino
Contatta:

Re: FRESARE NUMERI PROGRESSIVI

Messaggio da Zebrauno » giovedì 9 maggio 2013, 14:46

Io userei una variabile come "deposito" per tenere la cifra aggiornata.
Ogni esecuzione del programma fresa il numero letto dalla variabile e poi le aggiunge 1, in modo che alla prossima esecuzione il programma la legga con una progressione.

Se hai spento la macchina imposti la variabile a mano partendo dal numero a cui eri arrivato.

L'ho fatto tante volte e funziona :wink:

ciao

vittorioooo
Newbie
Newbie
Messaggi: 27
Iscritto il: giovedì 9 maggio 2013, 10:23
Località: milano

Re: FRESARE NUMERI PROGRESSIVI

Messaggio da vittorioooo » giovedì 9 maggio 2013, 14:52

Grazie mille zebrauno :) però c'è piccolo problema, sto iniziando ora ad usare le variabili e non sono cosi esperto :) se potresti darmi una mano piu precisa mi saresti veramente d'aiuto
grazie ancora :)

Avatar utente
Zebrauno
God
God
Messaggi: 9670
Iscritto il: venerdì 18 settembre 2009, 18:24
Località: Savigliano/Torino
Contatta:

Re: FRESARE NUMERI PROGRESSIVI

Messaggio da Zebrauno » giovedì 9 maggio 2013, 14:55

Non uso i linguaggi che dovrai usare tu, ti ho indirizzato...ora spetta a te trovare i codici da sfruttare, non sara' difficile scrivere il primo codice per un collaudo veloce.

ciao

vittorioooo
Newbie
Newbie
Messaggi: 27
Iscritto il: giovedì 9 maggio 2013, 10:23
Località: milano

Re: FRESARE NUMERI PROGRESSIVI

Messaggio da vittorioooo » venerdì 10 maggio 2013, 13:45

secondo voi si riesce a creare una macro che fresa il numero del contapezzi? ovvero la #9301 se non sbaglio
grazie

vittorioooo
Newbie
Newbie
Messaggi: 27
Iscritto il: giovedì 9 maggio 2013, 10:23
Località: milano

Re: fresare numeri progressivi

Messaggio da vittorioooo » lunedì 13 maggio 2013, 12:36

nessuno mi da una mano x favore?

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

Re: FRESARE NUMERI PROGRESSIVI

Messaggio da torn24 » lunedì 13 maggio 2013, 15:40

La cosa apparentemente semplice , si può rilevare una cosa molto complessa .
NON basta incrementare una variabile , cosa forse necessaria e banale .

Ti descrivo i problemi a cui andresti incontro
1 dovresti avere un programma o meglio sottoprogramma che fresi i numeri , in iso fatto al cad-cam che lavori in incrementale G91
per non avere problemi con le origini in seguito
2 ovvio che non puoi avere un programma per ogni numero se devi fresare numeri da 1 a 300 non puoi avere 300 sottoprogrammi , se no la macro non avrebbe senso di esistere
quindi bisogna limitarsi a avere 10 sottoprogrammi iso , ciascuno dei quali fresa una cifra " 0 1 2 3 4 5 6 7 8 9"
3 dovresti ricavare dal contapezzi o dalla variabile che incrementi , le cifre che lo compongono esempio 57 formato da cifre 5 e 7
la cosa è non è semplice e bisogna adottare un vero algoritmo usato in programmazione dai programmatori , poi devi creare un programma che possa lavorare , sia se il numero è formato da un unica cifra , sia sia formato da due o tre o più cifre , altro problema di vera programmazione
4 a questo punto ti dovresti posizionare dove eseguire il numero , richiamare il sottoprogramma per la prima cifra , spostarti in incrementale richiamare il programma per la seconda cifra e cosi via


Ora che sia possibile , con buona probabilità  lo è , sempre che si disponga dei programmi per fresare le singole cifre , ma richiede molto impegno per poter essere realizzato , e grande attenzione nell'essere usato ,

Quindi quello che potrebbe sembrare a prima vista banale , si può rilevare di notevole complessità  , se poi ci aggiungiamo che non hai esperienza con macro fanuc , è impossibile che tu ci riesca ma forse anche gli esperti in macro che possano realizzare qualcosa del genere sono pochi :wink:
CIAO A TUTTI !

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

Re: FRESARE NUMERI PROGRESSIVI

Messaggio da torn24 » lunedì 13 maggio 2013, 15:58

Aggiungo un consiglio , credo che ti abbia richiesto un numero progressivo fresato , non si renda conto di cosa comporta , una persona che avesse dimestichezza con la programmazione di cnc , si sarebbe reso conto della richiesta assurda , a questo punto proverei a spiegare le cose a chi ti ha commissionato il lavoro , e proporgli di fare il numero di serie fresato , e il numero progressivo a mano tramite punzoni numerici e martello "cosa abbastanza comune " :wink:
Non hai i permessi necessari per visualizzare i file e le foto allegati in questo messaggio. Per visualizzare tali file devi registrarti ed effettuare il Login
CIAO A TUTTI !

vittorioooo
Newbie
Newbie
Messaggi: 27
Iscritto il: giovedì 9 maggio 2013, 10:23
Località: milano

Re: FRESARE NUMERI PROGRESSIVI

Messaggio da vittorioooo » lunedì 13 maggio 2013, 16:35

Grazie mille torn24 :) in effetti erano i problemi che mi ero posto anche io, ed essendo neofita non sapevo se tutto ciò fosse possibile. Non so se esista una variabile che mi indichi le unita, una le decine e cosi salendo, del contapezzi.
Io ci provo e studio un po', non mi arrendo cosi facilmente :D
Inizierò a creare una macro e vedrò come si comporta e la posterò qui x suggerimenti
Grazie

Avatar utente
Zebrauno
God
God
Messaggi: 9670
Iscritto il: venerdì 18 settembre 2009, 18:24
Località: Savigliano/Torino
Contatta:

Re: FRESARE NUMERI PROGRESSIVI

Messaggio da Zebrauno » lunedì 13 maggio 2013, 17:10

Torn24...non so proprio nei linguaggi Fanuc, ma ti assicuro che in Colibri' e' semplice come sembra, l'incremento di una variabile funziona sino a che non si spegne il programma che le memorizza, in tal caso e' sufficiente riaggiornare la variabile manualmente con una riga di gcode, prima di ripartire.
L'incremento avviene in automatico ad ogni esecuzione del programma, il quale conterra' semplicemente poche righe che leggono il valore attuale e sommano l'unita' a fine ciclo.


Sembra veramente strano che in un linguaggio odierno non esistano i mezzi per salvare una variabile e operare algebricamente su di essa (gli offset di lunghezza utensile lavorano esattamente in quel modo).

Vittorio abbi pazienza e vedrai che il modo saltera' fuori, ma se hai fretta forse e' veramente il caso di considerare i punzoni :wink:

ciao

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

Re: FRESARE NUMERI PROGRESSIVI

Messaggio da torn24 » lunedì 13 maggio 2013, 17:54

zebra , in problema non è la variabile che in fanuc si fa come in colibri , #100=[#100+1] , ma poi quando ho incrementato la variabile devo chiamare un programma che fresa il numero , in fanuc non esiste una funzione per fresare numeri , quindi bisogna farla al cam , e non si può fare un programma per ogni numero , è una cosa interessante ma molto impegnativa , poi penso che siano pochi ad avere questa esigenza , altrimenti i costruttori avrebbero creato una funzione apposita :mrgreen:
CIAO A TUTTI !

Avatar utente
Zebrauno
God
God
Messaggi: 9670
Iscritto il: venerdì 18 settembre 2009, 18:24
Località: Savigliano/Torino
Contatta:

Re: FRESARE NUMERI PROGRESSIVI

Messaggio da Zebrauno » lunedì 13 maggio 2013, 18:57

Beh, intanto qui abbiamo una persona che ne ha esigenza e questo basta per la sfida :D
Posso dirti che ormai non esiste piu' un solo cantiere, nel quale si realizzino parti con macchine a cn, dove i singoli pezzi non debbano essere contrassegnati uno per uno...e non solo, devono essere prodotti in automatizzazione pure i fogli di assemblaggio, con tanto di messe in tavola progressive.
Comunque mi rendo conto della difficolta', ma persino in mach3 si risolverebbe con una macro. E' vero che i singoli numeri devono avere dei percorsi per essere fresati, ma nella macro puoi includerli tutti, con le cifre del sistema decimale, e saltare su quelli necessari in base al numero da fresare senza nemmeno avere dei sottoprogrammi esterni.

Se il sistema Fanuc 18i puo' richiamare delle macro e puo' salvare valori in una variabile allora di certo si riuscira' a risolvere il questito di Vittorio.

ciao

vekus
Member
Member
Messaggi: 513
Iscritto il: domenica 15 agosto 2010, 10:39
Località: Auronzo@Belluno

Re: FRESARE NUMERI PROGRESSIVI

Messaggio da vekus » lunedì 13 maggio 2013, 19:57

ciao, avevo lo stesso problema, con un controllo diverso, le macro non le conosco, ho risolto facendole fare a laser :mrgreen: su materiale plastico più o meno il risultato è simile, su materiale che usi tu non sò, ma se hai urgenza può essere una soluzione

MaZZoPaZZo
Newbie
Newbie
Messaggi: 11
Iscritto il: giovedì 21 gennaio 2010, 22:25
Località: Crema (CR)

Re: FRESARE NUMERI PROGRESSIVI

Messaggio da MaZZoPaZZo » martedì 14 maggio 2013, 7:41

visto che sai che i pezzi saranno 120 potresti incrementare 3 diverse variabili, la prima di 0.01 la seconda di 0.1 e la terza di 1
cosi ottieni unita decine e centinaia.

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

Re: FRESARE NUMERI PROGRESSIVI

Messaggio da torn24 » martedì 14 maggio 2013, 13:24

Visto che si tratta di una sfida intellettuale :mrgreen: , mi sono cimentato nell'impresa , trattandosi della prima volta che affronto problemi del gel genere , ho dovuto informarmi un po sulla rete , ho usato funzioni che non avevo mai usato prima "FIX[] arrotondamento per difetto macro fanuc", ho dovuto cercare nei siti di programmazione esempi su come scomporre numeri interi nelle cifre che lo scompongono , e ho impiegato un intera mattinata davanti al PC , per trovare una soluzione e scrivere la macro .

Ora la macro non è completa , manca il codice iso per fresare le cifre , Non è detto che funzioni ma potrebbe necessitare di importanti modifiche , Ma visto che ne sono fiero :P , e che potrebbe essere usata almeno come punto di partenza per risolvere il problema la voglio postare e condividere con il Forum POTETE modificarla e adattarla come volete è di PUBBLICO DOMINIO

Devo anche aggiungere che le previsioni sui problemi che si sarebbero incontrati , la difficoltà  elevata prevista ,si sono rivelate vere , quindi avevo ragione , aggiungo che ho accolto il suggerimento di zebrauno di inserire il codice per fresare all'interno della macro stessa , e mi sono dovuto per questo inventare un GOSUB RETURN Stile basic avendo a disposizione solo un GOTO altra piccola difficoltà 

Codice: Seleziona tutto




% (Macro Fresatura numeri )
O1000 (richiamo macro tramite G65 P1000 o M98 P1000 )
#100=[#100+1] (Contatore progressivo pezzi )
#110=#100 (Variabile di appoggio per ricavare cifra unita ,centinaia e migliaia )
#101=-1 (variabile cifra unita)
#102=-1 (variabile cifra decine)
#103=-1 (variabile cifra centinaia)
#104=-1 (variabile cifra migliaia)
#105=10  (variabile destinazione ritorno salto GOTO)

( se le varibili cifre sono inferiori a 0 = a -1 la cifra non viene fresata )
(Algoritmo per ricavare le cifre che compongono un numero intero) 
    IF[#110LT10]GOTO1
    #101 =[#110 MOD 10] (cifra unita)
	#110 =FIX[#110 / 10] 
	IF[#110LT10] GOTO2
	#102 =[#110 MOD 10] (cifra decine)
	#110 = FIX[#110 / 10] 
	IF[#110LT10]GOTO3
	#103 =[#110 MOD 10] (cifra centinaia)
	#110 = FIX[#110 / 10] 
	IF[#110LT10]GOTO4
	#104 =[#110 MOD 10] (cifra migliaia )
	

GOTO10
N1 #101=#110	
GOTO10
N2 #102=#110
GOTO10
N3 #103=#110
GOTO10
N4  #104=#110


N10 IF[#101GE0]GOTO[#101+100]
N20 IF[#102GE0]GOTO[#102+100]
N30 IF[#103GE0]GOTO[#103+100]
N40 IF[#104GT0]GOTO[#104+100]
N50 M99

N100

(IL CODICE PER FRESARE LE CIFRE DOVRA' LAVORARE IN INCREMENTALE G91 )
(FRESARE LA CIFRA , TERMINATO SI DOVRA' SPOSTARE VERSO SINISTRA PER FRESARE LA SUCESSIVA)
(E' IMPORTANTE CHE OGNI CIFRA INIZIA LA FRESATURA E TERMINA LA FRESATURA NELLA STESSA POSIZIONE )
(VISTO CHE IL NUMERO POTREBBE ESSERE COMPOSTO DO 1 A 4 CIFRE , BISOGNA LASCIARE SPAZIO ALMENO PER 4 CIFRE)
( COSA CHE POTREBBE DARE PROBLEMI ESTETICI , AD ESEMPIO SE FRESO 9 SARA' TRE CIFRE DISTANTE VUOTE )

( CODICE ISO PER FRESARE 0)




#105=[#105+10]
GOTO#105
N101


( CODICE ISO PER FRESARE 1)





#105=[#105+10]
GOTO#105
N102



( CODICE ISO PER FRESARE 2)



#105=[#105+10]
GOTO#105
N103


( CODICE ISO PER FRESARE 3)


#105=[#105+10]
GOTO#105
N104


( CODICE ISO PER FRESARE 4)





#105=[#105+10]
GOTO#105
N105


( CODICE ISO PER FRESARE 5)


#105=[#105+10]
GOTO#105
N106


( CODICE ISO PER FRESARE 6)



#105=[#105+10]
GOTO#105
N107


( CODICE ISO PER FRESARE 7)





#105=[#105+10]
GOTO#105
N108


( CODICE ISO PER FRESARE 8)




#105=[#105+10]
GOTO#105
N109


( CODICE ISO PER FRESARE 9)



#105=[#105+10]
GOTO#105

M99
%



















CIAO A TUTTI !

Rispondi

Torna a “Macchine utensili professionali CN/CNC”