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
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-users