Tasto in mach3 per azzeramento utensili

Sezione dedicata a Mach3
Avatar utente
tls-service
Senior
Senior
Messaggi: 1117
Iscritto il: lunedì 27 ottobre 2008, 9:57
Località: San Cataldo (CL)
Contatta:

Re: Tasto in mach3 per azzeramento utensili

Messaggio da tls-service » martedì 4 novembre 2008, 23:17

Script provato e funzionante con qualche modifica rispetto a quello sul msg precedente.
Allego file aggiornati.....
Unico problema riscontrato che quando si setta il Probe il tasto "Machine Coord's" deve essere disattivato....

Ps: lo screen funziona con Mach3 R1.83.027
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

Avatar utente
enrico04239
God
God
Messaggi: 4525
Iscritto il: martedì 26 giugno 2007, 17:47
Località: Genova Isoverde
Contatta:

Re: Tasto in mach3 per azzeramento utensili

Messaggio da enrico04239 » martedì 4 novembre 2008, 23:37

Grazie dei file. :wink:
Ciao Enrico
Il sapere e la ragione parlano il torto e l'ignoranza urlano.

Gasolo
Senior
Senior
Messaggi: 1283
Iscritto il: giovedì 22 marzo 2007, 17:10
Località: San Giovanni Teatino (CH)

Re: Tasto in mach3 per azzeramento utensili

Messaggio da Gasolo » domenica 13 settembre 2009, 1:06

ciao
ho provato gli script, con le opportune modifiche per adattarle alla mia cnc
solo che ho un problemino che non sono riuscito a risolvere,

dopo fatto lo zero sul pezzo con la prima fresa, lancio lo script per rilevare la posizione del tastatore, e il valore mi viene memorizzato nella casella 'Posizione tastatore', fin qui tutto ok

quando cambio l'utensile, premo il tasto zero utensile, e alla fine mi si riposiziona con la Z alla stessa distanza, ma il DRO Z non mi segna la posizione giusta

ad esempio:
utensile da 20mm, posizione Z+10
cambio con un utensile da 15mm, alla fine della macro mi ritrovo con l'utensile a +10 ma il DRO segna +5 anziché +10

allego lo script, la riga in rosso è quella che non mi convince, li dovrei inserire il valore della variabile Zpos in ZDRO, ma non so se è corretto il comando


REM A.T.Z. Antonio
ZOffset = GetUserDRO(1001) 'Altezza del probe
If IsSuchSignal (22) Then ' Il Probe è abilitato
DoSpinStop() ' Fermo il Motore
Xpos = GetParam("XMachine") ' Memorizzo XY in Assoluto
Ypos = GetParam("YMachine")
Zpos = GetParam("ZDRO") ' Memorizzo Z in Relativo
Fcurr = GetParam("FeedRate") ' Memorizzo FeedRate corrente

code "G0 G53 Z190" ' Alzo Z
code "G0 G53 X16,5 Y17,5" ' Posizione inizio ricerca Assoluta Switch Zero XY
While IsMoving() ' Aspetto mentre si muove
Wend

code "G1 F1000 G53 Z65" ' Posizione Assoluta inizio ricerca Switch Zero Z
While IsMoving() ' Aspetto mentre si muove
Wend

tmp = (GetParam("ZDRO")-50 )

code "G31 z" & tmp & "F30" ' Cerco Switch fino a -20
While IsMoving() ' Aspetto mentre si muove
Wend

Diff_ut = GetParam("ZDRO") - ZOffset
Zpos2 = Zpos + Diff_ut

code "G0 G53 Z190" ' Alzo Z
While IsMoving() ' Aspetto mentre si muove
Wend

code "G0 G53 X" & Xpos & "Y" & Ypos ' Ritorno alle coordinate XY iniziali
While IsMoving() ' Aspetto mentre si muove
Wend

code "G1 F1000 Z" & Zpos2 ' Ritorno a Z iniziale
While IsMoving() ' Aspetto mentre si muove
Wend

SetUserDRO("ZDRO", Zpos )

SetParam("FeedRate",Fcurr) ' Ripristino il FeedRate iniziale

While IsMoving() ' Aspetto mentre si muove
Wend
End If

Avatar utente
tls-service
Senior
Senior
Messaggi: 1117
Iscritto il: lunedì 27 ottobre 2008, 9:57
Località: San Cataldo (CL)
Contatta:

Re: Tasto in mach3 per azzeramento utensili

Messaggio da tls-service » domenica 13 settembre 2009, 2:02

