Modal groups
Modal commands are arranged in sets called "modal groups", and only one member of a modal group may be in force at any given time. In general, a modal group contains commands for which it is logically impossible for two members to be in effect at the same time - like measure in inches vs. measure in millimeters. A machining center may be in many modes at the same time, with one mode from each modal group being in effect. The modal groups are shown in the following tables.
Modal groups for G-Codes
Name | G-Codes | Group |
Group 1 | G0, G1, G2, G3, G38.2, G76, G80, G81, G82, G83, G84, G85, G86, G87, G88, G89 | Motion |
Group 2 | G17, G18, G19 | Plane selection |
Group 3 | G90, G91 | Distance mode |
Group 5 | G93, G94 | Feed rate mode |
Group 6 | G20, G21 | Units |
Group 7 | G40, G41, G42 | Cutter radius compensation |
Group 8 | G43, G49 | Tool length offset |
Group 10 | G98, G99 | Return mode in canned cycles |
Group 12 | G54, G55, G56, G57, G58, G59, G59.1, G59.2, G59.3 | Coordinate system selection |
Group 13 | G61, G61.1, G64 | Path control mode |
Group 14 | G68, G69 | XY plane rotation |
Modal groups for M-Codes
Name | M-Codes | Group |
Group 4 | M0, M1, M2, M30, M60 | Stopping |
Group 5 | M54, M55, M56, M64, M65, M66 | AUX and general purpose I/O |
Group 6 | M6 | Tool change |
Group 7 | M3, M4, M5 | Spindle turning |
Group 8 | M7, M8, M9 | Coolant |
Group 9 | M48, M49, M50, M51, M52 | Enable/disable feed and speed override switches |
Group 10 | M90, M91, M92, M95, M97 | Select standard or alternate spindle or touch probe or camera offset, M90 = standard |
Enable THC | M20, M21 | THC ON | THC OFF (Torch height control) |
A axis clamp | M26, M27 | Clamp on | clamp off |
Non-modal groups
Name | M-Codes | Group |
Group 0 | G4, G10, G28, G30, G53, G92, G92.1, G92.2, G92.3 | |
For several modal groups, when a machining center is ready to accept commands, one member of the group must be in effect. There are default settings for these modal groups. The default values are automatically in effect when the machining center is turned on or otherwise re-initialized.
Group 1 is a group of G codes for motion. One of these is always in effect. That one is called the current motion mode.
It is an error to put a G-code from Group 1 and a G-code from Group 0 on the same line if both of them use axis words. If an axis word-using G-code from group 1 is implicitly in effect on a line (by having been activated on an earlier line), and a group 0 G-code that uses axis words appears on the line, the activity of the group 1 G-code is suspended for that line. The axis word using G-codes from group 0 are G10, G28, G30, and G92.