John Kasunich pravi:
> I already wrote half a book last night, and I'm not going to do it
> again today.  Suffice it to say that "Run from Line" is another one
> of those things that is incredibly hard to do in a correctly in all
> cases.  If a program uses nothing but G0, G1, G2, G3, then it is
> relatively easy.  But when you start using fixture offsets, automatic
> tool length measurement, variables, loops, etc, it gets very tricky.
>
> I'll bet anyone a pint of their favorite beer that for any suggested
> implementation of run-from-line, I can come up with g-code that breaks
> it.  If we ever get to the point when I have to buy someone a beer,
> then we finally have a design spec that is worthy of the name, and
> that can be used to actually code up the feature.
>
> Regards,
>
> John Kasunich
>
>   
Just that.
And saddly very true.
The run from line is not possible to implement.
As John says if Only G0,1,2,3 was in program then we realy don't need to 
scan all data before. Just pick last XYZ... and reuse it. Or if you stop 
machine and save with G30.1 and do whatever you want and after that 
execute G30 the machine restore end point and just run from (that 
interupted line) again wil do just right. (if you use I and J instead R 
in G2,3 ).
If your program has something more (subs, canned....) the solution can 
reach inpossible to implement point.
Just imagine that program use touch probe to measure something and store 
to variable. And after pause the program scans again file until start 
from here line come. How to store correct value in variable if machine 
should not move !

So stop thinking in that way. This is just time eater. Instead writting 
long post the beter way is to make some constructive decision. (or even 
solution)

As I know the three real event are in interest and many not real 
inportant wishes.

And I think we should focus on this three event's

1. Swarf removal
    Need to pause machine and jog tool out of part, clean swarf, resume 
position and resume operation. (this should be not to hard to implement 
Just JOG is needed)
   
2. Tool change
    Manual tool change need to jog and to make TouchOff. As interpreter 
stops already at M6 I think this is not so hard to do too as queue is 
stoped by M6)

3. Tool change when broken
    Need to pause machine, Jog and TouchOff. This seem's to be hardest 
to implement's as machine is probably stoped within line. Touch Off is 
queue problem. (or not?)

So two of option should be easy to implement. the other 33% is harder. 
So let's make this two operational. This wil make 66% people happier and 
33% still waiting.

I'm not studied queue operaton but I wonder how is managed.
Is there are all coordinates in machine coordinate? If yes then TouchOff 
need to clean queue. If not then program can resume in that queue when 
resume is pressed. And this is pointing me to idea to have two queues. 
One main and one for operations under break.
Eg when hitting PAUSE all machine offsets/modals/positions are saved.
The queue is replaced
the all motion needed is done then
when resume is hitted
machine restore previous queue
restore all saved data
restore position
and continue queue operation.

Slavko.


------------------------------------------------------------------------------

_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to