Pause, Stop, and Go To Functionality

I working on my first “bigger” project with Maslow which has been great learning experience. I’ve had a few issues with loss of position / chain skipping all of which have been solved by better attachment methods - tightening screws, thicker bungees, more zip ties etc. Each time this happens though one must pause or stop the system and use the “Go To” functionality on Ground Control. I believe that there might be some software issues with these functions but I wanted to double check my understanding on how these work first. Input would be appreciated.

Pause Button: I believe this should pause but hold x,y, and z axis coordinates as well as hold the current gcode line number.

What I’m seeing: Sometimes it pauses with a roughly 20 sec delay but most of the time it doesn’t do anything.

Go To: I believe once the line number is entered one should push play and the machine will move to this point and start from this point.

What I’m seeing: Sometimes this works as described above. But I have seen other scenarios often:

-The z axis doesn’t raise before moving to the point. See pic below.
-If the z axis has been raised, Maslow moves to the point however and starts without lowering the z.
-Nothing happens when I hit play (no movement with any axis). This is the most common issue I have with Go To.

I should note that with the issues I did verify that all motors and connection were working by manually moving all motors. One last comment - I’m not sure what the in/mm selection does on the “Go To” pop up screen.

Any help on this would be much appreciated! Thanks!

My experience is… the Pause Button, once pressed, finishes the line of gcode that the machine is currently on, then pauses and makes no change to the z-axis or any other axis. If you are cutting an arc or near the end of a the current line; the machine will pause pretty quickly, but If you just started a long straight cut, it will take until it gets to the end before it stops.

Goto: this just goes to whatever line of gcode in the file that you entered and starts to execute. If the line that moved the z-axis either in or out of the cut is above or below the line number you entered; the z-axis will not move, but the x and y will based on what line you are on. I generally on use the goto button to go to a z-axis move in the .nc file. If I want to stop in the middle of one operation, like a pocket and move to another, then I normally press Pause, use the z-axis control to raise above the work surface and then GoTo the line before my z-axis move into the operation I want to go to.

Hopefully this helps. I know it can be a bit confusing; sometimes I’ve had the same .nc file open in ncviewer.com to figure out what line i want i to jump to if need.

3 Likes

@theRatchet said it really well and he’s 100% correct.

Understanding why the buttons behave like that requires knowing a little bit about Gcode. Gcode was created in the 1950s as a way to control the very earliest CNC machines so it’s very primitive. Each “line” of gcode (literally a line in the file) is a single motion. Each motion is either a straight move to some XYZ point, or a part of a circle cut either clockwise or counter clockwise.

The tricky thing is that we can only pause or resume from a line, we can’t do anything between each line which is why the “pause” command won’t pause until the current line is finished being cut.

Gcode will also often omit values with the assumption that anything omited should be assumed to be the current value. For example the line G1 X100 Y200 Z300 will move to the point (100,200,300) while the line G1 X100 will move to the point (100,?,?) where the y and z axis values don’t change.

I don’t know if they omit information because back in the day saving those few bytes of data was important, or if it makes the files easier to read for machinists who were creating gcode by hand…but it does make the pause/resume functionality a little bit strange.

5 Likes

Thank you @theRatchet. This helps a ton! I’ll try out ncviewer.com too. It seems like a nice tool to have in the back pocket. I was working on some long straight lines when hitting pause which totally explains my confusion.

Also thanks @bar for the history. I think the omission of values explains why I have lack of movement sometimes. I noticed while trouble shooting that if I went a few lines before or after the intended line of gcode I was able to get moving again.

1 Like

So I’ve been doing some more research on this is I am still having trouble going to a line in with the Go To function. When I hit Play after entering the line nothing happens. I can move with the arrows so I know the motors are working properly but I cannot for the life of me the Go To function working. Has anyone else had this issue? The motors make a sound when I do this but I just get no movement.

One problem might be that the cut speed has not been set. Often this is done in one of the first moves of a file, and if that step is skipped the current speed might be to a very low value.
Here’s something to try. Make a macro like this if your file is using inches:

G1 X0 Y0 F40

Or this if mm:

G1 X0 Y0 F650

Then execute the macro before using the GOTO . The macro would move to 0,0 at something near the upper speed limit and so establish that as the current speed to use.

5 Likes

I’ll give this a shot! I finally got it going. I needed to go to line 7045 and it just would not go so I ended up pushing play at 0 and while it was moving to the first line I entered a random line with Go To and while it was moving to the random line of GCode I then entered 7045 and it worked! Not sure why but I was happy to finish the cut! I have also noticed that Go To holds the current z-axis height until there is a z-axis change in the code so you must first raise the z and then move to a line where there is the change before the actual line you want to go to. This was explained above but opening the file and looking thorough the lines helped me understand a bit better. Thanks for the tip!

3 Likes