On Tue, Jul 17, 2007 at 11:48:44PM -0500, Jon Elson wrote:
>
> Chris Radek wrote:
>
> > I thought I should mention that I merged my nine-axis changes into
> > the cvs trunk.  We now have fully coordinated motion in six linear
> > axes (UVWXYZ) and three rotary (ABC).
>
> Cool!  DAMN cool!
> 
> One of the quirks in the old days was how to program the rate of 
> these mixed-axes moves.  For instance, in an XYA move, it is 
> easy to compute the feedrate of the XY part, but without knowing 
> the radius the cutter is at from the center of the A axis, you 
> can't add that component to the total velocity.  How is this 
> handled now?

You jump right to the hard questions Jon!

This is the same old problem with G94 (feed in units per minute) mode
being inappropriate when EMC doesn't know what axis motion corresponds
to a "unit" (inch or mm) on the part.

As you already know RS274NGC says for coordinated motion for linear
and rotary axes together using G94 mode, the F rate is units per
minute in the cartesian (XYZ) axes only, and the rotary (ABC) axes
move so as to start and stop in a coordinated fashion.  For one thing
this means that if the rotary is slow, the cartesian move is slowed
down to stay coordinated with it.

I've done the same thing for UVW and I'll try to describe it as
precisely as possible:

    If any of XYZ are moving, F is units per minute in the XYZ
    cartesian system, and all other axes (UVWABC) move so as to start
    and stop in a coordinated fashion.

    Otherwise:

    If any of UVW are moving, F is units per minute in the UVW
    cartesian system, and all other axes (ABC) move so as to start and
    stop in a coordinated fashion.

    Otherwise:

    The move is pure rotary motion and the F word is in rotary units
    instead of linear, in the ABC (pseudo)cartesian system, as
    originally described in NGC 2.1.2.5(B,C) :
    http://www.linuxcnc.org/handbook/RS274NGC_3/RS274NGC_32a.html#1010695


I feel like G94 (feed in units per minute) only really makes intuitive
sense when moving in just one cartesian system.  All other types of
(cutting) motion ought to be programmed in G93 (inverse time mode),
and I've been told that this is standard practice.  But that being
said, this seemed like a sensible behavior for G94 mode.  For instance
if you move (G0) the knee of a mill for gross positioning and then cut
with the quill, or you use the knee to drill a deep hole (G1), you'll
never notice and it will be entirely natural.

If you move the knee and quill together to drill a deeper hole (G94 G1
Z-6 W-6 F8) you DO need to understand that you won't have 8 units per
minute at the tooltip with respect to the work (in this example you'll
get twice that).

Chris


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to