Cerco Macro per presetter utensili del carosello ATC

Sezione dedicata a Mach3
Rispondi
Avatar utente
Pedro
God
God
Messaggi: 7084
Iscritto il: domenica 6 aprile 2008, 18:44
Località: Roma

Re: Cerco Macro per presetter utensili del carosello ATC

Messaggio da Pedro » martedì 3 aprile 2018, 23:49

semmai prima di end e prima dei return, adesso non ricordo quanti ce ne siano
"Ho controllato molto approfonditamente," disse il computer, "e questa è sicuramente la risposta. Ad essere sinceri, penso che il problema sia che voi non abbiate mai saputo veramente qual è la domanda."

Avatar utente
pierpaolo
Senior
Senior
Messaggi: 1320
Iscritto il: martedì 19 giugno 2012, 1:10
Località: roma

Re: Cerco Macro per presetter utensili del carosello ATC

Messaggio da pierpaolo » mercoledì 4 aprile 2018, 0:06

Di end ce ne sono abbastanza di return mi sembra nessuno... ma per come l'ho inserita è ok secondo te e può funzionare?

Posso provare così domani e vedere cosa accade... sperando di non sfasciare nulla...

Credi quindi che Bastino queste poche righe di attesa per risolvere il problema?
Scusa le mille perplessità ma per me il vb script è arabo :roll:

Avatar utente
Pedro
God
God
Messaggi: 7084
Iscritto il: domenica 6 aprile 2008, 18:44
Località: Roma

Re: Cerco Macro per presetter utensili del carosello ATC

Messaggio da Pedro » mercoledì 4 aprile 2018, 2:15

scusa ma non mi ricordo come funzionava il tutto, ripetimi cosa devi fare e come lo stai facendo e cosa non ti va come vorresti, mi sto perdendo tra le varie macro, non ricordo a memoria tutti i passaggi. Tu chiami m6 e poi?
"Ho controllato molto approfonditamente," disse il computer, "e questa è sicuramente la risposta. Ad essere sinceri, penso che il problema sia che voi non abbiate mai saputo veramente qual è la domanda."

Avatar utente
pierpaolo
Senior
Senior
Messaggi: 1320
Iscritto il: martedì 19 giugno 2012, 1:10
Località: roma

Re: Cerco Macro per presetter utensili del carosello ATC

Messaggio da pierpaolo » mercoledì 4 aprile 2018, 8:52

allora Pedro...
La macro M6 funziona a dovere... ora ho modificato la macro M471 per immettere quella sorta di semaforo come di seguito mettendo prima e dopo il comando M6 quelle righe da te postate

' VBScript per il probing nella direzione Z- per azzeramento sul pezzo rel 3.0 del Aprile 2018



Const safe_z=-1 'valore z di sicurezza
Amove = -300 ' massimo movimento per ricerca probe verso Z-
speed = 300 ' velocità di ricerca
lo_speed = 30 ' velocità di ricerca low
Aret = 25 ' di quanto arretra l'asse dopo il sensing per il secondo approccio
Amove1 = -(Aret * 5) ' massimo movimento per ricerca probe on Z- per il secondo punto
curr_tool = GetCurrentTool() ' tool nel mandrino



SetVar(1000, 0) ' Azzera Semaforo
If GetOemLed (825) <> 0 Then ' sente se il probe è triggerato o scollegato

Code "(Il probe è triggerato o scollegato o il modulo MP1 è spento)"
End
Else


Code "M5" ' ferma il mandrino
Code "M8" ' ferma il refrigerante
Code "G01 G53 Z" & safe_z 'porta Z nella posizione Safe per far ruotare il carosello

While IsMoving() ' completa il percorso
Wend

Semaphore = GetVar(1000) ' Preparo il semaforo
Semaphore = Semaphore + 1
SetVar (1000, Semaphore)

Code "M6 T8" ' carica il probe dalla posizione 8 del carosello

Semaphore = GetVar(1000) ' Aspetta che la macro M6 sia completa
While Semaphore > 0
Semaphore = GetVar(1000)
Wend


Code "G91" ' spostamento relativo
CurrentFeed = GetOemDRO(818) ' legge il feedrate corrente

