CNC Controls: Haas

Haas NGC: First Part Runs 317

Haas NGC: First Part Runs 317 explains how to prove out programs and execute first part runs on the latest control panel from Haas Automation®, Inc. This class describes considerations for running new or recently changed part programs, including machine setup and correcting part program errors. First part runs require operators to be familiar with several menu options, screen changes, and modes on the control to successfully execute new programs and prevent unexpected errors and damage. Operators should also be aware of emergency conditions and procedures. The updated NGC streamlines first part run processes to be similar across most Haas CNC machines.

After completing this course, operators should have a greater understanding of the importance of proving out part programs for first runs. Learning methods for safely executing new programs will allow operators to fully utilize the Next Generation Control to prevent damage and increase efficiency during first part runs.

  • Difficulty Advanced

  • Format Online

  • Number of Lessons 12

  • Language English


Or fill out this form and a specialist will contact you shortly

Course Outline
  • Considerations for First Part Runs
  • Setup and Workholding
  • Types of Errors
  • Review: Background to First Part Runs
  • Proving Out Programs
  • Prove Out Methods
  • Single Blocking
  • Managing Risk During Single Blocking
  • Review: Prove Out Methods
  • Emergency Procedures
  • Considerations for Trusted Programs
  • Review: Emergencies and Further Considerations
  • Describe considerations for first part runs.
  • Explain the relationship between setup, workholding, and first part runs.
  • Describe types of errors.
  • Explain the importance of proving out part programs.
  • Describe methods for proving out part programs.
  • Explain how to prove out programs by single blocking.
  • Describe ways to manage risk during single blocking.
  • Describe emergency procedures for first part runs.
  • Describe considerations for trusted programs after the first part run.
Vocabulary Term

abnormal stops

An unplanned or emergency interruption in a machining cycle. Abnormal stops include errors, crashes, emergency stops, and alarm–caused stops.

active programs

The program that will begin running when an operator presses CYCLE START in MEMORY mode. The active program has an asterisk next to it in the device manager.

address codes

A calculated, coordinate location along an axis. Address codes can be positive or negative and located on any of the linear or rotational axes.


An alert on the NGC. Alarms usually cause abnormal stops and indicate collisions and various other machine conditions.

alarm-caused stop

An unplanned stop triggered by an alarm condition. Alarm–caused stops can be caused by damage or needed maintenance and must be cleared using the RESET key.


An imaginary line that is used to measure the location of an object in three-dimensional space. Axes in the Cartesian coordinate system include linear and rotational axes.


A specific number of identical parts that move through the production cycle in a group. Batches should only be run after an accurate part has been produced by a first part run.

canned cycle

A predetermined machining sequence used to simplify programming. A canned cycle sequence is initiated by a single G code.


Computer Numerical Control. A programmable system of software and hardware that directs the operation of a machine. CNC systems use mathematical data to direct machine movements.


An event when the cutting tool makes undesired contact with the workpiece or other machine components. Collisions can be caused by tool interference and program errors.


A line in code that adds notes or explanations to a part program. Comments are placed in parentheses in part programs.

computer numerical control

CNC. A programmable system of software and hardware that directs the operation of a machine. Computer numerical control systems use mathematical data to direct machine movements.


A display key that shows various information about the current state of the machine. The CURRENT COMMANDS key displays tabbed menus for timers, macros, active codes, Advanced Tool Management, and more.

Distance to Go

Positioning information on the NGC. Distance to Go measures how far the spindle is from a predetermined point and is used to help prevent collisions during single blocking.

dry run

A prove out method that involves executing a first part run without cutting a workpiece. Dry runs have largely been replaced by Safe Run Mode on the NGC.

dynamic work offset

A work offset that changes the orientation of the coordinate system as the tool rotates. Dynamic work offsets are usually used during machining on multi-axis machines.


Tools that allow operators to change or create part programs directly on the NGC. NGC editors include background edit, program edit, and the MDI editor.

Feed Hold

A normal stop that pauses an active program. A Feed Hold results from turning the jog handle counterclockwise during single blocking or from pressing the FEED HOLD button.

first part runs

The first successful execution of a part program that produces the first good part. First part runs are done after proving out a part program to verify the accuracy of the program.

