Hello Guest it is March 28, 2024, 07:03:34 AM

Author Topic: macro for turret for boxford tcl  (Read 5469 times)

0 Members and 1 Guest are viewing this topic.

macro for turret for boxford tcl
« on: February 17, 2018, 01:45:55 PM »
hi i am not getting this macro thing at all i have a boxford 125 tcl with 8 turret tool changer how do you get it to work please help i have been trying for weeks now my email is stephen.brindle@icloud.com thanks any help would be great  ???

Offline TPS

*
  •  2,501 2,501
    • View Profile
Re: macro for turret for boxford tcl
« Reply #1 on: February 18, 2018, 05:09:37 AM »
hey thats a macro for a boxford 125 i have written some time ago for an other guy here.
sorry it is in german, but with a Little Google translator you should be able to understand it.

Code: [Select]

' TPS 29.01.2018 Version 1.0
' BOXFORD 125TCL
' 8 Positionen Werkzeugwechsler mit A-Achse

Sub Main()

  Dim newtool As Integer
  Dim acttool As Integer
  Dim grad_pro_tool As Integer
  Dim grad_nach_pin As Integer
  Dim grad_rueckwaerts as Integer
  Dim Anzahl_Takte As Integer
  Dim Dist_schnell As Double
  Dim F_fast As Integer
  Dim F_slow As Integer

If IsLoading() Then
'wenn ein neues File geladen wird nichts tun
' Exit Sub
Else

grad_pro_tool = 45 ' Distanz für einen Werkzeugschritt
grad_nach_pin = 10 ' freifahren Pin
grad_rueckwaerts = 25 ' zurückfahren an Pin
f_fast = 4000 ' Speed drehen schnell
f_slow = 2000 ' Speed rückwärts gegen Pin

newtool = GetSelectedTool() ' die neue Werkzeugnummer holen
acttool = GetCurrentTool() ' die aktuelle Werkzeugnummer holen

'lass uns ein paar Basic's checken

' neues und altes Werkzeug = 0
If ((newtool = 0) and (acttool = 0)) Then
message("neues und altes Werkzeug = 0 -> nicht's tun")
Sleep(500)
Exit Sub
End If

' neues Werkzeug = 0
If (newtool = 0) Then
message("neues Werkzeug = 0 -> nicht's tun")
Sleep(500)
Exit Sub
End If

' neues und altes Werkzeug sind gleich
If newtool = acttool Then
message("neues und altes Werkzeug sind gleich -> nicht's tun!")
Sleep(500)
Exit Sub
End If
 
  'Werkzeugnummer gültig ?
If  (((newtool > 8) Or (newtool < 1)) and (newtool <> 0)) Then
DoButton(3)
Sleep(500)
Message (" Werkzeugnummer " & newtool & " nicht im Bereich (1-8). Abbruch ! ")
Exit Sub
End If

'X-Achse nicht referenziert
If GetOEMLED(807) Then
DoButton(3)
Sleep(500)
Message ("X-Achse nicht referenziert -> Abbruch !!")
Exit Sub
End If

'Z-Achse nicht referenziert
If GetOEMLED(809) Then
DoButton(3)
Sleep(500)
Message ("Z-Achse nicht referenziert -> Abbruch !!")
Exit Sub
End If

'jetzt geht's los
Message "Werkzeugwechsel von: " +CStr(acttool) + " nach: " + CStr(newtool)

'Anzahl der Takte zwischen den Werkzeugen berechnen
If newtool > acttool Then Anzahl_Takte = newtool - acttool  
If newtool < acttool Then Anzahl_Takte = 8 - acttool+newtool
    
'Distantz in Schritte umrechnen
Dist_schnell = (Anzahl_Takte * grad_pro_tool) + grad_nach_pin

msgbox("Takte: " + cstr(Anzahl_Takte) + " Distanz schnell: " + Cstr(Dist_schnell))

Message "Wechsel X-Achse freifahren"
Code "G90 G53 G0 X2"
While IsMoving()
Sleep(15)
Wend

Message "Wechsel Z-Achse freifahren"
Code "G90 G53 G0 Z2"
While IsMoving()
Sleep(15)
Wend

'A-Achse nullen
Code "G92 A0"
'incremental Mode , Einheiten pro Minute , Exakter Stop
Code "G91 G94 G61"

'A-Achse plus schnell
Message "A-Achse plus schnell zum neuen Werkzeug"
Code "G01 A" & Dist_schnell & "F" & f_fast
While IsMoving()
Sleep(15)
Wend

'A-Achse langsam zurückfahren
Message "A-Achse zurueck langsam zum Pin"
Code "G01 A-" & grad_rueckwaerts &  "F" & f_slow
While IsMoving()
Sleep(15)
Wend

'neues Werkzeug im System anmelden
SetCurrentTool(newtool)

'wieder auf Absolutmodus schalten
Code "G90" ' back to absolute movement

Message ""
End If

End Sub              


« Last Edit: February 18, 2018, 05:15:02 AM by TPS »
anything is possible, just try to do it.
if you find some mistakes, in my bad bavarian english,they are yours.
Re: macro for turret for boxford tcl
« Reply #2 on: February 20, 2018, 04:44:17 AM »
Hi have you got it in English as google translate won’t do it thanks steve

Offline TPS

*
  •  2,501 2,501
    • View Profile
Re: macro for turret for boxford tcl
« Reply #3 on: February 20, 2018, 05:27:27 AM »
ok here we go, code with comments in english:

Code: [Select]

' TPS 29.01.2018 Version 1.0
' BOXFORD 125TCL
' 8 position ATC with A-Axis

