TOOL_CHANGE_QUILL_UP behaviour
- Unlogic
- Away
- Elite Member
Less
More
- Posts: 206
- Thank you received: 102
13 May 2024 10:25 #300499
by Unlogic
TOOL_CHANGE_QUILL_UP behaviour was created by Unlogic
I'm using the TOOL_CHANGE_QUILL_UP setting in the INI file to make the Z-axis go to the top during tool changes which works great.
However I've noticed that if the G-code calls for a tool change but the correct tool is already in the spindle the Z-axis still goes to the top and the down again (without any user interaction) before proceeding with the program.
On a machine like mine with 550mm of Z-axis travel and relatively slow travel speeds this leads to quite a bit of waiting for the Z-axis to do it's "up and down ceremony" each time I restart the program using the same tool as the last time.
Would it be possible to add a check in the implementation of the TOOL_CHANGE_QUILL_UP function to skip the quill up movement if the correct tool is already loaded?
I'm sure that there are a lot of variables and uses cases involved here that I'm not aware of as LinuxCNC rookie so I thought I'd post this here instead of creating an issue on GitHub.
However I've noticed that if the G-code calls for a tool change but the correct tool is already in the spindle the Z-axis still goes to the top and the down again (without any user interaction) before proceeding with the program.
On a machine like mine with 550mm of Z-axis travel and relatively slow travel speeds this leads to quite a bit of waiting for the Z-axis to do it's "up and down ceremony" each time I restart the program using the same tool as the last time.
Would it be possible to add a check in the implementation of the TOOL_CHANGE_QUILL_UP function to skip the quill up movement if the correct tool is already loaded?
I'm sure that there are a lot of variables and uses cases involved here that I'm not aware of as LinuxCNC rookie so I thought I'd post this here instead of creating an issue on GitHub.
Please Log in or Create an account to join the conversation.
- Aciera
- Away
- Administrator
Less
More
- Posts: 3994
- Thank you received: 1726
13 May 2024 11:37 #300506
by Aciera
Replied by Aciera on topic TOOL_CHANGE_QUILL_UP behaviour
For a DIY fix you could make a custom remap M6 and check if
iocontrol.0.tool-number = iocontrol.0.tool-prep-number
and only if this is false call the built in M6 to execute the actual toolchange.
iocontrol.0.tool-number = iocontrol.0.tool-prep-number
and only if this is false call the built in M6 to execute the actual toolchange.
Please Log in or Create an account to join the conversation.
- Unlogic
- Away
- Elite Member
Less
More
- Posts: 206
- Thank you received: 102
13 May 2024 12:01 #300510
by Unlogic
I'm still a rookie when it comes to LinuxCNC so a "custom remap M6" is something I'll have to read up on how to do because I haven't gotten that far into the depths of the G-code universe yet .
Replied by Unlogic on topic TOOL_CHANGE_QUILL_UP behaviour
Thanks for such a quick reply.For a DIY fix you could make a custom remap M6 and check if
iocontrol.0.tool-number = iocontrol.0.tool-prep-number
and only if this is false call the built in M6 to execute the actual toolchange.
I'm still a rookie when it comes to LinuxCNC so a "custom remap M6" is something I'll have to read up on how to do because I haven't gotten that far into the depths of the G-code universe yet .
Please Log in or Create an account to join the conversation.
- Aciera
- Away
- Administrator
Less
More
- Posts: 3994
- Thank you received: 1726
13 May 2024 12:47 #300516
by Aciera
Replied by Aciera on topic TOOL_CHANGE_QUILL_UP behaviour
Try this:
1. create a subfolder in your config folder named 'mysubroutines'
2. create a file 'tool_change.ngc' with the contents below and save to the 'mysubroutines' folder
3. in the [RS274NGC] secton of your ini file add the 'mysubroutines' folder to the SUBROUTINE_PATH using a colon : Note the '../nc_files' in the example below may not be what you have in your path Also add the custom REMAP line:
1. create a subfolder in your config folder named 'mysubroutines'
2. create a file 'tool_change.ngc' with the contents below and save to the 'mysubroutines' folder
o<tool_change> sub
M66 E0 L0 ; force synch so the hal pins are up to date
o100 if [#<_task> GT 0] ; Only do this in actual program execution and MDI
o101 if [[#<_hal[iocontrol.0.tool-prep-number]> EQ #<_hal[iocontrol.0.tool-number]>]]
(debug,Requested tool already in spindle)
o101 else
M6
o101 endif
o100 endif
o<tool_change> endsub
M2
3. in the [RS274NGC] secton of your ini file add the 'mysubroutines' folder to the SUBROUTINE_PATH using a colon : Note the '../nc_files' in the example below may not be what you have in your path Also add the custom REMAP line:
SUBROUTINE_PATH = ../nc_files/:mysubroutines
REMAP = M6 modalgroup=6 ngc=tool_change
The following user(s) said Thank You: tommylight, Unlogic
Please Log in or Create an account to join the conversation.
- Unlogic
- Away
- Elite Member
Less
More
- Posts: 206
- Thank you received: 102
14 May 2024 07:44 #300558
by Unlogic
Replied by Unlogic on topic TOOL_CHANGE_QUILL_UP behaviour
Big thanks Aciera!
That code worked on the first time. It sure would have taken me a while to figure out that snippet.
My Probe Basic config already had a SUBROUTINE_PATH set in the INI file and the folder it pointed too already contained a similarly named toolchange.ngc. So I named the new file custom_tool_change.ngc instead and renamed the sub statement inside the file to o<custom_tool_change> to avoid any potential conflicts.
This is going to save a lot of time on my manual tool change machine.
I'll have to buy you a beer for this on the next LinuxCNC meething/gathering.
That code worked on the first time. It sure would have taken me a while to figure out that snippet.
My Probe Basic config already had a SUBROUTINE_PATH set in the INI file and the folder it pointed too already contained a similarly named toolchange.ngc. So I named the new file custom_tool_change.ngc instead and renamed the sub statement inside the file to o<custom_tool_change> to avoid any potential conflicts.
This is going to save a lot of time on my manual tool change machine.
I'll have to buy you a beer for this on the next LinuxCNC meething/gathering.
The following user(s) said Thank You: tommylight, Aciera
Please Log in or Create an account to join the conversation.
Time to create page: 0.075 seconds