Cambio Utensile Mach3 con CS-LAB

Sezione dedicata a Mach3
Rispondi
syntronik
Senior
Senior
Messaggi: 1056
Iscritto il: giovedì 16 settembre 2010, 10:44
Località: Parma
Contatta:

Cambio Utensile Mach3 con CS-LAB

Messaggio da syntronik » sabato 14 marzo 2020, 12:05

Io veramente mi vergogno un pò, a chiedere aiuto sul forum, ma devo ammettere, che sono più tagliato per fare macchinette che programmare in G-Code. Devo ammettere, che non sono molto tagliato, sul "Cambio utensile" è la prima volta che ci metto le mani.
Mi sono costruito le manine oer ISO15, e vanno bene, ho costruito il magazzino utensili, per sei mandrini, a va bene, ho acquistato un mandrino Colombo per ISO15, funziona tuttoincluso i due sensori di mandrino su e mandrino giu, vanno bene anche le elettrovalvole per presa/rilascio mandrino, e soffio per pulizia mandrino, ho scaricato la Macro da CS-LAB, ho dato una scorsa alla macro, e qualche cosa ci ho già capito, anche se poco, ho raspato e letto sul forum, per giorni tutti i discorsi sul cambio utensile, ma alla fine non ho trovato qualche cosa che mi permettesse di partire.
Io non ho mai lavorato con le macro, se c'è qualche esperto, di Mach3, disposto a spendere qualche parola, da come iniziare e procedere?
Ad esempio, nella macro ho visto che ci sono le quote degli assi, relativi al primo utensile, e poi si deve dare la distanza "Interasse" di ogni utensile, e fino qui tutto quadra
Io volevo anticipare qualche domanda, che ovviamente può sembrare stupida, ma sono disposto a fare la figura del novellino, nonostante l'età.
Prima domanda, presumo che le quote utensile siano sempre riferite alle quote zero dell'Home, questo mi pare più che logico, ma poi...? poi, come procedo in un programma di cambio utensile, intendo la sequenza da fare, sicuramente si deve partire con M6???, ma poi dovrò dare anche il numero dell'utensile, sono sicuro che non è complicato, e che basterebbe qualche suggerimento a riguardo per quel che concerne la sequenza corretta, o sbaglio.
allego la macro di CS-LAB, scaricabile dal sito, è in visual basic, una cosa da dire, è che io non ho l'output "curtain/tenda/ e input mandrino preso, ho solo due ingressi presa mandrino su e presa mandrino giù, io comunque prova a fare tante altre prove, ovviamente ci arriverò, ma con fatica.
Grazie in anticipo
Maurizio
Se ti fermi, sei una cosa inutile.
http://www.syntcncsrl.com

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

Re: Cambio Utensile Mach3 con CS-LAB

Messaggio da torn24 » domenica 15 marzo 2020, 7:22

Ciao! La macro va adattata al cambio utensile specifico, in quanto sono tutti diversi uno dall'altro, usano sistemi diversi. Le macro più comuni sono per cambio utensile a rastrelliera ma esistono diversi tipi di magazzino utensile per cui anche le macro possono essere completamente diverse l'una dall'altra.

1)Dovrai avere uno zero macchina richiamato col codice G53 nella macro, vuol dire che la macro si riferisce allo zero macchina.
2)Per avere lo zero macchina, all'accensione della macchina dovrai posizionarti fisicamente sul punto zero macchina, e digitare nei dro-display zero per tutti gli assi.
3)Se il tuo cambio utensile è a rastrelliera, dovrai sapere le quote della prima posizione e sapere le distanze o le quote degli altri utensili, e dovrai inserirli nella macro.

4) Scrivi in italiano le operazioni passo per passo che dovrà fare il cambio utensile, e poi vedi se la macro lo fa con le istruzioni
ESEMPIO SEMPLIFICATO
1 POSIZIONE ALTEZZA CAMBIO UTENSILE
2 POSIZIONE MAGAZZINO UTENSILE MONTATO
3 ABBASSAMENTO UTENSILE
4 SGANCIO UTENSILE
5 SOLLEVAMENTO TESTA
6 POSIZIONE MAGAZZINO NUOVO UTENSILE
7 ABBASSAMENTO TESTA
8 AGGANCIO NUOVO UTENSILE


