Hello Guest it is May 20, 2024, 01:57:41 PM

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - TPS

131
General Mach Discussion / Re: Mach 3 atc on boxford lathe
« on: April 24, 2023, 02:13:29 AM »
modified your code a little bit:

Code: [Select]
' (C) Graham Waterworth Mach forum.
' rough draft for a lock back to pawl type tool changer
' this has not been tried on any tool changer
' use/modify it as you wish, I take no responsibility
' for any damage to you or your equipment.

' NOTE current values are for a Boxford 125/160 lathe
' 8 position tool changer using MM calibration.
' set axis steps per to 20

If IsLoading() Then
  ' do now't, program loading
Else

' dim some vars

  Dim next_tool As Integer
  Dim current_tool As Integer
  Dim steps_per_tool As Integer
  Dim steps_after_pawl As Integer
  Dim max_tools As Integer
  Dim rotateCW As Integer
  Dim moves As Integer
  Dim fast_feed As Integer
  Dim slow_feed As Integer
  Dim axis As String
  Dim zero As Integer
  Dim to_pawl As Integer

' set up some vars

  zero = 0
  axis = "A" ' change to what ever axis you use for tool changer
  rotateCW = 0 ' set to 1 for CCW and 0 for CW rotation
  max_tools = 8 ' number of tools on turret
   
   ' stepper driver should be set to 1 step NO MICRO STEPPING!
   
  steps_per_tool = 900 ' number of steps needed to move 1 tool position (45 deg)
  steps_after_pawl = 100 ' set to amount to clear pawl after move (5 deg)
  steps_to_lock_back_on_pawl = 140 ' number of steps to lock onto pawl (7 deg)
  next_tool = GetSelectedTool()
  current_tool = GetCurrentTool()
  fast_feed = 1000 ' set to safe rapid rotation speed
  slow_feed = 200 ' set to safe creep speed back onto pawl.

' do some tool changing

  If next_tool > max_tools Then
    Message "Tool number too high, program stopped."
    Code "M30"
    End
  End If
   
  If next_tool<1 Then
    Message "Tool number too low, program stopped."
    Code "M30"
    End
  End If
   
  If next_tool=current_tool Then
    ' do nowt, we got it already

  Else

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

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


      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

  ' lets do some checking
    If next_tool > current_tool Then moves = next_tool - current_tool
    If next_tool < current_tool Then moves = max_tools - current_tool + next_tool
   ' work out how far to move
    rapid_move = (moves * steps_per_tool) + steps_after_pawl
    to_pawl = zero - steps_to_lock_back_on_pawl
   ' reverse moves if needed   
    If rotateCW = 1 Then
      rapid_move = zero - rapid_move
      to_pawl =  Abs(to_pawl)
    End If
   ' set axis to zero
    Code "G92 " & axis & "0"
    Code "G91 G94 G61"
   ' start the move
    Code "G01 " & axis & rapid_move & " F" & fast_feed
    Code "G04 P250"
    While IsMoving()
    Wend
   ' move back to locking point
    Code "G01 " & axis & to_pawl &  " F" & slow_feed
    While IsMoving()
    Wend
   ' tell mach3 new tool
    SetCurrentTool next_tool
    Code "G90" ' back to absolute movement
  End If
End If

' end of tool change   

132
General Mach Discussion / Re: Mach 3 atc on boxford lathe
« on: April 23, 2023, 12:56:46 PM »
here:
https://www.machsupport.com/forum/index.php/topic,36624.msg251085.html#msg251085

you can find a macro i poted some year's ago it shows how to move to "safe" position first.
this will also make necessary to have the axis referenced/homed to know for sure the position
in machinecoords.

133
CS-Lab / Re: Auto Tuning in MACH3
« on: April 21, 2023, 03:32:16 AM »
hello,
in this case i think the best is to contact

Andrew Rogozynski or Wojtek Trawicki via    office@cs-lab.eu
from CS-Lab.

they normaly answer within a few day's

134
General Mach Discussion / Re: Mach 3 atc on boxford lathe
« on: April 19, 2023, 12:04:53 PM »
Graham's script has parameter's for the step's per tool

from Graham's script:
Code: [Select]
  steps_per_tool = 900 ' number of steps needed to move 1 tool position (45 deg)
  steps_after_pawl = 100 ' set to amount to clear pawl after move (5 deg)
  steps_to_lock_back_on_pawl = 140 ' number of steps to lock onto pawl (7 deg

