I have been playing with origins again to get a firm understanding as to how they work on the BB controller.
I used them several times a couple of years ago but found setting origins other than G54 was buggy and really only worked reliably right after a reboot. That was on 1.0.9 for completeness. I am on 1.3.1 now and used multiple origins this last weekend but still found them not to work as expected unless I rebooted.
Now I think I know why.
From the cheat sheet on the controller screen it says:
G10 L2 offsets the origin of the axes in the coordinate system specified to the value of the axis word.
The offset is from the machine origin established during homing.
This is the same wording as in the Camotics docs - [Camotics - G10]
Through my testing tonight I have discovered these point:
1:
For the purpose of G10 L2 the machine origin is the same as machine home only if you have not set a work origin using any of these buttons or used the touch probe.
In other words – after homing the machine you can set origins like this:
G10 L2 P1 X10 Y10 ; ← G54 will be set to X10 Y10 from home
G10 L2 P2 X10 Y20 ; ← G55 will be set to X10 Y20 from home
And this also works as expected:
G10 L2 P1 X0 Y0 : ← G54 will be set back to machine home
G10 L2 P2 X0 Y0 ; ← G55 will be set back to machine home
2:
Setting your work origin is not generally possible like that. So we use the probe block or paper and use the axis origin buttons.
But this makes your work piece origin the machine origin for the purpose of G10 L2. Having G90 or G91 set before calling G10 L2 makes no difference.
So now all origins will be set relative to G54:
G10 L2 P2 X10 Y20 ; ← G55 will be set to X10 Y20 away from where G54 is set.
And this also happens:
G10 L2 P2 X0 Y0 ; ← G55 will be set back to the same origin as G54
3:
But here is an even stranger thing. Once you have some origins - G55, etc, set as in point 2 - use the probe block or axis origin buttons to set G54 to a new location. Do not change any other origins – G55, etc.
You will find that all the other origins will have shifted with the G54 to maintain relative distance from it.
So if you set G55 like this:
G10 L2 P2 X10 Y10 : ← G55 will be X10 Y10 away from G54
Then move G54 using probe or buttons to some other random place you will find that G55 has moved so it is still X10 Y10 away from the new G54.
I cannot see how this behaviour complies with the standard set out in the Camotics manual but at least now I know what is happening I can figure out how to use origins more reliably.
Comments or your own results welcome.