Andrew Bailey wrote:
> I have read the message about a custom toolchanger:
> 
> http://sourceforge.net/mailarchive/message.php?msg_id=47E551A7.7040908%40sover.net
> 
> We plan to implement a toolchanger by moving the spindle to a fixed
> location and then use the spindle motor at low rpm to perform the
> toolchange using a solenoid to secure the toolchanger fixed to the
> spindle. The tools would be in a linear rack with springs in the base.
> 
> 
> The procedure would be something like this:
> 
> Receive change command:
> 
> net tool-change iocontrol.0.tool-change => myprogram.change
> net tool-number iocontrol.0.tool-prep-number => myprogram.number
> 
> If there is no current tool in the spindle:
> 
> 1 Lookup the position of the tool
> 2 Perform a linear move the spindle in z to a safe position
> 3 Perform a linear move the spindle in x and y to the position of the tool
> 4 Perform a linear move in z to the position of the tool
> 5 Turn on Solenoid
> 6 Rotate spindle until torque limit reached, tool now gripped
> 7 reverse of movements 4,3,2
> 
> Inform emc that the tool has been prepared
> 
> net tool-changed iocontrol.0.tool-changed <= myprogram.changed
> 
> What does this line do?
> net tool-prepare-loopback iocontrol.0.tool-prepare => 
> iocontrol.0.tool-prepared
>
 > Do I need to set this using the program or is the loopback setting ok.
 >

EMC (and many other controls) let you select the next tool before you 
issue the actual tool change.  The simplest toolchange in EMC g-code is 
"TxM6", where x is the number of the tool that you want.  That line of 
g-code says "select tool x, then insert that tool in the spindle".  Some 
machines have many tools, and it may take a long time to rotate the tool 
carrier to the proper tool.  To minimize wasted time, you can do the 
following:

T1M6  (select tool 1 and load it)
G1  (start cutting with tool 1)
T2  (select tool 2)
G1  (continue cutting with tool 1)
G2  (more cutting)
... (many more lines of cutting, etc)
G1  (finish cutting with tool 1)
M6  (load tool 2 that was selected many lines ago)
T3  (select the next tool)
G1  (start cutting tool 2)
etc.

That allows you to overlap the time it takes to retrieve the new tool 
with the cutting time of the current tool.

When you issue Tx, EMC sends the tool number 'x' to pin tool-prep-number 
and sets pin tool-prepare true.  When you issue M6, EMC first waits 
until pin tool-prepared is true, then it sets pin tool-change true, and 
waits until pin tool-changed goes true.

For machines that don't attempt to overlap the tool selection process 
with cutting time, or that don't have a 'tool selection process', the 
tool-prepare-loopback signal tells EMC to immediately proceed with the 
tool change when you issue M6.

> 
> How can you override the emc g code control of the motion and send
> these custom linear movement commands, temporarily?

That is difficult at the moment.  We have been unable to come up with a 
clean and simple way to allow toolchange logic to control machine 
motion.  This has been discussed in the past, because quite a few 
machines use the kind of toolchanger where each tool is stored in a 
different place, and the machine axes are used to move to the proper 
place for each tool.

> 
> I have looked at the file tp.c, but am not sure how to call it or
> whether calling it will interfere with emc motion control.

You don't want to call tp.c for this.

Some of the ideas considered for your kind of toolchanger have involved 
g-code subroutines, since they can control both motion and logic.  Other 
possibilities including writing the toolchanger logic in classicladder, 
and providing hooks to allow classicladder to issue motion commands 
during a toolchange.  All of the methods discussed so far have had one 
or more serious problems, and nobody has been sufficiently motivated to 
work out the details.  (In part because none of the active developers 
has a machine with such a toolchanger.)  Perhaps your project will be an 
opportunity to work out a solution.

> 
> Hope someone can help out.
> 
> Any code we write will be contributed back to the community.
> 
> Thanks in advance.

Regards,

John Kasunich


-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to