Ho cambiato Screen :D ...
Prova questo... La mia versione di Mach3 è R3.042.020
Itascreenset_Antonio.zip
Questo è lo script per impostare l'altezza del Probe (Probe Set):

REM A.T.Z. Antonio

If IsSuchSignal (22) Then ' Il Probe è abilitato

DoSpinStop() ' Fermo il Motore

Xpos = GetParam("XMachine") ' Memorizzo XYZ in Assoluto
Ypos = GetParam("YMachine")
Zpos = GetParam("ZMachine")
Fcurr = GetParam("FeedRate") ' Memorizzo FeedRate corrente

code "G53 X0 Y0" ' Posizione Assoluta inizio ricerca Switch Zero XY

While IsMoving() ' Aspetto mentre si muove
Wend

code "G53 Z-60" ' Posizione Assoluta inizio ricerca Switch Zero Z

While IsMoving() ' Aspetto mentre si muove
Wend

code "G31 z" & (GetParam("ZDRO")-20) & "F20" ' Cerco Switch fino a -20

While IsMoving() ' Aspetto mentre si muove
Wend

SetUserDRO(1001, GetParam("ZDRO")) ' Trovato il segnale cioè lo switch, sovrascrivo il valore dell'UserDRO
' con quello letto in ZDRO
SetParam("FeedRate",Fcurr) ' Ripristino il FeedRate iniziale
code "G53 Z" & Zpos ' Alzo prima la Z
While IsMoving() ' Aspetto mentre si muove
Wend
code "G53 X" & Xpos & "Y" & Ypos ' Ritorno alle coordinate XY iniziali

While IsMoving() ' Aspetto mentre si muove
Wend
End If


Questo è per A.T.Z. :

REM A.T.Z. Antonio

If IsSuchSignal (22) Then ' Il Probe è abilitato

DoSpinStop() ' Fermo il Motore

Xpos = GetParam("XMachine") ' Memorizzo XY in Assoluto
Ypos = GetParam("YMachine")
Zpos = GetParam("ZDRO") ' Memorizzo Z in Relativo
Fcurr = GetParam("FeedRate") ' Memorizzo FeedRate corrente

code "G53 X0 Y0" ' Posizione inizio ricerca Assoluta Switch Zero XY

While IsMoving()
Wend

code "G53 Z-60"

While IsMoving()
Wend

tmp = (GetParam("ZDRO")-20 )

code "G31 z" & tmp & "F20" ' Cerco Switch fino a -20

While IsMoving()
Wend

Call SetDRO( 2,GetUserDRO(1001))

SetParam("FeedRate",Fcurr)
code "G0 Z" & Zpos
While IsMoving()
Wend
code "G53 X" & Xpos & "Y" & Ypos
While IsMoving()
Wend
End If
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

buby
Senior
Senior
Messaggi: 612
Iscritto il: domenica 10 giugno 2007, 10:32
Località: Rg

Re: Tasto in mach3 per azzeramento utensili

Messaggio da buby » domenica 13 settembre 2009, 2:30

Quale è indicato x la R2.42 ?

Avatar utente
tls-service
Senior
Senior
Messaggi: 1117
Iscritto il: lunedì 27 ottobre 2008, 9:57
Località: San Cataldo (CL)
Contatta:

Re: Tasto in mach3 per azzeramento utensili

Messaggio da tls-service » domenica 13 settembre 2009, 12:38

Credo che per la R2.42 vada bene l'ultimo mio post... :wink:

buby
Senior
Senior
Messaggi: 612
Iscritto il: domenica 10 giugno 2007, 10:32
Località: Rg

Re: Tasto in mach3 per azzeramento utensili

Messaggio da buby » domenica 13 settembre 2009, 15:53

Provo subito grazie.

Gasolo
Senior
Senior
Messaggi: 1283
Iscritto il: giovedì 22 marzo 2007, 17:10
Località: San Giovanni Teatino (CH)

Re: Tasto in mach3 per azzeramento utensili

Messaggio da Gasolo » domenica 13 settembre 2009, 18:46

Perfetto, funziona tutto
grazie per l'aiuto :wink:

solo una domanda: all'inizio delle due macro posizioni la X e Y, e poi parti direttamente con la Z in attesa del segnale del tastatore
non è pericoloso? io ad esempio ho il tastatore che sporge 40mm dal piano, se il pezzo che sto lavorando è alto 20mm e faccio partire l'ATZ da +10 dal pezzo vado a sbattere al lato del tastatore
per questo alzo prima la Z al massimo prima e dopo

