On Monday 23 January 2017 10:43:21 John Kasunich wrote:

> On Sat, Jan 21, 2017, at 04:28 AM, John Morris wrote:
> > I also thought of these three possible intended scenarios pointed
> > out in this thread, and can think of valid arguments for each,
> > briefly:
> >
> > 1. The manual says it's an error, and it's up to the user to avoid
> > it (status quo)
> > 2. The controller detects the condition, and informs the user
> > 3. The controller detects the condition, and compensates by
> > adjusting spindle speed
>
> #3 is impossible for machines where spindle speed is not controlled by
> LCNC. For example my lathe has only M3/M5.  Single phase motor
> controlled by contactor, with manually changed belts to the spindle.
>
> #2 is possible during actual program execution - can't do G33 without
> a spindle encoder, and if you have an encoder, you have spindle speed
> feedback and can decide if the speed is OK.

I'd like to see that be a show stopper in the same vein as an arc that 
doesn't compute.  In this case I'd compare it with a factored velocity, 
like 110% of what the encoder says to make double sure the accel time to 
z speed really does have time to git-r-done.

I can imagine, but haven't tried to code it in hal yet, that we might be 
able to block the index while the spindle is decelerating to a safe 
speed, then enable the index path for the duration of that cut, and 
release it back to the commanded speed. But would that not mean that hal 
needs access to both the spindle rpm and the tpi the g33 needs?  To be 
investigated once I get the noise under control.  Its getting into the 
spi buss too. I got a joint error where it reported the position of x, 
moving at zero speed, was suddenly 10000 feet from where it was supposed 
to be.  That can only be gross interference with the spi bus IMO.

> But #2 may not be possible during generation of the preview.  During
> preview the spindle is not running.  The only thing LCNC can do is
> assume that the spindle speed will be whatever the most recent S-word
> specified. But on a machine like mine, the S-word doesn't actually
> control anything. IF the programmer is disciplined enough, he can use
> the S-word to tell LCNC how fast he intends to run the spindle.  But
> LCNC can't rely on that being the actual spindle speed.

The catch-22. :) In your case & similar fixed speed no encoder situations 
John, could you do an s number in your gcode 10% faster than the 
nameplate speed for that belt position?

Otoh, I see this is becoming quite complex, trying to cover ALL 
possibilities. Trying to save us from our own idiocy is frequently an 
arduous task.  So how about a halui button to check the file for 
violations based on the s-word value at the time the g33/G76 code was 
encountered in the file?  Perhaps that would be easier?

Cheers, Gene Heskett
-- 
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Genes Web page <http://geneslinuxbox.net:6309/gene>

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to