Auto tool changer Spindle 3.0KW with ISO25 tool holder. Tool changing on Mach 3

Описание к видео Auto tool changer Spindle 3.0KW with ISO25 tool holder. Tool changing on Mach 3

This spindle ATC was installed for a customer with all pneumatic and electric circuits. I personnaly wrote the VB script M6 on Mach3 and Mach4. See below

Spindle Info :
JGL-100, 3.0KW
24000 RPM at 800Hz
OD : 100 mm.
Tool Holder : ISO-25
Collets type : ER-20

i am not responsible for any injury or material damage. Adapt the program to your machine and take safety measures when using it. PLZ USE IT FOR YOUR OWN MACHINE NOT FOR SELLING ATC SOLUTION. Thanks you

Mach 3 M6 macros :


'**** Save current Pos and States before changing Tool ****

Xpos = GetToolChangeStart(0) ' Get current X position
Ypos = GetToolChangeStart(1) ' Get current Y position
Zpos = GetToolChangeStart(2) ' Get current Z position

CurrentFeed = GetUserDRO(818) 'Save current Feed
CurrentAbs = GetUserDRO(48) 'Save state of G91/90
CurrentGmode = GetUserDRO(819) 'Save state of G0/G1


'**************** Tool changing parameters ******************

Yplate = 50 'Y Centre of the plate holding the tool holders
Zplate = -3
Feed = 200 'Feed Rate of the tool change
Newtool = GetSelectedTool() 'Get selected tool with T M6 on MDI
Oldtool = GetCurrentTool() 'Get current tool on the machine

'******************** Tool Plate setup *******************

Tool_Down = 15 'Distance to put down the tool holder
Tool_Z_Change = 7 'Distance to travel up tool plate
ToolHoldDis = 40 'Distance between tool holders position on the plate (From the cad if you design your plate for holders)
Tool_Center_plate_off = 50 'Distance between center of the first holder and the edge of your plate (From your cad if you design your plate)

'******************** Tool distance calcul *******************

OldtoolPos = Tool_Center_plate_off + (Oldtool-1) * ToolHoldDis
NewtoolPos = Tool_Center_plate_off + (Newtool-1) * ToolHoldDis

'******************** Tool changing sequence *******************

If Newtool = Oldtool Then 'Check if this tool is already mounthed
MsgBox("This tool is already set ")
Else

code "G90 G53 Z0"
code "G1 F2000"
While IsMoving()
Wend

code "G53 X" & OldtoolPos & "Y" & Yplate 'Positioning above oldtool's place
' code "G1 F2000"
While IsMoving()
Wend

code "G53 Z" & Tool_Z_Change
code "G1 F200"
While IsMoving()
Wend

' code "G53 X" & OldtoolPos 'Positioning above oldtool's place
' code "G1 F200"
' While IsMoving()
' Wend

code "G53 Z" & Tool_Down 'Putting oldtool in place
While IsMoving()
Wend

ActivateSignal(OUTPUT1) 'Releasing the tool holder / Activating the drawbar output
Sleep(800)

code "G53 Z" & Tool_Z_Change 'Putting oldtool in place
code "G1 F2000"
While IsMoving()
Wend

DeActivateSignal(OUTPUT1) 'Deactivatig the drawbar output
Sleep(500)
ActivateSignal(OUTPUT2) 'Activate Air return
Sleep(800)
DeActivateSignal(OUTPUT2)


code "G90 G53 X" & NewtoolPos 'Positioning above Newtool's position
code "G1 F200"
While IsMoving()
Wend

ActivateSignal(OUTPUT1) 'Releasing the tool holder / Activating the drawbar output
ActivateSignal(OUTPUT3) 'Acctivate dust remover


code "G90 G53 Z" & Tool_Down 'Taking newtool
code "G1 F2000"
While IsMoving()
Wend

DeActivateSignal(OUTPUT3) 'Releasing the tool holder / Activating the drawbar output

DeActivateSignal(OUTPUT1) 'Activate dust remover
Sleep(500)
ActivateSignal(OUTPUT2) 'Activate Air return to clamp the new tool's holder
Sleep(800)
DeActivateSignal(OUTPUT2)


code "G90 G53 Z0" 'Go to Z 0
While IsMoving()
Wend

'**** Go to x, y and z position before tool change start ****

code "G00 X" & Xpos & "Y" & Ypos & "Z" & Zpos
'code "F200"
While IsMoving()
Wend

'**** Resetting Old parameters ****

SetUserDRO(818,CurrentFeed) 'Save current Feed
SetUserDRO(48,CurrentAbs) 'Save state of G91/90
SetUserDRO(819,CurrentGmode) 'Save state of G0/G1


SetCurrentTool( Newtool )


End If

Комментарии

Информация по комментариям в разработке