and it looks like your machine is set to degrees witch means it needs 45 step's per tool.
so you have to set the parameters right.

Code: [Select]
  steps_per_tool = 45 ' number of steps needed to move 1 tool position (45 deg)
  steps_after_pawl = 5 ' set to amount to clear pawl after move (5 deg)
  steps_to_lock_back_on_pawl = 7 ' number of steps to lock onto pawl (7 deg)

i would expect.

136
General Mach Discussion / Re: Mach 3 Plasma technician in toronto area
« on: April 13, 2023, 02:35:51 AM »
Hi, i am not a THC specilaist, wonder wether you found this:

https://www.warp9td.com/index.php/gettingstarted/setting-up-the-smoothstepper-and-mach#THC

137
you can try to use the teachfile for this (not tested!!):

Code: [Select]
'====== Dice Vending Machine ======
'M301
'Last edited 4/6/2023 by Aaron Potts

Sub Main

    'Last argument for Dialog is not asigning an id, it is specifying the
    'function that will handle interactions with the dialog elements.
    Begin Dialog DiceVendingMachine 200, 150, "Dice Vending Machine v1.0", .DialogHandler
        OKButton      10, 130, 40, 15, .ok
        CancelButton 152, 130, 40, 15, .cancel

        OptionGroup .diceChoiceGroup
        OptionButton  20, 10, 40, 10, "Full Poly", .fullPoly
        OptionButton  75, 10, 50, 10, "Poly, No D6", .polyNoD6

        CheckBox 140, 10, 40, 10, "Custom", .custom

        GroupBox 10, 30, 180, 90, "Custom Run:", .customGroup
        CheckBox 40, 45, 40, 10, "D20", .d20Check
        Text     90, 45, 40, 10, "How Many?", .d20Text
        TextBox 135, 45, 20, 10, .d20Qty

        CheckBox 40, 57, 40, 10, "D12", .d12Check
        Text     90, 57, 40, 10, "How Many?", .d12Text
        TextBox 135, 57, 20, 10, .d12Qty

        CheckBox 40, 69, 40, 10, "D10", .d10Check
        Text     90, 69, 40, 10, "How Many?", .d10Text
        TextBox 135, 69, 20, 10, .d10Qty

        CheckBox 40, 81, 40, 10, "D8", .d8Check
        Text     90, 81, 40, 10, "How Many?", .d8Text
        TextBox 135, 81, 20, 10, .d8Qty

        CheckBox 40, 93, 40, 10, "D6", .d6Check
        Text     90, 93, 40, 10, "How Many?", .d6Text
        TextBox 135, 93, 20, 10, .d6Qty

        CheckBox 40, 105, 40, 10, "D4", .d4Check
        Text     90, 105, 40, 10, "How Many?", .d4Text
        TextBox 135, 105, 20, 10, .d4Qty
    End Dialog

    'Initialize a dialog object.
    Dim DVM As DiceVendingMachine

    'Store the value returned from the dialog:
    '-1 = OK
    '0 = Cancel
    buttonPressed = Dialog(DVM) 'This line is necessary.


   'Create a new Teach File in Mach3\Gcode
   MyTeachFile = "TeachMe.nc"
   Err = OpenTeachFile(MyTeachFile)
   If Err <> 0 Then

    If DVM.diceChoiceGroup = 0 And DVM.custom = 0 Then
        Code "M98 (Automated Dice Set 4D6 Rotary.TAP)"
    End If
    If DVM.diceChoiceGroup = 1 And DVM.custom = 0 Then
        Code "M98 (Automated Dice Set No D6.TAP)"
    End If
    If DVM.d20Check = 1 And DVM.custom = 1 Then
        Code "M98 (Make D20.tap) L" & DVM.d20Qty
    End If
    If DVM.d12Check = 1 And DVM.custom = 1 Then
        Code "M98 (Make D12.tap) L" & DVM.d12Qty
    End If
    If DVM.d10Check = 1 And DVM.custom = 1 Then
        Code "M98 (Make D10.tap) L" & DVM.d10Qty
    End If
    If DVM.d8Check = 1 And DVM.custom = 1 Then
        Code "M98 (Make D8.tap) L" & DVM.d8Qty
    End If
    If DVM.d6Check = 1 And DVM.custom = 1 Then
        Code "M98 (Make D6.tap) L" & DVM.d6Qty
    End If
    If DVM.d4Check = 1 And DVM.custom = 1 Then
        Code "M98 (Make D4.tap) L" & DVM.d4Qty
    End If

    'Close the Teach file
    Code "M30"
    CloseTeachFile()
    'Now load the teach file for execution
    Call LoadTeachFile()
   Else
    'OpenTeachFile failed
    Message "Unable to open Teach File"
   End If   
