Fluid Dial (Fluid NC dial pendant by Bart Dring, using M5 Stack's M5 Dial)

That is kinda how Workspaces, G54 works. You can home your machine and send it to a predetermined location G55, g56, g57 etc. If you use the locations a lot you actually save them in the firmware. Most use this as a fixture thing. Clamps at one spot, locating pins at another. Repeated jobs, or repeated types of jobs, laser, milling, etc.

That is G92. This is where the soft limits stop working correctly. If you tell you table it is 600mm wide, drive over 300mm, hit zero, your table then thinks it can move an additional 600mm.

I love the ideal of the pendant, they just introduce more thinking. This is very similar to my stance on endstops. They are great but you have to pay more attention. This is also why I do not have softstops turned on in the first place.

I guess what I am trying to get at is be careful relying on something other than your eyes. I make the CNC world as easy as possible for everyone. The second you add something, it adds another step you need to pay attention to. For example you did not even know you were using G92…Fluid by default forces homing, I turned that off.

1 Like

This is what G92 does, you are just doing it manually instead of in your gcode

1 Like

Ah, got it. I was invoking a code by a button press on my TFT35 back on Marlin, which was presumably the same code. And then had planned a similar button press on Jackpot / mobile device.

I’m actually not fully trammed and squared yet on the Jackpot and have yet to cut any jobs with it.

This illuminates what I need to be careful of.

EDITED TO ADD:

If I move over and across, and then zero XY, I don’t have soft stops any more. Do I still have hard stops?

I may switch to basing all my jobs off of the original home, so I don’t lose my hard and soft limits. I like having them. :slight_smile:

1 Like

Reading my replies they come off harsher than my actual intentions. Doug you have a large following and you quickly add write-ups and instructions so I quickly reply to you before bad information goes out.

In this case I do not want everyone running out and using this pendant yet. There is still very active development happening, and you are learning some of the implications of messing with the yaml.

I love that you are using it just be cautious of how good you make it sound if that makes sense.

When this is stable and the fluid guys are not actively changing firmware than I would love nothing more than for you to do one of your detailed and thorough wrote ups on it.

Does this make sense? Your excitement comes through so good a lot of people immediately follow you.

4 Likes

Got it. :slight_smile:

3 Likes

Fluid Firmware updates so fast I am adding a section to the jackpot instructions for my know good and tested firmware. Since we started using Fluid 3 months ago they have released at least two version that were incomplete. Their release channel is more like marlin’s bugfix branch. Just like your pendant was not working right, turns out they had already fixed it you were just 5 releases behind.

We have to be careful here we are running on the bleeding edge and on top of that we are using a very new board as well.

3 Likes

Just as an FYI, the “Zero” buttons in the WebUI for FluidNC use G10


But I won’t pretend to understand how G91, G54-59, and G10 all play together :slight_smile:

I just use G92 like I’m not supposed to… #noob

1 Like

Supported Gcodes | Wiki.js I am actually not sure how this is different from 92 either. The fluid guys despise G92, so this must be better for some reason.

Edit- as they point out in g92…we are noobs, Supported Gcodes | Wiki.js

2 Likes

lol…that what was my last line was in reference to :slight_smile:

1 Like

So G10 might hold after a restart, and g92 doesn’t? I guess I would need to test that. Honestly I do not want my offset to hold after a restart, if I did I would use workspaces.

Confusing.

2 Likes

I mean maybe, but that would have to assume your machine is rigid enough to never be moved by hand without the controller knowing, right?

This is why I just stick with G92 and don’t bother. I assume the fancier methods are probably not worth it for what I do with a hobby machine

Edit for reference: Coordinate Systems (more than I’ll probably read)

So, I’ve gained some helpful understanding, but I’m admittedly still a noob. LOL.

No, I don’t think so. If you use G10, reboot, and home I bet the two indicators on the webui would show different numbers. Maybe.

From what I am seeing some machinist use G54 for moving to a fixture and G10 for changing offsets per tool. So they do stick around, If you used different P values it seems just like a workspace in a workspace.

Yikes g10 lets you change offsets in all workspaces individually, while in another. This is crazy. I would really have to use it to understand why. All the machinists posts do not make much sense to me.

I would presume, that the intended way to work is:

Homing sets the global coordinate system

G54-G59 gives you other coordinate systems to operate in if you choose.

G10 applies to whichever coordinate system you use, but likely doesn’t affect things like soft_limits and the global coordinate system and make it’s “safer” to use if you can understand it without making mistakes.

For me, the “safer” option is the one in which I understand the ramifications of the GCode I’m using…

2 Likes

From G54, G52, and G92 G-Codes [Work Offsets for CNC Fixtures]

G10 to Set Work Offsets in G-Code

G10 is a handy g-code that lets you program the G54 style work offsets from within your cnc program. The typical syntax would be:

G10 L2 Poo Xxx Yyy Zzz

Where “oo” is the work offset number, “xx” is the X axis offset, “yy” is the Y axis offset, and “zz” is the Z axis offset.

For full details on how to use G10, see the special chapter of our G-Code Course.

Tip:

If you have an older control that doesn’t have very many offsets, you can use G10 to reuse the available offsets with different coordinates.

Work Offsets and Macro Variables

On CNC machines that allow parameterized programming, there are usually also macro variables that correspond to each coordinate of each work offset. On a Fanuc CNC control, for example, the following variables are used for G54:

#5221 G54 X Axis Offset

#5222 G54 Y Axis Offset

#5223 G54 Z Axis Offset

#5224 G54 Fourth Axis Offset

You can access these variables to see what the values are or to change them.

Stop Using Work Offsets Entirely With G53 G Code

To stop using the offsets, use G53. This forces the machine to use the machine zero coordinates with no offset whatsoever as part zero. This is not done very commonly, but it is possible to do so.

Work Offset Alternative: Relative Coordinates

Another way to avoid using a work offset is to use relative coordinates. The idea is to position the operation in absolute coordinates then switch to relative coordinates in the code that would’ve used an offset. You can learn more about relative coordinates in our chapter on g90 g code and g91 g code.

And from G10 G-Code: Quick & Automatic Tool and Work Offsets in G-Code

G10 G-Code: Quick & Automatic Tool and Work Offsets in G-Code the Easy Way

CNCCookbook’s G-Code Tutorial

Why Program Tool and Work Offsets with G10 G-Codes?

It’s simple: G10 g-codes eliminate data entry errors and save setup time.

Suppose you have a fixture plate on the machine. It allows you to install fixtures at repeatable known locations. But, you need to set that up by making sure the work offsets are properly set for the particular fixtures you’re using. Typically, this requires the operator to set up the work offsets. But what if that could be automated and made a part of the cnc program?

In that case, the operator mounts the fixture on the fixture plate, loads the correct CNC Program, and presses the Green button. The first thing the CNC program does is setup the work offsets for the fixture it expects. If you want to be extra robust and idiotproof, perhaps the next thing it does is verify the correct fixture is in place. It could do this by asking the operator to verify fixture #<Serial number that’s on the fixture> is there or we can even automate that step by probing for expected features.

Pretty slick, right?

Using G10 to set up Tool and Work Offsets can be a real power tool in your g-code programming arsenal, because it lets you automate things the operator would normally have to take care of manually each time at the CNC Machine’s control panel.

G10 is all about automating manual operations…

You know the drill when you’re setting up the machine for a job:

– Enter the proper tool offsets in the tool table for any new tools you’ve added to the tool changer (or will be loading manually to run the job).

– Enter the proper work offsets that your part program expects to find. For a big fixture plate that holds 8 parts, this means going through 8 sets of coordinates by hand and making sure they’re right.

With G10, you can set up either one of those things completely automatically using G-Code.

Setting Up Tool Data from a Tool Presetter and G10 G-Codes

Suppose you’ve got a Tool Presetter. Here’s a typical unit:

A Tool Presetter…

You put the tool in your toolholder, drop the tool holder into the presetter, and measure the tool height and diameter using the presetter. A really nice presetter will then let you push a button and it will output a simple G-Code program that uses G10’s to transfer the values to your CNC Machine’s tool table so you don’t risk making a data entry error doing it manually.

But, you could also write G10’s yourself in a little code snippet to set or change Tool Offsets if you needed to.

G10 G-Code Work Offsets Example: A Big Fixture Plate

If you don’t have a presetter, or if you use a tool touchsetter to set tool offsets automatically right on the machine, you probably won’t get into G10 much for tool offsets. But work offsets are another matter. This can come up all the time.

Let’s say you’ve invested in modular fixturing for your machine. You’ve got a fixture plate sitting on the machine table:

Fixture plate provides repeatability when installing the vises on the machine. Image courtesy of NYCCNC.com.

For example, a Fixture Plate can provide repeatability when installing the vises on the machine. Now if you can ensure those vises wind up in exactly the same place within relatively tight tolerances, why bother indicating part zero and setting up a work offset for each one? The whole point of the modular fixturing is to save you time doing things like that.

What you can do is measure those positions once for a particular location on the plate, and then put that data into a little g-code program that uses G10’s to set up the work offsets on the machine any time you want to use the vises in that configuration.

The savings are even greater when you have a big fixture plate that holds a lot of parts. And, aside from saving time, you’ll be saving errors. You’re automating away the problem of making a data entry error of some sort.

So let’s take a closer work at the syntax for using G10 so you can see how it works…

We all are, what the heck is g10? I have never used teh zero buttons but I will have to try them out and restart to see what happens. If this sticks, we need to use that instead of G92 becuase job recovery would survive a reboot. That seems like a good thing.

And since you have a pendant I would say enable the soft limits, use the zero buttons and see if you can drive past them. If you can not we should use G10, and should have soft limits enabled. That would be a good thing…becuase then we could even drive negative and not have to offset our work zero.

Dam, have we been using the wrong codes for nearly 9 years now? Maybe Marlin does not support G10.

You with the Noob’s Internet Comment of the Day! :rofl:

1 Like

I will try to check this out for the good of all noobs! :rofl:

1 Like

So g10 looks just like G54 and G92. Maybe workspaces can not be set during a job (while running gcode) and G10 can. Like your articles say Doug it looks like they are using G10 to do things like offset a touch probe…just like we use G92. G10 must stick around

I am not seeing a difference in g10 vs using other workspaces, so it must just a be a matter of when it can be used.

Shoot this looks like a good thing to use. I will have to dig deeper. It will make crash recovery much easier.

1 Like