Cita Iniciado por Creisen Ver Mensaje
Hola gente, estoy intentando hacer el cambiador de herramientas con Mach3 y la idea es que quiero que funcione lo mas parecido a un control comercial, pero la verdad que no lo puedo hacer funcionar, la idea es que cuando en el programa lea M6 T2 por ejemplo, ejecute un subprograma o macro o lo que sea, despues de ejecutar eso, regrese a el punto despues donde fue llamado este sub, se entiende?

La verdad que no pude hacerlo funcionar, la ultima pregunta, donde se guardan las macros en el mach ?
Gracias
Creisen, yo habia encontrado esta macro, a ver si te sirve esto, aunque solo sea de orientacion.

El fichero es de la rutina del cargador de scott
------------------------------------------------------
Sub Main()

NumSlots=8 'numero maximo del cargador
OldTurretPos=(GetOEMDRO(805))
OldToolSlot=Abs(GetOEMDRO(805)/45)
NextTool = GetSelectedTool() 'lee el numero de herramienta a cargar
NextToolSlot = (NextTool-1)*360/NumSlots '


If OldToolSlot = NextToolSlot Then 'Si el numero de herramienta a cargar es la misma que hay cargada sale y continual el codigo
SetCurrentTool(NextTool)
Exit Sub
End If

If NextTool>8 Or NextTool<1 Then 'comprueba que la herramienta este dentro del maximo del cargador
Message("La herramienta esta fuera de rango") ' si esta fuera muestra el mensaje y sale de la rutina
Exit Sub
End If

MoveDis = (NextToolSlot-OldTurretPos)

If Abs(MoveDis) >180 Then 'define si gira el cargador a derecha o a izquierda
If MoveDis < 0 Then 'segun este mas cerca en un sentido o en el otro
MoveDis = 360 + MoveDis
Else
MoveDis = MoveDis - 360
End If
End If

ActivateSignal(OUTPUT3) 'Activa bit de salida para posicionar cargador en zona de cogida
Code "G4 P0.5" 'PAUSA
While IsMoving ()
Wend
Code "G00 G91 C" & MoveDis `'Gira cargador a posicion, utiliza el eje C
While IsMoving ()
Wend

DeActivateSignal(OUTPUT3) 'Desactiva bit de salida para retirar cargador

SetCurrentTool(NextTool)
Code "G90"
End Sub

------------------------------------------------------------------
El fichero tienes que guardarlo como M6start.m1s en la carpeta de macros

Saludos. :wave: