Mastering CNC Machining Centers - Online
Lesson Outline

"Scenes" refers to the number of scenes in the instruction for both the core and specific sections.

  • Fanuc applies to the 0M, 16M, 18M, 21M, and 30M series controls
  • Haas applies to all Haas controls
  • Okuma applies to OSP-5000, OSP-5020, OSP-7000, E, U, and P
  • Mazak applies to M32, M Plus, Fusion 640, and Matrix

Level 1: The Basic CNC Machining Center
(Modules 1 to 11)

Module 1: Basic Machining Center Principles [ Top ]

Scenes: Core 48

The introduction to this lesson identifies the brands and models of control that will be seen throughout the training program. The student will see the four most widely used brands, Fanuc, Haas, Mazak and Okuma CNC controls. Within each brand the student will see the models of control most commonly found in industry.

The lesson begins by identifying the basic operating principles of a CNC machining center. Both vertical and horizontal style machines are covered.

The mechanical components of the machining center are explained in the next section. The terms established here are used throughout the balance of the instruction when referring to these components. The lesson includes workpiece holding, rotating, and loading mechanisms and several automatic tool handling and retrieval mechanisms.

Module 2: The Machining Center Control and its Components [ Top ]

Scenes: Core 69, Fanuc 13, Haas 27, Okuma 20, Mazak 17

This module presents the basic components of the CNC control itself. The computer screen display, horizontal and vertical soft keys systems, MDI keys, Mode selections switches and manual machine controls are explained. Within each component, a discussion covers the typical variations found on machines including such topics as screen sizes, touch screen, control panel configurations and so on. The basic soft-key menu system is explored revealing part programs, offsets and position data displays. Page and cursor keys are reviewed. The vertical soft keys found on some controls are also examined. Lastly, the specific features of the various brands of CNC control and the differences between the models within each brand are reviewed.

Module 3: The Machining Center Coordinate Grid System [ Top ]

Scenes: Core 88

As the most fundamental part of the CNC machining center and its operation, the coordinate grid is covered in detail in this lesson. From a general discussion of the grid, the instruction moves into the specific application of the grid to the machining area of the machining center. Next, the units of measure used within the grid, and the axes of movement of the machine, are explained in detail. The rotational axes A, B and C are introduced as well.

Module 4: The Signs of Coordinates and Directions of Movement [ Top ]

Scenes: Core 27

Many errors by operators involve confusing the signs of coordinates and the signs of machine movements. This module covers these concepts in detail. The idea and typical application of program zero and machine zero are introduced at this time.

Module 5: Using Coordinate Grids on Machining Centers [ Top ]

Scenes: Core 33, Fanuc 8, Haas 24, Okuma 17, Mazak 12

Understanding the use of more than one grid system on a machining center has always been a point of confusion for new operators. The use of multiple zero points, and the resulting grids they establish, are explained in this module. The purpose of Machine Zero and its relvance to other zero locations is covered. Concepts of Reference Point, Home and Zero Return and the tool change location are introduced. Then the idea of Program or Work Zero and its relationship to the coordinates found in a program is explained. The Distance-to-go register as it relates to tool movements within the grid is also explained. Further, the application of multiple grids as it occurs on Fanuc, Haas, Mazak and Okuma models is covered in the specific sections provided. The newer Haas segmented screen display is detailed as well.

Module 6: Controlling Tool Movement [ Top ]

Scenes: Core 44

Now that the grid system has been explained, the instruction moves on to discuss the systems involved in positioning of tools within these grids. Three movements, Tool Change, Rapid and Feed Rate are explained. The Reference Point as a tool change location is defined along with T addresses and tool numbers. The encoder and ball screws used to position tools are explained. The concept of reducing cycle time is introduced as well.

The module then defines the basic machining movements needed to create a finished workpiece including such items as rough and finish cuts. The concepts of depth of cut, feed rate, and surface speed are then discussed. It continues with an explanation of the way in which the computer receives and interprets program commands to control the tool and work table movements. It also explains that a control panel button and arrow symbol may be labeled to indicate the physical direction the tool or table will move as opposed to the resulting positioning of the tool within the coordinate grid.

Module 7: Milling Tools and Operations [ Top ]

Scenes: Core 66

This module explains the types of milling operations such as Face, Side and End milling. The "hand" of milling cutters is covered, then conventional and climb milling operations and their advantages are explained. Solid and insert style cutters are then displayed. The types of inserts used, the materials they are made of, and typical applications are discussed. Various cutters types such as staggered tooth, angled, and slotting are then explained and their applications for rough and finish work features.

Module 8: Other Tooling Operations and Coolant Use [ Top ]

Scenes: Core 43

Other machining operations performed on a machining center are explained such as drilling, boring, reaming and tapping. Several types of drills are covered as well as the types of drilling processes they perform. The sizes and types of boring tools are shown next. Reaming and tapping and the tool holders used with them follows.

Because each machining process requires coolant supplied to the cutting tool, a discussion of the coolant system follows. The removal of the coolant and chips from the machining area is reviewed in the last portion.

Module 9: Manual Machine Controls [ Top ]

Scenes: Core 51, Haas 17, Okuma 17, Mazak 11

With an understanding of the basic principles of machining center functions and tooling, the student is now ready to perform as a machine tender. This module prepares the person to take over an existing job and maintain operations. The Cycle Start, Feed Hold, Emergency Stop, and Reset buttons are covered. The effect each has on the machine tool's operating systems such as axis movement, coolant and hydraulics is explained. The "default" or "start up" conditions are explained for the control computer. Comparisons between older- and newer-style control buttons and switches are included. A comparison is made between the names used to identify similar controls on each brand of control.

The Mode selection controls and their typical functions are explained next. They include automatic, MDI, edit, memory, tape, and the manuals modes of handle, jog, rapid and zero return. The override controls and their interaction with the motor speeds is then explained. The spindle start, stop, and override controls are then covered. The final portion explains the manual coolant controls.

Module 10: Homing the Machine and Over-Travel Recovery [ Top ]

