[Home]History of XmplPaths

LinuxCNCKnowledgeBase | RecentChanges | PageIndex | Preferences | LinuxCNC.org

Revision 2 . . March 9, 2006 11:11 pm by Tomp-Tag
Revision 1 . . March 9, 2006 10:30 pm by Tomp-Tag

Difference (from prior major revision) (no other diffs)

Changed: 1,12c1,6
Example of a granular pyramid form,
aka 'square vector orbit' CCW path

As each motion is completed,
an inverse of that motion is placed on a 'reverse path stack'.

This long winded list of the code shows a path aborted in N190,
and an 'all clear' signal in N120

break out the quadrule paper and pencils and watch it...
*Example of a granular pyramid form, aka 'square vector orbit' CCW path

As each motion is completed, an inverse of that motion is placed on a 'reverse path stack'.

break out your quadrule paper and pencil and ture it...

Added: 43a38,88

so, if the program was aborted in the midst of line 190,
the 'trick' is to run the reverse program that was auto built.

the example shows an 'all clear ( ok to proceed ) occur in N120
this cause the return program to end,
and we'll want to continue, with the original program, but beginning at N190
(need to automate seeting the 'run mark' and knowing where to set it )

the above idea retraces the path, and is suitable for wire edm
in wire edm even arcs could be automaticly translated to lots of linear moves (as seg q would)
*Sink and Hold drill dont require path reversal

they 'run-way' to a safe place.
It may be on the path, but it's a static position.
It's like sky-blue in hopscotch.
No matter where you are in the program, its where you run away to.

Original Pgm Reverse Pgm (abort was in any line) Return Pgm ( all clear in N120 )
N010 G90 N999 G90 N998 G90
N020 G00 X0.000 Y0.000 Z0.000 N180 G00 X0.000 Y0.000 Z0.000 N130 goto line WhereverTheAbortOccured
N030 G01 X0.010 Y0.010 Z-0.010 N010 M02
N040 G01 X0.020 Y0.020 Z-0.020 just run away to top of pyramid just return to the line that was aborted
or wherever 'sky blue' is at the postion of abort
N050 G01 X0.010 Y0.020 Z-0.020 (sky blue is a safe place) use the probe routines to capture the position
N060 G01 X0.000 Y0.020 Z-0.020 also record the point where expand this for jump flushing
N070 G01 X-0.010 Y0.020 Z-0.020 the abort occurred
...as before...
N230 M02

*Marking Safe Places

we might use a code to mark a pose as a safe place ( a waypoint )
allow differnt safe places during different parts of the program
N010 G90
N012 G00 Z 2.000 ; get high over clamps
N014 G00 X 0.000 Y 0.000 ; get over the start position
N016 G00 Z 0.04 M101 ; get close and mark this as a safe place to retract to
N018 M36 ; turn on EDM power and change to new feedrate mode
N020 G00 Z-0.990 M101 ; mark this as the 1st position to run towards when things get bad, old 1st is 2nd
N030 G01 X 0.010 Y 0.010 Z-1.000
N040 G01 X 0.020 Y 0.020
N050 G01 X 0.010
N060 G01 X 0.000 ; if things get bad here, run to posN020,
N070 G01 X-0.010 ; if we arrive at posN020 and it's still bad, go towards posN016
; if posN016 is arrived and things are still bad, give up! no place to run to!
...as before...
N230 M02

LinuxCNCKnowledgeBase | RecentChanges | PageIndex | Preferences | LinuxCNC.org
Published under a Creative Commons License