G code

A programming language that pairs address letters with numerical values to form commands. G code programming is used to direct CNC machine movements.

Graphics Mode

A function of the Haas control that allows an operator to view a part program's toolpath before actual machining. Graphics Mode enables a visual dry run of the part program.

illegal characters

A part programming character that does not conform to the syntax, or programming format, of a CNC control. Illegal characters cause syntax errors because they cannot be read by the control.

jog handle

A dial that is turned by hand in order to manually control single blocking. Turning the jog handle clockwise tells the control to continue the program, while turning it counterclockwise produces a Feed Hold.


A machine tool commonly used to create cylindrical forms. A lathe holds a cylindrical workpiece on one or both ends while the cutting tool is gradually passed along the surface of the rotating part.

legitimate characters

A part program character that conforms to the syntax, or programming format, of a CNC control. Legitimate characters that occur in unintended places within a part program cause logical errors.

logical errors

A part program mistake that occurs when an unintended legitimate character or value appears in a part program in place of the intended character or value. Logical errors cause collisions and produce inaccurate parts because they can be processed by the NGC.

M code

Code in the G code programming language. M codes are used to program machine functions, such as coolant or tool changes, and are often machine- or manufacturer-specific.

machine zero

The built-in origin on a CNC machine. Machine zero is set by the machine manufacturer during assembly.

Manual Data Input

MDI. The mode that allows an operator to manually enter and execute blocks of programming code at the control panel. In Manual Data Input Mode, code is entered one block at a time, and each block deletes from the machine as soon as it is executed unless the program is saved as a new file.


A machine tool that performs cutting operations on flat, square, or rectangular workpieces. On a conventional mill, the cutting tool can move only linearly.

Modify menu

A menu that allows operators to make simple changes to entire part programs. The Modify menu enables changes like reversing all plus and minus signs and removing part program lines.

multi-axis machine

A machining center that has four or more linear and rotational axes. Multi-axis machines can combine milling, turning, and holemaking capabilities.


The use of computerized devices that communicate via signals sent by cables or air. The NGC uses an advanced wireless networking system to send, receive, and store files directly on the control.

Next Generation Control

NGC. The latest Haas Automation, Inc.® CNC control. The NGC Control was released in 2016.


Next Generation Control. The latest Haas Automation, Inc.® CNC control. The NGC Control was released in 2016.

normal run

The execution of a part program using CYCLE START. Normal runs can be used for proven part programs that do not need to be tested in Graphics Mode or Safe Run Mode first.


A display key that shows information about offsets for the current machine setup. The OFFSET key displays tabbed menus where operators can enter and store information about work, tool, and other offsets.


A numerical value stored in the CNC control that repositions machine components. Offsets are used to adjust for differences in tool geometry, part size, tool wear, and any other changing variables that may affect the manufacture of the part.


A key on the NGC that stops the machine at all optional stops, or M01 commands, which usually occur after each tool change. The OPTION STOP feature can be activated during single blocking to reduce the risk of collisions.

Optional Stop

A code that pauses the program if the OPTION STOP key is pressed when the Optional Stop setting is enabled on the machine. An optional stop is typically indicated by the M01 command.

part program

Instructions used by a CNC machine to perform the necessary sequence of operations to machine a specific workpiece. Part programs are composed of G and M code.

physical errors

A mistake in the setup of the CNC machine. Physical errors include collisions and maintenance needs.


A key on the NGC that displays positioning information. The POSITION key can be used to access the Distance to Go feature on the NGC.

program block

A single line of a part program. Program blocks are composed of G code and end with a semicolon.

program zero

The position that acts as the origin for the part program of a particular workpiece. Program zero is unique to each workpiece design, and it is selected by the part programmer.

programmable stop

A normal stop that is indicated in the part program. Programmable stops include a number of M codes and the command #3006.

programming errors

A mistake in the part program code. Programming errors include syntax errors and logical errors.

prove out

Performing a series of steps to verify the accuracy of a part program. Operators can use Graphics Mode, Safe Run Mode, single blocking, and a series of editors and search functions to thoroughly prove out a program on the NGC.

range of motion

