Current best practice for implementing a tool changer?

07 Nov 2019 01:23 #149785 by JetForMe
It's time to configure LinuxCNC to operate my rack-style ATC (on a gantry-type router table). Googling for information turns up a lot of old stuff. The latest docs refer to the EMCIO section of the Integrators Manual, which I can't seem to find (all I can find is about stepper selection and best wiring practices, nothing about tool changing).

There are references to carousel.comp, my own previous questions on the subject where it’s suggested I write my own component (I'm not opposed to this), and other things.

One question I have is this: how does an M6 in the gcode trigger whatever it is I end up implementing? Is "remapping" how this is handled, or is there more direct support for tool change operations (e.g. something in the HAL/INI)?

Another is, if I were to implement the tool change operation with gcode, what am I looking for? This is gcode I want stored in my linuxcnc configuration somewhere, and have it operate like a macro or subroutine, just "built-in" and not part of a loaded program.

Another question is about generally avoiding the tool changer area during manual jogs and gcode execution: is there a way to set exclusion zones? A reply to one of my earlier posts talked about "travel zones". I don't just want to limit travel on an axis, as I need to be able to travel all the way to the home position for homing. But I want to exclude a "box" in the machine space unless it’s performing a tool change operation.


Please Log in or Create an account to join the conversation.

07 Nov 2019 02:00 #149789 by andypugh
Typically a rack toolchanger would not use "carousel". It would normally be a simple M6 remap to call a G-code subroutine.

There is an example config here:

(and you can run that in your existing installation, just open the sim/axis/remap/rack-toolchange config)

To a large extent all you need to do is copy the python and nc_subroutines folders to your own config, make the INI file changes here: (Subroutine path, on-abort and remap) and edit the G-code routine in the subroutines folder to match your tool positions.
The following user(s) said Thank You: JetForMe

Please Log in or Create an account to join the conversation.

Time to create page: 0.120 seconds
Powered by Kunena Forum