Scenes: Core 62, Haas 24, Mazak 16

The module begins by explaining that machines that use absolute encoders may not need to be homed. It then explains the location of Machine Zero and the reference point it establishes. It then explains the manual Jog controls and how they are used to institute a return and how to perform the return at a rapid rate. The Z axis return is performed first. The Reference Point Return indicator lights are explained. Since machines can go beyond the preset limits, the over-travel alarm condition and indicator lights are explained next. The use of the Hand Pulse Wheel for moving the machine manually is then explained. The Hand Rate settings are covered along with remote pendants that allow the operator to have better access to the machining area while making adjustments or manually changing tools.

The sections on specific controls cover the jog and reference point return process to be performed on the Haas and Mazak machines.

Module 11: Machining Center Operation and Program Execution [ Top ]

Scenes: Core 33, Fanuc 19, Haas 17, Okuma 14, Mazak 11

This module includes an explanation of the process of removing completed workpieces, cleaning fixtures, preparing the next workpiece, and locating and properly securing it in the fixture. It begins by checking that the program has completed all blocks and returned to the beginning of the program. For safety, the mode is placed in a manual position and the workpiece cleaned of chips and a preliminary measurement of critical dimensions performed. If correct, the workpiece is removed and cleaned further. The new workpiece is cleaned and prepared, positioned over locating pads or areas, and clamped carefully.

The controls used on Tool Changers, Pallet Changers and B- axis rotary tables are also discussed. The operator then learns to jog the machining center components within each axis of travel using either the jog buttons or the Hand Pulse Wheel and its controls. The specific sections explain how to manually HOME each machine using the controls, provided and explains when this operation must be performed.

Level 2: Understanding Part Programs
(Modules 12 to 26)

Module 12: Programming Methods of CNC Machining Centers [ Top ]

Scenes: Core 36

Whether an operator ever needs to write a program or not, they will be required to read part programs so they can determine the corrective action needed to solve quality problems. This lesson introduces the most common languages used in machining center programming. It covers the various levels of programs available and the user interface typically available. It then explains how conversational programs convert to G code before execution, therefore requiring an operator to learn both G code and conversational languages.

Module 13: Basic EIA Programming [ Top ]

Scenes: Core 54

The module begins by explaining the purpose of blocks within a program and the N codes, sequence numbers, that identify each block. It then explains how codes within a block are identified with their address letter and numbers. The example of a G01 code is used with the explanation of the axis addresses that typically follow the code. M codes are then explained. The initialization blocks are shown next at the beginning of a program. The use of tool paths, with their T codes identifying their division within a program, are covered next. The M codes involved in tool changes are shown as well as the rewind codes M02 and M30. Finally, the use of subprograms to simplify programming is covered by explaining M98 and M99 as well as L codes.

Module 14: The Structure of Conversational Programs [ Top ]

Scenes: Core 30

The lesson looks at the elements of a typical Conversational program as they appear on a machining center control. The Mazatrol language is used as the example. It covers the structure of Units and explains the contents of the Common Unit. The Work Piece Coordinates which establish Program Zero are then covered. The use of Milling, Drilling, Line Machining and Pocket Milling Units is then illustrated. The next level within the program, Sequences, are explained by showing Tool Sequence and Shape or Figure sequences. As data is entered, the Message Display area prompts the operator as the cursor moves across the line. The End Unit is covered last.

Module 15: EIA Language Extensions [ Top ]

Scenes: Core 57, Okuma 40

To expand the capability of CNC controls running EIA programs, Macros are available as extensions. While the lesson covers the concepts and provides examples, a downloadable and printable "Job Aid" is also available with this lesson. It provides a guide to all of the language extensions on Fanuc, Mazak and Okuma type controls. The concept of variables and their types are explained the module. Math operators are covered as well. The use of the G65 and G66 and conditional branching and unconditional branching using IF and GOTO, value passing to subprograms, math operators, and logic operators are taught. All of these concepts are shown in the context of example part programs.

The specific sections of this module cover the basics of Okuma "User Task" programming. Topics include level 1, 2 and 3 User Tasks, subprogram calls, and math operators.

Module 16: Applying Okuma User Task [ Top ]

Scenes: Okuma 71

Okuma User Task programming is explained in more detail after having been introduced in the previous section. The four types of variables Local, Common, System and I/O are explained. The goal of this instruction is to teach a machine operator to read and follow the logic of simple User Task commands and subprograms. All basic concepts are covered by following programming examples of various functions. Examples of Part Probing are included.

Module 17: Common Programming Codes [ Top ]

Scenes: Core 86

The previous modules in this series illustrated the importance of understanding EIA programming techniques even on those machining centers which use Conversational programming methods. With this understanding, the student is ready to learn how specific EIA codes control machine movements.

The common G, M, S, T, P, and F codes are covered. Since the process of suppressing leading zeros on some controls can make reading these codes within a program more difficult, this technique is explained. The division of the codes into modal and non-modal groups, and the default codes within each group, is dealt with in the following section. The concerns with nonlinear G00 tool paths and the potential for collisions is also explained. The effect of Modal and Non-Modal codes are explained and which codes belong to various modal groups. The circular interpolation codes G02 and G03 and the impact the Plane Selection codes have on them are discussed. Various M codes are also explained such as M01, M00, M03 and M04, M07 and M08. The Feed Rate codes G95 and G95 are also described.

Module 18: Program Execution [ Top ]

Scenes: Core 37, Haas 8

The way in which codes are executed is made clear in this module. The buffer memory and the marking system used to identify the blocks currently in buffer are described. The concerns with the blocks remaining in the buffer when restarting a program are stated next. The use of the end-of-block symbol to identify the separation between blocks is mentioned next. The limitations on the number and type of codes that can appear in a block are pointed out, especially as it applies to modal codes. The start point and end point of the tool is discussed as it relates to the coordinates found within blocks in the program. The effect of single, double or triple axes within a block and the resulting movement it commands are explained.

Module 19: Initialization Blocks [ Top ]

Scenes: Core 54