The linear and rotational movement capabilities of a CNC machine. Range of motion can affect a machine's ability to cut a part, especially if the part program requires axes that the machine does not have.


A series of keys on the NGC that change the speed of rapid moves. The 5%, 25%, and 50% RAPID keys can be used to reduce the risk of collisions during single blocking.

rapid moves

Movements that position the spindle for cutting. Rapid moves are usually slowed to a percentage of their normal speed for added safety during single blocking.

Remote Jog Handle

A detachable device that allows CNC operators to manually control machine axis motions while away from the machine. The remote jog handle, or RJH-Touch, on the NGC includes some other basic features, such as CYCLE START and FEED HOLD.

Safe Run Mode

An operating state that makes the machine more sensitive to errors and crashes. Safe Run Mode can increase cycle time, so it is best for executing new or recently edited programs.

search functions

Tools that allow operators to locate specific values in a part program. NGC search functions include basic search, Find and Replace, and error search.

Setting 103

A setting that requires the operator to press and hold CYCLE START in order for a cycle to run. Setting 103 automatically turns off when Setting 104 is activated during single blocking.

Setting 104

A setting that allows the operator to single step through a part program with the jog handle when activated. Setting 104 can be turned on or off in the Settings menu.

Setting 31

A setting that, when activated, causes the RESET key to send the cursor back to the beginning of a part program after an abnormal stop. Setting 31, or Reset Program Pointer, can be turned off in the Settings menu.

Setting 36

A setting on the Haas control that allows an operator to start a program from the middle of a tool sequence while recognizing the preceding lines of a part program. Setting 36, or Program Restart, minimizes the risk of crashes upon restart when it is turned on.

Settings menu

A table of options that operators can activate, deactivate, or change to suit specific machining conditions. The Settings menu is opened by pressing the SETTING key.


The position of tooling and fixturing for a machining operation. The setup of a machine for manufacturing will affect part program execution.


Recreate as a computerized model. Graphics Mode simulates part programs on the NGC.

single blocking

A prove out method that executes a part program one block at a time. Single blocking is very accurate because it produces a part for inspection.

software updates

The latest version of a software package that is typically installed through an internet connection. Software updates often include security patches and improvements in control functions.

software version

A recent NGC software update that enables some Haas machines to use and execute certain features. Software version or newer is required to use features like Safe Run Mode and error search.

Swap Plus and Minus Signs

A tool in the Modify menu that changes all address codes from positive to negative or vice versa. Swap Plus and Minus Signs reverses all positive and negative values along the selected axis in the part program.

syntax errors

A part program mistake that occurs when an illegal character appears in a program. Syntax errors cause abnormal stops because they cannot be processed by the NGC.


A key on the Remote Jog Handle that controls the Distance to Go feature. The TO GO key corresponds to the POSITION key on the NGC.


An unwanted but acceptable deviation from a given dimension. Tolerances indicate the allowable difference between a physical feature and its intended design.

Tool Data table

A table on the NGC that displays information about cutting tool wear. The Tool Data table is located in the Current Commands menu.

tool offsets

A stored value that compensates for variations in tool length and diameter. Each tool requires one or more tool offsets.


A series of coordinate positions that determine the movement of a tool during a machining operation. Toolpaths are simulated by Graphics Mode.

trusted program

A proven program that has been previously executed. Trusted programs should be run as a normal cycle unless they have not been used for a long period of time.


The erosion of tool material as a result of friction. Wear degrades the accuracy and precision of a cutting tool and can be monitored in the Tool Data table on the NGC.

work offsets

The distance between program zero and machine zero that indicates where the machine should move the spindle in order to begin cutting. Work offsets change the position of the spindle to adjust the location of every tool when in use.


A method or device for securing a workpiece for a machining operation. Workholding can include chucks, vises, and a range of accessories.

workholding devices

A component used to secure, support, and locate a workpiece during a manufacturing operation. Common workholding devices include chucks, collets, vises, and fixtures.


A part that is being machined. A workpiece may be subject to cutting, turning, or holemaking on a CNC machine.


The component of a machining center that supports the workpiece and any workholding devices during machining. The worktable is often used as a base from which to calculate tool length offsets.