NC Programming Code
G00 Rapid traverse
G01 Linear interpolation
G02/G03 Circular interpolation
G04 Dwell
G07 Tangential circle interpolation
G08/G09 Path control mode (ramp at block transitions) and "Adaptive Look ahead" function
G10/G11 Block per-processing control
G10/G11 Block per-processing control
G12/G13 Circular interpolation with radius input
G17-G20 Plane selection
G33 Thread cutting/rigid tapping
G36/G37 Programmable feed rate limitation
G38/G39 Mirror image
G40-G44 Tool radius compensation
G50 Scaling
G51/G52 Part rotation
G53-G59 Zero offsets
G63/G66 Programmable feed rate/spindle speed override
G70/G71 Inch/metric dimension
G72/G73 Interpolation with in position stop
G74 Home position
G80-G89 Canned cycles
G90/G91 Absolute/incremental programming
G92 Position register preset
G94/G95 Feed rate
G160-G164 ART learning function
G186 Programmable tolerance band
M00 Program stop
M01 Optional stop
M02/M30 End of program
M03/M04/M05 Spindle control (cw/ccw/stop)
M06 Tool change (M-code depends on PLC)
M19 Spindle orientation
M40-M46 Spindle gear transmission steps
All of the machine-specific functions have the M-code value configured in the PLC application. Some of the M-codes, like M06 for a tool change and M07-M09 for coolant control, have typical assignments in many controls. However this control does not require specific assignments. Therefore, a machine function like the tool change does not have to be M06. The spindle control M-codes (3-5, 19, 40-46) also have configurable assignments.