Aiuto per modifica script cambio utensile

ISO Fanuc, ISO Mitsubishi, Mori Seiki, Fanuc Manual Guide, etc.
Rispondi
Avatar utente
mauriziogarofalo
Newbie
Newbie
Messaggi: 7
Iscritto il: giovedì 10 marzo 2016, 8:57
Località: siracusa

Aiuto per modifica script cambio utensile

Messaggio da mauriziogarofalo » mercoledì 23 marzo 2016, 23:17

Salve a tutti
Cerco aiuto per modificare la routine che segue (M6start) per il cambio utensile. Ho un pantografo stepcraft con mandrino HF500 e relativo accessorio per il cambio utensile. Questo pantografo per il cambio utensili adotta una soluzione ad incastro dei conetti porta utensili, in pratica il mandrino dovrebbe arrivare ad una certa posizione X,Y e Z a motore spento, e successivamente arretrare la Y di 25 mm in senso negativo e successivamente a conetto incastrato sganciarlo per poi agganciarne un altro sempre con lo stesso metodo di avvicinamento alla zona utensili.
Lo script che vi riporto invece funziona che deposita dall'alto il conetto ed inoltre non attiva mai la routine dell'azzeramento dell'asse Z mediante tastatore ubicato in un punto ben preciso
potete aiutarmi??

maurizio




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 'Max number off tools for the changer
ToolDown = -83.00 'Z Pos to Get or drop a tool
ToolUp = 0.0 'Z Hieght to Rapid from tool to tool
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(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
Call MovePos(NewTool)
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
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)

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
End Sub

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

Re: Aiuto per modifica script cambio utensile

Messaggio da torn24 » giovedì 24 marzo 2016, 8:26

Ciao, mi piacerebbe aiutarti, in se la modifica dello script non richiede grosso impegno, ma sono cose che poi vanno corrette decine di volte e alla fine occorrono giorni o settimane se non mesi :D


Il cambio utensile che hai, è del tipo a rastrelliera, la macro è pensata per un cambio utensile a tazza, ossia la macro come è ora, si posiziona sul posto utensile, scende, rilascia il mandrino e risale. Per il tuo cambio utensile, deve avvicinarsi al posto utensile, posizionarsi, in Y, e salire in zeta.

Questo si ottiene modificando, il GCODE della macro aggiungendo due righe di Gcode.

Per fare una macro FUNZIONANTE.

Tu dovresti avere uno zero macchina, quando accendi la macchina devi azzerare gli assi su un punto "sempre quello", altrimenti i valori messi nella macro, non corrisponderebbero con la posizione del cambio utensile, andando a sbattere.


Devi sapere, la posizione di ogni utensile nel cambio utensile, ossia accendi la macchina e prendi lo zero macchina "sempre lo stesso punto SEMPRE", e ti posizioni manualmente nel cambio utensile, e segni le quote X Y Z per ogni utensile.

Devi sapere, quali pin devi azzionare, per spegnere il mandrino e per sganciare e agganciare l'utensile DeActivateSignal(Output2), esempio Output2 in questo caso, e solo tu puoi saperlo o dovresti saperlo :)

Devi sapere quale valore di zeta, rispetto allo zero macchina "SEMPRE QUELLO", è il mandrino in alto dopo aver mollato l'utensile.
e ovvio il numero di utensili.


Se dai tutte queste informazioni CORRETTE, si possono fare qualche modifica allo script, che sicuramente non va al primo colpo, ma con pochi aggiustamenti potrebbe andare, ogni imprecisione errore, dei dati sono giorni che si perderebbero :)
CIAO A TUTTI !

Avatar utente
mauriziogarofalo
Newbie
Newbie
Messaggi: 7
Iscritto il: giovedì 10 marzo 2016, 8:57
Località: siracusa

Re: Aiuto per modifica script cambio utensile

Messaggio da mauriziogarofalo » giovedì 24 marzo 2016, 14:29

ciao
si ho tutte queste informazioni, ogni volta che accendo pa macchina procedo all'azzeramento delle coordinate inviando il mandrino in alto a sx e z tutto alzato così i microswitch si attivano e azzerano la x, y e z. Di fatto la macro che ho scritto fa quello che tu dici il mandrino si attiva e disattiva al momento giusto così come l'aggancio e sgancio del conetto portautensile. Conosco le coordinate assolute della rastrelliera, insomma so tutto quello che chiedi. Vorrei anche che la macro ad un certo punto facesse a delle coordinate assolute ben precise facesse l'azzeramento utensile dopo aver preso il nuovo utensile. Preciso che dispongo della routine dell'azzeramento asse Z solo che funziona così:
mi posiziono su un punto manualmente e dopo attivo la macro di azzeramento mediante il tasto autotool zero su mach3. Spero di averti detto tutto
e grazie per i tuoi consigli.

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

Re: Aiuto per modifica script cambio utensile

Messaggio da torn24 » giovedì 24 marzo 2016, 15:49

Guarda le modifiche che ho fatto, forse ti viene in mente la soluzione, sono tre righe, Ma sicuramente non vanno bene al primo COLPO :badgrin: Comunque potresti capire la soluzione e correggerlo tu stesso...

HO COMMENTATO IN ITALIANO, cosi puoi vedere facilmente le differenze, per provarlo dovresti mettere le giuste posizioni del cambio utensile, e i valori Toolup ToolDown giusti. PROVARE PRIMA distante dal magazzino, dando un origine diversa : :lol:

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
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
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