' primo trigger Z


Code "F" & speed ' porta il feedrate alla velocità di approccio

Code "G31 Z " & Amove
While IsMoving() ' completa il percorso a meno che si triggeri il probe
Wend

' secondo trigger Z

Code "G01 Z " & Aret
While IsMoving() ' completa il percorso a meno che si triggeri il probe
Wend

Code "F" & lo_speed ' porta il feedrate alla velocità di approccio low
Code "G31 Z " & Amove1
While IsMoving() ' completa il percorso a meno che si triggeri il probe
Wend





SetOemDRO(802,0) ' offset asse Z

Code "F" & speed ' porta il feedrate alla velocità iniziale
SetVar(1000, 0) ' Azzera Semaforo
Semaphore = GetVar(1000) ' Preparo il semaforo
Semaphore = Semaphore + 1
SetVar (1000, Semaphore)

Code "M6 T0" & curr_tool ' ricarica il tool che era nel caroselo

Semaphore = GetVar(1000) ' Aspetta che la macro M6 sia completa
While Semaphore > 0
Semaphore = GetVar(1000)
Wend

Code "F" & CurrentFeed ' ripristina il feedrate originale
Code "G90" ' rimette lo spostamento assoluto
Code "G01 G53 Z" & safe_z 'porta Z nella posizione Safe per far ruotare il carosello

While IsMoving() ' completa il percorso
Wend


End If


ora succedono due cose quando chiamao M471:
1) se viene chiamata dopo che ho inviato (coi comandi manuali in mach3) un M6Tx la macro parte bene e cioè si ferma durante il cambio utensile attendendo la fine della macro richiamata, quindi carica correttamente il T8 (probe) e una volta terminata la procedura di cambio comincia la ricerca del digitize... quindi fa il primo tocco, si rialza di quanto impostato, e riscende a velocità minore per il secondo tocco... attivato il digitize azzera il DRO sul pezzo..... E FIN QUI TUTTO OK...
Quando poi si tratta di scaricare l'utensile 8 per riporlo nel carosello (quindi a fine macro praticamente) la M471 non tiene più conto di dover aspettare la fine del cambio... o meglio si rimescolano i comandi e la Z non sale per lo scarico dell'utensile e il carosello comincia ad uscire senza rispettare l'altezza di scarico di Z;
2) se invece richiamo la macro M471 all'inizio dell'accensione di mach3, quindi senza che prima il software abbia praticato alcun cambio utensile, la macro è tutta sballata e da lo stesso effetto dell'inizio... cioè sovrappone i comandi delle due macro senza attendere ciò che faceva sopra..

sembra quindi che qualcosa sia mgliorato ma purtroppo ho l'impressione che sia per culo e non per cosa voluta... ma come ti dicevo di macro non ne so una mazza :D

questa la macro M6 che funziona correttamente e che utilizzavo senza la variabile Semaphore prima di oggi


' Macro cambio utensile automatico (ATC) Rel 5.00 del Aprile 2018

'**************** Definizione degli I/O (si considerano attivi ad 1 e disattivi a 0)

' Output 1 comando carosello fuori
' Input 1 sensore carosello fuori
' Output 2 comando carosello dentro
' Input 2 sensore carosello dentro
' Output 3 pinza mandrino
' Output 4 valvola aria pulizia mandrino
' Home asse B sensore di zero su carosello
' Output 8 perno freno mandrino
' Input 4 sensore di posizione mandrino
' Output 7 Accende pompa circuito pneumatico

'*************** Definizione variabili

Dim old_tool As Single 'N. Utensile nel mandrino; 0 siginifica vuoto
Dim new_tool As Single 'N Utensile da prelevare, numeri ammessi da 1 a 8
Dim tool As Single 'N. Utensile nel mandrino; 0 siginifica vuoto
Dim B_pos (8) As Double ' sono le posizioni, in gradi, degli utensili messi sul carosello
Dim refrigerante As Single ' memorizza se si stava usando il refrigerante o no
Dim old_speed As Single ' memorizza la velocità del mandrino
Dim counter As Double 'timeout fermo mandrino
counter=300000 'counter per attendere che il mandrino si fermi


