List of M-codes

Classic Control - Mill Operator's Manual

The Online Interactive Operator's Manual is currently available in English only.

A PDF version of the Operator's Manual is available for download in multiple languages. Click the link below to view the Operator's Manual in your language. Click "Continue" to view the online version in English.

Get a translated PDF Download Continue

This chapter gives detailed descriptions of the M-codes that you use to program your machine.

caution: The sample programs in this manual have been tested for accuracy, but they are for illustrative purposes only. The programs do not define tools, offsets, or materials. They do not describe workholding or other fixturing. If you choose to run a sample program on your machine, do so in Graphics mode. Always follow safe machining practices when you run an unfamiliar program.
note: The sample programs in this manual represent a very conservative programming style. The samples are intended to demonstrate safe and reliable programs, and they are not necessarily the fastest or most efficient way to operate a machine. The sample programs use G-codes that you might choose not to use in more efficient programs.

M-codes are miscellaneous machine commands that do not command axis motion. The format for an M-code is the letter M followed by two to three digits; for example  M03.

Only one M-code is allowed per line of code. All M-codes take effect at the end of the block.

M-codes for Mill
M00 Stop Program
M01 Optional Program Stop
M02 Program End
M03 / M04 / M05 Spindle CW / CCW / Stop
M06 Tool Change
M07 Shower Coolant On
M08 Coolant On / M09 Coolant Off
M10 Engage 4th Axis Brake / M11 Release 4th Axis Brake
M12 Engage 5th Axis Brake / M13 Release 5th Axis Brake
M16 Tool Change
M17 Unclamp APC Pallet and Open APC Door / M18 Clamp APC Pallet and Close APC Door
M19 Orient Spindle (Optional P and R Values)
M21-M28 Optional User M Function with M-Fin
M30 Program End and Reset
M31 Chip Conveyor Forward / M33 Chip Conveyor Stop
M34 Coolant Increment / M35 Coolant Decrement
M36 Pallet Part Ready
M39 Rotate Tool Turret
M41 / M42 Low / High Gear Override
M46 Jump if Pallet Loaded
M48 Check Validity of Current Program
M49 Set Status of Pallet
M50 Execute Pallet Change
M51-M58 Set Optional User M-codes
M59 Set Output Relay
M61-M68 Clear Optional User M-codes
M69 Clear Output Relay
M73 Tool Air Blast (TAB) On / M74 TAB Off
M75 Set G35 or G136 Reference Point
M76 Control Display Inactive / M77 Control Display Active
M78 Alarm if Skip Signal Found
M79 Alarm if Skip Signal Not Found
M80 Auto Door Open / M81 Auto Door Close
M82 Tool Unclamp
M83 Auto Air Gun On / M84 Auto Air Gun Off
M86 Tool Clamp
M88 Through-Spindle Coolant On / M89 Through-Spindle Coolant Off
M95 Sleep Mode
M96 Jump If No Input
M97 Local Subprogram Call
M98 Subprogram Call
M99 Subprogram Return or Loop
M109 Interactive User Input

Be aware: Many service and repair procedures should be done only by authorized personnel. The service technicians at your Haas Factory Outlet (HFO) have the training, experience, and are certified to do these tasks safely and correctly. You should not do machine repair or service procedures unless you are qualified and knowledgeable about the processes.

Danger: Some service procedures can be dangerous or life-threatening. DO NOT attempt a procedure that you do not completely understand. Contact your Haas Factory Outlet (HFO) and schedule a service technician visit if you have any doubts about doing a procedure.