fai partire la macro con Z su?

Gasolo
Senior
Senior
Messaggi: 1283
Iscritto il: giovedì 22 marzo 2007, 17:10
Località: San Giovanni Teatino (CH)

Re: Tasto in mach3 per azzeramento utensili

Messaggio da Gasolo » domenica 13 settembre 2009, 19:22

ho fatto un'altra prova :mrgreen:
ho modificato le due macro M6Start.m1s e M6End.m1s che vengono richiamate con il comando M6 per il cambio utensile


M6Start.m1s
DoSpinStop() ' Fermo il Motore

Xpos = GetParam("XMachine") ' Memorizzo XY in Assoluto
Ypos = GetParam("YMachine")
Zpos = GetParam("ZDRO") ' Memorizzo Z in Relativo
Fcurr = GetParam("FeedRate") ' Memorizzo FeedRate corrente

code "G0 G53 Z190" ' Alzo Z
code "G0 G53 X16,5 Y17,5" ' Posizione inizio ricerca Assoluta Switch Zero XY

While IsMoving()
Wend

tool = GetSelectedTool()
SetCurrentTool( tool )



M6End.m1s
'Auto Tool Zero

If IsSuchSignal (22) Then ' Il Probe è abilitato

'DoSpinStop() ' Fermo il Motore
'Xpos = GetParam("XMachine") ' Memorizzo XY in Assoluto
'Ypos = GetParam("YMachine")
'Zpos = GetParam("ZDRO") ' Memorizzo Z in Relativo
'Fcurr = GetParam("FeedRate") ' Memorizzo FeedRate corrente
'code "G0 G53 Z190" ' Alzo Z
'code "G0 G53 X16,5 Y17,5" ' Posizione inizio ricerca Assoluta Switch Zero XY
'While IsMoving()
'Wend

code "M5 M9"
code "G1 F1000 G53 Z80" ' Posizione Assoluta inizio ricerca Switch Zero Z
While IsMoving() ' Aspetto mentre si muove
Wend

tmp = (GetParam("ZDRO")-63 )

code "G31 z" & tmp & "F40" ' Cerco Switch fino a -63
While IsMoving() ' Aspetto mentre si muove
Wend

Call SetDRO( 2,GetUserDRO(1001))

code "G0 G53 Z190" ' Alzo Z
While IsMoving() ' Aspetto mentre si muove
Wend

code "G0 G53 X" & Xpos & "Y" & Ypos ' Ritorno alle coordinate XY iniziali
While IsMoving() ' Aspetto mentre si muove
Wend

code "G1 F1000 Z" & Zpos ' Ritorno a Z iniziale
While IsMoving() ' Aspetto mentre si muove
Wend

SetParam("FeedRate",Fcurr) ' Ripristino il FeedRate iniziale

While IsMoving() ' Aspetto mentre si muove
Wend
End If

'The default script here moves the tool back To m6start If Any movement has occured during the tool change..
'x = GetToolChangeStart( 0 )
'y = GetToolChangeStart( 1 )
'z = GetToolChangeStart( 2 )
'a = GetToolChangeStart( 3 )
'b = GetToolChangeStart( 4 )
'c = GetToolChangeStart( 5 )
'if(IsSafeZ() = 1) Then
' SafeZ = GetSafeZ()
' if SafeZ > z then StraightTraverse x, y,SafeZ, a, b, c
' StraightFeed x, y, z , a, b, c
'else
'Code"G00 X" & x & "Y" & y
'end if