'************** Definizione costanti

Const safe_z=-1 'posizione Z sicura per non urtare il carosello
Const load_z = -86 'posizione Z per presa utensile
Const timeout_carosello=3 'quanto tempo può impiegare il carosello per uscire o rientrare prima di errore
Const Z_speed=3000 'velocità di movimento asse Z
Const B_speed=4000 'velocità movimento carosello
Const vel_mandrino=40 'velocità mandindrino minima per posizionamento presa utensile

' le posizioni degli utensili nel carosello. Non si è usata una formula in modo da poter tarare esattamente ogni posizione

B_pos(1)=0
B_pos(2)=45
B_pos(3)=90
B_pos(4)=135
B_pos(5)=180
B_pos(6)=225
B_pos(7)=270
B_pos(8)=315




' **** Inizio Programma ****
old_speed=GetRPM() 'legge la velocità mandrino


old_tool = GetCurrentTool()
new_tool = GetSelectedTool()
If new_tool=old_tool Then 'se il nuovo utensile è uguale al vecchio allora non fare nulla
Semaphore = GetVar(1000) ' Reset semaforo
Semaphore = Semaphore - 1
SetVar (1000, Semaphore)
End 'esce dalla macro
End If

If(new_tool>8 Or new_tool<0) Then 'il numero utensile > 8 o < 0
MachMsg("Il numero consentito di utensili è tra 0 e 8","ERRORE",0) 'scrive messaggio di errore
Code "M9" 'ferma il refrigerante
Code "M5" 'ferma il mandrino
DoOEMButton(1003) 'ferma l'esecuzione del gcode
Semaphore = GetVar(1000) ' Reset semaforo
Semaphore = Semaphore - 1
SetVar (1000, Semaphore)
End 'esce dalla macro
End If

tool = GetSelectedTool()
SetCurrentTool( tool )


' controlla se esiste lo zero macchina per assi Z e B

If (GetOEMLed(809) And GetOEMLed(811)) Then 'manca lo Zero macchina su Z o lo zero sul carosello
MachMsg("NON E'STATO FATTO LO ZERO MACCHINA","ERRORE",0) ' scrive messaggio di errore
Code "M9" 'ferma il refrigerante
Code "M5" 'ferma il mandrino
DoOEMButton(1003) 'ferma l'esecuzione del gcode
Semaphore = GetVar(1000) ' Reset semaforo
Semaphore = Semaphore - 1
SetVar (1000, Semaphore)
End 'esce dalla macro
End If

' Attiva Pompa circuito pneumatico
ActivateSignal(Output7) 'attiva pompa

' ferma refrigerante e ferma mandrino
refrigerante= GetOemLed(13) 'se stavo usando il refrigerante o no
Code "M9" 'ferma il refrigerante
Code "G53" 'passa a coordinate assolute macchina
Code "F" & Z_speed 'porta la velocità di Z a quella impostata per ATC
Code "G01 G53 Z" & load_z 'porta Z nella posizione LOAD per far uscire il carosello e rimettere l'utensile dentro
While IsMoving() ' attendi fino a che si ferma
Wend
Code "S"&vel_mandrino 'rallenta il mandrino
Code "M3" 'parte il mandrino
ActivateSignal(Output8) 'esce il perno freno mandrino
sleep(3500) 'aspetta 5 secondi
Code "M5" 'ferma il mandrino,che comuque dovrebbe fermarsi appena il perno entra nella sede


' While(IsActive(INPUT4)=FALSE And counter > 0) 'attende l'index posizione mandrino o timeout
' counter=counter-1
' Wend
counter=300000
' Code "M5"
' ActivateSignal(Output8) 'spenge mandrino
' sleep(1000) 'applica freno per 1 secondo
' DeactivateSignal(Output8) 'toglie il freno
' sleep (500) 'leggero ritardo

