2012-08-02 12:30:01 (CET)

Modal Groups

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 Table 3-3.


Table 3-3 Modal Groups

The modal groups for G codes are:


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.

The modal groups for M codes are:

group 4 = {M0, M1, M2, M30, M60} stopping

group 5 = {54, 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 (special case: M7 and M8 may be active at the same time)

group 9 = {M48, M49} enable/disable feed and speed override switches

group 10 = {M90, M91, M92} select standard or alternate spindle, M90=standard.

In addition to the above modal groups, there is a group for non-modal G codes:

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. When the machining center is turned on or otherwise re-initialized, the default values are automatically in effect.


Group 1, the first group on the table, 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.