Difference between revisions of "G-Code"
From CNC.xyz Wiki
(Redirected page to wikipedia:G-code) |
(→M-Commands) |
||
| (13 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
| − | + | G-Code (also known as the RS-274 standard) is the numerical control language that is used to program most CNC Machines. There are several variations to the code used and not all G-code is created equally. Please check with the CNC control software ([[Mach3]], [[LinuxCNC]], [[UCCNC_Software|UCCNC]], [[Grbl]]) for specific reference and setup with CNC processors. | |
| + | |||
| + | {| class="wikitable" | ||
| + | |- | ||
| + | ! G-Code !! Code Description | ||
| + | |- | ||
| + | | [[G00]] || Rapid Positioning | ||
| + | |- | ||
| + | | [[G01]] || Linear Interpolation | ||
| + | |- | ||
| + | | [[G02]] || Circular Interpolation, Clockwise | ||
| + | |- | ||
| + | | [[G03]] || Circular Interpolation, Counterclockwise | ||
| + | |- | ||
| + | | [[G04]] || Dwell | ||
| + | |- | ||
| + | | [[G10]] || Coordinate System Origin Setting | ||
| + | |- | ||
| + | | [[G17]] || XY Plane Selection | ||
| + | |- | ||
| + | | [[G18]] || XZ Plane Selection | ||
| + | |- | ||
| + | | [[G19]] || YZ Plane Selection | ||
| + | |- | ||
| + | | [[G20]] || Unit Selection: Inch | ||
| + | |- | ||
| + | | [[G21]] || Unit Selection: MM | ||
| + | |- | ||
| + | | [[G27]] || Verify Home | ||
| + | |- | ||
| + | | [[G28]] || Home Return (Soft Home) | ||
| + | |- | ||
| + | | [[G30]] || Home | ||
| + | |- | ||
| + | | [[G33]] || Lathe Thread Cycle | ||
| + | |- | ||
| + | | [[G40]] || Cancel Cutter Compensation | ||
| + | |- | ||
| + | | [[G41]] || Cutter Compensation Left | ||
| + | |- | ||
| + | | [[G42]] || Cutter Compensation Right | ||
| + | |- | ||
| + | | [[G43]] || Tool Length Offset | ||
| + | |- | ||
| + | | [[G49]] || Cancel Tool Length Offset | ||
| + | |- | ||
| + | | [[G53]] || Motion in Machine Coordinate System | ||
| + | |- | ||
| + | | [[G54]] || Select Coordinate System 1 | ||
| + | |- | ||
| + | | [[G55]] || Select Coordinate System 2 | ||
| + | |- | ||
| + | | [[G56]] || Select Coordinate System 3 | ||
| + | |- | ||
| + | | [[G57]] || Select Coordinate System 4 | ||
| + | |- | ||
| + | | [[G58]] || Select Coordinate System 5 | ||
| + | |- | ||
| + | | [[G59]] || Select Coordinate System 6 | ||
| + | |- | ||
| + | | [[G59.1]] || Select Coordinate System 7 | ||
| + | |- | ||
| + | | [[G59.2]] || Select Coordinate System 8 | ||
| + | |- | ||
| + | | [[G59.3]] || Select Coordinate System 9 | ||
| + | |- | ||
| + | | [[G65]] || Subroutine | ||
| + | |- | ||
| + | | [[G80]] || Cancel Motion Modes | ||
| + | |- | ||
| + | | [[G81]] || Drilling Cycle | ||
| + | |- | ||
| + | | [[G82]] || Drilling Cycle with Dwell | ||
| + | |- | ||
| + | | [[G83]] || Drilling Cycle with Peck | ||
| + | |- | ||
| + | | [[G85]] || Boring Cycle, No Dwell, Feed Out | ||
| + | |- | ||
| + | | [[G86]] || Boring Cycle, Stop, Rapid Out | ||
| + | |- | ||
| + | | [[G87]] || Back Boring Cycle | ||
| + | |- | ||
| + | | [[G88]] || Boring Cycle, Stop, Manual Out | ||
| + | |- | ||
| + | | [[G89]] || Boring Cycle, Dwell, Feed Out | ||
| + | |- | ||
| + | | [[G90]] || Absolute Distance Mode | ||
| + | |- | ||
| + | | [[G91]] || Incremental Distance Mode | ||
| + | |- | ||
| + | | [[G92]] || Coordinate System Offset | ||
| + | |- | ||
| + | | [[G92.2]] || Cancel Coordinate System Offsets | ||
| + | |- | ||
| + | | [[G92.3]] || Restore Axis Offsets | ||
| + | |- | ||
| + | | [[G93]] || Inverse Time Feed Mode | ||
| + | |- | ||
| + | | [[G94]] || Feed per Minute Mode | ||
| + | |- | ||
| + | | [[G95]] || Feed per Revolution Mode | ||
| + | |- | ||
| + | | [[G96]] || Constant Surface Speed | ||
| + | |- | ||
| + | | [[G97]] || RPM Mode | ||
| + | |- | ||
| + | | [[G98]] || Initial Level Return in Canned Cycles | ||
| + | |- | ||
| + | | [[G99]] || R-Point Level Return in Canned Cycles | ||
| + | |} | ||
| + | |||
| + | ==M-Commands== | ||
| + | |||
| + | The following is a list of the most typical M-Commands that are supported by every major CNC motion controller program. Beyond M09, most software will allow the creation of custom M-Commands. Consult the documentation for your specific commands associated with your software and machine. Not all commands will be available. | ||
| + | |||
| + | {| class="wikitable" | ||
| + | |- | ||
| + | ! M-Command !! Code Description | ||
| + | |- | ||
| + | | [[M00]] || Program Stop | ||
| + | |- | ||
| + | | [[M01]] || Optional Stop | ||
| + | |- | ||
| + | | [[M02]] || Program End | ||
| + | |- | ||
| + | | [[M03]] || Spindle On, Clockwise | ||
| + | |- | ||
| + | | [[M04]] || Spindle On, Counter-Clockwise | ||
| + | |- | ||
| + | | [[M05]] || Spindle Off | ||
| + | |- | ||
| + | | [[M06]] || Tool change | ||
| + | |- | ||
| + | | [[M07]] || Mist Coolant On | ||
| + | |- | ||
| + | | [[M08]] || Flood Coolant On | ||
| + | |- | ||
| + | | [[M09]] || Coolant Off | ||
| + | |} | ||
Latest revision as of 06:25, November 25, 2015
G-Code (also known as the RS-274 standard) is the numerical control language that is used to program most CNC Machines. There are several variations to the code used and not all G-code is created equally. Please check with the CNC control software (Mach3, LinuxCNC, UCCNC, Grbl) for specific reference and setup with CNC processors.
| G-Code | Code Description |
|---|---|
| G00 | Rapid Positioning |
| G01 | Linear Interpolation |
| G02 | Circular Interpolation, Clockwise |
| G03 | Circular Interpolation, Counterclockwise |
| G04 | Dwell |
| G10 | Coordinate System Origin Setting |
| G17 | XY Plane Selection |
| G18 | XZ Plane Selection |
| G19 | YZ Plane Selection |
| G20 | Unit Selection: Inch |
| G21 | Unit Selection: MM |
| G27 | Verify Home |
| G28 | Home Return (Soft Home) |
| G30 | Home |
| G33 | Lathe Thread Cycle |
| G40 | Cancel Cutter Compensation |
| G41 | Cutter Compensation Left |
| G42 | Cutter Compensation Right |
| G43 | Tool Length Offset |
| G49 | Cancel Tool Length Offset |
| G53 | Motion in Machine Coordinate System |
| G54 | Select Coordinate System 1 |
| G55 | Select Coordinate System 2 |
| G56 | Select Coordinate System 3 |
| G57 | Select Coordinate System 4 |
| G58 | Select Coordinate System 5 |
| G59 | Select Coordinate System 6 |
| G59.1 | Select Coordinate System 7 |
| G59.2 | Select Coordinate System 8 |
| G59.3 | Select Coordinate System 9 |
| G65 | Subroutine |
| G80 | Cancel Motion Modes |
| G81 | Drilling Cycle |
| G82 | Drilling Cycle with Dwell |
| G83 | Drilling Cycle with Peck |
| G85 | Boring Cycle, No Dwell, Feed Out |
| G86 | Boring Cycle, Stop, Rapid Out |
| G87 | Back Boring Cycle |
| G88 | Boring Cycle, Stop, Manual Out |
| G89 | Boring Cycle, Dwell, Feed Out |
| G90 | Absolute Distance Mode |
| G91 | Incremental Distance Mode |
| G92 | Coordinate System Offset |
| G92.2 | Cancel Coordinate System Offsets |
| G92.3 | Restore Axis Offsets |
| G93 | Inverse Time Feed Mode |
| G94 | Feed per Minute Mode |
| G95 | Feed per Revolution Mode |
| G96 | Constant Surface Speed |
| G97 | RPM Mode |
| G98 | Initial Level Return in Canned Cycles |
| G99 | R-Point Level Return in Canned Cycles |
M-Commands
The following is a list of the most typical M-Commands that are supported by every major CNC motion controller program. Beyond M09, most software will allow the creation of custom M-Commands. Consult the documentation for your specific commands associated with your software and machine. Not all commands will be available.
| M-Command | Code Description |
|---|---|
| M00 | Program Stop |
| M01 | Optional Stop |
| M02 | Program End |
| M03 | Spindle On, Clockwise |
| M04 | Spindle On, Counter-Clockwise |
| M05 | Spindle Off |
| M06 | Tool change |
| M07 | Mist Coolant On |
| M08 | Flood Coolant On |
| M09 | Coolant Off |