If (IsActive(INPUT4)=FALSE) Then 'se il sensore index del mandrino non è attivo
MachMsg("Il mandrino non si è fermato correttamente","ERRORE",0) 'scrive messaggio di errore
Code "M5" 'spenge il mandrino
'Disattiva pompa circuito pneumatico
DeactivateSignal(Output7) 'disattiva pompa
DoOEMButton(1003) 'ferma l'esecuzione del gcode
DeActivateSignal(Output8) 'rientra il perno fermo mandrino
Semaphore = GetVar(1000) ' Reset semaforo
Semaphore = Semaphore - 1
SetVar (1000, Semaphore)
End 'esce dalla macro
End If

If(new_tool=0) Then 'se devo riporre l'utensile senza caricarne uno nuovo

' *********** Rimette l'utensile dentro il carosello

Code "F" & B_speed
Code "G01 G53 B" & B_pos(old_tool) 'posiziona il carosello sull'utensile da riporre
While IsMoving() 'attendi fino a che si ferma
Wend

' porta fuori il carosello

ActivateSignal(Output1) 'sposta il carosello in fuori
sleep(timeout_carosello * 1000) ' attende che il carosello sia fuori
DeactivateSignal(Output1)

If(IsACTIVE(Input1)=0) Then ' se il sensore del carosello fuori non è attivo
MachMsg("IL CAROSELLO E' BLOCCATO","ERRORE",0) ' scrive messaggio di errore
ActivateSignal(Output2) 'riporta il carosello dentro
sleep(timeout_carosello*1000) 'aspetta
DeactivateSignal(Output2)
DoOEMButton(1003) 'ferma l'esecuzione del gcode
'Disattiva pompa circuito pneumatico
DeactivateSignal(Output7) 'disattiva pompa
DeActivateSignal(Output8) 'rientra il perno fermo mandrino
Semaphore = GetVar(1000) ' Reset semaforo
Semaphore = Semaphore - 1
SetVar (1000, Semaphore)
End 'esce dalla macro
End If

ActivateSignal(Output3) 'apre la pinza del mandrino per mollare l'utensile
sleep(1000) 'aspetta un secondo
ActivateSignal(Output4) 'flush aria compressa per pulizia
sleep(500) 'aspetta mezzo secondo
DeActivateSignal(Output4) 'ferma flush aria compressa per pulizia
Code "F" & Z_speed 'porta la velocità di Z a quella impostata per ATC
Code "G01 G53 Z" & safe_z 'porta Z nella posizione Safe per far ruotare il carosello
While IsMoving() 'attendi fino a che si ferma
Wend
DeActivateSignal(Output3) 'chiude la pinza del mandrino
ActivateSignal(Output2) 'riporta il carosello dentro
sleep(timeout_carosello*1000) 'aspetta
DeactivateSignal(Output2)
DoOEMButton(1003) 'ferma l'esecuzione del gcode
'Disattiva pompa circuito pneumatico
DeactivateSignal(Output7) 'disattiva pompa
DeActivateSignal(Output8) 'rientra il perno fermo mandrino
Semaphore = GetVar(1000) ' Reset semaforo
Semaphore = Semaphore - 1
SetVar (1000, Semaphore)
End 'esce dalla macro
End If


If(old_tool>0) Then 'al primo cambio utensili mi trovo il mandrino vuoto altrimenti devo rimettere l'utensile a posto

' *********** Rimette l'utensile dentro il carosello

' rimettere l'utensile a posto


Code "F" & B_speed
Code "G01 G53 B" & B_pos(old_tool) 'posiziona il carosello sull'utensile da riporre
While IsMoving() 'attendi fino a che si ferma
Wend

' porta fuori il carosello

ActivateSignal(Output1) 'sposta il carosello in fuori
sleep(timeout_carosello * 1000) ' attende che il carosello sia fuori
DeactivateSignal(Output1)

If(IsACTIVE(Input1)=0) Then ' se il sensore del carosello fuori non è attivo
MachMsg("IL CAROSELLO E' BLOCCATO","ERRORE",0) ' scrive messaggio di errore
ActivateSignal(Output2) 'riporta il carosello dentro
sleep(timeout_carosello*1000) 'aspetta
DeactivateSignal(Output2)
DoOEMButton(1003) 'ferma l'esecuzione del gcode
'Disattiva pompa circuito pneumatico
DeactivateSignal(Output7) 'disattiva pompa
DeActivateSignal(Output8) 'rientra il perno fermo mandrino
Semaphore = GetVar(1000) ' Reset semaforo
Semaphore = Semaphore - 1
SetVar (1000, Semaphore)
End 'esce dalla macro
End If

