Allow tool change scripts or issue warning on Non homed device
-
Some of us use the tool change commands for manual configuration and not automated tool changers. Having the ability to run the tool change code without homing would be fantastic. At the very least issue a warning message when trying to issue a tool change on a device that isn’t homed.
Right now you don’t even get a warning just issue T# and nothing. Took me a good 20 minutes the first time I ran into this just to realize That the M18 I was issuing to de-energize my stepper motors was disabling future changes. (Resolved with M18 E btw)
-
Have you looked at issuing T# P0. This changes the active tool without running any of the tool change scripts and not needing to be homed.
-
Now that conditional GCode can now be used to test whether axes have been homed, I guess it would be possible to allow the tool change files to run, but abort them if they try any movement of axes that have not been homed.
-
@dc42 said in Allow tool change scripts or issue warning on Non homed device:
Now that conditional GCode can now be used to test whether axes have been homed, I guess it would be possible to allow the tool change files to run, but abort them if they try any movement of axes that have not been homed.
FWIW: There are scenarios where I home only XY and the tool lock, and then park a tool. Specifically, z is not homed. At the moment, I G92 Z... but having the system safety net check moves, instead of checking all axis, would be of benefit.
This is independent of conditional.
-
One problem I can see, which applies in either case, is this. On my tool changer I select T0, but the printer isn't homed. So (whether the tool change file gets run or not), the tool isn't picked up. Then I home the axes. At this point:
- If I select T0 again, it will think T0 is already selected, so it won't pick it up.
- If I select another tool, it will try park T0; but the coupler may be in the wrong position, leading it to push the coupler against the coupling plate.
-
@jay_s_uk, I want the tool change code ran.
-
@dc42 said in Allow tool change scripts or issue warning on Non homed device:
One problem I can see, which applies in either case, is this. On my tool changer I select T0, but the printer isn't homed. So (whether the tool change file gets run or not), the tool isn't picked up. Then I home the axes. At this point:
- If I select T0 again, it will think T0 is already selected, so it won't pick it up.
- If I select another tool, it will try park T0; but the coupler may be in the wrong position, leading it to push the coupler against the coupling plate.
I get that especially for the majority of people of people that already use T# and not wanting to break their machines by running code that wasn't homed. But what about popping a warning saying the machine isn't homed versus not doing anything at all.
-
I've decided that release 3.01-RC11 will run tool change files even if the axes haven't been homed; but I may change this back before the 3.01 release if it causes too many problems.
-
@dc42 said in Allow tool change scripts or issue warning on Non homed device:
I've decided that release 3.01-RC11 will run tool change files even if the axes haven't been homed; but I may change this back before the 3.01 release if it causes too many problems.
Meaning that the toolchange macros WILL run (where they do not today), and within those macros, a move (such as a G0) for a specific axis that HAS been homed will work, and a move for an axis that HAS NOT been homed will fail.
Correct? If so, I believe this is ideal behavior.
-
@Danal said in Allow tool change scripts or issue warning on Non homed device:
@dc42 said in Allow tool change scripts or issue warning on Non homed device:
I've decided that release 3.01-RC11 will run tool change files even if the axes haven't been homed; but I may change this back before the 3.01 release if it causes too many problems.
Meaning that the toolchange macros WILL run (where they do not today), and within those macros, a move (such as a G0) for a specific axis that HAS been homed will work, and a move for an axis that HAS NOT been homed will fail.
Correct? If so, I believe this is ideal behavior.
A G1 move for an axis that has not been homed will fail, produce an error message, and (I think) abort the tool change file.
-
Fantastic. Perfect.
-
I am running an IDEX printer. I am not so familiar with condition statements. Can someone give me an example of checking if all axis is homed?
Here is my tfree0.g. How can I modify it such that it checks if all axis is homed?
;M106 S0 ; turn off our print cooling fan G91 ; relative axis movement G1 Z3 F500 ; up 3mm G90 ; absolute axis movement G1 H2 X-30 F6000 ; park the X carriage at -30mm