così in pratica basta che scrivo M6 nel gcode, si posiziona Z in alto sopra al tastatore, cambio l'utensile, premo start e mi parte da solo per l'azzeramento dell'utensile
unico problema e che non mi torna a X Y e Z iniziali memorizzate dalla prima macro (M6Start) :(

Avatar utente
tls-service
Senior
Senior
Messaggi: 1117
Iscritto il: lunedì 27 ottobre 2008, 9:57
Località: San Cataldo (CL)
Contatta:

Re: Tasto in mach3 per azzeramento utensili

Messaggio da tls-service » domenica 13 settembre 2009, 20:32

Si hai ragione... ma il fatto è che io ho impostato il "Safe Z" a +100 (rispetto zero pezzo) quindi nella lavorazione quando arriva M6 per il cambio, la Z si sposta su "Safe Z", quindi cambio l'utensile e poi premo A.T.Z. quindi sono già  alto...
Poi oltretutto il mio tastatore è messo 1mm sotto il livello del piano, cosi non mi da fastidio se devo appoggiare grandi pannelli...

Gasolo
Senior
Senior
Messaggi: 1283
Iscritto il: giovedì 22 marzo 2007, 17:10
Località: San Giovanni Teatino (CH)

Re: Tasto in mach3 per azzeramento utensili

Messaggio da Gasolo » domenica 13 settembre 2009, 23:44

allora si che va bene, sta cosa del safe Z non la sapevo, altra cosa imparata :wink:

giordano58
Junior
Junior
Messaggi: 73
Iscritto il: lunedì 13 novembre 2006, 13:25
Località: Osimo (AN)

Re: Tasto in mach3 per azzeramento utensili

Messaggio da giordano58 » mercoledì 30 settembre 2009, 19:44

Ciao a tutti. Io uso la seguente macro che comunque non è mia. Per La parte superiore del tastatore ho utilizzato un pulsante con all'interno un microswitch. Questo garantisce una buona precisione. Il tastatore si collega al pin N. 10 della porta parallela. Nel file allegato una piccola guida per la configurazione. Saluti. Giordano.

' Condizioni macchina:
' Zero macchina X dietro Y sinistra Z in alto
' Asse X, sinistra -X destra +X
' Asse Y, dietro +Y avanti -Y
' Asse Z, alto +Z basso -Z
' Abilitare l'ingresso PROBE (port 1 pin 10)(Config | Input Signal)
'
' condizioni di lavoro iniziali:
' 1) Referenziare a ZERO macchina
' 2) Azzerare i contatori
' 3) Portarsi sullo Zero pezzo
' 4) Azzerare i contatori
' 5) Inizio lavorazione

code "M5" ' fermo il motore

' controllo se la macchina è stata referenziata

If Not GetLed (7) Then ' è referenziato X
vxled = 1
End If

If Not GetLed (8) Then ' è referenziato Y
vyled = 1
End If

If Not GetLed (9) Then ' è referenziato Z
vzled = 1
End If

Tled = vxled + vyled + vzled

If Tled = 3 Then ' se non sono referenziati X, Y e Z esco

' parametri lavorazione
xzero = GetDRO (30) ' memorizzo la posizione iniziale ASSOLUTA di cambio utensile
yzero = GetDRO (31)
zzero = GetDRO (32)

xpos = GetDRO (0) ' memorizzo la posizione inizioale RELATIVA di cambio utensile
ypos = GetDRO (1)
zpos = GetDRO (2)

fpos = GetDRO (18) ' memorizzo il feedrate iniziale

' variabili del programma
fmax = 400 ' imposto il feedrate massimo
fmin = 100 ' imposto il feedrate per la palpata

zavv = -50 ' distanza rapida di avvicinamento al palpatore
zmin = -80 ' profondità  oltre il palpatore
xcut = 0 ' posizione X per cambio utensile
ycut = 0 ' posizione Y per cambio utensile

xtool = GetUserDRO (1200) ' posizione X del palpatore (Settings -> Tool Change Location)
ytool = GetUserDRO (1201) ' posizione Y del palpatore
ztool = GetUserDRO (1202) ' posizione Z del palpatore

' inizio programma
code "G0 F" & fmax ' porto il feedrate al valore massimo
code "G53 G0 Z0" ' porto Z a ZERO macchina
While IsMoving()
Wend
Call SetDro (2,0) ' porto il contatore Z a zero

code "G53 G0 X" & xtool & "Y" & ytool ' mi allineo sul palpatore
While IsMoving()
Wend
code "G0 Z" & zavv ' scendo in avvicinamento (fino a zavv)
While IsMoving()
Wend

code "G0 F" & fmin ' porto il feedrate al minimo

If IsSuchSignal (22) Then ' scendo sul palpatore per vedere la misura della punta attuale
code "G31 Z" & zmin
While IsMoving()
Wend
End If
zorig = GetDRO (2) ' memorizzo il valore di Z della punta attuale
code "G0 F" & fmax ' riporto il feedrate al massimo

code "G53 G0 Z0" ' porto Z a ZERO macchina
While IsMoving()
Wend

code "G53 G0 X" & xcut & "Y" & ycut ' vado in una posizione comoda per il cambio utensile
While IsMoving()
Wend

MsgBox ("Ora si può cambiare la punta")

Response = MsgBox ("E' stata cambiata la punta?", 4 , "ATTENZIONE")
If (Response = 6) Then
i = 99
Else
MsgBox ("Riprendo il lavoro con la punta iniziale")
End If

If i <> 99 Then ' non faccio nulla

code "G53 G0 X" & xzero & "Y" & yzero ' torno alla posizione X Y zero pezzo
While IsMoving()
Wend
code "G0 X" & xpos & "Y" & ypos ' torno alla posizione X Y da dove ero partito
While IsMoving()
Wend
code "G53 G0 Z" & zzero ' riporto Z al valore zero pezzo
While IsMoving()
Wend
Call SetDro (2,0) ' porto il contatore Z a zero
code "G0 Z" & zpos ' riporto Z al valore di partenza
While IsMoving()
Wend
code "G0 F" & fpos ' riporto il feedrate al valore di partenza
MsgBox ("Per riprendere il lavoro premere il pulsante 'LAVORAZIONE'")
code "M3" ' riaccendo il motore e riprendo il lavoro da dove l'avevo lasciato

Else

code "G53 G0 X" & xtool & "Y" & ytool ' mi allineo sul palpatore
While IsMoving()
Wend
code "G0 Z" & zavv ' scendo in avvicinamento
While IsMoving()
Wend

code "G0 F" & fmin ' porto il feedrate al minimo

If IsSuchSignal (22) Then ' scendo sul palpatore
code "G31 Z" & zmin
While IsMoving()
Wend
znew = GetDRO (2) ' memorizzo il valore di Z della nuova punta

code "G0 F" & fmax ' riporto il feedrate al massimo

code "G53 G0 Z0" ' ritorno Z ZERO macchina
While IsMoving()
Wend
End If

code "G53 G0 X" & xzero & "Y" & yzero ' torno alla posizione X Y zero pezzo
While IsMoving()
Wend

code "G0 X" & xpos & "Y" & ypos ' torno alla posizione X Y da dove ero partito
While IsMoving()
Wend

code "M3" ' riaccendo il motore

zdif = zorig - (znew) ' controllo se l'utensile è più corto o piu lungo

code "G53 G0 Z" & zzero-(zdif) ' riporto Z al valore zero pezzo con la differenza utensile
While IsMoving()
Wend
Call SetDro (2,0) ' porto contatore Z a zero
code "G0 Z" & zpos ' riporto Z al valore di partenza (inizio programma)
While IsMoving()
Wend
code "G0 F" & fpos ' riporto il feedrate al valore di partenza
MsgBox ("Per riprendere il lavoro premere il tasto LAVORAZIONE")

End If

' riprendo il lavoro da dove l'avevo lasciato

Else
MsgBox ("Per poter cambiare l'utensile bisognava prima aver referenziato la macchina")
End If
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

morganello
Newbie
Newbie
Messaggi: 16
Iscritto il: sabato 19 giugno 2010, 21:06
Località: cavasagra (tv)

Re: Tasto in mach3 per azzeramento utensili

Messaggio da morganello » domenica 28 novembre 2010, 0:31

sta macro mi piace proprio appena riesco la provo

morganello
Newbie
Newbie
Messaggi: 16
Iscritto il: sabato 19 giugno 2010, 21:06
Località: cavasagra (tv)

Re: Tasto in mach3 per azzeramento utensili

Messaggio da morganello » domenica 28 novembre 2010, 9:00

na bellezza questo script, l'ho simulato stamattina con mach3, ho modificato solo le quote per l'avvicinamento dell'asse z al palpatore, ho aggiunto la zcut ovvero l'altezza a cui deve andare l'asse z per poter cambiare l'utensile e funziona che è una meraviglia

Avatar utente
quintino
Senior
Senior
Messaggi: 1136
Iscritto il: martedì 17 luglio 2007, 15:16
Località: catania

Re: Tasto in mach3 per azzeramento utensili

Messaggio da quintino » lunedì 29 novembre 2010, 15:00

GRAZIE giordano58, avevo a suo tempo inserito nel mio mach lo script di mephisto che uso tuttora è ottimo. ma anche quello presentato da te è ottimo, specialmente (anche se ho fatto già  un po di pratica). I tuoi consigli su come inserirlo su mach scritti e fotoBRAVO, perchè a distanza di tempo sopratutto per noi poco addentrati in certe cose, ci si dimentica sul come fare, e...incasiniamo tutto (parlo per me). l'ho già  provato è tutto ok GRAZIE :wink:
HO COMINCIATO MA ANCORA SONO PER STRADA

Rispondi

Torna a “Mach3”