ActivateSignal(Output3) 'apre la pinza del mandrino per mollare l'utensile
sleep(1000) 'aspetta un secondo
ActivateSignal(Output4) 'flush aria compressa per pulizia
sleep(500) 'aspetta mezzo secondo
DeActivateSignal(Output4) 'ferma flush aria compressa per pulizia
End If

' *********** Va a prendere il nuovo utensile
If(new_tool>0) Then ' se il nuovo utensile è da 1 a 8 allora lo prende
Code "F" & Z_speed 'porta la velocità di Z a quella impostata per ATC
Code "G01 G53 Z" & safe_z 'porta Z nella posizione Safe per far ruotare il carosello
While IsMoving() 'attendi fino a che si ferma
Wend
DeActivateSignal(Output3) 'chiude la pinza del mandrino
Code "F" & B_speed
Code "G01 G53 B" & B_pos(new_tool) 'si posiziona sul nuovo utensile
While IsMoving() ' attendi fino a che si ferma
Wend


' porta fuori il carosello, se non è già fuori.....

If(IsACTIVE(Input1)=0) Then 'se il carosello è ancora dentro
ActivateSignal(Output1) 'sposta il carosello in fuori
sleep(timeout_carosello * 1000) 'attende che il carosello sia fuori
DeactivateSignal(Output1)

If(IsACTIVE(Input1)=0) Then 'se il sensore del carosello fuori non è attivo
MachMsg("IL CAROSELLO E' BLOCCATO","ERRORE",0) 'scrive messaggio di errore
ActivateSignal(Output2) 'riporta il carosello dentro
sleep(timeout_carosello*1000) 'aspetta
DeactivateSignal(Output2)
'Disattiva pompa circuito pneumatico
DeActivateSignal(Output8) 'rientra il perno fermo mandrino
DeactivateSignal(Output7) 'disattiva pompa
DoOEMButton(1003) 'ferma l'esecuzione del gcode
Semaphore = GetVar(1000) ' Reset semaforo
Semaphore = Semaphore - 1
SetVar (1000, Semaphore)
End 'esce dalla macro
End If
End If
End If


Code "F" & Z_speed 'porta la velocità di Z a quella impostata per ATC
ActivateSignal(Output3) 'apre la pinza del mandrino
Code "G01 G53 Z" & load_z 'porta Z nella posizione di presa
While IsMoving() 'attendi fino a che si ferma
Wend
DeActivateSignal(Output3) 'chiude la pinza del mandrino
sleep(1000) 'attendi 1 secondo
ActivateSignal(Output2) 'riporta il carosello dentro
sleep(timeout_carosello*1000) 'aspetta

If(IsACTIVE(Input2)=0) Then 'se il sensore del carosello dentro non è attivo
MachMsg("IL CAROSELLO E' BLOCCATO","ERRORE",0) 'scrive messaggio di errore
ActivateSignal(Output2) 'prova a riportare il carosello dentro
sleep(timeout_carosello*1000) 'aspetta
DeactivateSignal(Output2)
DoOEMButton(1003) 'ferma l'esecuzione del gcode
'Disattiva pompa circuito pneumatico
DeActivateSignal(Output8) 'rientra il perno fermo mandrino
DeactivateSignal(Output7) 'disattiva pompa
Semaphore = GetVar(1000) ' Reset semaforo
Semaphore = Semaphore - 1
SetVar (1000, Semaphore)
End 'esce dalla macro
End If

'Disattiva pompa circuito pneumatico
DeactivateSignal(Output7) 'disattiva pompa
DeactivateSignal(Output2)


Code "G54" 'passa a coordinate precedenti
Code "F" & Z_speed 'porta la velocità di Z a quella impostata per ATC
Code "S" & old_speed 'ripristina velocitù mandrino
If refrigerante Then
Code "M7" 'se il refrigerante era acceso lo riaccende
End If
DeActivateSignal(Output8) 'rientra il perno fermo mandrino

