# CNC programming | G-Code | M-Code | Incremental and Absolute Programming System

## CNC programming

CNC programming has two types of programming modes,

1. The incremental system and
2. The absolute system is used for CNC.

Both systems have applications in CNC programming, and no system is either right or wrong all the time. Most controls on machine tools today are capable of handling either incremental or absolute programming.

### Incremental Program

Incremental program locations are always given as the distance and direction from the immediately preceding point.

• A “X plus” (X+) command will cause the cutting tool to be located to the right of the last point.
• A “X minus” (X-) command will cause the cutting tool to be located to the left of the last point.
• A “Y plus” (Y+) command will cause the cutting tool to be located toward the column.
• A “Y minus” (Y-) will cause the cutting tool to be located away from the column.
• A “Z plus” (Z+) command will cause the cutting tool or spindle to move up or away from the workpiece.
• A “Z minus” (Z-) moves the cutting tool down or into the workpiece.

In incremental programming, the G91 command indicates to the computer and MCU (Machine Control Unit) that programming is in incremental mode.

### Absolute Program

Absolute program locations are always given from a single fixed zero or origin point. The zero, or origin point may be a position on the machine table, such as the corner of the worktable, or at any specific point on the workpiece. In absolute dimensioning and programming, each point or location on the workpiece is given a certain distance from the zero or reference point.

• A “X plus” (X+) command will cause the cutting tool to be located to the right of the zero or origin point.
• A “X minus” (X-) command will cause the cutting tool to be located to the left of the zero or origin point.
• A “Y plus” (Y+) command will cause the cutting tool to be located toward the column.
• A “Y minus” (Y-) command will cause the cutting tool to be located away from the column.

In absolute programming, the G90 command indicates to the computer and MCU that the programming is in the absolute mode.