End Sub

'A function is required to control visibility of dialog elements.
Function DialogHandler(ControlID$, Action%, SuppValue%)

    'Toggle visibility of custom dice elements.
    Select Case Action%
        Case 1 'Action% = 1 when the dialog is first called.
            DlgEnable "customGroup", 0

            DlgVisible "d20Check", 0
            DlgVisible "d20Text", 0
            DlgVisible "d20Qty", 0
            DlgEnable "d20Text", 0
            DlgEnable "d20Qty", 0

            DlgVisible "d12Check", 0
            DlgVisible "d12Text", 0
            DlgVisible "d12Qty", 0
            DlgEnable "d12Text", 0
            DlgEnable "d12Qty", 0

            DlgVisible "d10Check", 0
            DlgVisible "d10Text", 0
            DlgVisible "d10Qty", 0
            DlgEnable "d10Text", 0
            DlgEnable "d10Qty", 0

            DlgVisible "d8Check", 0
            DlgVisible "d8Text", 0
            DlgVisible "d8Qty", 0
            DlgEnable "d8Text", 0
            DlgEnable "d8Qty", 0

            DlgVisible "d6Check", 0
            DlgVisible "d6Text", 0
            DlgVisible "d6Qty", 0
            DlgEnable "d6Text", 0
            DlgEnable "d6Qty", 0

            DlgVisible "d4Check", 0
            DlgVisible "d4Text", 0
            DlgVisible "d4Qty", 0
            DlgEnable "d4Text", 0
            DlgEnable "d4Qty", 0
        Case 2 'Action% = 2 anytime there is an interaction with an element other than a TextBox or ComboBox.
            If ControlID$ = "custom" Then
                'If no 0 or 1 after, then toggles elements.
                DlgEnable "fullPoly"
                DlgEnable "polyNoD6"

                DlgEnable "customGroup"
               
                DlgVisible "d20Check"
                DlgVisible "d20Text"
                DlgVisible "d20Qty"

                DlgVisible "d12Check"
                DlgVisible "d12Text"
                DlgVisible "d12Qty"

                DlgVisible "d10Check"
                DlgVisible "d10Text"
                DlgVisible "d10Qty"

                DlgVisible "d8Check"
                DlgVisible "d8Text"
                DlgVisible "d8Qty"

                DlgVisible "d6Check"
                DlgVisible "d6Text"
                DlgVisible "d6Qty"

                DlgVisible "d4Check"
                DlgVisible "d4Text"
                DlgVisible "d4Qty"
            End If
            If ControlID$ = "d20Check" Then
                DlgEnable "d20Text"
                DlgEnable "d20Qty"
            End If
            If ControlID$ = "d12Check" Then
                DlgEnable "d12Text"
                DlgEnable "d12Qty"
            End If
            If ControlID$ = "d10Check" Then
                DlgEnable "d10Text"
                DlgEnable "d10Qty"
            End If
            If ControlID$ = "d8Check" Then
                DlgEnable "d8Text"
                DlgEnable "d8Qty"
            End If
            If ControlID$ = "d6Check" Then
                DlgEnable "d6Text"
                DlgEnable "d6Qty"
            End If
            If ControlID$ = "d4Check" Then
                DlgEnable "d4Text"
                DlgEnable "d4Qty"
            End If
            If ControlID$ = "ok" Then
                Exit Function 'By default, OK buton doesn't do anything.
            End If
    End Select
End Function



138
General Mach Discussion / Re: tool change stoped working
« on: April 04, 2023, 02:34:53 PM »
don't know witch motion controler you are using, but it look's like
the unclamped signal from your spindle, however this is made,
is not working.

a bit more info about the installed hardware would be helpful.

139
General Mach Discussion / Re: tool change stoped working
« on: April 04, 2023, 09:23:24 AM »

140
General Mach Discussion / Re: tool change stoped working
« on: April 04, 2023, 02:51:33 AM »