'Code "M3" 'riaccende il mandrino
'Code "G01 Z" & GetToolchangestart(2) 'rimette Z dove era prima della macro
While IsMoving() 'attendi fino a che si ferma
Wend

Semaphore = GetVar(1000) ' Reset semaforo
Semaphore = Semaphore - 1
SetVar (1000, Semaphore)
End

Avatar utente
Pedro
God
God
Messaggi: 7084
Iscritto il: domenica 6 aprile 2008, 18:44
Località: Roma

Re: Cerco Macro per presetter utensili del carosello ATC

Messaggio da Pedro » mercoledì 4 aprile 2018, 9:47

ok, quindi è la M471 che deve caricare il T8, probe; non ricordavo. Ci rifletto su e ti dico
"Ho controllato molto approfonditamente," disse il computer, "e questa è sicuramente la risposta. Ad essere sinceri, penso che il problema sia che voi non abbiate mai saputo veramente qual è la domanda."

Avatar utente
pierpaolo
Senior
Senior
Messaggi: 1320
Iscritto il: martedì 19 giugno 2012, 1:10
Località: roma

Re: Cerco Macro per presetter utensili del carosello ATC

Messaggio da pierpaolo » mercoledì 4 aprile 2018, 10:02

ok vai tranquillo...credo che risolvendo questa di conseguenza si risolvono anche le macro M477Px (per azzerare un utensile alla volta) e la macro M478Pxxx per misurare più utensili insieme...

Mi spiace aver avuto tutto sto ritardo nel provarle in macchina ma per questioni di lavoro avevo dovuto accantonare l'idea di montare tutto il sistema ottico Renishaw...

Se ti serve la macro base che utilizzo ora per il cambio utensile e funge è questa in allegato almeno partiamo dalla base certa unica cosa che ho modificato della tua la parte che trovi con If(new_tool=0) che prima non era presente (e me so meravigliato visto che è la prima volta che riesco a editare una tua macro) :wink: ma se vuoi buttaci un occhio se tante volte ci vedi errori

mentre le macro M471, M477 e M478 sono quelle originali che si trovano a pagina 6 di questo topic

Grazie ancora
Pier
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
Pedro
God
God
Messaggi: 7084
Iscritto il: domenica 6 aprile 2008, 18:44
Località: Roma

Re: Cerco Macro per presetter utensili del carosello ATC

Messaggio da Pedro » mercoledì 4 aprile 2018, 12:00

al solito: non posso ovviamente provarla. Sempre pronto con il pulsante emergency. Ho cambiato solo la 471, se va si fanno le altre
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
"Ho controllato molto approfonditamente," disse il computer, "e questa è sicuramente la risposta. Ad essere sinceri, penso che il problema sia che voi non abbiate mai saputo veramente qual è la domanda."

Avatar utente
pierpaolo
Senior
Senior
Messaggi: 1320
Iscritto il: martedì 19 giugno 2012, 1:10
Località: roma

Re: Cerco Macro per presetter utensili del carosello ATC

Messaggio da pierpaolo » mercoledì 4 aprile 2018, 12:18

provata ora e appena lanciata succede che:

- la z che si trova in posizione di 0 coordinate macchina, schende a passi pian pianino di circa 1-2 mm poi si ferma e inizia il cambio utensile..
- carica il probe e rimane fermo li senza procedere avanti come se cercasse un input che il cambio è terminato...

ti metto la M471 che mi hai postato te prima ma che ho solo modificato al posto di goto safeZ con una posizione in coordinate macchina in modo da non dover usare il safeZ menu, questo perchè come ti dicevo il safeZ mi sballava tutta la macro M6 del cambio utensile e quindi l'ho tolto...
così abbiamo la stessa base
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
Pedro
God
God
Messaggi: 7084
Iscritto il: domenica 6 aprile 2008, 18:44
Località: Roma

Re: Cerco Macro per presetter utensili del carosello ATC

Messaggio da Pedro » mercoledì 4 aprile 2018, 12:29

