What signals can cause a move instruction to stall indefinitely?

More
30 Aug 2022 23:51 #250816 by Jonathan_H

Keyboard noise issues?

Have you tried launching LinuxCNC from the command line to see if any
messages are printed?

I don't know how a keyboard noise issue could cause any of this, the same thing will happen if I write a gcode program with those instructions.

I can try starting it from the command line right now
 

Please Log in or Create an account to join the conversation.

More
30 Aug 2022 23:57 #250818 by Jonathan_H
No error message on the terminal if I launch it from the command line, it just stalls until I stop the interpreter and run the command again.

Please Log in or Create an account to join the conversation.

More
31 Aug 2022 01:20 - 31 Aug 2022 01:21 #250827 by PCW
It might help to

1. copy the LinuxCNC status report (when you get a hang) to a file and post it here

(in axis: Machine --> Show LinuxCNC Status --> copy --> paste into an editor)

2. Turn on debugging: (in axis: Machine Set Debug Level)
(the messages will be logged to the terminal where LinuxCNC was launched)
Last edit: 31 Aug 2022 01:21 by PCW.

Please Log in or Create an account to join the conversation.

More
31 Aug 2022 01:38 #250829 by Jonathan_H
Here are the status in a stall, and the console output before it 
Attachments:

Please Log in or Create an account to join the conversation.

More
31 Aug 2022 02:31 #250834 by cmorley
Is this with master branch?
I have a theory. In this branch the internal spindle on/off message was separated from the spindle speed message. It could be that the spindle at speed logic is looking at spindle speed rather then spindle state to decide to wait.
You might test this by forcing the spindle at speed pin true when its stalled to see if it starts to move.

Chris

Please Log in or Create an account to join the conversation.

More
31 Aug 2022 03:20 #250835 by Jonathan_H
I didn’t set it up, by I think it is the master branch.
Note that the move commands while the spindle is running (so long as you set a speed where the spindle actually turns) are fine, as are move coming after the spindle is stopped, IF there were moves while the spindle was running.
The stall comes if you start the spindle, then stop it (no moves in between), then the next move will stall.

Please Log in or Create an account to join the conversation.

More
31 Aug 2022 03:48 #250836 by cmorley
master branch id commonly called 2.9 if that rings a bell.

That pattern makes sense to my hunch.
Previously linuxcnc kept track of the spindle on/off state by looking at the spindle speed command - 0 is off anything else on.
Now spindle speed and spindle state is separate. You can set the spindle speed with S and turn the spindle on and off with M codes without setting the S each time.

Now if the wait-for-spindle-at-speed logic is still looking at just spindle speed rather then both spindle speed and spindle state, then if it see the spindle speed set to something other then 0 it will wait till the signal spindle-at-speed is true. Which will never come as the spindle is actual off.
but you should be able to fool it by setting the spindle-at-speed pin always true.
If it moves after that then I'm on the right track.

Chris

Please Log in or Create an account to join the conversation.

More
31 Aug 2022 04:23 #250837 by Jonathan_H
Hmm, I think what we’re running is 2.8.3
I have to go in to the hackspace later today because I foolishly left my laptop power supply there, so while I’m there I can try your test and any others that anyone wants to suggest.

Please Log in or Create an account to join the conversation.

More
31 Aug 2022 14:13 #250861 by Jonathan_H
@cmorley
I couldn’t work out how to force the signal (I’m still pretty newto this stuff).

Since you hypothesis made some sense for my second issue, which is stalling when the spindle speed is set too low, I tried setting the spindle OUTPUT_MAX_LIMIT to 250rpm, though I’m not sure if that is working as advertised. I tried looking at the physical pin voltage to the vfd speed input but that’s currently not possible because in doing so I discovered that just lightly touching that contact on the mesa board with an unconnected multimeter probe causes the vfd frequency to jump up!

Still the net result seems to be that apart from the corner case of S0, which still results in a stall, setting the min limit to a value that actually moves the spindle seems to fix that particular issue… or at least work around it.

However I don’t see how your hypothesis relates to my first issue, which is a stall when the spindle has been stopped with an M5 instruction, so there is no speed to reach. As previously mentioned, whether or not it stalls at that point is dependent on whether the carriage was moved when it was spinning

Please Log in or Create an account to join the conversation.

More
31 Aug 2022 14:16 #250862 by Jonathan_H

Please Log in or Create an account to join the conversation.

Time to create page: 0.380 seconds
Powered by Kunena Forum