A further explanation of the importance of sequence numbers and the convention of numbering blocks in a program in increments of 10 is initially explained. The relevance of the sequence of these block numbers is described. The use of Block Delete and Block Skip is pointed out next. The use of spaces between codes or coordinates and the suppression of leading or trailing zeros is explained.

An expanded view of the codes in the initialization block occurs next. The G90 and G91, G40 and G49 are dealt with. Importantly, the concerns of canceling an offset without a commanded tool movement following one of these codes is stressed. The purpose of the G80 code is explained. The inch and metric codes G20 and G21 are dealt with next. The variations found in other controls are explained as well. The locating of program zero is also explained using the G92 or G54 to G59 codes and how their function varies on some controls. Preset work table locations assigned to specific G codes are also examined.

Module 20: Absolute and Incremental Programming [ Top ]

Scenes: Core 25

Analogies are used to make understanding the differences between absolute and incremental programming easy to remember. The differences in the way the coordinates are executed are detailed next. Since we have begun to discuss the coordinate value in more detail, the next portion of the lesson covers the way in which a coordinate must be communicated within a shop environment. Operators frequently communicate orally so it is important to understand how to state decimal inch and metric numbers. For example, the "tenth" relates to one ten-thousandth of an inch, not a tenth of an inch in normal shop practice.

Module 21: Homing the Machine [ Top ]

Scenes: Core 29

G28 codes found in the initialization blocks are explained in this module. The difference between manual reference point operations and automatic returns are covered next. The startup and homing operation on the Haas is used as the example. The danger of exceeding the overtravel limits are described. An intermediate point may be programmed after the G28 on some controls. The coding and function of this point is described. Zero Return indicator lights are discussed as the speed of the spindle movement is reduced as it approaches the return point.

Module 22: Understanding Tool Paths [ Top ]

Scenes: Core 50

Tool paths begin after the initialization blocks in a program. The ability to locate, read and understand these blocks is critical to maintaining quality production. The M06 code is suggested as a locator code which identifies a tool change within a program along with T codes. The sequence of a tool changing process is explained in more detail next. The use of the ready position and the location of T codes within a program to allow for tool magazine rotation is explained. The placement of T codes in the final block before the M06 in the initialization blocks is pointed out. In older programs, the use of dual T codes to define the new tool and the location to place the original tool in the carrier is detailed. Programming used on a machines without an ATC system is also covered. The reading of two and four digit T codes is covered also.

Since some machines may not have the reference point as the tool-change location, the variations this creates in programming are explained. The G30 code as used for the tool change positioning command is covered with the differences between it and a G28 code highlighted. The simplified programming on newer machines is also explained. The remainder explains the other codes found within a typical tool path and the use of the G43 , G44, G54 to G59 and G41 and G42 for offsets.

Module 23: Sub-Programs and Optional Stop codes [ Top ]

Scenes: Core 29

A sub-program used for tool changing purposes is used as the example in the module. The use of M98, M99 the P address and "O" address for programs are explained. The different techniques used on a Haas machine are also covered. The use of the Optional Stop code M01 is explained as it appears in tools paths to allow measurement of features during the initial run. The use of sub programs to perform several machining operations at the same part locations is also detailed as a method of reducing the repetition within a program.

Module 24: Initialization Units for Conversational Programs [ Top ]

Scenes: Mazak 44

Similar to the previous modules, this section covers the programming techniques used in Conversational part programs. It begins by discussing the basic steps in the writing of a conversational program using the Mazatrol language as the example. The concept of organization by Units is introduced and their typical sequence beginning with the Common Unit. The selection of Material type, Initial Z, and ATC Mode. Next the WPC, work piece coordinate Unit used to establish program zero is explained. MMS Units are detailed on machines which have touch sensors. Each step in the execution of an MMS sequence is highlighted. Next, the Offset Unit is discussed with its establishment of an auxiliary coordinate system and its function.

Module 25: Mazatrol Programming Units [ Top ]

Scenes: Mazak 56

The three principal types of machining Units are explained, including Point, Line, and Face. The divisions within a unit are explained by highlighting the Unit, Sequence and Figure data. The automatic selection of Sequences based on the Unit data entered is illustrated next. The five locations within the control that hold the values used to calculate a Sequence are introduced. The additional Sequence values that may be entered by the programmer are explained. The module continues to cover the Figure Data next by describing the required values for Point, Line and Face Units.

Next, the four types of Units that each program must contain are explained. In addition, the other types of Units that may appear are detailed, including Sub Program, M Code, Pallet Change or Index, and Manual Programming.

Module 26: Mazak Priority Machining [ Top ]

Scenes: Mazak 38

The module begins with an explanation of the normal program execution sequence and the importance of the End Unit. Next, it discusses the reasoning for Priority Machining as it relates to reducing tool changes. The trainee learns to identify a program that uses this feature and how to read the sequence of operations. Priority Numbers are explained as they relate to Sequences that have no number assigned as well. An example program is used to illustrate the tool changing process and the advantages of priority machining.

Level 3: Machining Center Operator Skills
(Modules 27 to 42)

Module 27: Machine Start-up [ Top ]

Scenes: Core 46

Most CNC machinists begin their careers as machine operators. While the specific duties within shops may vary, generally this job classification includes machine start-up and checking operating systems. This module begins with the Main Power switch and the use of Lock Out features during maintenance. The control-on switch is covered next. The operating systems for coolant, hydraulic, and lubrication are explained in detail and the procedures for checking and correcting deficiencies in them are explained. The functions of automatic Maintenance Check systems are explained by using the Mazak control as an example.

Module 28: Memory Allocation and Program Directories [ Top ]

Scenes: Core 36, Fanuc 21, Haas 16, Okuma 60, Mazak 32

Since part programs have been thoroughly covered in the previous Unit, this section of this module explains how the various parts of a computer control's memory store and execute part programs. The use of hard drive sectors to store programs is detailed. An understanding of bits, bytes, characters and meters within the directory display is made clear. The differences between free memory and free storage locations are made clear and the effect each one has on the other.

