Haas CNC Alphabetical Address Codes

The following is a list of the Address Codes used in programming the Haas Mill.

Haas Mini Mill 2 CNC Vertical Machining Center

A Fourth Axis Rotary Motion

(Setting 30, 34, 48, 108)
The A address character is used to specify motion for the optional fourth, A, axis. It specifies an angle in degrees for the rotary axis. It is always followed by a signed number and up to three fractional decimal positions. If no decimal point is entered, the last digit is assumed to be 1/1000 degrees.

B Fifth Axis Rotary Motion

(Setting 78, 79, 80,108)
The B address character is used to specify motion for the optional fifth, B, axis. It specifies an angle in degrees or the rotary axis. It is always followed by a signed number and up to three fractional decimal positions. If no decimal point is entered, the last digit is assumed to be 1/1000 degrees.

C Auxiliary External Rotary Axis

(Setting 38)
The C address character is used to specify motion for the optional external sixth, C, axis. It specifies an angle in degrees for the rotary axis. It is always followed by a signed number and up to three fractional decimal positions. If no decimal point is entered, the last digit is assumed to be 1/1000 degrees.

D Tool Diameter Offset Selection

(Setting 40, 43, 44, 58)
The D address character is used to select the tool diameter or radius used for cutter compensation. The number following must be between 0 and 200 (100 programs on an older machine). The Dnn selects that number offset register, that is in the offset display, which contains the tool diameter/radius offset amount when using cutter compensation (G41 G42). D00 will cancel cutter compensation so that the tool size is zero and it will cancel any previously defined Dnn.

E Engraving Feed Rate or Contouring Accuracy

(Setting 85)
The E address character is used, with G187, to select the accuracy required when cutting a corner during high speed machining operations. The range of values possible is 0.0001 to 0.25 for the E code. Refer to the “Contouring Accuracy” section of your machine manual for more information.

F Feed Rate

(Setting 19, 77)
The F address character is used to select the feed rate applied to any interpolation functions, including pocket milling and canned cycles. It is either in inches per minute with four fractional positions or mm per minute with three fractional positions.

G Preparatory Functions (G codes)

The G address character is used to specify the type of operation to occur in the block containing the G code. The G is followed by a two or three digit number between 0 and 187. Each G code defined in this control is part of a group of G codes. The Group 0 codes are non-modal; that is, they specify a function applicable to this block only and do not effect other blocks. The other groups are modal and the specification of one code in the group cancels the previous code applicable from that group. A modal G code applies to all subsequent blocks so those blocks do not need to re-specify the same G code. More than one G code can be placed in a block in order to specify all of the setup conditions for an operation.

H Tool Length Offset Selection

(Setting 15)
The H address character is used to select the tool length offset entry from the offsets memory. The H is followed by a two digit number between 0 and 200 (100 programs on an older machine). H0 will clear any tool length offset and Hnn will use the tool length entered in on n from the Offset display. You must select either G43 or G44 to activate a tool length (H) offsets. The G49 command is the default condition and this command will clear any tool length offsets. A G28, M30 or pressing Reset will also cancel tool length offsets.

I Circular Interpolation or Canned Cycle Data

The I address character is used to specify data for either canned cycles or circular motions. It is defined in inches with four fractional positions or mm with three fractional positions.

J Circular Interpolation or Canned Cycle Data

The J address character is used to specify data for either canned cycles or circular motions. It is defined in inches with four fractional positions or mm with three fractional positions.

K Circular Interpolation or Canned Cycle Data

The K address character is used to specify data for either canned cycles or circular motions. It is defined in inches with four fractional positions or mm with three fractional positions.

L Loop Count To Repeat a Command Line

The L address character is used to specify a repeat count for some canned cycles and auxiliary functions. It is followed by a number between 0 and 32767.

M M-Code Miscellaneous Functions

The M address character is used to specify an M code. These codes are used to control miscellaneous machine functions. Note that only one M code is allowed per block in a CNC program and all M codes are performed secondary in a block.

N Number Of Block

The N address character is entirely optional. It can be used to identify or number each block of a program. It is followed by a number between 0 and 99999. The M97 functions needs to reference an N line number.