Sub Main()

  Dim newtool As Integer
  Dim acttool As Integer
  Dim grad_pro_tool As Integer
  Dim grad_nach_pin As Integer
  Dim grad_rueckwaerts as Integer
  Dim Anzahl_Takte As Integer
  Dim Dist_schnell As Double
  Dim F_fast As Integer
  Dim F_slow As Integer

If IsLoading() Then
'do nothing during load GCode
' Exit Sub
Else

grad_pro_tool = 45 ' distance between TC places
grad_nach_pin = 10 ' overtravel pin
grad_rueckwaerts = 25 ' trafel back to pin
f_fast = 4000 ' Speed turn fast
f_slow = 2000 ' Speed slow reverse to pin

newtool = GetSelectedTool() ' get the actual tool number
acttool = GetCurrentTool() ' get the new tool number

'let's do some basic checks

' new tool and act tool = 0
If ((newtool = 0) and (acttool = 0)) Then
message("new and acttool = 0 -> do nothing")
Sleep(500)
Exit Sub
End If

' new tool = 0
If (newtool = 0) Then
message("new tool = 0 -> do nothing")
Sleep(500)
Exit Sub
End If

' new tool = act tool
If newtool = acttool Then
message("new tool = act tool -> do nothing")
Sleep(500)
Exit Sub
End If
 
  'check toolnumber ?
If  (((newtool > 8) Or (newtool < 1)) and (newtool <> 0)) Then
DoButton(3)
Sleep(500)
Message (" toolnumber " & newtool & " not in range (1-8). Abort ! ")
Exit Sub
End If

'X-Axis not in reference
If GetOEMLED(807) Then
DoButton(3)
Sleep(500)
Message ("X-Axis not referenced -> Abort !!")
Exit Sub
End If

'Z-Axis not in reference
If GetOEMLED(809) Then
DoButton(3)
Sleep(500)
Message ("Z-Axis not referenced -> Abort !!")
Exit Sub
End If

'let's do something
Message "change tool from: " +CStr(acttool) + " to: " + CStr(newtool)

'calculate number of tools between tools
If newtool > acttool Then Anzahl_Takte = newtool - acttool 
If newtool < acttool Then Anzahl_Takte = 8 - acttool+newtool
   
'number of tool to steps
Dist_schnell = (Anzahl_Takte * grad_pro_tool) + grad_nach_pin


Message "ATC X-Axis to TC position"
Code "G90 G53 G0 X2"
While IsMoving()
Sleep(15)
Wend

Message "ATC Z-Axis to TC position"
Code "G90 G53 G0 Z2"
While IsMoving()
Sleep(15)
Wend

'set A-Axis zero
Code "G92 A0"
'incremental Mode , units per Minute , Exact Stop
Code "G91 G94 G61"

'A-Axis  plus fast
Message "A-Axis plus fast to new tool"
Code "G01 A" & Dist_schnell & "F" & f_fast
While IsMoving()
Sleep(15)
Wend

'A-Axis slow back to pin
Message "A-Axis slow back to pin"
Code "G01 A-" & grad_rueckwaerts &  "F" & f_slow
While IsMoving()
Sleep(15)
Wend

'anounce new tool to system
SetCurrentTool(newtool)

'back to absolute mode
Code "G90" ' back to absolute movement

Message ""
End If

End Sub               


-put this code in your M6Start macro

-delete all code in M6End macro

-this code Needs A-axis for turn axis of TC

-this code requires that a G91 A360 makes exact one turn on TC

-X/Z axis must be referenced

-X-axis refpos = all way to the right side (away from spindle)

-Z-axis refpos = all way up (away from spindle)

Thomas



« Last Edit: November 22, 2022, 08:35:19 PM by Graham Waterworth »
anything is possible, just try to do it.
if you find some mistakes, in my bad bavarian english,they are yours.
Re: macro for turret for boxford tcl
« Reply #4 on: February 20, 2018, 05:29:59 AM »
Ok will try thanks for your time

Offline TPS

*
  •  2,501 2,501
    • View Profile
Re: macro for turret for boxford tcl
« Reply #5 on: February 20, 2018, 05:58:10 AM »
Does this code control the spindle speed from Mach 3  for screw cutting thanks again

no it's only controling the toolchange, nothing else.
« Last Edit: February 20, 2018, 06:04:58 AM by TPS »
anything is possible, just try to do it.
if you find some mistakes, in my bad bavarian english,they are yours.
Re: macro for turret for boxford tcl
« Reply #6 on: February 20, 2018, 02:47:22 PM »
Hi can you tell me what steps per mm is on the a axis
How do you get g91 to 360 thanks steve
Re: macro for turret for boxford tcl
« Reply #7 on: February 20, 2018, 03:39:38 PM »
hi all working good thanks for all your help
do you no how to do the spindle speed through mach3
Re: macro for turret for boxford tcl
« Reply #8 on: February 20, 2018, 05:38:24 PM »
How do you home the a axis then or how do you reference your tool
Say you left it on tool 6
Next time you use it it would think tool 6 is the master tool (yes or no ) please advise

Offline TPS

*
  •  2,501 2,501
    • View Profile
Re: macro for turret for boxford tcl
« Reply #9 on: February 21, 2018, 01:29:38 AM »
the a axis Needs not to be homed, because it is only doing incremental moves.

to remember the tool (witch is in front when you shut down the machine),

Config -> General Config -> right down Corner ->Tool Selection Pesistent

or just enter the tool number in main Screen by Keyboard.


About your spindle Speed:
do you have some more Information how your spindle is connected to mach3 ?

Thomas
anything is possible, just try to do it.
if you find some mistakes, in my bad bavarian english,they are yours.