In the last portion of the lesson, the operator will learn how to make a program active on each brand of control, and how to detect the currently active program in each control.

Module 29: File Management [ Top ]

Scenes: Core 72

This lesson begins by explaining how various part-program file management systems are designed. The use of common “folder” style directories is examined. Finally, the use of DNC systems, and the application of Front End Processor techniques for program storage are covered. It then discusses the capacity of the various storage mediums used including USB drives, laptops, flash cards, WiFi and DNC. Since the control's available memory may not be sufficient to hold a new program, the person is shown how to evaluate and select a program that can be deleted from memory. Protected programs, those that cannot be deleted, are also covered. The trainee is cautioned to receive permission before deleting any program from memory.

Module 30: Loading and Deleting Programs [ Top ]

Scenes: Core 17, Fanuc 26, Haas 30, Okuma 30, Mazak 42

Having learned how to make enough space available within the memory of the control, it is then possible for the operator to learn how to load both EIA and conversational programs in the core section of this module. The Memory Lock mechanisms available for each control are explained. The use of USB, Flash Memory cards, DNC, and Ethernet connections are shown.

The four specific sections show the loading and deleting process on each brand of control in significant detail as indicated by the scene numbers listed below the Module title above.

Module 31: The Fundamentals of Tool Length Offsets [ Top ]

Scenes: Core 28

This module begins with a thorough explanation of the concept of geometry and wear tool offsets as they apply to the tool length and radius. The need for wear adjustments during machining is explained. An understanding of the Gauge Point on the spindle is provided to explain how a crash might occur if a tool length offset is not applied to a tool. An example is shown to illustrate the point further. Wear adjustments are also illustrated with a specific example applied to tool length.

Module 32: The Fundamentals of Cutter Radius Compensation [ Top ]

Scenes: Core 35

The module begins with an example of an offset applied to a radius of a cutter. The relationship of the programmed tool path of the center point of the spindle and the radius offset value is explained. The types of tools to which a radius offset will be applied is detailed. The use of tool diameters instead of radius is covered next using an example of a tool that has been resharpened effecting the diameter. The importance of using the Wear offset instead of adjusting Geometry offsets follows. The use of automatic offset measuring devices is shown next. The concerns with how preset tools effect the process is also covered.

Module 33: Tool Offset Data Displays [ Top ]

Scenes: Core 28, Fanuc 16, Haas 14, Okuma 15

Tables displaying offsets are configured in a common manner. The module begins by defining the H and D addresses and the locations they refer to within the table. The functions of G43 and G44 codes in adding or subtracting the offset stored in the table is detailed next. G41 and G42 codes are discussed while a simple method to remember how the codes effect tool paths relative to the workpiece. The modal nature of offsets is discussed next along with the G49 and G40 cancel codes. The D00 and H00 codes are also covered. Next the offset table layout is reviewed. The importance of the first tool movement after an offset is applied within a program is explained.

The specific sections detail the various tool offset screens for each control type.

Module 34: Entering Tool File and Tool Data on Mazak Controls [ Top ]

Scenes: Mazak 24

The combination of Tool File and Tool Data displays both hold tool information critical to machining and when writing Mazatrol programs. Each group of sub displays are reviewed. Differences between various models of Mazak controls are revealed. Columns shown on each page are discussed. The relationship between Tool Data numbered locations and pocket numbers on the tool magazine are highlighted.

Module 35: Entering Mazak Cutting Conditions and Material Selection [ Top ]

Scenes: Mazak 39

An explanation of the differences between EIA programmer decisions regarding machining and the use of values stored in the conversation control is explained initially. The Cutting Conditions page is displayed and the two tables, workpiece materials and tool materials are detailed. The cursor is then placed into the Common Unit workpiece material location to show the listing available in the menu. The correlation between the two tables when determining feeds and speeds is explained next. The Tool Material table is covered in detail and the use of the Machinery's Handbook as a reference for information is shown. The use of percentages to calculate relative values to Carbon Steel are revealed as well.

Module 36: Fundamentals of SPC [ Top ]

Scenes: Core 83

Statistical Process Control is one of the most common ways for operators to reduce scrap and rework. It allows the operator to monitor the process and make corrections before any out-of-tolerance parts are produced. While the extent to which SPC is applied will vary from shop to shop, this module discusses the basic principles behind SPC and the advantages it offers to the operator who uses it to eliminate the running of workpieces which do not meet quality standards. A clear understanding of the out-of-control versus out-of-tolerance conditions is explained. The predictive nature of SPC is covered next. The normal random-variation versus assignable-cause are defined. The use of Capability Studies to establish initial conditions and the resulting Histogram it produces is explained. Next, the X bar and R charts and the limits lines on them are clarified. The frequency of measurement intervals is discussed as it relates to variation of the process. The patterns of out of control conditions are defined including beyond limits, mid-point shift, and trends. The advantages to the operator of discovering an out-of-control condition before any out-of-tolerance parts occur is explained in detail. The CPK ratio is examined and the responsibility the operator has in maintaining the value within an acceptable range.

Module 37: Identifying Quality Problems [ Top ]

Scenes: Core 50

The student's role as machinery operator will entail running a workpiece and checking and identifying any quality defects that occur. In addition, the learner must be prepared to identify quality defects as they appear in jobs for which he assumes operational responsibility. This module prepares the learner for these duties. The datum is introduced as a reference point from which measurements are made and the ability to reduce the accumulated errors of incremental measurements. The concept of locational, roughness and size tolerances is explained. The sound created when chatter occurs between the workpiece and tool is provided and the physical condition it creates on the surface is revealed.

Module 38: Troubleshooting Quality Problems [ Top ]

Scenes: Core 30

A large portion deals with the thought process involved in troubleshooting, providing the student with the most efficient method of finding and eliminating quality problems, with an emphasis on reducing downtime. The key is to follow a logical path through the likely sources of a problem so as to isolate the key area to investigate among such choices as the workpiece, mounting, fixturing, tooling, part program or machine failure.

Module 39: Responding to a Quality Problem [ Top ]

