Stuart Stevenson wrote:
> Gentlemen,
>     Given:
>         5 different machines with EMC controls - 3 each 5 axis and 2 each 3 
> axis
>         4 different machine configurations - each of the 5 axis mills
> are a different configuration
>                                                                   the
> 2 three axis mills are the same configuration
>         5 sets of tools in tool changers - no master tool list in the shop
>         2 nc programs - one 5 axis program and one 3 axis program
>         each machines motion limits will allow all the machines to run
> the 3 axis programs
>         each of the 5 axis machines motion limits will allow each of
> the 5 axis machines to run the 5 axis program
> 
>     Proposed abstractions:
>         tool list abstraction - A given tool (ie: nc spot drill) has a
> small chance to be in the too1 1 position on 3 of the 5 mills.
>                                           A lot of time is spent
> changing the program's tool numbers to match what is in the machine.
>                                           A percentage of scrap is
> caused by improper editing.
>                                           A table to match tool
> numbers in the program with tool numbers in the machine would allow
> the editing of only the table. The matching function could be tool
> numbers but could also be tool description or some other feature.
> 
>         axis abstraction - some 5 axis mills have AB rotary axes
>                                      some 5 axis mills have AC rotary axes
>                                      some 5 axis mills have BC rotary axes
>                                      to run a program with BC axis
> commands on a mill with AB rotary axes a substitution will have to be
> made.
>                                      a table in the control to allow
> this substitution without changing the program would eliminate an
> error source because any time a program is edited an error can be
> introduced.
> thoughts?

The axis substitution hurts my head, and I'm not even going to think 
about it.

The tool substitution is more interesting.  It ls also related to 
something that we talked about quite a bit at the CNC workshop last 
year, in relation to the Mazak toolchanger.

The fastest way to do a tool change is to put the old tool into the 
turret slot that you just took the new tool out of.  However, when you 
do that, the mapping between turret slots and tools get scrambled. 
Instead, we wrote the (ladder + HAL) logic for the Mazak so that once it 
removed the new tool from the turret slot, it would index the turret to 
the slot associated with the old tool, and return the old tool to that slot.

The indexing rarely affects the chip-to-chip time, at least on the 
Mazak, because spindle orient takes a long time on that machine, and 
masks the time needed to index the turret.  (The spindle orient time is 
another story altogether, having to do with gearbox backlash and lack of 
a tach or encoder on the spindle motor.)

At the time, we were discussing the idea of separating the concept of 
"tool" from "turret slot".  What you are describing is the same idea.

If you separate those two concepts, then you need to keep track of both.
Especially if you start putting old tools back into the slot that the 
new tool came from.  The scary part is what happens when you power down 
the machine (either at the end of the day, or if there is a power 
failure or something).  If you've been running parts and doing tool 
changes all day, the tools could be _anywhere_.  The list of what tool 
is in what slot needs to be non-volatile.  And there needs to be a way 
to tell EMC if someone has manually shifted tools around as well.

Obviously we didn't solve any of those issues at the workshop.  We 
decided that we would always put the old tool in the slot that it came 
from, and that we would always load tool zero before shutting down.  On 
power up, EMC assumes that tool zero is in the spindle.

I would be worth thinking about this for the version 2.3 release.

I'm sure there are commercial machines that put the old tool in the slot 
that was just vacated by the new tool.  Does anyone know how the control 
stores the tool-to-slot mapping information?  Is it in g-code variables 
(the .var file)?

Regards,

John Kasunich

-------------------------------------------------------------------------
SF.Net email is sponsored by: 
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Emc-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to