Friday, December 12, 2014

G43 G44 and G49 tool length compensation

G-Code G43, G44 and G49 (TOOL LENGTH COMPENSATION)

 In an CNC Programming Tool length compensation Code is used to adjust for differences in length between different tools, without worrying about those differences in your part program.
This standard length is the Reference Tool. In general, you load the Reference Tool, jog the Z axis down until that tool touches some surface, and set the Z Reference position there. The control memorizes this position of its Z axis. You then load each other tool, bring that tool down until it touches the same surface, and tell the control to measure the tool. The control compares the Z axis position with this tool touching the surface to the previously stored Z Reference position. The difference in Z axis positions is stored as the length offset for the tool.

Clearly, to touch the same surface with a shorter tool, you have to move the Z axis down further. This results in a negative offset. The shorter the tool, the more the negative offset.  To touch the same surface with a longer tool, you don't have to move the Z axis down as far. This results in a positive offset. The longer the tool, the larger (or less negative) the offset.

Listed below are the Three G-Code used only for the tool length compensation,
G43 Tool Length Compensation + (plus)
G44 Tool Length Compensation - (Minus)
G49 Cancel Tool length Comp G43 and G44

G43 Tool Length Compensation + (plus):


This code selects tool length compensation in a positive direction. The tool length offsets are added to the commanded axis positions. An Hnn must be programmed to select the correct offset register from the offset display for that tool being used. During the setup process, each tool point was touched-off to the part zero surface. From this position a Tool length distance offset was recorded for that tool with the Tool offset measure key. This Tool length is referred to as the "Z" axis origin move to the part zero surfaces.

G44 TOOL LENGTH COMPENSATION - (MINUS)

This code selects tool length compensation in a negative direction. The tool length offsets are subtracted from the commanded axis positions. A Hnn must be programmed to select the correct entry from offsets memory. G44 is a rarely-used alternative to G43. It tells the control to begin applying tool length compensation, by subtracting the current length offset from all Z axis positions. In this scheme, larger length offset numbers identify shorter tools (as if they were measured from the table up rather than from the spindle down).


G49 CANCELS G43/G44

This G code cancels tool length compensation. Putting in a H00 will also cancel tool length compensation. M30 and RESET will also cancel tool length comp.

Example for G43 and G44 Programs:

O1234
N170 T02 M06
N171 G90 G54 G00 X50 Y50 Z50 S800
N172 G43 H02 Z5 M08 (or G44 and H value will not be changed)
N172 G01 Z20 F50.

10 comments:

  1. Excellent article, thank you. Can you please supply example of how G49 can be used to gracefully end the compensation. When I call G49, it immediately moves down by the length of the tool. I basically want the absolute position to update when I call G49 - not move the head. This can be done by a reset - but how would one do this in the middle of a program?

    ReplyDelete
    Replies
    1. Go to optional Programme stop M01. First edit the programme by ensuring key inserted in MDI mode and put the code that you want the operation.

      Delete
    2. Carlo your machine is reacting this way because parameter #5006 bit #6 needs to equal 1 (if it's a fanuc control)

      Delete
  2. Whoever posted this, thank you.

    ReplyDelete
  3. vmc and cnc job work in ahmedabad
    Neptune Engineering are largest provider of VMC and CNC job work in Ahmedabad, Gujarat. And also CNC wooden pattern manufacturer and job work and pattern and die manufacturer in Ahmedabad.

    ReplyDelete
  4. It’s great to see good information of cnc milling machine being shared and also to see fresh, creative ideas that have never been done before.

    ReplyDelete
  5. That was a very clear and informative article .

    ReplyDelete
  6. Sir, i have one doubt. Suppose if am using only one tool and doing operations by using that tool only, is it necessary that to use G43 Code?

    ReplyDelete