Manual tool change on a machine with an ATC

More
14 Sep 2022 02:28 #251866 by JacobRush
I just got the ATC working on my Hurco BMC 40 with the umbrella component. That all works well. Pocket 1-30 loads the appropriate tool from the tool changer. But what if I want to call for a tool thats not in the toolchanger or have more than 30 tools. 

I'm considering defining tools in the tool table in "pocket" -1 as being tools not in the ATC and when called up asks the operator to load the appropriate # tool manually. 

Assuming thats possible.. Is there a way to pause the tool change and prompt the user though gcode in the toolchange.ngc? 

Obviously for this to work I need to make sure to handle all the cases.
ATC tool to a manual tool
manual to manual
manual to ATC tool
ATC to ATC tool
no tool to ATC tool
no tool to manual tool
ATC tool to no tool
manual tool to no tool

I think thats all of them.. 

I'm curious how others have handled this or if there is something obvious I'm missing & I'm overcomplicating things. 

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

More
20 Sep 2022 11:45 #252392 by andypugh
Do you have a tool handler G-code routine? Any logic to not operate the changer would go in there.
Using a pocket number of -1 might work, though I think that value has a special meaning internally.
An alternative would be to add 1000 to the tool number in the G-code and trap that in the handler.

If the toolchanger component just uses the tool-prep and tool-change HAL signals then you would need to add a handler, ie create an M6 remap that uses M6 for norrmal changes and (probably) M61 for manual.

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

More
27 Sep 2022 16:12 #252862 by JacobRush
Thanks Andy. I think I saw something about pockets needing to be a positive number in the docs.

I'm now thinking of using pocket 0 as tool not in tool changer. And using Tool 0 as unload tool into tool changer (empty spindle for shutdown)

I do have a functional M6 remap and a gcode routine that handles the umbrella movements and loading / unloading tools from the umbrella. Its a bit of spaghetti code at the moment.. and has no provision for manual changes; So I'm thinking I'll re-implment with subroutines for each unload / load operation for both manual and auto then call those using if statements based on the tool#/pocket# that hopefully will avoid code duplication and make it easier to follow.

I haven't really done much manual gcode work so I've been busy reading up on the docs.

Mostly I wanted to make sure I wasn't missing something obvious before I spend a bunch of time accidentally re-inventing the wheel with this. Sounds like I'm on the right track though.

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

Time to create page: 0.067 seconds
Powered by Kunena Forum