Machsupport Forum
Mach Discussion => General Mach Discussion => Topic started by: mikemill on September 04, 2011, 06:52:49 AM
-
I have a new eight-station tool turret I wish to add to my Orac lathe, whilst I am competent at electronics and wiring I know zero about programming.
I think I need a macro to operate the turret!! The instructions that came with the turret says it requires an input pulse of 0v for two seconds to operate, (that is when normally 5v) and a 5v output pulse for 4 seconds to show status (when normally 0v)
I also need advise on configuring to Mach, I am guessing setting up Ports and Pins. I fitted a CNCfor PC breakout board to operate the lathe.
I assume the G code instruction would be M6 T1 to 8
Any advice and help would be appreciated.
Thanks
Mike
-
Have you tried a search since there are numerous posts about what you are asking about.
RICH
-
Do you have any more info on the turret as I would imaging it needs a bit more than just a 2s of 0v unless it just indexes one station at a time?
To call a tool in Turn there is no need for the M6 although you can use if you wish, the Tool call however is TXXYY where XX is the tool number and YY is the offset. For example T0101 would be tool 1 offset 1, T0802 would be tool 8 offset 2. Normally you would have the tool number and offset the same but if you have more tools that you can put in the stations you can set them all up and thus call them without having to reset the offsets. On my lathe I have a front and a rear turret both have 6 positions so I have T01 to 12 but offsets go up to 99 depending which tool is in the slot, see screenshot below of my tool table page showing different tools for different offset numbers.
Hood
-
Rich
Yes I have searched the site, but reading some of the posts I concluded not all turrets work in the same way, so I assume you need a tailored programme for individual turrets!!
Hood
That’s all the info I have, I quoted from the instructions.
-
Do you have a link or a pdf you can attach?
Hood
-
Here are copies of manual
-
Ok looks like it does just rotate one position at a time and the feedback is only to tell the control it is stationary and has indexed.
I would much prefer to see a position indicator myself so that the actual position would be fed back to Mach to confirm which tool is in position.
Ok I am not the best at VB but what your macro is going to need is to look at the tool number DRO and increment that DRO each time you call a tool and also cut the 5v signal for 2 seconds then wait for he 0v in position before it again compares the DROs to see if you are at the correct tool, if not then move again etc, once there then it would exit the macro and Mach would continue.
Is there any way you could fit 4 switches so that each tool position could be monitored depending on the state of the switches? It would I think be much better as no chance of the wrong tool being in position when Mach is told to continue.
Hood
-
do you have a link to the manufacturer of the toolpost
-
I bought the turret on ebay around six monthes ago, as origonal Denford turrets go for silly money this one was very reasonable, manufactured by a one man band. I have tried to contact him but no joy.
Regarding the additional position switches, could we try to get it working and see how it goes and if it is not happy I could then attempt to add switches
Thanks
Mike
-
i think i remember that one, is it red. I've tried to find his details but with no joy, but i'm sure he's posted on here or mycncuk.
-
Yes it is red, have just wired it up and it works ok in manual mode.
-
Not got much time and as previously said I am crap at VB, will have a go sometime if no one else helps out but hopefully someone will. I know what needs done but how to put it in VB would take me a lot of trial and error.
Hood
-
Thanks Hood, is there anyone else who could help with this macro, or adapt an existing one?
Mike
-
Brian did a macro for an Emco turret posted Oct 2009, is it possible to alter this macro to suit my turret?
Mike
-
Dont know, got a link to it? I have been trying a bit but as VB is a weak point I have not got very far I am afraid :(
Hood
-
I may have a macro that can be adapted to suit this.
-
Any help at all would be appriciated.
Mike
-
Found this in search, entered 'Emco turret' there are several
on: March 04, 2008, 01:06:52 PM
Started by ToadSprockett, Message by tom_emagRelevance: 3.5%
Thanks, that works great. Now that I got that going I find that I can't seem to update the current tool number.
probably wrong format for the command.
Other then that it works fine...
This is on a little EMCO TurnPC lathe with a 6 position tool changer that returns an index and a pulse per tool with
a single drive signal that causes forward rotation and when dropped reverses rotation to index the tool.
My M6 program is:
---------------------------------------------------------------------------------------------------------------
current = GetCurrentTool()
newtool = GetSelectedTool()
If current=0 Then 'syncs tool turret
ActivateSignal(OUTPUT4) 'start turret moving
While IsActive(INPUT2)=false 'wait for tool index
Wend
DeactivateSignal(OUTPUT4) 'reverse tool turret to index
SetCurrentTool(1) '<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< is SetCurrentTool(x) the correct format?
current=1 'this initiallizes the tool changer on startup
End If
If current = newtool Then
Exit Sub
End If
If newtool>6 Or newtool<1 Then
Message("Next Tool out of range")
Code "M30"
End
End If
Code "G53 X-.1" 'position X to safe area
While IsMoving ()
Wend
'6 position turret - calc next tool count
movedist = (newtool - current) + 1
If movedist <1 Then movedist = movedist + 6
ActivateSignal(OUTPUT4) 'start turret moving
For I=1 To movedist
While IsActive(INPUT1)=false
Wend
While IsActive(INPUT1)=true
Wend
Next I
DeactivateSignal( OUTPUT4 ) 'stop and index turret
' While IsActive(INPUT1) = true
' Wend
SetCurrentTool(newtool) '<<<<<<<<<<<<<<<<< is SetCurrentTool(x) the correct format?
Mike
-
you don't have any positional sensors on your toolpost though
-
No, if you look at the manual above it sends a positional output!!
Thanks
Mike
-
Here are some macro's I found that are designed for Orac 8 station turret, would this work for my one or could it be adapted?
Thanks
Mike
LinkBack Thread Tools Search this Thread Rate Thread Display Modes
#1 07-07-2008, 09:26 PM
shaftalignment Join Date: Mar 2006
Location: USA
Posts: 13
toolchanger macro doesn't work!
--------------------------------------------------------------------------------
Hi Everyone,
I have an 8 position Denford toolchanger that I am trying to make
work with Mach3.
The toolchanger has a dc motor that runs on 24vdc forward for a
toolchange then reverses on 12vdc to lockup in position. It stays
running in reverse at 12vdc to maintain a positive lock. It has 3
opto sensors that read a slotted disc to determine the tool position
and when to reverse. I have provided 5vdc to the sensors and pinned
them to input 1, 2, & 3. The dc motor has a DPDT Relay with 24vdc
applied to the normally open contacts (polarity for forward motion),
12vdc applied to the normally closed contacts (polarity for reverse)
and the motor leads connected to the common poles on the relay. the
relay is configured to Output 3 in Mach.
I can run the toolchanger manually thru mach by toggling output 3 on
and off. All the input LEDs turn on and off properly in mach. But my
M6 macro doesn't work. I know very little (nothing) about vbscript
and the macro is something I pieced together from others on this site
and another forum. I would greatly appreciate any help from the
experts on this site.
Here is the macro I have tried:
Tool = GetSelectedTool()
OldTool = GetCurrentTool()
NewTool = Tool
MaxToolNum = 8 'Max number of tools for the changer
While NewTool > MaxToolNum
NewTool = Question ("Enter New Tool Number up to " & MaxToolNum)
Wend
Call StartTool
While SelectedTool <> NewTool
Call CheckPins
Wend
SelectedTool = NewTool
Call StopTool
SetCurrentTool(NewTool )
'//// Subroutines /////////
Sub StartTool
ActivateSignal(Output3)
'Code "G4 P4.0" 'Wait for the tool to rotate past the sensor
While Ismoving()
Wend
End Sub
Sub CheckPins
If IsActive(Input3) And Not IsActive(Input2) And Not IsActive
(Input1) Then
NewTool = 1
End If
If Not IsActive(Input3) And Not IsActive(Input2) And Not IsActive
(Input1) Then
NewTool = 2
End If
If Not IsActive(Input3) And Not IsActive(Input2) And IsActive
(Input1) Then
NewTool = 3
End If
If IsActive(Input3) And Not IsActive(Input2) And IsActive(Input1)
Then
NewTool = 4
End If
If IsActive(Input3) And IsActive(Input2) And IsActive(Input1) Then
NewTool = 5
End If
If Not IsActive(Input3) And IsActive(Input2) And IsActive(Input1)
Then
NewTool = 6
End If
If Not IsActive(Input3) And IsActive(Input2) And Not IsActive
(Input1) Then
NewTool = 7
End If
If IsActive(Input3) And IsActive(Input2) And Not IsActive(Input1)
Then
NewTool = 8
End If
End Sub
Sub Stoptool
DeActivateSignal(Output3)
End Sub
shaftalignment
View Public Profile
Send a private message to shaftalignment
Find all posts by shaftalignment
Add shaftalignment to Your Contacts
#2 07-11-2008, 07:39 AM
PoppaBear10 Join Date: Feb 2005
Location: usa
Posts: 472
Denford Lathe ATC M6 for Mach3 Turn
--------------------------------------------------------------------------------
Here you go, this will do it for you.........
Remember Lathe tools are called from the code/mdi T0606 M6 (for tool 6, offset 6) then M6.
'M6Start.M1s
Sub Main()
NewTool = GetSelectedTool()
OldTool = GetCurrentTool()
MaxToolNum = 8 'Max number of tools for the changer
While NewTool > MaxToolNum
NewTool = Question ("Enter New Tool Number up to " & MaxToolNum)
Wend
If NewTool = OldTool Or NewTool = 0 Then
Exit Sub
End If
If OldTool <> NewTool Then
While Slot <> NewTool
ActivateSignal(OUTPUT3) 'start rotating forward
If IsActive(INPUT3) And Not IsActive(INPUT2) And Not IsActive (INPUT1) Then
Slot = 1
End If
If Not IsActive(INPUT3) And Not IsActive(INPUT2) And Not IsActive (INPUT1) Then
Slot = 2
End If
If Not IsActive(INPUT3) And Not IsActive(INPUT2) And IsActive (INPUT1) Then
Slot = 3
End If
If IsActive(INPUT3) And Not IsActive(INPUT2) And IsActive(INPUT1) Then
Slot = 4
End If
If IsActive(INPUT3) And IsActive(INPUT2) And IsActive(INPUT1) Then
Slot = 5
End If
If Not IsActive(INPUT3) And IsActive(INPUT2) And IsActive(INPUT1) Then
Slot = 6
End If
If Not IsActive(INPUT3) And IsActive(INPUT2) And Not IsActive (INPUT1) Then
Slot = 7
End If
If IsActive(INPUT3) And IsActive(INPUT2) And Not IsActive(INPUT1) Then
Slot = 8
End If
Wend
Sleep(100)
DeActivateSignal(OUTPUT3) 'stop rotating forward, rotate backward now
End If
SetOEMDRO(824,NewTool)
Code "G4 P2" 'A pause time of 2 seconds to give your reverse turret time to seat
While IsMoving
Wend
End Sub
Main
'have fun,
'Scott
__________________
Commercial Mach3: Screens (regular and flash), Wizards, Plug-ins, Brains, Controls, PLCs, Macros, ATC's, machine design/build, retrofit/repair, and EMC2. http://www.FusionCNC.com
-
The big problem with your toolchanger is it does not have positional feedback and also it requires to index one tool at a time and the only feedback is that an index has completed.
Because of that the macro would have to look at the current tool and the commanded tool and work out how many indexes are required and then do however many indexes it takes waiting each time for the index complete signal before it starts the next.
For someone good at VB it should not be too much of a problem but afraid for me its would take a lot of thought and trial and error, sorry.
Hood
-
Reading through the many posts on ATC's they all seem to have a positioning sensor , optical or hall effect if I could find a way of fitting a sensor would it help in writing a macro to control the beast?
Mike
-
Most have position feedback but some have steppers which also makes things easy as you command an axis move. I like to have position feedback as it means it is sort of closed loop where just using a stepper is open loop.
It should make it easier to write the macro as you will not need to caculate the amount of times needed to index to the selected tool as all you will need to watch for is the position signal. For an 8 tool turret you would need 4 sensors so that each position can be located. You could get away with just 3 but that would mean 1 position has all 3 signals off and could be a source of trouble.
Hood
-
I am away for a week, will attempt to fit sensor on return and report back
Mike