O Program Number (Program name in parenthesis)

The O address character is used to identify a program. It is followed by a number between 0 and 99999. A program saved in memory always has a Onnnnn identification in the first block. Altering the Onnnnn in the first block causes the program to be renumbered. If you enter a program name (Program Text Name) between parenthesis in the first three lines of a program, that program name will also be seen in your list of programs. You can have up to 500 program numbers (200 programs on an older machine) in your List of Programs. You can delete a program number from the LIST PROG display, by cursor selecting the program, and pressing the ERASE PROG key. You can also delete a program in the advanced editor using the menu item DELETE PROGRAM FROM LIST.

P Delay Of Time or M98 Program Number Call or M97 Sequence Number Call

The P address character is used for either a dwell time in seconds with some canned cycles or in a G04, or P is used as a program number reference for an M98, or a program sequence number reference for an M97. The P value is a positive number without decimal point up to 99999 when used with an M98 or M97. When used as a dwell time, it may be a positive decimal number between 0.001 and 1000.0 in seconds.

Q Canned Cycle Optional Data

The Q address character is used in canned cycles and is always a positive number in inches between 0.001 and 100.0.

R Circular Interpolation or Canned Cycle Data

(Setting 52)
The R address character is used in canned cycles or circular interpolation. It’s either in inches with four fractional positions or mm with three fractional positions. It is followed by number in inches or metric. It’s usually used to define the reference plane for canned cycles.

S Spindle Speed Command

(Setting 20)
The S address character is used to specify the spindle speed in conjunction with M41 and M42. The S is followed by an unsigned number between 1 – 99999. The S command does not turn the spindle on or off; it only sets the desired speed. If a gear change is required in order to set the commanded speed, this command will cause a gear change to occur even if the spindle is stopped. If spindle is running, a gear change operation will occur and the spindle will start running at the new speed.

T Tool Selection Code

(Setting 15)
The T address character is used to select the tool for the next tool change. The number following must be a positive number between 1 and (20) the number in Parameter 65. It does not cause the tool change operation to occur. The Tnn may be placed in the same block that starts tool change (M06 or M16) or in any previous block.

U Auxiliary External Linear Axis

The U address character is used to specify motion for the optional external linear, U-axis. It specifies a position of motion in inches. It is always followed by a signed number and up to four fractional decimal positions. If no decimal point is entered, the last digit is assumed to be 1/10000 inches. The smallest magnitude is 0.0001 inches, the most negative value is -8380.0000 inches, and the largest number is 8380.0000 inches.

V Auxiliary External Linear Axis

The V address character is used to specify motion for the optional external linear, V-axis. It specifies a position of motion in inches. It is always followed by a signed number and up to four fractional decimal positions. If no decimal point is entered, the last digit is assumed to be 1/10000 inches.

W Auxiliary External Linear Axis

The W address character is used to specify motion for the optional external linear, W-axis. It specifies a position of motion in inches. It is always followed by a signed number and up to four fractional decimal positions. If no decimal point is entered, the last digit is assumed to be 1/10000 inches.

X Linear X-axis Motion

(Setting 45)
The X address character is used to specify motion for the X-axis. It specifies a position or distance along the X-axis. It is either in inches with four fractional positions or mm with three fractional positions. It is followed by a signed number in inches or metric. If no decimal point is entered, the last digit is assumed to be 1/10000 inches or 1/1000 mm.

Y Linear Y-axis Motion

(Setting 46)
The Y address character is used to specify motion for the Y-axis. It specifies a position or distance along the Y-axis. It is either in inches with four fractional positions or mm with three fractional positions. It is followed by a signed number in inches or metric. If no decimal point is entered, the last digit is assumed to be 1/10000 inches or 1/1000 mm.

Z Linear Z-axis Motion

(Setting 47)
The Z address character is used to specify motion for the Z-axis. It specifies a position or distance along the Z-axis. It is either in inches with four fractional positions or mm with three fractional positions. It is followed by a signed number in inches or metric. If no decimal point is entered, the last digit is assumed to be 1/10000 inches or 1/1000 mm.