Hey Steve,
can you post the entire contents of ‘tool-change’ field.
Hey Steve,
I checked the code in the example again, no errors here (except when -100 mm is not enough and it does not find the probe after moving downwards this distance, then it signals the “Could not find probe block during probing!” error).
You have to know that the limit errors always have to do with what the controller thinks about its ability to fulfill the commands given. It knows where its limits are and responds to a command that tells him to do something that is not possible. This makes sense e.g. when it indicates to the operator that their program exceeds the workarea the machine can work on. However such errors are meaningless if the machine is in a state where it does not yet know, or assumes wrongly, where its workpiece zero coordinates are, i.e. before probing. In that cases, these limit errors have to be ignored. In any case, the appearance of a limit error always comes from your g-code program, not from the machine.
Hey Steve,
just made a few tests. Despite the G28 command moved the Z into the highest possible position (Z home), ‘G38.2 axes’ computes target position with offsets valid, hence the possibility of a limit error.
For the moment, depending on your program loaded (that defines the offsets), try to decrease the Z-100 value until it fits.
What is the procedure for changing the bit? After the first cut is made the router goes back to the home position. Not the original probe position. There is a message on the screen that says Gcode message. (See Picture). When I Click continue the router starts slowly lowering to within about 1/2 in. above the home position. Than I get a message saying to make sure bit is above the probe block. (See Picture). The joy stick will not move any thing. I have to turn the controller off to move anything.
Hey Steve,
you have a typo. The “G0 X0 Y0” and the rest that is shown should not be inside the message! Looks like you omitted a closing parenthesis on the “Change tool and thighten collet” message!
The second message says you did not put the probe underneath the bit when probing started. That is the fault of the rather short messages. I left them untouched, but I would replace
M0 (MSG, attach probe)
by
M0 (MSG, Please connect the touch probe to the controller, place the touch probe underneath the bit and attach the magnet end to the collet of your router.)
I think that was the problem, it seems to be working like it should. I did omit the parentheses. It worked with the test gcode I made up. Thank you very much for your help. I really appreciate your help.
Hey Steve, hey all,
I don’t know where the stock Onefinity g-code in the ‘tool-change’ field of SETTINGS page comes from (you know, the code before the modification, that is unusable and let the users stuck with no possibility to change the bit or to probe), but two things are not understandable:
-
What means the comment “probe to minimum z soft limit, which is -10”? This makes no sense. I would remove this comment.
-
There is a G91 (set incremental distance mode) lacking before the G38.2 probing command. It should be there since otherwise you probe towards an absolute position (relative to the new probed workpiece zero of Z axis though)
Can you try this (insert a G91 before the G38.2 probe command) and tell me if it works like expected now, with G38.2 Z-10 and G38.2 Z-100? I can’t test it since I have only the Onefinity Controller here, but no machine attached to it (which means as long as I don’t probe, the machine thinks the steppers move according to the commands, that’s what “open loop” steppers mean
)
In the ‘tool-change’ field of SETTINGS page, please replace
G38.2
Z-10.0
G92 Z15.4
G0 Z30
with
G91
G38.2
Z-10.0
G92 Z15.4
G0 Z30
(the Z-10 and the Z30 can, of course, additionally both still accomodated to your needs)
Hey all,
feel free to test this (you can copy it with all the comments directly into the ‘tool-change’ field of SETTINGS Tab):
Aiph5u’s ‘tool-change’ routine
Version 2024-03-31a (Runs on M6, tool change) M70 ; Save modal states G90 ; Set absolute distance mode G21 ; Set metric units mode S0 ; Set spindle speed to 0 G53 G0 Z0 ; Go rapidly to the Z machine home position - manual tool change position G53 G0 X0 Y0 ; Go rapidly to the X,Y machine home position - manual tool change position M0 M6 (debug, Please insert tool Nr. #<_selected_tool> and tighten the collet with both wrenches) G0 X0 Y0 ; Go to the workpiece X and Y zero G0 Z35 ; Lower Z to a position 35 mm above old workpiece zero before probing M0 (MSG, Please connect the touch plate to the controller, place the touch plate underneath the bit and attach the magnet end to the collet of your milling motor.) F100 ; Set feedrate to 100 mm/min for probing. (which means slow) G91 ; Set incremental distance mode G38.2 Z-50 ; Move the milling motor downwards until the bit touches the touch plate G92 Z15.4 ; Set this position as the new Z zero value (to reflect new tool length - including subtraction of the touch plate's height which is 15.4 mm thick) G0 Z30 ; Lift Z by 30 mm M0 (MSG, Please remove the touch plate and start the milling motor) M72 ; Restore the modal states that we previously saved with M70 above
(Feel free to accomodate the Z-50 and the Z30 to your needs)
Note 1: The above ‘tool-change’ routine is for the case you have the workpiece zero on top of the workpiece in your 3D model. Should you have the workpiece zero at the bottom of your workpiece, you have to disable this line by prepending a semicolon:
; G0 X0 Y0
; Go to the workpiece X and Y zero
This will make that you probe on machine bed at home position instead of workpiece top.
I will work on this to automatize the selection of these two different cases.
How to copy this ‘tool-change’ routine to your machine
-
Open a new browser tab on the user interface and open the page you look at at the moment by navigating to its forum.onefinitycnc.com URL or by pasting the exact URL (https://forum.onefinitycnc.com/t/tool-changes-and-z-height/7715/29) into the URL bar.
Note that attaching a USB keyboard (and a USB mouse) to the Onefinity Controller, or opening the user interface in the web browser of a computer connected remotely over network (http://onefinity.local) helps a lot, especially as the touch display’s on-screen keyboard lacks a Ctrl key
which you usually use for “select all” (Ctrl-A), “cut” (Ctrl-X), “copy” (Ctrl-C), and “paste” (Ctrl-V).
-
Please follow these steps:
On the SETTINGS page, click into the ‘tool-change’ text field, do “select all” (Ctrl-A), and “cut” (Ctrl-X)
Switch to the new tab which shows this forum page. Select the new routine with finger (touch screen) or pointer (mouse). Now “copy” (Ctrl-C) to clipboard.
Now go back to the Onefinity User Interface tab, click into the 'tool-change" field, and “paste” (Ctrl-V)
Click on the green “Save” button.
Now on the next occurence of M6 (tool-change) in your g-code, the new tool-change routine will be used.
Note: Inside the ‘tool-change’ text field, all text after the “;” is treated as comment and ignored. Therefore you can paste the routine with all its comments, it will still work.
I will try it out this evening if I have a chance.
You know some of us are going to have to change this to a G20 operation right?
(And the absolutes you used in your probe offsets like Z35…vs a nice Z1,5 for those of us who use the King’s measurement system.)
Hey Jim,
surely not. This is only used inside the ‘tool-change’ routine. At the end of the routine, as you can see, all modal settings that were previously active are restored with M72. If you had units set to imperial before, they will be imperial after, same applies to any modal settings. A tool-change routine would make no sense if it changed something of the calling g-code program It just probes for new tool length and resumes program exactly where the program was, including all of its modal settings. The reason to use metric inside the tool-change routine is because the machine internally uses metric values, so you have no conversion.
Hope you are reassured!
But someone’s OCD might rebel against having a metric program running
Would you know if the Elite Masso controller would be able to do something like this within the user interface settings or how something like this would be accomplished for manual tool changes using the Masso controller?
you can jog and move the elite in between tool changes unlike the buildbotics controller
Hey Mike,
this thread was originally not about the Elite/Masso, but about the buildbotics-derived Onefinity Controller of the Original X-35 / X-50 (today PRO) Series.
As OnefinityCNC already answered, you can jog around during tool change (not possible with the buildbotics-derived Onefinity CNC Controller (request 1, request 2)). Additionally, the Masso offers this for manual tool change:
Setting tool change position
To be able to change tools easily, a tool change position can be set. This option is also helpful if your machine bed is very large and you want the spindle moved to a certain location for easy tool change, for example on the front of the machine every time a tool change is required.
Double click the 1: Manual Tool Change in the list and the below Tool change position window will open where the axis position for a tool change can be entered.
Automatic Door
The manual tool changer logic has provision for opening and closing an automatic door.
For more information on integrating an automatic door with manual tool change please visit the section on adding Automatic Doors
– Source: Manual Tool Change – Masso Documentation
Would an automatic tool changer be an option with the elite controller?
The Software is already built into the masso controller.
Hey GrimResistance,
you would still need an ATC spindle like the Jian-Ken JGL-80 or the Mechatron ATC-8022-42-HSK25 (Unboxing video), a tool magazine, and the pneumatics to run it. See all this in action here. Tom @TMToronto already presented here the Masso G3 before the Onefinity Elite Series came out.
The Masso Documentation for different tool changing setups is is here.
Onefinity offers a tool setter here. You could also buy another one, e.g. here.