# 3 Compensation Methods Commonly Used In CNC Machining(2)

### 1. The concept of tool radius compensation

The CNC machining center regards the tool as a point to make trajectory movement when the program is running. For example, when using tool R3 to mill a square boss with a side length of 100, the program is input in the size of a square with a side length of 100, and the trajectory of the tool axis is a square with a side length of 106, then the workpiece milled on the workpiece is a square with a side length of 100. . If the tool radius compensation function is not used, the trajectory of the tool axis during processing is a square with a side length of 100, and a square boss with a side length of 94 is milled on the workpiece, which does not meet the requirements of the drawing size.

Just as the tool length compensation is used, the length of the tool is basically not considered when programming. Because of the tool radius compensation, we can program without considering too much the diameter of the tool. Tool length compensation is applicable to all tools, while tool radius compensation is generally only used for milling cutters.

When the milling cutter is processing the outer or inner contour of the workpiece, the tool radius compensation is used, and when the end face of the workpiece is machined with the end mill, only the tool length compensation is required. Because tool radius compensation is a relatively difficult command to understand and use, many people are reluctant to use it in programming. But once we understand and master it, it will bring great convenience to our programming and processing.

### 2. Use of tool radius compensation

Tool radius compensation has two compensation forms: B function and C function. Since the tool radius compensation of the B function only calculates the tool compensation according to the program of this section, it cannot solve the transition problem between the blocks, and requires the workpiece contour to be processed into a rounded transition, so the craftsmanship at the sharp corner of the workpiece is not good; the C function tool radius The compensation can automatically handle the transfer of the tool center path of the two blocks, and can be programmed according to the contour of the workpiece. Therefore, almost all modern CNC machine tools use the C function tool radius compensation.

How to judge the direction of tool radius compensation? Judging method: “Following the running direction of the tool”, the tool is left compensation on the left side of the workpiece, and the tool is right compensation when the tool is on the right side of the workpiece. The compensation can be “negative”. When the tool radius compensation takes a negative value, the functions of G41 and G42 are interchanged.

The radius value of the tool is stored in the memory Dxx in advance, and xx is the memory number. When a program needs several tools, it is recommended that the tool number Txx corresponds to the memory Dxx, that is, the tool radius compensation value of No. T1 uses the memory No. D01 accordingly. , so that it is not easy to make mistakes during processing. After the tool radius compensation is executed, the CNC system automatically calculates and makes the tool automatically compensate according to the calculation result. In the process of machining, if there is a difference between the outline size of the part and the size of the drawing, the radius compensation value in the memory Dxx can be corrected, and then the program can be re-run to meet the requirements. To cancel tool radius compensation, use G40, or D00 to cancel tool radius compensation.

Note during use: When creating or canceling tool compensation, the G41, G42, G40 commands must be in the same block as the G00 or G01 commands, that is, the G41, G42, and G40 commands must be used at the same time. G00 or G01 commands must not be used at the same time Use G02 or G03, and the length of the straight line segment to be run when creating or canceling tool compensation must be greater than the tool radius value to be compensated, otherwise the compensation function will not work; in the compensation mode, writing 2 or more tools will not work. The moving block (auxiliary function, pause, etc.), the tool will overcut or undercut.

### 3. Instruction format

G17/G18/G19 G00/G01 G41/G42 IP_D_

Radius compensation can only be performed in the specified coordinate plane. Use the plane selection command G17, G18 or G19 to select the XY, ZX or YZ plane as the compensation plane respectively. The compensation number must be specified for the radius compensation, and the tool radius value is stored in the compensation number D. When the above command is executed, the tool can be automatically shifted to the left (G41) or right (G42) by a tool radius compensation value. Since the establishment of tool compensation must be completed in the block containing motion, G00 (or G01) is also written in the above format. Compensation should be cancelled before the end of the procedure.

## Fixture Offset Compensation

Just as tool length compensation and radius compensation allow programmers to ignore tool length and size, fixture offsets allow programmers to use fixture offsets regardless of the position of the workholding.

When a machining center is processing small workpieces, several workpieces can be clamped on the tooling at a time. The programmer does not need to consider the coordinate zero point of each workpiece during programming, but only needs to program according to the respective programming zero point, and then use the fixture Offset to move the machine’s programmed zero point on each workpiece. The fixture offset is executed using the fixture offset commands G54 to G59. Another method is to use the G92 command to set the coordinate system. When one workpiece is finished, use G92 to reset the new workpiece coordinate system when machining the next workpiece.

## Relationship Between Tool Offsets

### 1. The relationship between tool length compensation and radius compensation function

If there are both tool length compensation and tool radius compensation (compensation in the controller) commands in the NC machining program of the part, the block containing length compensation must be written before the block containing radius compensation, otherwise radius compensation invalid

For example: in the following program segment:

N50 GOOG41X20Y20D02

N60 GOOG43Z10

If the CNC system does not perform tool radius compensation, change to:

N50 GOOG43Z10

N60 GOOG41X20Y20D02

Then the CNC system executes both the tool radius system and the tool length compensation command.

### 2. Relationship between tool length compensation and other commands

1. G43 and G44 commands can only be used in linear motion, and an alarm will be generated when they are used in non-linear motion statements;
2. G43 and G44 are modal commands in the same group, they will automatically cancel the last tool length compensation without the need to use the special G49 command. For the sake of safety, the tool should be canceled when the machining of a tool or the end of a block is completed. length compensation;
3. Tool length compensation must be accompanied by independent interpolation motion (GOO, GO1, G81, G83, etc.) to be effective.

The above are three kinds of compensations commonly used in CNC machining, which bring great convenience to our programming and machining, and can greatly improve work efficiency.