Scenes: Core 58

Having learned how to quickly isolate and identify the source of quality problems, the student is now instructed in making the adjustments necessary in order to resume production. This module first deals with stopping automatic execution once a defect has been found in order to make some of the more common corrections. The common causes of chatter are explained and well as the use of the override controls to temporarily overcome the problem. The importance of noting the location in a program where execution has been stopped and review of the programming blocks that will enable the resetting of the machining conditions before restart occurs. The automatic restart functions are also discussed as a tool to accomplish this process. The process of displaying a list of the currently active blocks is shown and recorded. The process of checking for incorrectly mounted workpieces, improper clamping, or other problems is performed, along with the calculation of the correction value based on the override.

Module 40: Calculating Tool Offsets [ Top ]

Scenes: Core 13, Fanuc 18, Haas 29, Okuma 12, Mazak 12

The lesson goes on to teach the learner how to calculate a tool offset value, and determine its correct sign and address to overcome a quality defect. The process of calculating with signed numbers is discussed in detail with example problems displayed. The specific sections of this module detail the calculation features and entry processes for each control type covered by providing an example of each.

The Haas content reveals the values stored in the offset table that control the Coolant Spigot. Both manual and programmed control is shown.

Module 41: Identifying and Correcting Tooling Problems [ Top ]

Scenes: Core 31

The next portion of the lesson enables the learner to identify chipped, burned, broken, and worn tools and cutting inserts through visual inspection. The process of removing, cleaning and replacing and or the indexing of an insert is then explained.

Module 42: Restarting a Program After Correcting a Problem [ Top ]

Scenes: Fanuc 47, Haas 48, Okuma 33, Mazak 11

There is no Core section to this lesson. Each section is specific to the brand or model of CNC control. The sections detail the procedure for safely resuming operation using manual functions. Also described are the Program Restart functions on the controls, as well as Mazak's Tool Path Storage capabilities. Differences between models within each brand of control are highlighted.

Level 4: Basic Setup and Programming Skills
(Modules 43 to 59)

Module 43: Reading the Part Print [ Top ]

Scenes: Core 44

Because of the wider use of Conversational CNC controls, operators are often given the responsibility of writing simple workpiece programs. In addition, shops which do not have off-line programming personnel or equipment may require the operator to assume all programming responsibilities on both EIA and conversational controls. This lesson prepares the student by giving him instruction in the task of planning the machining process.

Various reference manuals and catalogs used to make programming decisions are revealed. The part print is then discussed and whether the dimensions are final values or include an allowance. The datum surfaces used to draw the print dimensions are then investigated. Since the intersection of datums establish print zero, it is shown how the use of this point as program zero eliminates the need to convert print dimensions. The use of fixture offsets to accommodate variations in locations of program zero features are also discussed. The need to select the correct material and calculating rough-blank dimension requirements then shown.

Module 44: Fundamentals of Work Holding Devices [ Top ]

Scenes: Core 49

The selection of work holding devices and the variables involved are revealed. The location of the device is discussed relative to the work envelop available on the machine and the overtravel limits. Precision grid plates are then outlined as an alternative to dedicated fixtures. The concerns about collisions during tool changes is mentioned. Rigidity is highlighted next along with the specific types of cuts and forces they might generate. The ability to locate each blank with precision is then discussed using locating stops.

Concerns about over-clamping causing distortion in the piece is explained along with distortion due to machining an unsupported surface. This leads to a review of the tool conditions such as sharpness and the radial and axial forces created during a cut. An explanation of the use of finish passes to minimize deflected surfaces follows. Cautioning on the proper use of clamps and the forces they produce relative to machining forces is detailed next. MOO stops to allow reclamping is also discussed.

Module 45: Selecting Work Holding Devices and Installing Workpieces and Fixtures [ Top ]

Scenes: Core 46

The use of fixtures, vices and modular fixturing is highlighted in this module. The student is shown the proper procedure for removing and installing fixtures as well. Differing forms of locating devices within fixtures are then revealed. Open setup situations are explained. A modular system is then discussed and the components and configuration of locating grids within them. The advantages to a program written for a specific modular system are discussed.

The process of removing, cleaning, checking and installing a new fixture is then outlined. Various safety and cleaning considerations are discussed. The aspects of clamping, use of riser blocks, sine keys and sweeping a fixture to check alignment with the machine axes is covered.

Module 46: Pallet Changing and Indexing [ Top ]

Scenes: Core 37

Both EIA and conversational programs may require pallet changing and indexing. The module provides the student with information on how EIA programs and conversational units control these functions. A complete description of types and benefits of pallet systems begins the module. The program codes used to control pallet systems is explained. An example of an MDI sequence to change a pallet is demonstrated. Pallet changing Units are examined further.A section details the programming methods used to identify pallets and control the machining.

Module 47: Identifying and Selecting Tooling [ Top ]

Scenes: Core 44, Mazak 14

This module continues the setup process by discussing the information found on a typical tool list. The distinction between tool and insert numbers is outlined. The letters and numbers that are a part of the ANSI is explained. Next, the trainee learns to inspect the existing tools to determine which will be used for the new job, comparing them to the Tool Layout, and installing any new tools required. Insert types are revealed in more detail including the which factors in a cut determine the appropriate insert. The types of cuts each general insert style can handle are covered. The chip breaking capabilities of inserts are highlighted. Next tool holders and drills for ID cuts are examined according to their suitability based in the depth and diameter of the hole. The typical drill sequence used is outlined.

The Mazak specific section examines the Tool LAyout screen and how pocket numbers are assigned for a program. It also explains how to install a new tool and enter it on the Tool Layout screen.

Module 48: Setting Up an ATC and Installing Tooling [ Top ]

Scenes: Core 28, Haas 26, Mazak 15

The ATC system is examined in detail at the beginning of this module. The manual control to release or lock a tool in the magazine is covered following the alignment process and Ball Clamp systems. The manual changing of a tool is then demonstrated along with the safety precautions required. The specific section covers the Haas vertical mounted tool changer.