quindi fa la m6 ma non torna il controllo alla m471. hai usato la m6 che ti ho mandato?
"Ho controllato molto approfonditamente," disse il computer, "e questa è sicuramente la risposta. Ad essere sinceri, penso che il problema sia che voi non abbiate mai saputo veramente qual è la domanda."

Avatar utente
pierpaolo
Senior
Senior
Messaggi: 1320
Iscritto il: martedì 19 giugno 2012, 1:10
Località: roma

Re: Cerco Macro per presetter utensili del carosello ATC

Messaggio da pierpaolo » mercoledì 4 aprile 2018, 12:32

no solo la m471 che mi avevi detto di aver modificato solo quella

ora rimpiazzo anche la M6

Avatar utente
pierpaolo
Senior
Senior
Messaggi: 1320
Iscritto il: martedì 19 giugno 2012, 1:10
Località: roma

Re: Cerco Macro per presetter utensili del carosello ATC

Messaggio da pierpaolo » mercoledì 4 aprile 2018, 12:40

provato anche con la nuova m6...
fa tutto precisamente azzera la Z e tutto ma quanto arriva allo scarico del probe quindi al comando M6T0 la Z non risale all'altezza utile per il cambio ma si ferma li dove ha azzerato mentre esce il carosello per prendere l'utensile... ovviamente devo bloccare col fungo perche non trovandosi alla giusta altezza il carosello colliderebbe con la Z

Avatar utente
Pedro
God
God
Messaggi: 7084
Iscritto il: domenica 6 aprile 2008, 18:44
Località: Roma

Re: Cerco Macro per presetter utensili del carosello ATC

Messaggio da Pedro » mercoledì 4 aprile 2018, 12:43

ok, poi ci do un occhio. non vorrei che togliendo il safe z si sia incasinato. comunque carica il probe e tasta?
"Ho controllato molto approfonditamente," disse il computer, "e questa è sicuramente la risposta. Ad essere sinceri, penso che il problema sia che voi non abbiate mai saputo veramente qual è la domanda."

Avatar utente
pierpaolo
Senior
Senior
Messaggi: 1320
Iscritto il: martedì 19 giugno 2012, 1:10
Località: roma

Re: Cerco Macro per presetter utensili del carosello ATC

Messaggio da pierpaolo » mercoledì 4 aprile 2018, 12:46

Si carica il probe e tasta e azzera e il primo cambio utensile lo esegue esattamente... quindi sembra come se fatto il primo qualcosa rimanga in memoria...

Credo che se era il safe z a dare problemi avrebbe aver dovuto sballare anche il primo M6 e non solo il secondo...

Avatar utente
pierpaolo
Senior
Senior
Messaggi: 1320
Iscritto il: martedì 19 giugno 2012, 1:10
Località: roma

Re: Cerco Macro per presetter utensili del carosello ATC

Messaggio da pierpaolo » mercoledì 4 aprile 2018, 12:54

prenditela con calma cmq Pedro io il 24 sono di nuovo giù e mi fermo qualche giorno quindi se vuoi possiamo anche andarci a mangiare una cosa se riesci a liberarti...
se ti fa piacere potresti anche passare direttamente qua... non ci sono problemi..

Intanto grazie ancora e credo che siamo vicini...

Avatar utente
Pedro
God
God
Messaggi: 7084
Iscritto il: domenica 6 aprile 2008, 18:44
Località: Roma

Re: Cerco Macro per presetter utensili del carosello ATC

Messaggio da Pedro » mercoledì 4 aprile 2018, 16:05

si si, è che azzerando cambia ovviamente la posizione dell'utensile e non può riposizionarsi dove era ma deve andare con la differenza di altezza. Appena posso correggo. Anzi, mandami anche le altre macro che così le rivedo. ciao

Ah, il 25 andiamo fuori anche noi per qualche giorno, per il pranzo o cena non preoccuparti erano battute le mie come sai :D
"Ho controllato molto approfonditamente," disse il computer, "e questa è sicuramente la risposta. Ad essere sinceri, penso che il problema sia che voi non abbiate mai saputo veramente qual è la domanda."

Rispondi

Torna a “Mach3”