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