The concerns with large diameter tools such as face mills is discussed and the need to provide an empty pocket on each side of those tools.

Module 49: Priority Machining on Mazak Controls [ Top ]

Scenes: Mazak 45

While priority machining was introduced earlier in Module 25, this module details the conditions and situations under which it can be used effectively in a program. The levels of priority, prior, ordinary and subsequent are covered next. The effect on the screen display tool numbers is shown. Explained further is the sequence of the execution of the processes. An example of entering priority numbers is examined next using the soft keys. The issues related to running EIA-based programming and the impact on the T-code and pocket number concerns.

Module 50: Locating Program Zero [ Top ]

Scenes: Core 36

The Edge Finder and Dial Indicator are discussed as devices used for locating program zero. The complete process of dialing-in a set point hole is examined including using the various jog controls and spindle tram features. The indicator is read and the adjustment value calculated for the corrective movement. The process is completed for the remaining axis. Application of the Edge Finder is then explained. The diameter of the Edge Finder is then used in the calculation to determine the coordinate values.

Module 51: Establishing Program Zero using G54-G59 Codes [ Top ]

Scenes: Core 80, Mazak: 26

This lesson explains how the G54 to G59 code series is used to establish program zero on EIA-based machines. This opening portion also includes the use of multiple zero points when multiple workpieces are machined by use of Local coordinate systems. The offset table associated with the codes is introduced. The reference point from which the coordinates in the table are measured is explained. The nature of the modal operation of the codes is detailed next. The use of the zero position of the table is introduced with its special features applied to multi-part fixtures.

A program example is then investigated to illustrate the application of the codes. Since a different reference point is used, the process of locating the G54 offset values is demonstrated. The process of finding the Shift offset values is also examined. The application of the extended versions of the G54 codes, such as G54.1, and the associated P address is discussed next. The use of the G10 code for entering offsets into tables is revealed in the next portion. The importance of making changes to the values in the program when offsets must be changed is highlighted.

The specific section of the module explains how G54 to 59 are handled on Mazak controls while using an edge finder. The Teach function is explained as well as how to compensate for the finder's radius.

Module 52: Establishing Program Zero on Okuma [ Top ]

Scenes: Okuma 44

Self-zeroing resolves, like those found on Okuma machines, are explained as they relate to the zeroing process. Trainees learn why G28 and G30 codes are not required. The special function of G54 to G59 codes is highlighted next, as they serve a different purpose on Okuma controls. G15 and H codes are defined as the zero set functions and their use of an Offset table. A demonstration of displaying the Zero Set mode and screen occurs. Local Coordinate applications and the G11 and G10 code explanations follow. Entry of a Zero Set value is then performed. When a zero surface is not available for dialing-in or touching off, the reference surface is identified from the print. Calculations of the distance to Zero Set are then completed and entered.

The use of a Tool Probe to verify and correct the location of Program Zero on each part is examined next. The macro programming methods and the entry of System Variables during setup is shown.

Module 53: Establishing Program Zero using Mazatrol Programming [ Top ]

Scenes: Mazak 55

This module explains how to locate and enter program zero on a conversational control using the Mazak as the example. The importance of establishing an Initial Value for clearance in the Common Data unit is emphasized. It then details the use of Mazak's MMS unit and Tool Sensor for locating program zero from within the part program. The tip diameter of the probe is entered into the unit. The Skip function is explained to allow for bypassing the zero reset function. The complete explanation of he programming of the process follows using WPC and MMS Units. The process for entering the WPC value using an MMS execution by MDI is then explained in detail. The importance of establishing initial coordinates into WPC before executing MMS is highlighted.

Module 54: Local Coordinate Systems and the G52 Code [ Top ]

Scenes: Core 17

When the G54 to G59 codes are used, the G52 local coordinate system may be applied. The use of the code to shift zero between workpieces in a multi-part fixture is demonstrated. The application of sub programs to repeat the machining paths at the new location is explained. The canceling of G52 coordinates systems is covered next.

Module 55: Finding and Entering Tool Length Offsets [ Top ]

Scenes: Core 19, Fanuc/Haas 48, Okuma 20, Mazak 50

An explanation of the application of tool offsets begins the module covering both minus and plus values in the offset table. The location and function of the gauge point is covered next. The impact length offsets have then becomes clear since having no offset applied can cause a crash.

The Reference Tool method is demonstrated in this module. It involves non-preset tools with the G54 to 59 codes. The process of touching off and establishing the Zero level for the Reference tool begins the process. Next the remaining tools are touched off in a similar manner and the offsets entered. The process to calculate the G54 value is then outlined and the value entered.

The specific portion on Okuma controls covers the G53 to G59 tool length codes and how they function. The process of displaying the Tool Data Set screen and an explanation of its contents follows. The process of entering an offset is then followed.

The specific portion on Mazak reveals the Tool Plunger and the measuring modes available, as well as the manual modes of measurement. A manual measurement process is performed and the value entered. An automatic measurement sequence is then performed. Cautions are provided about potential collisions between the plunger and pallets. Next, the Semi Automatic mode is demonstrated for wide tools. Differences between multi-tooth cutters is examined. Another caution is given involving the use of G49 codes in conventional G&M code programs and the potential danger it creates on a Mazak. The function called "Changed Data Check" is examined next.

Module 56: G54 to G59 Tool Length Offsets Using a Reference Tool [ Top ]

Scenes: Fanuc/Haas 21

The Reference Tool method of establishing tool length offsets using a Gauge Block is examined. The trainee sees a demonstration of a tool being touched off and the values stored. The process of locating the offsets for the remaining tools is then demonstrated. The technique for locating and entering the G54 coordinates for the setup are then covered.

Module 57: G54 to G59 Tool Length Offsets Using the Zero Height Method [ Top ]

Scenes: Fanuc/Haas 26

This method involves the use of non-preset tools and the G54 to G59 codes. It eliminates the need to reestablish tool length offsets for each new setup. The G54 Z coordinate is explained as the height of Z zero above the work table surface of the machine which can, therefore, be established by the programmer and entered into the offset table. An example is shown to illustrate the validity of the technique by touching off on a gauge block placed on the Z zero surface of the workpiece or fixture and performing the calculations.

