Contouring mode: G64 P-
-----------------------
The P-number for G64 P- is a distance.  This enables the "naive cam
detector" and enables blending with a tolerance.

Naive cam detector
==================
Successive G1 moves that involve only the XYZ axes that deviate less
than P- from a straight line are merged into a single straight line.
This merged movement replaces the individual G1 movements for the
purposes of blending with tolerance.

Blending with tolerance
=======================
Between successive movements, the controlled point will pass no more
than P- from the actual endpoints of the movements.  The controlled
point will touch at least one point on each movement.  The machine will
never move at such a speed that it cannot come to an exact stop at the
end of the current movement (or next movement, if you pause when
blending has already started)



Contouring mode: G64 P0
-----------------------
If you program G64 P0, or G64 without a P-value specified, then you get
just blending.    The naive cam detector is not enabled.

Blending without tolerance
==========================
The controlled point will touch each specified movement at at least one
point.  The machine will never move at such a speed that it cannot come
to an exact stop at the end of the current movement (or next movement,
if you pause when blending has already started).  The distance from the
end point of the move is as large as it needs to be to keep up the best
contouring feed.



Make sure moves are "long enough"
---------------------------------
Principally because of the rule that "the machine will never move at
such a speed that it cannot come to a complete stop at the end of the
current movement", there is a minimum movement length that will allow
the machine to keep up a requested feed rate with a given acceleration
setting.

The acceleration and deceleration phase each use half the inifile
MAX_ACCELERATION.  In a blend that is an exact reversal, this causes the
total axis acceleration to equal the inifile MAX_ACCELERATION.  In other
cases, the actual machine acceleration is somewhat less than the inifile
acceleration

To keep up feed rate, the move must be longer than the distance it takes
to accelerate from 0 to the desired feed rate and then stop again.
Using A as 1/2 the inifile MAX_ACCELERATION and F as the feed rate
*in units per second*, the acceleration time is
    ta =  F/A
and the acceleration distance is
    da = (1/2) * F * ta
the deceleration time and distance are the same, making the critical
distance
    d = da + dd = 2*da = F^2 / A.

For example, for a feed rate of 1 inch per second and an acceleration of
10 inch/sec^2, the critical distance is 1^2 / 10 = .1 inch.  For a feed
rate of .5 inch per second, the critical distance is .5^2 / 10 = .025
inch.

Jeff

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to