5) Nel programma ISO gcode, per cambiare l'utensile dovrai programmare TnumeroUtensile M6, esempio per montare l'utensile 3, programmare T3 M6
CIAO A TUTTI !

syntronik
Senior
Senior
Messaggi: 1056
Iscritto il: giovedì 16 settembre 2010, 10:44
Località: Parma
Contatta:

Re: Cambio Utensile Mach3 con CS-LAB

Messaggio da syntronik » domenica 15 marzo 2020, 9:57

Ti allego la macro che ho scaricato da CS-LAB, che ieri mi sono dimenticato di allegare, seguendo la sequenza che mi hai mandato, sembra che sia coerente alla Macro a mia disposizione, che ci fossero da inserire le quote primo utensile, mi pare ovvio, e come anche il passo degli utensili, come pure gli ingressi e uscite da/e/mach3, la cosa che non mi è chiara, è il modo di operare con i DRO, si presume che gli zero macchina (HOME) siano i punti di partenza assoluti per le quote di magazzino, e anche questo mi pare ovvio, una cosa che non mi è chiara, (dato che io ho sempre lavorato con cambio utensile a mano, quando faccio un pezzo, faccio il punto zero della coordinate normali azzerando tutte le quote, e procedo con il mio pezzo) ora però il giochetto non funziona più, se azzero non mi va più alle quote del prelievo utensili, ho un pò di confusione suill'utilizzo dei vari tipi di coordinate, più che altro è questo modo di operare che mi mancano le conoscenze o esperienze, non avendole mai utilizzate,
TIringrazio di tutte le informazioni che mi hai dato
saluti
Maurizio
macro (4).zip
macro (4).zip
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
Se ti fermi, sei una cosa inutile.
http://www.syntcncsrl.com

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

Re: Cambio Utensile Mach3 con CS-LAB

Messaggio da torn24 » lunedì 16 marzo 2020, 7:57

Devi usare un origine dalla G55 alla G59.
Io ho lo zero macchina che la macro richiama col G53, io da programma uso un origine esempio la G55 la richiamo in semiautomatico, prendo lo zero pezzo come facevo prima, e la richiamo nel programma pezzo, adesso mach3 lavora come al solito non hai nessuna differenza, quando poi richiami il cambio utensile, nella macro c'è il G53 che dice non tenere conto dell'origine e riferisciti allo zero macchina.