Module 58: Understanding Cutter Radius Compensation [ Top ]

Scenes: Core 57

The module explains the two methods that may be used by the programmer to apply Cutter Radius Compensation to tools; Centerline and Tool Edge. Trainees learn how to determine which technique has been used in a setup by looking at the stored CRC values for the tools. The technique used to cut contours is explained to better understand the requirement for CRC offsets. Next, it is explained why the inside corner radius of a feature will limit a cutter's radius to the specified value or smaller. The effects of the G41, G42 and G40 codes and when offsets are applied to a tool are detailed next. Examples of programmed blocks applying CRC values are used as illustration. The concepts of offset vectors as applied to tool movements is then highlighted. Next, the signs of CRC offsets are investigated as they apply to both programming techniques. A mnemonic device is provided to help trainees remember which direction the G41 and G42 are applied to a tool path. The importance of the Plane Select codes in this process is examined next. Finally, the importance of canceling CRC values at the end of tool paths is emphasized.

Module 59: Entering and Adjusting Cutter Radius Compensation Values [ Top ]

Scenes: Core 57

This module begins by describing how to calculate the CRC value for cutters which have been sharpened or otherwise do not match the diameter assumed by the programmer. Both the Centerline and Tool Edge programming situations are explained. The effect of changes to CRC values is clearly defined as it affects cutter positioning relative to the workpiece. The need to investigate the total tool path before making adjustments to CRC is defined next. An example is provided to demonstrate the process. Finally, the concerns about parameter settings and their effect is discussed.

Level 5: Advanced Setup Skills
(Modules 60 to 77)

Module 60: Programming Circular Features in EIA [ Top ]

Scenes: Core 62

Whether an operator writes programs or not, they will be required to read, understand and potentially edit tool paths that include circular interpolation codes. The term interpolation is defined to establish the importance of the value sets used to define circular paths. Start-Point, End-Point and Center-Point are then clearly defined as one programming technique used for circular paths. The six pieces of information the control needs to clearly define the path are then investigated. The way in which center point values are defined is then explained, including the Location and Radius methods. An example of the location programming for circular interpolation is then studied to reveal the purpose and sequence required to establish Start-Point, End-Point and Center-Point, plane select, direction of cut, and use of absolute or incremental coordinates. The differences between arc and full circle cuts is explained as it effects the programming. The relationship between I, J and K and X, Y and Z is detailed. Then, the application of these codes is examined within a program. The same process is discussed for Radius programming.

Module 61: Correcting Full Circle Features [ Top ]

Scenes: Core 41

The module begins by explaining that editing arc features should be left to a programmer. Since the start and end points of a circle are the same, certain editing functions are easier to perform at the machine when required. The trainee is cautioned about the fact that radius changes effect both sides of the circle and therefore must be calculated accordingly. Two types of corrections, location and diameter, are explained. Each fault is studied and the other possible causes revealed to assure the editing does not occur unnecessarily including tooling, CRC values, active or inactive CRC, lack of D addresses in blocks, and faulty CRC table entries. The importance of looking for other features in the program created by this same tool is highlighted. The use of a second offset is discussed when necessary. The impact Radius and Location programming techniques have on correction calculations is then examined. Next, the problem of location errors is discussed. Once other causes are eliminated, the trainee learns which values can be safely edited. An example of making such a correction is demonstrated in the last section.

Module 62: Manual Programming within a Conversational Program [ Top ]

Scenes: Mazak 15

This module explains how and when EIA codes can be used within a conversational part program. The Mazak Manual Programming Unit is covered as the example. The Unit and Sequence information in a Manual Unit is examined in detail as the cursor is moved across the lines as it is during programming.

Module 63: Basic Canned Cycle Commands [ Top ]

Scenes: Core 66

Since canned cycles can reduce program size and simplify the programming process, the module explains the basic programming and tool movements found in all canned cycles. It reveals how they are activated and deactivated. The canned cycle call block is detailed initially. The series of G codes normally used is explained with a caution to review the specific blocks used on the trainee's machine control. The modal nature of these codes is discussed and the codes which cancel the cycles. The effect of the Feed Hold and Reset buttons is mentioned as well. The variations found when G80 cancel codes are applied as it effects the reverted operating condition is examined. Understanding the differences between other blocks which define end-points and canned cycles is revealed. The six actions defined within canned cycle blocks in then investigated in detail. Any differences cause by absolute versus incremental programming is highlighted. Differences in specific brands of control are also outlined.

Module 64: Canned Cycles for Drilling, Boring, and Tapping [ Top ]

Scenes: Core 56

A detailed look is taken at the various drilling canned cycles including G81, G82, G83 and G73, tapping cycles G84 and G74, and boring cycles G76, and G85 to G89. The timing of changes from rapid traverse to feedrate is explained as related to the R plane value. The types of machining cycles which can be performed by each cycle is highlighted. The specific machining problems that can be solved by codes for peck drill, for example, are reviewed. The requirement for synchronized feed and speed during tapping cycles is explained and the subsequent disabling of the override controls during the cycle. The changes in the operation of Feed Hold are also discussed. Boring cycles with their Orient and Shift requirements are reviewed in detail in the final section.

Module 65: Drilling Units [ Top ]

Scenes: Mazak 71

Conversational programming has the equivalent to canned cycles for each of the typical machining functions. The functions covered in this lesson are called Point Units in a Mazak conversational language. This module explains Drilling Units. It includes a detailed look at the Unit, Sequence and Figure data blocks. It also explains how the size of the hole being specified will affect the programming displayed and how multiple-hole patterns can be programmed.

Module 66: Tapping Units [ Top ]

Scenes: Mazak 59