CIAO A TUTTI !

Avatar utente
mauriziogarofalo
Newbie
Newbie
Messaggi: 7
Iscritto il: giovedì 10 marzo 2016, 8:57
Località: siracusa

Re: Aiuto per modifica script cambio utensile

Messaggio da mauriziogarofalo » giovedì 24 marzo 2016, 16:04

grazie!!!
provo stasera e ti faccio sapere....
grazie nuovamente

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

Re: Aiuto per modifica script cambio utensile

Messaggio da torn24 » giovedì 24 marzo 2016, 16:40

Mi sono accorto che quando prende il nuovo utensile fa movimenti sbagliati, provo a correggere, trovato un errore e non è stato neanche provato :badgrin:




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










CIAO A TUTTI !

Avatar utente
mauriziogarofalo
Newbie
Newbie
Messaggi: 7
Iscritto il: giovedì 10 marzo 2016, 8:57
Località: siracusa

Re: Aiuto per modifica script cambio utensile

Messaggio da mauriziogarofalo » giovedì 24 marzo 2016, 22:02

minks......... F U N Z I O N A!!!! :badgrin: :badgrin: ALLA GRANDEEEEEEEEEEEEE
MA CHI SEI il mago del forum!
ho letto tantissime chiacchiere sull'argomento ma mai nulla di concreto come quello che hai fatto tu, bravo e nuovamente grazie.
Ti chiedo un ultima cosa quella che segue:

CurrentFeed = GetOemDRO(818)
DoSpinStop()
ZMove = 20.00
ZOffset = 32.46
ZSal = ZOffset + 17.54
StopZmove = 0
If GetOemLed (825)=0 Then
DoOEMButton (1010)
Code "G4 P2.5"
Code "G31 Z-"& ZMove & "F25"
While IsMoving()
Sleep(200)
Wend
Probepos = GetVar(2002)
If Probepos = - ZMove Then
responce = MsgBox ("**ERROR** " , 4 , "Probe **ERROR**" )
Code "G0 Z10"
StopZmove = 1
Code "F" &CurrentFeed
End If
If StopZmove = 0 Then
Code "G0 Z" & Probepos
While IsMoving ()
Sleep (200)
Wend
Call SetDro (2, ZOffset)
Code "G4 P1"
Code "G0 Z" & ZSal
Code "(Z zeroed)"
Code "F" &CurrentFeed
End If
Else
Code "(Check Ground Probe)"
End If
Exit Sub


è la macro per l'azzeramento dell'asse z mediante tastatore che mi funziona benissimo cliccando su "Auto Tool Zero" su mach3, vorrei che venisse inserito sulla macro che mi hai corretto in modo che io fisso il tastatore in punto del piano X Y ed il mandrino dopo che ha prelevato l'utensile si azzeri sopra il tastatore e dopo continui a lavorare.
Un ultimo sforzo....
tenchiù

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

Re: Aiuto per modifica script cambio utensile

Messaggio da torn24 » venerdì 25 marzo 2016, 7:53

Ciao, non ho tempo per modificare questo codice.

Ma ti consiglio, il modo più giusto per lavorare con magazzino utensili, come si lavora sulle cnc fresatrici professionali.

Il codice che hai postato, a un primo sguardo modifica il valore zeta, non è corretto lavorare in questo modo.

Mach3, dispone della tabella utensili, scheda "offsets", tu metti a zero il mandrino su un punto, magari il piano della cnc, mondi l'utensile, e sfiori il piano con un foglio di carta, interposto tra punta utensile e piano, quando tocchi il pezzo di carta, "dovrai muoverlo e quando si blocca il foglio ti carta lo hai toccato", leggi la misura a video, se hai azzerato il mandrino su quel punto, il valore che leggi è la lunghezza utensile, ora scrivi questa lunghezza nel numero utensile.

Una volta azzerati gli utensili nel magazzino, non hai più bisogno di azzerarli, basta che nel programma richiami la lunghezza.


ESEMPIO

T1 M6
G43 H1 (PRELEVA LA LUNGHEZZA UTENSILE IN TABELLA)

T2 M6 (SECONDO UTENSILE)
G43 H2 (PRELEVA LA LUNGHEZZA UTENSILE IN TABELLA)


Ora anche se ci metti un ora ad azzerare gli utensili :badgrin: dovrai farlo una sola volta, o quando monti un nuovo utensile.

Fidati, questo è il modo corretto di lavorare, l'azzeratore automatico, è più indispenzabile quando non si ha il magazzino, e non si hanno i coni utensile, quindi ogni volta che monti un utensile si ha una lunghezza diversa, e quindi bisogna azzerare, non è il tuo caso perché puoi lavorare nel modo "PROFESSIONALE".
CIAO A TUTTI !

Avatar utente
mauriziogarofalo
Newbie
Newbie
Messaggi: 7
Iscritto il: giovedì 10 marzo 2016, 8:57
Località: siracusa

Re: Aiuto per modifica script cambio utensile

Messaggio da mauriziogarofalo » venerdì 25 marzo 2016, 10:56

cmq grazie ancora
farò come mi suggerisci e ti farò sapere, sono un novellino su queste macchine ed apprezzo molto quello che tu mi dici
è un vero piacere ricevere i tuoi consigli
ciao e buona pasqua

Rispondi

Torna a “Programmazione CNC”