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.
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?
ReplyDeleteGo 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.
DeleteCarlo your machine is reacting this way because parameter #5006 bit #6 needs to equal 1 (if it's a fanuc control)
DeleteGood
ReplyDeleteVery helpfull
ReplyDeleteWhoever posted this, thank you.
ReplyDeletevmc and cnc job work in ahmedabad
ReplyDeleteNeptune 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.
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.
ReplyDeleteThat was a very clear and informative article .
ReplyDeleteSir, 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