Macro per ATC manuale su M6

Sezione dedicata a Mach3
Rispondi
Cosimo Scuteri
Newbie
Newbie
Messaggi: 28
Iscritto il: domenica 3 maggio 2015, 1:15
Località: Siderno

Macro per ATC manuale su M6

Messaggio da Cosimo Scuteri » martedì 12 gennaio 2016, 17:37

Aiuto per la stesura e la correzione di una macro M6

funzione:

posiziona asse ZXY in coordinate da DRO per cambio utensile manualmente
chiede se voglio fare auto zero utensile
confermo ,esegue auto zero e continua la lavorazione
annullo e e rimane offset impostato prima di avviare il gcode se utensile desiderato e gia nel mandrino e continua la lavorazione.


script fi ora realizzato con un errore che non so risolvere . quando fa auto zero su piano restituisce il valore de 0 pezzo anzi che del piano . aiuto grazie


tool = GetselectedTool()
oldTool = GetOEMDRO(1212)
If (oldTool <> tool) Then

Old_tool = GetCurrentTool()
New_Tool = GetSelectedTool()

DoSpinStop()
If getoemled(13) Then
'refrigerante acceso
setuserled(1000,1)' set user led on
Code "M9"
Else
'refrigerante spento
setuserled(1000,0) ' set user led off
End If

'Posizione assi per cambio utensile nelle DRO della screen
ChangeX = GetOEMDRO(1200)
ChangeY = GetOEMDRO(1201)
ChangeZ = GetOEMDRO(1202)

Code "G00 G53 Z" & ChangeZ
Code "G00 G53 X" & ChangeX & "Y" & ChangeY

While IsMoving() 'Attendi fine movimento
Wend

Response = MsgBox ( "Effettuare AUTOZERO?", 1 , "*** AVVISO ***" )
If Response = 1 Then

Code "M00"

Code "G00 G53 Z100"

While IsMoving() 'Attendi fine movimento
Wend


DoSpinStop() 'Fermo Spin
VelocitaOld = GetOemDRO(818) 'Memorizzazione Velocità Attuale
ZRicerca = 100 'Misura Di Ricerca Del Probe
HProbe = GetOEMDRO(1203) 'Altezza Del Probe
ZRisalita = 20 'Quota Z Dal Pezzo (0) Per Risalita Dopo L'Azzeramento

If GetOemLed (825)=0 Then 'Testa probe
DoOEMButton (1010) 'Azzera Z
Code "G4 P0.5" 'Ritardo
Code "G31 Z-"& ZRicerca & "F50" 'Comando ricerca on corsa massima
While IsMoving() 'Attendi fine ricerca
Wend
Posizione = GetVar(2002) 'Lettura quota di contatto
If Posizione = - ZRicerca Then 'Se la ricerca è arrivata in fondo
Result =MsgBox ("ATTENZIONE PROBE NON TROVATO" , 0 , "*** ERRORE ***" )
Code "G1 Z0 F500" 'Riporta la Z a 0
Code "F" & VelocitaOld 'Reimposta velocità
Exit Sub 'Esce dalla routine
End If

Code "G0 Z" & Posizione 'Ritorno al punto preciso di contatto
While IsMoving () 'Attendi fine movimento
Wend
Call SetDro (2, Hprobe ) 'Forza la Z allo spessore del probe
Code "G4 P0.5" 'Pausa
Code "G1 Z" & ZRisalita & "F500" 'Quota Z di ritorno dallo 0 pezzo
While IsMoving () 'Attendi fine movimento
Wend
Code "(Asse Z Azzerata)" 'Messaggio fine azzeramento
Code "F" & VelocitaOld 'Reimposta velocità


Else
Code "(Segnale a massa !!!)" 'Messaggio errore
Result =MsgBox ("ATTENZIONE PROBE A MASSA" , 0 , "*** ERRORE ***" ) 'PopUp Errore
Exit Sub
End If
End If
SetCurrentTool( tool )

Rispondi

Torna a “Mach3”