The Mazak units for tapping are explained in detail in this module. The graphics displays are examined as well. Each position of data entry line is discussed as the cursor is moved across. The resulting Sequence lines are investigated to reveal the automatically selected drills and tap. Various pattern selections are outlined and the key features of each as it applies to the AN1 and AN2 requirements. The sign of values impacted by the direction to each hole as shown on the print is discussed. The changes that occur with LINE or SQUARE selection on the T1 and T2 values are clarified. A caution is provided regarding the calculations for pipe tap selections as it relates to thread pitch.

Module 67: Boring and Counter-Boring Units [ Top ]

Scenes: Mazak 73

Mazak has rough counter boring, rough back counter boring, boring, back counter boring, and counter bore and tap. Each value in each unit is explained. The sequence lines that appear are investigated further. The four boring sequences are discussed including through hole, , non-through hole, stepped through-hole, and a stepped non-through hole. The circular milling unit is also reviewed.

Module 68: Reaming Units [ Top ]

Scenes: Mazak 21

The various types of reamers are explained initially in this Mazak module. The purpose of reaming is discussed next. Reaming Units are then covered with each cursor position of the data enter in the unit highlighted. Selections of pre-ream conditions determines whether drills, boring bars, end mills or reamers are used to begin the process.

Module 69: Understanding Line Milling Units [ Top ]

Scenes: Mazak 53

The Line Unit in a Mazatrol conversational program is introduced as the milling process. The trainee learns that the tool will follow a line defined by the Figure data while removing material in curved, circular or straight line. The Line Right, Line Center and Line Left selections are reviewed. The Line In, and Line Out selections are viewed next. The selections to achieve climb milling are reviewed. The complete process for a Line Out unit is used as an example including the graphic functions. The trainee is made aware of the limitations of the line process regarding the width of an area to be milled and the importance of selecting the correct width tool when possible. When no tool is available, the process of copying and editing the Line Units to overcome this problem is demonstrated.

Module 70: Entering Line Milling and Chamfering [ Top ]

Scenes: Mazak 69

The module continues by completing the enter of data into a Line Unit. The tool movements associated with the these line milling units is demonstrated so that the programming is better understood. A method for creating addition clearance is revealed by editing the Cutting Start Point. The four sources the computer uses for calculating these tool paths is discussed to stress the importance of accurate data entry. Each data entry point is covered as the cursor moves across. The automatic calculation of opposing corners for Square shapes is explained. The Check function is then demonstrated to check the program.

The second portion of the module covers Chamfering as one of the Line Units. The four selections, right, left , out and in are analyzed. The Interfere value is explained as a function to allow clearance for other features on the workpiece, allowing the tool to be repositioned automatically.

Module 71: Face Milling Operations on Mazak Controls [ Top ]

Scenes: Mazak 56

A definition of face milling begins the module. Face, Top End Step, Pocket, Pocket milling mountain, Pocket milling valley and Slot milling are explained. The Face milling unit programming is used as an example. Then the sequence data lines are reviewed. Uni and Bi directional tool path movements are examined as well as the Shirt cycles. Next, the top end mill unit is reviewed.

Module 72: Area Machining on Okuma Controls [ Top ]

Scenes: Okuma 29

Six area machining processes, or canned cycles, are covered in this module. They include two face milling operations, two Round or step milling processes, and two processes for Pocket milling. The identifying codes are revealed. An explanation of the tool paths for each process is provided. A detailed view of a Face Mill process is then examined. Reference point values are identified as well as the F, D, K, R, P, Q, I, J and K.

Module 73: Graphic Simulation Functions on Mazak Controls [ Top ]

Scenes: Mazak 102

The Path Check, Shape Check, Plane Check and Section Check graphic display functions used during programming are examined in this module as well as the Trace function used during machining. The general purpose of each is discussed initially. The Sectional Check is described for Point machining units. The most frequently used Path Check function is detailed with each soft key menu and the displayed information explained. The Shape Erase and Path Erase operations are used to reduce screen clutter. The use of the Scale line is examined next. In the final portion the Shape Check process is revealed in more detail.

Module 74: Dry Running the Program [ Top ]

Scenes: Core 56

New programs may require a Dry Run process to uncover any programming errors. Dry Run, Single Block and Machine Lock are examined as part of this module. Trainees are cautioned to receive permission to make edits and on the importance of documenting any changes. Execution of Dry Run is demonstrated on each brand and model of control. The use of the Jog and Rapid overrides to control Dry Run speed is discussed. The application of the lock switch controlling M, S and T codes is explained. As an alternative or in addition to Dry Run the graphics modes available on machine is mentioned.

Module 75: Trial Running the Program [ Top ]

Scenes: Core 26

The actual trial run of a new or edited program is completed in this module. It includes the use of the Override controls to slow machine movements, the setting of the coolant lines to their proper positions, and the stopping of program execution to check features after each tool path is completed. It begins by requiring the operator to check all documentation to be sure the control panel switches are properly set. Next the override controls are set to a safe starting point. They are cautioned to watch most closely as a tool approaches the workpiece to be sure spindle rotation and coolant has started. Coolant line adjustment is then discussed. The use of the Single Block switch is recommended along with Feed Hold and coolant control to investigate the size or condition of a cut as or after it completes a cut.

Module 76: Calculating New Coordinates [ Top ]

Scenes: Core 44

Once the trial run is completed, the operator may find that some out-of-tolerance features may not be able to be corrected by using tool offsets. In these instances, it will be necessary to calculate and edit new coordinates into the program. The first part of this module teaches them how to gather the critical information needed to determine if a coordinate should be adjusted to correct the problem. They then learn what information they must have to correctly make a coordinate adjustment. Since coordinates and correction values will have either plus or minus signs, the trainee learns how to calculate a new coordinate using signed numbers.

Module 77: Making Program Edits [ Top ]

Scenes: Core 17, Fanuc 33, Haas 35, Okuma 23, Mazak 66

The core section of the module begins with an explanation of Edit Logs and how they may be required to makes edits in a program stored in the control. The protected program numbers are discussed along with the Edit Lock switch. The three edit functions are introduced, Insert, Alter and Delete, and the cautions to observe. The four specific sections then detail how to edit words and blocks within programs on each control type.