Una cosa da sapere che la lunghezza dell'utensile non cambia automaticamente dopo il cambio utensile, deve essere programmata nel programma.
1)Inserisco la lunghezza utensili nella tabella di mach3
2) Programmo T3M6 G55( CAMBIO UTENSILE E ORIGINE)
3)Programmo G43 H3 (USO LA LUNGHEZZA UTENSILE DELL'UTENSILE 3)
CIAO A TUTTI !

syntronik
Senior
Senior
Messaggi: 1056
Iscritto il: giovedì 16 settembre 2010, 10:44
Località: Parma
Contatta:

Re: Cambio Utensile Mach3 con CS-LAB

Messaggio da syntronik » venerdì 3 aprile 2020, 9:39

Ciao Torn24, ti allego le foto della macchina e il file iniziato a modificare
saluti
Maurizio
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
Se ti fermi, sei una cosa inutile.
http://www.syntcncsrl.com

syntronik
Senior
Senior
Messaggi: 1056
Iscritto il: giovedì 16 settembre 2010, 10:44
Località: Parma
Contatta:

Re: Cambio Utensile Mach3 con CS-LAB

Messaggio da syntronik » venerdì 3 aprile 2020, 9:58

Ciao Torn24, ti allego le modifiche da mè fatte ad inizio macro, la machcina parte, si posiziona alle quote prestabilite,
poi ritorna a zero e mi mette la macchina in allarme con messaggio "tool change failed"


CS-LAB-CSMIO IP-M 12 INPUT 6 OUTPUT
'------------------------------------------------------------------------------
' Output = 0 (open valve) Aggancio mandrino aperto
' Output = 1 (open valve) Soffio pulizia mandrino
' Output = 12 (tendina aperta) non presnte
' Digital outputs CONFIG
'------------------------------------------------------------------------------
Const OUT_OPENCOLLET = 0 ' open collet CSMIO output
Const OUT_CLEANCONE = 1 ' cone cleaning CSMIO output
Const OUT_CURTAIN = 12 ' raise curtain CSMIO output

'------------------------------------------------------------------------------
' Input 9 Sensore mandrino chiuso ALTO
' Input 10 Sensore mandrino aperto BASSO
' Input 22 Non presente sul mandrino
' Digital inputs CONFIG
'------------------------------------------------------------------------------
Const IN_COLLETCLOSED = 9 ' collet locked sensor CSMIO input
Const IN_COLLETOPENED = 10 ' collet open sensor CSMIO input
Const IN_TOOLINSIDE = 22 ' tool locked sensor CSMIO input

'------------------------------------------------------------------------------
' variables declaration - don't modify
'------------------------------------------------------------------------------
Dim Z_TOOLGET, Z_LIFT, Z_SAFE, X_FORSLIDE, X_LOCK, Y_BASE, Y_TOOLOFFSET, TOOLCOUNT
Dim ToolNew, ToolOld
Dim SoftLimitsState As Boolean

'------------------------------------------------------------------------------
' Quote corrette per prelievo e deposito
' Solo le quote 500 e 560, non sono reali,reale 864,80 e 800
' per prove macro a vuoto
' CONFIG data
'------------------------------------------------------------------------------
Y_TOOLOFFSET = 50.00 ' distance between tools
Y_BASE = 137.30 ' Y position of first tool
Z_TOOLGET = -46.8 ' Z position (abs) of tool get/relase
Z_SAFE = -15 ' Safe Z for safe moving above tool holders
Z_LIFT = -20 ' rise distance for cone cleaning
X_FORSLIDE = 500 ' X position before slide tool into the holder
X_LOCK = 560 ' X position for lock tool into the holder
TOOLCOUNT = 6 ' Max. tool number
'------------------------------------------------------------------------------




'------------------------------------------------------------------------------
' ------------------------
' Macro start
Se ti fermi, sei una cosa inutile.
http://www.syntcncsrl.com

syntronik
Senior
Senior
Messaggi: 1056
Iscritto il: giovedì 16 settembre 2010, 10:44
Località: Parma
Contatta:

Re: Cambio Utensile Mach3 con CS-LAB

Messaggio da syntronik » venerdì 3 aprile 2020, 10:08

Formato zip del file completo modificato
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
Se ti fermi, sei una cosa inutile.
http://www.syntcncsrl.com

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

Re: Cambio Utensile Mach3 con CS-LAB

Messaggio da torn24 » venerdì 3 aprile 2020, 10:44

Ciao! Esiste una macro più semplice per il cambio utensile a rastrelliera, e siccome viene usata su macchine cnc, penso che i problemi che ti poni siano trascurabile o almeno risolvibili. Esempio la macro capisce l'utensile montato sul mandrino quello indicato da mach3, ma forse spegnendo e riavviando mach3 compare l'ultimo utensile montato!
La macro che proponi forse è migliore, magari più evoluta, ma poi se non sappiamo modificarla diventa inutile.

Questa è la macro usata in molti cambio utensile a rastrelliera per mach3. Come vedi è molto più semplice

Ti ho commentato la macro in italiano perché tu possa capirla.

Questa macro è pensata per magazzino con bicchiere, ossia metto dentro e tolgo l'utensile dall'alto, se l'utensile è tenuto da pinze, allora
bisogna modificare la macro per togliere e inserire l'utensile.

Codice: Seleziona tutto



'ToolChange Macro For Bed type tool changer 11/05 Brian
Sub Main()
OldTool = GetOEMDRO (1200) 'utensile montato sul mandrino, all'accensione di mach3 magari lo programmi in mdi
x = GetToolChangeStart( 0 )
y = GetToolChangeStart( 1 )
z = GetToolChangeStart( 2 )
a = GetToolChangeStart( 3 )
b = GetToolChangeStart( 4 )
c = GetToolChangeStart( 5 )
tool = GetSelectedTool() 'preleva l'utensile programmato, cioè l'utensile che vuoi montare
NewTool = tool
'Tool Changer Macro (Bed Type)
MaxToolNum = 8 'massimo numero utensili nel magazzino
ToolDown = -3.125 'Z posizione in zeta in magazzino, quando l'utensile è appoggiato al magazzino
ToolUp = 0.0 'Z posizione quota in z quando l'utensile è sollevato dal magazzino
If NewTool = OldTool Then
Exit Sub
End If
While NewTool > MaxToolNum
NewTool = Question ("Enter New Tool Number up to " & MaxToolNum)
Wend
Code "G00 G53 Z" & ToolUp
While IsMoving()
Wend
Call MovePos(OldTool)
While IsMoving()
Wend
Code "G53 Z" & ToolDown
Code "G4 P.75"
While IsMoving()
Wend
ActivateSignal(Output1) 'attiva il segnale del pin mandrino per sganciare l'utensile
Code "G4 P1.0" 'pausa di un secondo
'SystemWaitFor (7) 'Wait for the tool Release Limit switch
Code "G53 Z-2.5" & ToolUp 'si posiziona in alto sul magazzino
Call MovePos(NewTool) ' si posiziona sul nuovo utensile
While IsMoving()
Wend
Code "G53 Z" & ToolDown 'abbassa il mandrino sull'utensile
Code "G4 P.75"
While IsMoving()
Wend
DeActivateSignal(Output1) ' disattiva il pin e chiude la pinza afferrando l'utensile
Code "G4 P1.0" 'Wait for the tool to Clamp
While IsMoving()
Wend
Code "G53 Z" & ToolUp 'si posiziona in alto
Call SetUserDRO (1200,NewTool)
SetCurrentTool( NewTool )
Code "G00 X" & x & " Y" & y 'Move back to where the tool change was prompted
End Sub

Sub MovePos(ByVal ToolNumber As Integer) 'muove l'utensile sulla posizione del magazzino, qui ci sono utensili da 1 all 8

Select Case ToolNumber
Case Is = 1
Xpos = 12.00
YPos = 2.00
Case Is = 2
Xpos = 14.00
YPos = 2.00
Case Is = 3
Xpos = 16.00
YPos = 2.00
Case Is = 4
Xpos = 18.00
YPos = 2.00
Case Is = 5
Xpos = 12.00
YPos = 4.00
Case Is = 6
Xpos = 14.00
YPos = 4.00
Case Is = 7
Xpos = 16.00
YPos = 4.00
Case Is = 8
Xpos = 18.00
YPos = 4.00
End Select

Code "G53 X" & XPos & " Y" & YPos
End Sub



CIAO A TUTTI !

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

Re: Cambio Utensile Mach3 con CS-LAB

Messaggio da torn24 » venerdì 3 aprile 2020, 10:52

Questa invece è la macro che avevo modificato per un cambio utensile a rastrelliera con pinze, ossia invece di inserire l'utensile dall'alto lo inserisce lateralmente nella pinza.

Codice: Seleziona tutto



OldTool = GetOEMDRO (1200) 'Tool In spindle DRO You must add this to your settings screen
x = GetToolChangeStart( 0 )
y = GetToolChangeStart( 1 ) 
z = GetToolChangeStart( 2 ) 
a = GetToolChangeStart( 3 ) 
b = GetToolChangeStart( 4 ) 
c = GetToolChangeStart( 5 ) 
tool = GetSelectedTool()
NewTool = tool
'Tool Changer Macro (Bed Type)
MaxToolNum = 5 'NUMERO UTENSILI NEL MAGAZZINO 
ToolDown = -83.00 'Altezza cambio utensile, METTERE VALORE GIUSTO altezza rastrelliera 
ToolUp = 0.0 'POSIZIONE DISTACCO MANDRINO DA CAMBIOUTENSILE
'Altezza cambio utensile, METTERE VALORE GIUSTO
DistanzaY=25 'Distanza dell'utensile fuori in Y
Xpos = 0
YPos =0
If NewTool = OldTool Then 
Exit Sub
End If
While NewTool > MaxToolNum
NewTool = Question ("Enter New Tool Number up to " & MaxToolNum)
Wend
'==========================================
'Qui inizia il movimento della macchina
Code "G00 G53 Z" & ToolUp
While IsMoving()
Wend
Call MovePos(OldTool)'Si posiziona nel posto dell'utensile montato sul mandrino
While IsMoving()
Wend
Code "G53 Z" & ToolDown' Si posiziona ad altezza zeta cambio utensile
Code "G4 P.75"
While IsMoving()
Wend
Code "G53 Y" & YPos' Si posiziona con l'utensile sulla rastrelliera
While IsMoving()
Wend

ActivateSignal(Output2) 'Turn On Draw bar to release the tool
Code "G4 P1.0" 'Wait for the tool to release
'SystemWaitFor (7) 'Wait for the tool Release Limit switch
Code "G53 Z-2.5" & ToolUp 'SOLLEVA L'UTENSILE
Call MovePos(NewTool) 'SI POSIZIONA SUL NUOVO UTENSILE
While IsMoving()
Wend
Code "G53 Y" & YPos' Si posiziona con l'utensile sulla rastrelliera
While IsMoving()
Wend
Code "G53 Z" & ToolDown
Code "G4 P.75"
While IsMoving()
Wend
DeActivateSignal(Output2) 'Turn Off Draw bar to Clamp the tool
Code "G4 P1.0" 'Wait for the tool to Clamp
While IsMoving()
Wend
Call MovePos(NewTool) 'Esce dalla rastrelliera
While IsMoving()
Wend
Code "G53 Z" & ToolUp
Call SetUserDRO (1200,NewTool)
SetCurrentTool( NewTool )
Code "G00 X" & x & " Y" & y 'Move back to where the tool change was prompted


Sub MovePos(ByVal ToolNumber As Integer)
'Qui dovrai mettere le posizioni degli utensile nel cambio utensile
'se ci sono più di 5 utesili aggiungere dei case
Select Case ToolNumber
Case Is = 1
Xpos = 408.09
YPos = 575.59
Case Is = 2
Xpos = 383.09
YPos = 575.59
Case Is = 3
Xpos = 358.09
YPos = 575.59
Case Is = 4
Xpos = 333.09
YPos = 575.59
Case Is = 5
Xpos = 308.09
YPos = 575.59
End Select

Code "G53 X" & XPos & " Y" & (YPos+DistanzaY) 'Modificare a seconda della posizione del magazziono , SE il magazzino 
                                               ' si trova a meno , rispetto lo zero macchina, dovrebbe andare bene +DistanzaY
End Sub












Tutte e due le macro vanno adattate per il tuo scopo, ma essendo molto più semplici forse riesci a capirci meglio.

Perché qualcuno possa fare modifiche, dovresti descrivere a parole, passo passo, come dovrebbe svolgersi il cambio utensile e magari le varie quote, basso, alto, e se inserimento utensile laterale distanza dalla rastrelliera, ecc..
CIAO A TUTTI !

syntronik
Senior
Senior
Messaggi: 1056
Iscritto il: giovedì 16 settembre 2010, 10:44
Località: Parma
Contatta:

Re: Cambio Utensile Mach3 con CS-LAB

Messaggio da syntronik » sabato 9 maggio 2020, 16:57

Salve, ho risolto l'arcano della macro M6, scaricata dal sito CS-LAB, dopo varie prove finalmente ho scoperto come doveva essere, in pratica, nel file T#M6, vanno messi esattamente gli ingressi dei sensori della testa mandrino, e le uscite esattamente le uscite reali, mentre nelle tabelle Mach3 va specificato gli ingressi e/o uscite, fisicamente contando fisicamente da inizio tabella e inserire la esatta locazione, allego foto con il set corretto.
Ad esempio, se uso out #1 e #2, sono esattamente al posto 7 e 8, da inizio tabella, mentre nella tbella Input, ho usato gli input #1,#2,#3, che sono esattamente posto tabella 22,23,24, infatti nel programma la CS.LAB usa il registro 90 e 91, che corrispondono al loro hardware interno, ma io questo non lo sapevo, se me lo avessero detto quando li ho interpellati, avrei perso meno tempo, comunque tutto è bene quel che finisce bene.
Saluti
Maurizio
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
Se ti fermi, sei una cosa inutile.
http://www.syntcncsrl.com

Rispondi

Torna a “Mach3”