586,096 active members*
3,569 visitors online*
Register for free
Login
Results 1 to 6 of 6
  1. #1
    Join Date
    Jan 2021
    Posts
    8

    Manual tool change macro

    Hi , I have come across the limitiation of the haas that I cant call any tool greater than the carousel number. I am looking for some help in creating a alternate M6 macro that will execute if the M6 gcode asks for a number above 10 of the carousel .

    The issues I have are
    1. How to get the current tool # into a variable #601
    2. How to get the commanded M6 tool # from gcode into variable #602
    3. How to get T1-T10 back into the carousel and leave spindle empty
    4. How to let the control know I have now inserted a manual Tool# >10

    Here is the basic outline of the code I am looking to impliment of course needs a lot of work.

    %
    O9006 (TOOL CHANGE)

    (################################################# #####)
    (Tool change macro to check tool number , if above carousel slots then do a manual change)
    (################################################# #####)

    (VARIABLES)
    #601= (set current tool# in spindle)(var toolCurrentNumber = exec.Getcurrenttool)
    #602= (set new tool# to change to)(var toolNewNumber = exec.Getnewtool)
    #603= (Set 1 for tool in spindle)

    G80 ( Cancel canned cycles)
    M9 (Coolant off)
    M05 (Spindle stop)
    G103 P1 (Turn off Look Ahead)

    (Check if there is a tool in the spindle)
    IF[[#601 GT0]AND[#603LT1]]#3000=100(error tool not in spindle) (check to make sure a tool in spindle)




    (Check if current too in spindle is to go back to carousel or a manual removal)

    N1
    IF[#601 EQ0]GOT010 (If T0 is called exit without activating any tool length ect.)
    IF[#601 LE10]GOTO100 (If >T10 then do ATC toolchange)
    IF[#601 GT10]GOTO200 (If <T10 then do manual toolchange)

    ( Check tool called from M6)
    IF[#102 NE0]GOT01 (If T0 is not in spindle empty check.)
    IF[#601 LE10]GOTO300 (If >T10 then do ATC toolchange)
    IF[#601 GT10]GOTO400 (If <T10 then do manual toolchange)





    N10 ( Tool zero in spindle)

    N100 ( put tool back in carousel)
    T0M16 ( put tool back in carousel)


    N200 ( manual remove tool from spindle)

    N300 ( ATC tool change )
    T#601M16 (get commanded tool from carousel)

    N400 (Manual tool change)

    Has anyone done this on a HAAS ,

  2. #2
    Join Date
    Dec 2008
    Posts
    3109

    Re: Manual tool change macro

    Does your machine have a carousel (fixed pots/no toolchange arm) or a tool magazine ( toolchange arm & random tool placement) ?

    Carousel tools are stored in fixed position ie the T number MUST be the Pot number. It so it doesn't put a tool into an occupied pot.
    Or that tool data is wrongly assigned to another tool.

  3. #3
    Join Date
    Jan 2021
    Posts
    8

    Re: Manual tool change macro

    Carousel , on the hobby machines we would call them slots and assign a tool to that slot - so any tool could be assigned to the "carousel slot"so a T33 would go to the slot assigned in the carousel , if no slot was assigned then it would ask for a manual tool change .

    I could live with the tool number must be the same as the slot number ie tools 1-10 , but any call outside this range I would like it to ask for a manual tool change.

  4. #4
    Join Date
    Dec 2008
    Posts
    3109

    Re: Manual tool change macro

    I now understand your post, I had the wrong bull, also wrong horns..

    You seen to have considered all situations. One other comes to mind, does the control have the extra offset fields to cover the additional tool numbers?
    Could you also have the control take-up the offset numbers automatically on toolchange, so it is possible to drive manually, with tooltip relative to work zero ?

  5. #5
    Join Date
    Oct 2023
    Posts
    2

    Re: Manual tool change macro

    Good day. Unfortunately, I did not understand your idea for the macro. But I know how you can solve problem #1 (1. How to get the current tool # into variable #601), namely: #601=#3026 . The current instrument number is stored in #3026. You probably have a side tool changer, if so, it really works differently than the umbrella. Its operation is described in detail in the manual in the section on advanced tool management (ATM). and here is a link to a video from Haas that I hope will help you.
    https://youtu.be/DIQt--72k1E?si=EHp62LAeCABx6lqy

  6. #6
    Join Date
    Sep 2021
    Posts
    12

    Re: Manual tool change macro

    Do you still need help with this? I'm quite versed in Haas macro programming. What version of the control are you using? Do you have user definable macros option purchased? If you have a probe in the machine it should come as a package deal. We would simply rewrite the tool change logic, and I would recommend keeping M06 default functionality... instead call up tool changes with an unused M code. What kind of CAM are you using? I may be able to help with modifying post processor as well if needed to utilize new M code tool change number by default instead of M06.

    Im more active on practical machinist, if I do not reply in a timely manner.

Similar Threads

  1. Replies: 3
    Last Post: 05-27-2023, 07:09 PM
  2. Replies: 0
    Last Post: 06-08-2022, 09:31 PM
  3. Manual - Tool Change Macro (M6Start) Always at home position
    By jokerper in forum Dyna Mechtronics
    Replies: 4
    Last Post: 08-24-2019, 02:16 AM
  4. Need help with Macro for checking tool length before tool change
    By mioduz in forum Tormach Personal CNC Mill
    Replies: 11
    Last Post: 04-18-2014, 08:43 PM
  5. Replies: 0
    Last Post: 02-14-2010, 07:26 PM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •