M.2006.4000.000 RT Operator 31i-B

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 604

M.2006.

4000
Operator Manual
Operator

HORIZONTAL BORING MILLS


PT, RT & MC Series
S/N 480
Fanuc 31i-B CNC
First Edition

MAG IAS - Fond du Lac


P.O. Box 590, 142 Doty Street
Fond du Lac, WI 54936, USA
tel +1 920 906 2437
fax +1 920 906 2243
www.mag-ias.com
SAFETY
RECOMMENDATIONS
IMPORTANT
DO NOT OPERATE, PROGRAM OR REPAIR THE MACHINE UNTIL
YOU HAVE READ THESE SAFETY RECOMMENDATIONS!

DO NOT OPERATE, PROGRAM OR REPAIR THE MACHINE UNTIL


YOU HAVE READ THE APPROPRIATE MANUALS!

‘‘Avertissement - Si vous ne lisez pas l’anglais, demandez à votre surveillant de vous donner les instructions de
sécurité!’’

‘‘Atención - Si no lee inglés, pregúntele a su supervisor para las instrucciónes de seguridad!’’

‘‘Vorsicht! - Wenn Sie kein englisch lesen, Ihren Vorgestellten um die Sicherheitsanweisungen bitten!’’
To avoid serious injury or
death to you or others:
• This machine must be
operated by qualified
personnel only.
• Read and completely
understand Operator’s Manual
before operating this machine.

SAFETY RECOMMENDATIONS
Failure to properly set up
and securely fasten
workpiece will result in
dangerous flying parts.
To prevent serious injury
or death from flying parts:
Use suitable workholding
devices.
Avoid excessive feeds
and speeds.
Make sure workholding
devices are in good
working condition.
Always remove loose
objects from workholding
device.
Never start machine
unless you are absolutely
certain setup will hold
parts.

SAFETY RECOMMENDATIONS
>>>>>> SAFETY <<<<<<

IT’S EVERYBODY’S BUSINESS!

A metal cutting machine tool can be a very safe machine or it can be a very dangerous one. The difference depends
on you and the other personnel who are required to perform functions relating to the machine tool operation and
maintenance. Safely operating and maintaining the machine also depends on management and any others who may
be observers of the machine tool. Everybody must be safety conscious. When operating this machine, or in
association with it as an attendant, a maintenance person, or a supervisor, it is imperative that all individuals read,
understand, and follow the safety recommendations listed in this section and comply with the safety rules of the
individual’s own company. By adhering to these safety recommendations and your organization’s safety rules, a
number of needless accidents can be avoided. Under no circumstances are safety recommendations a substitute for
proper training. Correctly and safely operating and maintaining a machine tool demands a number of skills. MAG
offers training courses, but the responsibility for training remains with the owner of the machine tool.

Be it understood that these safety recommendations are a guideline. They cannot include all of the situations that
might arise in all companies, and in all types of operations on all types of metal cutting machine tools.

By following these rules, you can prevent serious personal injury and costly damage to equipment. So always think
SAFETY! It depends on YOU!

DEFINITION OF SAFETY NOTES

The following warnings with varying degrees of severity appear in this documentation. The type of note indicates the
hazard potential associated with the operation or event.

This symbol appears whenever death, serious personal injury or


substantial machine damage will occur if the appropriate precautions are
not taken.

This symbol appears whenever minor injury or major machine damage


might occur if the appropriate precautions are not taken.

This symbol appears whenever minor machine damage may occur if the
appropriate precautions are not taken.

SAFETY RECOMMENDATIONS
SELECTION OF PERSONNEL

• Only qualified personnel, instructed in safety and all machine functions, should be entrusted to operate and/or
maintain this machine.

• All electrical/mechanical trouble-shooting and repair must be undertaken only by qualified personnel who are
properly trained and have adequate knowledge and skill.

• Operators and maintenance personnel should carefully read, understand, and fully comply with all machine
mounted warning and instruction plates. Do not paint over, alter, deface, or remove these plates from the
machine. Replace all plates that become unreadable.

• Clearly define the duties associated with setting up, operating, maintaining and servicing the machine.

• Personnel undergoing training on machine operations require continuous supervision by an experienced person.

• Clearly establish the responsibilities of the person operating the machine with the added authority to issue
warnings towards any individuals who may be involved in undesirable safety behavior.

• If multiple people are working on the machine, the responsibilities for individual tasks must be clearly defined and
observed.

PERSONAL PROTECTION (PROTECTIVE EQUIPMENT)

Clothing While operating and/or maintaining the machine, avoid neckties, long sleeve shirts, gloves,
wristwatches or other jewelry, which could become caught in moving machine parts. A
suitable head covering must be worn by personnel with long hair. Tight fitting clothes should
be worn to avoid accidents.

Shoes Wear safety shoes in proper condition to protect against rolling objects, falling objects, and
accidentally kicking sharp-edged materials.

Glasses Wear eye protection at all times.

Safety helmet Wear a safety helmet when carrying out maintenance and transport work.

Gloves Machining may cause the workpiece to have elevated temperature and sharp edges. Tools
and chips/shavings will also have sharp edges. Use gloves to handle workpiece, tools or when
removing chips. Make sure that the machine is not moving while wearing gloves.

Hearing protection Wear prescribed personal hearing protection.

Be mentally alert on the job. Avoid “horseplay”. Be serious about the job.

Alcohol and other drugs impair judgment and slow reaction times. Do not operate this machine while under their
influence or effects.

SAFETY RECOMMENDATIONS
PRINCIPLES OF CORRECT OPERATION (APPROPRIATE USE)

• Think safety.

• Operate and maintain the machine only as set forth in the manuals supplied with the machine.

• Do not make any modification to the machine that could adversely affect safe operations. Changes or structural
modifications to the machine or its components, is not allowed.

• Spare parts must meet the technical requirements specified by the manufacturer.

• Safety limit switches, safety interlocks, and end of travel limit switches are provided for various machine units.
Do not remove them or bypass them in an effort to obtain more travel or take a “shortcut”. Serious damage to
the machine or personal injury may result. If the job requires greater range than the safety limit switches allow;
the work must be performed on a machine with greater travel.

• The machine should be kept in good operating condition at all times. Make sure to report any unusual sounds,
smoke, heat, etc., to the appropriate individual within your organization.

SAFETY INSTRUCTIONS FOR MACHINE OPERATION

• Do not operate the machine with safety guards, shields, covers, doors, or other protective devices disconnected,
removed, or out of place. Operate the machine only when they are in proper position and operating condition.

• If safety devices must be rendered functionless during set-up, maintenance or repair, ensure that once the
activity is completed that the safety devices are enabled and properly checked before operating the machine.
• At least once, per shift the machine should be inspected for visible damage and defects. Any observations
should be reported to the appropriate personnel without any delay. If necessary, immediately turn off power and
safeguard the machine.

• The area around the machine should be free of oil or coolant spills and as free as possible from obstructions.

• Ensure that the machine limits for work piece weight and size are not exceeded.

• Clamp all work and fixtures securely before beginning machining operations.

• Do not walk or stand on the machine way covers. When work platforms are used around the machine, they
should be sturdy, safe, and have anti-slip surfaces.

• Keep hands off the table and out of the path of moving units during machining operations.

• Do not remove chips from the work piece area with your hands or while the spindle/table is turning. Use a brush
to remove chips after the spindle/table has stopped. Dispose of chips frequently.

• All doors should be kept closed, especially on the control and electrical cabinets. Keep all covers in place.

• Work lamps should be directed towards the work piece, not the control or operator.

• Do not store tools, measuring equipment, etc. on the machine.

• Maintain tooling in good condition. Use only properly sharpened tools.

• Cutting tools are made for right or left hand rotation. Be sure the direction of spindle rotation is correct for the
tool being used.

• Use special care when handling or changing tools by hand. Do not place hands near a revolving cutting tool.

• Do not load or unload the machine unless the spindle is stopped.

• Do not adjust coolant delivery pipes or nozzles unless the spindle is stopped.

• Always use adequate lifting facilities, as well as have appropriate slings and hitches available, capable of lifting
within safe load limits. Employees using such equipment should be properly trained in its use.

SAFETY RECOMMENDATIONS
SAFETY DISCONNECTION

EMERGENCY STOP BUTTONS

Emergency stop buttons (switches) are located in various locations on the machine. Since
these buttons can be unlocked mechanically, they do not provide absolute protection against
access by unqualified personnel. Use of the proper lockout/tagout procedure is required to
ensure absolute protection against access. The machine type and the optional equipment
provided with the machine will determine the number and location of these buttons. A typical
button is shown below - red button with yellow ring.

A noteplate specific to your machine has been located on the electrical control cabinet or
enclosure. This noteplate shows the various emergency stop button locations. Typical locations include:

• Pendant operator’s station

• Handheld stations (pendant and tool clamp/unclamp unit)

• Tool changer control box

• Optional production coolant system control box

• Optional pallet system control box

LOCKOUT / TAGOUT

A policy and procedure must be established outlining the requirements for the lockout of energy isolating devices
whenever maintenance or servicing is done on the machine. The procedure shall be used to ensure that before
employees perform any servicing or maintenance that the machine is stopped and isolated from all potentially
hazardous energy sources. In addition, the procedure will detail the method to lockout the machine thus preventing
the unexpected energizing or start-up of the machine and/or release of stored energy, which could cause injury
and/or damage to the machine.

GENERAL LOCKOUT PROCEDURE

1. Authorized personnel shall verbally notify all affected employees that servicing or maintenance is required on
the machine and that the machine must be shut down and locked out to perform the servicing or maintenance.

2. Authorized personnel should then refer to the appropriate policy to identify the type, location and magnitude of
the energy that the machine utilizes, understand the hazards associated with this energy, know the methods to
control this energy, and the verification process to ensure that the energy has been controlled. A noteplate
located on the electrical control cabinet or enclosure of the machine provides information concerning the
various forms of stored energy requiring control.

3. If the machine is operating, shut it down by the normal stopping procedure.

4. Engage the energy isolating device(s) so that the machine is isolated from the energy source.

5. Dissipate or restrain all sources of stored energy (pneumatic, electrical, hydraulic pressure, coolant pressure,
mechanical, elevated machine members-gravity, etc.) by the appropriate method.

6. Lockout the energy isolating device(s) with assigned lock(s), individual tags, and specialty equipment as
required.

7. Check the work area to ensure that all personnel have been safely positioned or removed from the area.
Verify the isolation of the equipment by attempting to operate the normal controls, ensuring that the machine
does not operate. Return operating controls to neutral or off position after verifying the isolation of the
equipment.

8. The machine is now locked out.

SAFETY RECOMMENDATIONS
SAFETY NOTES - SPECIFIC DANGERS

MECHANICAL SYSTEM

Types of danger are machine components and work piece movements with risk of body parts being caught or
crushed.

• Be aware of uncontrolled movements when personnel enter work area.

• Do not manually operate sensors and position recognition devices that otherwise prevent machine movements.

• Be aware of crush potential when using the machine in manual mode, during tool or pallet changes and while
performing maintenance work.

• Do not reach between the spindle and tool when the tool is being loaded.

• Always support suspended machine components, subject to potential gravitational movements, with wooden
wedge before working beneath these components.

• Do not operate if machine covers are open or disassembled. These covers serve to protect personnel from
movements of tool magazines, moving axes, and power transmission gears, belts and chains.

ELECTRICAL SYSTEM

Type of danger is high voltage with risk of shock to personnel and damage to property.

• Do not operate machine with the electrical control cabinet doors open.

• Do not operate machine with loose electrical connections, faulty insulation of cables, melted cables or other
faults, which interfere with the safety of the electrical system. If any of these conditions are noticed, the machine
should be shut down and may be operated again only after the fault has been eliminated.

• Work on electrical connections or machine electrical components may only be carried out by qualified
maintenance personnel.

HYDRAULIC AND PNEUMATIC SYSTEM

Types of danger include improper valve actuation and the release of fluids in high-pressure lines with the risk of
personnel injury or property damage.

• Do not manually operate directional control valves, since unintended movements could result.

• Periodically inspect for defects, such as chafe points or leaks, in pressure hoses, pressure pipes, and connection
fittings, especially after replacement or after putting a new system into operation. If any of these conditions are
noticed, the machine should be shut down and may only be operated again after the defect has been rectified.

• Improper tampering with hydraulic systems, such as modifying settings at pressure switches, can cause trapped
oil to escape at high speed from hydraulic lines, causing bodily injury or property damage.

• Pipes, hoses and machine parts can be damaged if the drain valve is not opened slowly to reduce pressure
before attempting service or repairs.

• Damage to the hydraulic system can occur if air is not removed from the system after repair.

SAFETY RECOMMENDATIONS
CHIP DISPOSAL

Types of danger are moving parts in the conveyor and sharp or jagged edges on the chips. Risks of bodily injury
through body parts being caught and pulled in or crushed and/or cuts from sharp chips.

• When cleaning chip conveyors, make sure that the conveyor is turned off with lockout to prevent unintended
restart.

• Never reach into the chip ejection area while the machine is operational.

• Use safety gloves while removing chips. Remove gloves after conveyor and machine are operational.

COOLANT/HYDRAULIC OILS/LUBRICANTS

• Hydraulic oils and lubricants that leak onto the floor or machine components create a slippery condition. To
prevent accidents, cleanliness must be maintained.

• When working with oils, greases and other chemicals observe the safety regulations that apply to the product
(safety data sheets of the manufacturer).

• Oil mists are hazardous to health and should not be inhaled.

• Choose easily disposable coolants, observing waste disposal regulations.

FILTER MEDIA - HYDRAULIC/COOLANT

Types of danger are associated with the disposal process and include bodily injury and contamination of ground
water/earth.

• Avoid prolonged contact to dirty filter media that can irritate skin.

• Always wear eye protection.

• Make sure to not inhale vapors.

• Immediately clean even minor cut/abrasions thoroughly if they have been exposed to coolant or hydraulic fluids.

• When disposing of filter medium, make sure to comply with environmental protection and water resources laws.

FIRE PROTECTION

• Performing regular assessments and inspections at regular intervals.

• Assign and train staff for fighting fire.

• Establish fire protection rules, which include an alarm plan with planned escape routes, locations of emergency
switches, and the distribution of fire extinguishers.

• Keep combustible and inflammable substances away from the work area.

• Ensure that information is provided explaining the suitable methods of fire fighting.

• Fire prevention must be practiced and fire protection must be available to prevent loss of life, personal injury, and
property damage.

• Be aware of conditions that may be a fire hazard, such as volatile liquids and machining materials with a low
flash point.

SAFETY RECOMMENDATIONS
M.2006.4000
S/N 480

MAG
Horizontal Boring Mill
PT, RT & MC Series
Fanuc 31i-B CNC
Operator Manual
This document is based on information available at the time of its publication. While
efforts have been made to render accuracy to its content, the information contained
herein does not purport to cover all details or variations in hardware and software, or to
provide for every possible contingency in connection with installation, operation,
programming, and maintenance. Features may be described herein which are not
present in all hardware and software systems. MAG assumes no obligation of notice to
holders of this document with respect to changes subsequently made.

MAG makes no representation or warranty, expressed, implied, or statutory with respect


to, and assumes no responsibility for the accuracy, completeness, sufficiency or
usefulness of the information contained in this manual.

Revision History
First Edition (10/2012)

NOTICE
The purpose of this manual is to bridge the application of a Fanuc
control to a MAG machine tool. This manual is designed to be used
in conjunction with the Fanuc manuals shipped with the machine.

© 2012 MAG IAS - Fond du Lac


PREFACE

This manual provides basic information about the machine and equipment. Instructions
and suggestions are given to insure proper installation and maintenance.

****************************************************************************************

A MACHINE TOOL IS A COMPLEX METAL REMOVING DEVICE,


EQUIPPED WITH MOVING MECHANICAL COMPONENTS, ALONG WITH
HYDRAULIC AND ELECTRICAL DEVICES OPERATING UNDER
PRESSURE AND HIGH VOLTAGE TO ACHIEVE THEIR INTENDED
PURPOSE. FOR THIS REASON OPERATION AND/OR REPAIR MUST BE
DONE ONLY BY QUALIFIED TECHNICIANS, TO PROVIDE FOR SAFE
AND RELIABLE OPERATION OF THIS EQUIPMENT.

****************************************************************************************

The machine and equipment illustrated and described in this manual is protected by
United States and foreign patents. These illustrations and specifications are not binding
in detail. We reserve the right to make changes and improvements and incorporate
them in the machine as conditions warrant.

Should problems arise or information not covered by this manual be required, contact

MAG IAS - Fond du Lac


142 Doty St., P.O. Box 590,
Fond du Lac, Wisconsin, 54936-0590 U.S.A.

TRAINING SERVICE PARTS


TELEPHONE ................................. 920-906-2437 800-934-0735 800-934-0735
FAX ................................................ 920-906-2243 920-906-2354 920-906-2354
WEBSITE ............ www.mag-ias.com
Printed in U.S.A.
480 HBM
GENERAL TABLE OF CONTENTS
TITLE SECTION

SAFETY ............................................................................................................................................ SAFETY


PREFACE ...................................................................................................................................... PREFACE
DOCUMENTATION DESCRIPTION ....................................................................................................... 1.10
MACHINE DESCRIPTION ....................................................................................................................... 1.20
CONTROL DESCRIPTION ...................................................................................................................... 1.30
COORDINATE SYSTEMS ....................................................................................................................... 2.10
MACHINE ZERO POSITIONS ................................................................................................................. 2.20
ROTARY TABLE ................................................................................................................................... 15.10
DETACHABLE AUXILIARY ROTARY TABLE..................................................................................... 15.20
CYLINDRICAL INTERPOLATION ........................................................................................................ 15.30
ROTARY TABLE PROGRAMMING EXAMPLES ................................................................................. 15.99
PALLET CONTROL .............................................................................................................................. 20.10
CONTROL PANEL LAYOUT ................................................................................................................ 21.10
MACHINE OPERATOR DEVICES ........................................................................................................ 21.20
OPERATING PROCEDURES ............................................................................................................... 21.30
PART PROGRAM OPERATIONS ......................................................................................................... 21.40
TOOL OFFSETS .................................................................................................................................... 30.10
TOOL MANAGEMENT .......................................................................................................................... 30.20
TOOL CHANGER .................................................................................................................................. 30.30
TOOL CHANGER OPERATION............................................................................................................ 30.40
BALLUFF TOOL ID READER ............................................................................................................... 30.70
MAG SPINDLE LOAD MONITOR ......................................................................................................... 30.80
iADAPT .................................................................................................................................................. 30.90
REFERENCE OFFSETS ....................................................................................................................... 69.10
PROGRAM DATA ................................................................................................................................. 69.20
PROGRAMMING CODES ..................................................................................................................... 69.30
SPECIAL PROGRAMMING FUNCTIONS ............................................................................................ 69.40
CIRCULAR / HELICAL / CONICAL INTERPOLATION ........................................................................ 69.50
PROGRAMMING EXAMPLES .............................................................................................................. 69.99
HAND HELD UNIT ................................................................................................................................. 71.10
CAMERA SETUP .................................................................................................................................. 72.10
MAG CUSTOM SCREENS .................................................................................................................... 72.20
COOLANT.............................................................................................................................................. 80.10
480 HBM
GENERAL TABLE OF CONTENTS
TITLE SECTION
CHIP CONVEYOR ................................................................................................................................. 81.10
PROBING............................................................................................................................................... 90.10
PROBING OPERATION ........................................................................................................................ 90.20
ATTACHMENTS .................................................................................................................................... 92.10
ATTACHMENT MOUNTING DESIGNS ................................................................................................ 92.20
ATTACHMENT & ATTACHMENT TOOL RACKS................................................................................ 92.30
ATTACHMENT OPERATION ................................................................................................................ 92.40
NC CONTOURING HEAD & CBS BAR OPERATION ......................................................................... 92.50
SECTION 1.10
DOCUMENTATION DESCRIPTION
TABLE OF CONTENTS

TITLE PAGE
INTRODUCTION .............................................................................................................................................................................. 1
MACHINE DOCUMENTATION ....................................................................................................................................................... 2

MECHANICAL SERVICE MANUAL........................................................................................................................................ 2

MECHANICAL PRINT BOOKS ............................................................................................................................................... 2

ELECTRICAL SERVICE MANUAL......................................................................................................................................... 2

ELECTRICAL PRINTS ............................................................................................................................................................ 2

OPERATING INSTRUCTION MANUAL ................................................................................................................................ 3

DOCUMENTATION DVD / CD AND VENDOR DOCUMENTATION................................................................................. 3


INTRODUCTION

All manuals provided are made up of a Safety Section and sections of detailed information concerning all aspects
of the machine. Sections are separated by a colored sheet. Section title and numbers are identified at the bottom
of each page for ease of use.

A General Table of Contents, indicating what can be found in the various sections, is found at the front of the
manual. The first page(s) of each section is the Table of Contents for that particular section.

The individual sections cover the various areas of concern for the machine and the control. When appropriate,
references are made to other sections and other manuals sent with the machine. In all manuals you will find
DANGERS, WARNINGS, CAUTIONS and NOTES. Each is described below.

****************************************************************************************

DANGER INDICATES THAT THE PROCEDURE OR SITUATION COULD RESULT IN SEVERE


PERSONAL INJURY OR DEATH UNLESS THE INFORMATION PRESENTED IS FOLLOWED.

****************************************************************************************

****************************************************************************************

WARNING INDICATES THAT THE PROCEDURE OR SITUATION COULD RESULT IN


PERSONAL INJURY UNLESS THE INFORMATION PRESENTED IS FOLLOWED.

****************************************************************************************

****************************************************************************************

CAUTION INDICATES THAT IF THE INFORMATION PRESENTED IS NOT FOLLOWED THE


MACHINE OR THE WORKPIECE COULD BE DAMAGED.

****************************************************************************************
Note: Notes are messages (in bold type) indicating where to find additional information or are messages
providing helpful information of some kind.

DOCUMENTATION DESCRIPTION 1.10 - 1


MACHINE DOCUMENTATION

The following manuals and documentation is provided with each machine.

Note: All manuals, prints and vendor documentation are provided on a CD as standard format. Hard/Paper
copies are optional and may be ordered by the customer.

MECHANICAL SERVICE MANUAL

The purpose of the Mechanical Service Manual is for instruction and maintenance purposes and it covers the
mechanical and hydraulic systems for the machines. Material covered includes installation, machine alignments,
mechanical units, coolant, hydraulic, lubrication and pneumatic systems. Procedures for repair (of certain parts of
the machines) and troubleshooting are outlined with the interest of keeping machine downtime to a minimum.

The manual covers maintenance procedures with a brief overview but refers to the Print Books for complete and
detailed instructions and procedures.

MECHANICAL PRINT BOOKS

The drawings, sketches, and photographs included in this manual are for reference only. Each machine is
shipped with a specific set of machine drawings in large size format. These drawings or "prints" are referred to as
Print Books. The large prints are assembled in numerical order with the print number being shown in the lower
right hand title box. The Print Books are what should be used when performing maintenance procedures. This
manual covers maintenance procedures with a brief overview but refers to the Print Books for complete and
detailed instructions and procedures. The Print Books should be studied before beginning any maintenance
procedures. Maintenance procedures should be conducted by qualified maintenance personnel only.

Note: The Print Books should be studied before beginning any maintenance procedures. Maintenance
procedures should be conducted by qualified maintenance personnel only.

ELECTRICAL SERVICE MANUAL

The Electrical Service Manual is used for instructional purposes as well as a troubleshooting reference for these
machines.

The manual has been laid out to provide the electrical maintenance person with the information needed to
maintain and repair the machine. Details of the CNC control hardware and software are given as well as the
application of electronic devices used on the machine. Detailed instructions of setup and adjustments of devices,
components, and configuration can be found in the manual. Some examples of the information found include;
software loading & backup, feedback system debugging, axis drive troubleshooting and axis reference setup.

ELECTRICAL PRINTS

Two copies of the Machine Electrical Prints are provided with each machine. The prints are printed in the DIN
format. DIN prints are printed on A sized (8 ½ x 11) paper and are sharp and clear.

1.10 - 2 DOCUMENTATION DESCRIPTION


OPERATING INSTRUCTION MANUAL

The Operating Instruction Manual is used for instructional purposes as well as a reference for the programming
and operating the machine. The purpose of this manual is to bridge the application of the CNC control to a MAG
machine tool. This manual is to be used in conjunction with the control operation and programming manuals
provided by the control manufacturer.

The manual also provides information on the procedures required to prepare the machine for operation and also
provides information on the tooling, tool changing, programming, part program form and editing, work changing,
machine and part referencing, etc. Also included are the detailed instructions on the functions of the various
control panels used on the machine and on the format and function of the display screens used with each function
of the machine's operation.

DOCUMENTATION DVD / CD AND VENDOR DOCUMENTATION

There are several different pieces of documentation that is shipped with each machine. MAG puts together a DVD /
CD for each machine that contains all of the manuals listed above and also includes a large amount of vendor
documentation. Additionally, a CNC control DVD or CD ships with every machine that contains a library of the
control manufacturer's manuals.

MAG creates a ghost image of the hard drive that is burned to a DVD and is sent to the customer. The image can
be “ghosted” into a replacement hard drive should the hard drive in the operator station fail. The ghost image of
the hard drive is also stored on our own network so that if the DVD disk is lost or damaged, another disk can be
obtained from MAG.

A backup of the CNC’s battery backed memory is output and burned to CD(s).

DOCUMENTATION DESCRIPTION 1.10 - 3


SECTION 1.20
MACHINE DESCRIPTION
TABLE OF CONTENTS

TITLE PAGE
GENERAL ...................................................................................................................................................................... 1

MACHINE OVERVIEW .................................................................................................................................................. 1

MACHINE AXES ................................................................................................................................................. 1

HEADSTOCK ...................................................................................................................................................... 2

TOOL CHANGER ................................................................................................................................................ 2

FEEDBACKS....................................................................................................................................................... 2

DRIVES AND MOTORS ...................................................................................................................................... 2

PALLET CHANGING ........................................................................................................................................... 2

COMPENSATIONS ............................................................................................................................................. 2
MACHINE ILLUSTRATIONS.......................................................................................................................................... 3

PT 1500 / PT 1800 .............................................................................................................................................. 3

RT 1250 / RT 1600 .............................................................................................................................................. 4

MC 1250 / MC 1600 ............................................................................................................................................ 5

MACHINE SPECIFICATIONS ........................................................................................................................................ 6

PT SPECIFICATIONS ......................................................................................................................................... 6

RT SPECIFICATIONS ......................................................................................................................................... 7

MC SPECIFICATIONS ........................................................................................................................................ 8

HORSEPOWER CHARTS ............................................................................................................................................. 9

TWO-SPEED HEADSTOCK 130 MM SPINDLE DIAMETER .............................................................................. 9

FOUR-SPEED HEADSTOCK 130 MM SPINDLE DIAMETER ............................................................................ 9

FOUR-SPEED HEADSTOCK 155 MM SPINDLE DIAMETER ............................................................................ 9

REV 1 (10-2012)
GENERAL

There are many variations of the horizontal spindle machines. The PT, RT and MC series machines are "table-type"
boring mills. These machines are available with or without rotary tables, coolant systems, and attachments
(contouring heads, right angle heads, etc.). There are a wide variety of different table configurations available
including removable and tilt rotary tables.

This section provides a general description of table-type horizontal machining centers.

MACHINE OVERVIEW

MACHINE AXES

X X-axis motion is accomplished by moving the table back and forth on the saddle in front of the column. X-
axis plus motion is towards the operator, minus is toward the tool changer side of the machine.

Y Y-axis motion is the headstock moving vertically on the side of the column. Up is plus motion.

Z Z-axis motion is typically the spindle in and out of the headstock. The spindle moving into the headstock is
plus and out of the headstock is minus.

W W-axis is typically the saddle moving in toward the column (minus) and away from the column (plus).

Z and W-AXES

The standard configuration for the Z and W-axis on PT, RT, and MC Series Machines is:

Z-axis The SPINDLE in / out of the headstock.

W-axis The SADDLE motion to / from the column.

HOWEVER! To date several machines have had the Z and W-axis designations swapped.
On those machines, Z-axis was the saddle to / from the column while W-axis was the spindle
in / out of the headstock.

The spindle moving into the headstock is plus and out of the headstock is minus. The saddle
assembly moving toward the column is minus and away from the column is plus.

B With the RT and MC versions of the 480 machine, B-axis is a built in contouring rotary table.
Counterclockwise rotation (when looking down at the table) is plus motion. This means that moving the
table from 0° to 90°, moves the table 1/4 revolution counterclockwise. The PT version of the 480 machine
can be ordered with a removable B-axis table.

V V-axis is the optional contouring head attachment. The attachment mounts on the headstock. The spindle
motion in and out is converted to motion of a tool post in and out from the center of the spindle rotation.
Another type of attachment moves dual cutters in and out from the center of the spindle (CBS tooling).

A As an option, an A-axis rotary table, typically referred to as a "trunnion table", is available. Counterclockwise
rotation (when viewed from X+ side) is plus motion. This means that moving the table from 0° to 90°, moves
the table 1/4 revolution counterclockwise. An A-axis rotary table is an "add-on" table and can be mounted to
the fixed table of a PT machine or mounted to the B-axis rotary table of a RT or MC machine (table-on-
table).

MACHINE DESCRIPTION 1.20 - 1


HEADSTOCK

There are three different headstocks available: a 130 mm / 5.1" two speed, a 130 mm / 5.1" four speed and a 155
mm / 6.1" four speed version.

TOOL CHANGER

Tool changers are available on all machines. There are several tool changer options available; 60, 90 and 120 tool
magazines. Each tool can weigh up to 50 kg / 110 lbs. Tools over 125 mm / 4.9" diameter require adjacent pockets
be kept empty. Maximum tool diameter is 280 mm / 11.0".

The vertical design of the tool changer uses a reliable, large link chain that has a minimum of parts. The double
gripper exchange arm mounts on a rail that makes the 90° turn around the corner of the column toward the spindle.

The spindle orient position is set where the spindle keys are level and the key toward the tool changer is further from
the center of the spindle. The keys are the same size but are not mounted the same distance to the spindle
centerline.

FEEDBACKS

The feedback systems used on the axes can vary. Typically X, Y, B and the saddle (typically the W-axis but
sometimes called Z-axis) axes use pulse distance coded Heidenhain encoders. The spindle axis (typically the Z-axis
but sometimes called W-axis) and sometimes the B-axis, use an absolute encoder feedback system.

Axes with pulse distance coded scales require machine referencing. Axes with absolute feedback encoders like the
spindle axis (typically Z-axis but sometimes W-axis) and sometimes the B-axis do not require machine referencing
(references are automatically "picked up" at power on).

Refer to the =DA area of the Machine Electrical Prints to see what encoders have been used on any of the machine
axes. There has been a great deal of variation in the type or number of the scales used.

Spindle position and speed feedback come from the spindle motor encoder and the BERO switch

DRIVES AND MOTORS

Highly responsive closed loop AC servo drives are used on these machines. The drives interface with the CNC
digitally, providing a very responsive and accurate system. A whole range of different motors are used based on the
table size and axis configurations. It is recommended that if a motor is changed, only the exact same motors be
used. Different axis use different motor sizes based on the loads of that axis.

PALLET CHANGING

A pallet changer option is available. This allows the machine to cut one part while a different part is
loaded / unloaded on a pallet on a stand next to the machine. Machines with pallet changing are designated MC
machines.

COMPENSATIONS

There are several different compensation systems that can be applied to the horizontal machining centers.

• Backlash compensation is a standard feature which corrects for lost motion in an axis when the axis changes
direction.

• Pitch Error compensation is applied to all axes in the MAG shop at the time the machine is built. Straightness
compensation is an option that can be used to enhance the positioning accuracy of one axis when a second axis
is moved. (Another name for it could be "other axis based compensation".) As the first axis is moved, a second
axis is compensated to eliminate errors caused by machine misalignments.

• Thermal compensation is used to compensate the spindle axis (Z or W) positioning errors due to thermal
changes of the machines components.

1.20 - 2 MACHINE DESCRIPTION


MACHINE ILLUSTRATIONS

PT 1500 / PT 1800

The PT (plane table) version of this machine does not have a built in rotary table. The table size ranges from
1500 mm x 3000 mm / 59.05" x 18.1" for the PT 1500 machines and 1800 mm x 3600 mm / 70.9" x 141.7" and
1800 mm x 4200 mm / 70.9" x 165.4" for the PT 1800 version. Rotary tables are often purchased that are mounted
on the top of the table. Often these rotary tables can be connected and disconnected (this would be accomplished
using a special CUSTOM1 / MANUAL screen).

Automatic
Tool Changer Y-Axis

Spindle Axis

X-Axis
Saddle Axis

FIGURE 1.20 - 1
Illustration of PT 1500
Note: Machine / component specifications can vary depending on individual customer and / or machining
requirements.

MACHINE DESCRIPTION 1.20 - 3


RT 1250 / RT 1600

The RT (rotary table) version of this machine has a built in rotary table (B-axis). The table is always a contouring
table. The table incorporates a hydraulic clamp that locks the table in position when the table is commanded to a
position. The machine will typically include a tool changer.

Automatic
Tool Changer Y-Axis

Spindle Axis

B-Axis

X-Axis Saddle Axis

FIGURE 1.20 - 2
Illustration of RT1250
Note: Machine / component specifications can vary depending on individual customer and / or machining
requirements.

1.20 - 4 MACHINE DESCRIPTION


MC 1250 / MC 1600

The MC (machining center) series machines are equipped with built-in B-axis rotary table and include pallet changing
and tool changing.

Automatic
Tool Changer
Y-Axis

Spindle Axis

B-Axis

X-Axis

Saddle Axis

FIGURE 1.20 - 3
Illustration of MC1600
Note: Machine / component specifications can vary depending on individual customer and / or machining
requirements.

MACHINE DESCRIPTION 1.20 - 5


MACHINE SPECIFICATIONS

PT SPECIFICATIONS
Capacities - mm / in
PT 1500 PT 1800
X-axis travel 3000 / 118.1 3600 / 141.7
(165.4 / 4200)
Y-axis travel 2100 / 82.7 2100 / 82.7
(2600 / 102.4) (2600 / 102.4)
(3100 / 122.0) (3100 / 122.0)
(3600 / 141.7)
Y-axis travel below table top 0
Saddle-axis travel 59.1 / 1500
(78.7 / 2000)
(98.4 / 2500)
(137.8 / 3500)
Plain Table - mm / in
Table size 1500 x 3000 / 59 x 118.1 1800 x 3600 / 70.9 x 141.7
1800 x 4200 / 70.9 x 165.4
Allowable load 25,000 kg / 55,100 lb 40,000 kg / 88,200 lb
Spindle - mm / in
Power Spindle Speed
Spindle Diameter Spindle Travel
S1-100% / S6-40% Range Constant Torque Constant HP
40 / 60 hp Low 1 - 259 259 - 948
130 / 5.1 2 Speed 800 / 31.5
30 / 45 kW High 1 - 1038 1034 - 3791
40 / 60 hp Range 1 1 - 68 69 - 185
130 / 5.1 4 Speed 1000 / 39.4
30 / 45 kW Range 2 1 - 170 174 - 463
50 / 75 hp Range 3 1 - 437 446 - 1190
155 / 6.1 4 Speed 1250 / 49.2
37 / 56 kW Range 4 1 - 1285 1116 - 3500
Feeds / Traverse Rates (may be limited, based on travel)
X, Y, Z, W 25,000 mmpm / 984 ipm
B 6 rpm
Tool Changer - mm / in
Tool magazine capacity 60 - 90 - 120
Tool diameter adjacent pocket full 125 / 4.9
adjacent pocket empty 280 / 11
Tool length 750 / 29.5
Tool weight 37 - 50 kg / 82 lb - 110 lb
( ) = Optional
TABLE 1.20 - 1
PT Specifications
Note: Not all options / specifications may be listed, and / or options / specifications may change.

1.20 - 6 MACHINE DESCRIPTION


RT SPECIFICATIONS
Capacities - mm / in
RT 1250 RT 1600
X-axis travel 2500 / 98.4
(3600 / 141.7)
Y-axis travel 2100 / 82.7 2100 / 82.7
(2600 / 102.4) (2600 / 102.4)
(3100 / 122.0) (3100 / 122.0)
(3600 / 141.7)
Y-axis travel below table top 100 / 3.937 135 / 5.315
Saddle-axis travel 1500 / 59.1
(2000 / 78.7)
(2500 / 98.4)
(3500 / 137.8)
NC Rotary Table - mm / in
Table size 1250 x 1600 / 49.1 x 63 1600 x 2000 / 63 x 78.7
Optional 1600 x 1800 / 63 x 70.9 1600 x 2500 / 63 x 98.4
Allowable load 15,000 kg / 33,100 lb. 25,000 kg / 55,100 lb.
Optional 22,727 kg / 50,000 lb. 27275 kg / 60,000 lb.
Number of positions 360,000
Index rate 6 rpm
Spindle - mm / in
Power Spindle Speed
Spindle Diameter Spindle Travel
S1-100% / S6-40% Range Constant Torque Constant HP
30 / 45 kW Low 1 - 259 259 - 948
130 / 5.1 2 Speed 800 / 31.5
40 / 60 hp High 1 - 1038 1034 - 3791
30 / 45 kW Range 1 1 - 68 69 - 185
130 / 5.1 4 Speed 1000 / 39.4
40 / 60 hp Range 2 1 - 170 174 - 463
37 / 56 kW Range 3 1 - 437 446 - 1190
155 / 6.1 4 Speed 1250 / 49.2
50 / 75 hp Range 4 1 - 1285 1116 - 3500
Feeds / Traverse Rates (may be limited, based on travel)
X, Y, Z, W 25,000 mmpm / 984 ipm
B 6 rpm
Tool Changer - mm / in
Tool magazine capacity 60 - 90 - 120
Tool diameter adjacent pocket full 125 / 4.9
adjacent pocket empty 280 / 11
Tool length 750 / 29.5
Tool weight 37 - 50 kg / 82 lb - 110 lb
( ) = Optional
TABLE 1.20 - 2
RT Specifications
Note: Not all options / specifications may be listed, and / or options / specifications may change.

MACHINE DESCRIPTION 1.20 - 7


MC SPECIFICATIONS
Capacities - mm / in
MC 1250 MC 1600
X-axis travel 2500 / 98.4
(3600 / 141.7)
Y-axis travel 2100 / 82.7 2100 / 82.7
(2600 / 102.4) (2600 / 102.4)
(3100 / 122.0) (3100 / 122.0)
(3600 / 141.7)
Y-axis travel below table top 100 / 3.937 135 / 5.315
Saddle-axis travel 1500 / 59.1
(2000 / 78.7)
(2500 / 98.4)
(3500 / 137.8)
NC Rotary Table - mm / in
Pallet Size 1250 x 1250 / 49.1 x 49.1 1600 x 1600 / 63 x 63
(1250 x 1600 / 49.1 x 63) (1600 x 2000 / 63 x 78.7)
(1250 x 1800 / 49.1 x 70.9) (1600 x 2500 / 63 x 98.4)
Allowable load On Pallet 70,000 kg / 15,430 lb 15,000 kg / 33,100 lb
On Machine 15,000 kg / 33,100 lb 25,000 kg / 55,100 lb
Number of positions 360,000
Index rate 6 rpm
Spindle - mm / in
Power Spindle Speed
Spindle Diameter Spindle Travel
S1-100% / S6-40% Range Constant Torque Constant HP
30 / 45 kW Low 1 - 259 259 - 948
130 / 5.1 2 Speed 800 / 31.5
40 / 60 hp High 1 - 1038 1034 - 3791
30 / 45 kW Range 1 1 - 68 69 - 185
130 / 5.1 4 Speed 1000 / 39.4
40 / 60 hp Range 2 1 - 170 174 - 463
37 / 56 kW Range 3 1 - 437 446 - 1190
155 / 6.1 4 Speed 1250 / 49.2
50 / 75 hp Range 4 1 - 1285 1116 - 3500
Feeds / Traverse Rates (may be limited, based on travel)
X, Y, Z, W 25,000 mmpm / 984 ipm
B 6 rpm
Tool Changer - in / mm
Tool magazine capacity 60 - 90 - 120
Tool diameter adjacent pocket full 125 / 4.9
adjacent pocket empty 280 / 11
Tool length 750 / 29.5
Tool weight 37 - 50 kg / 82 lb - 110 lb
( ) = Optional
TABLE 1.20 - 3
MC Specifications
Note: Not all options / specifications may be listed, and / or options / specifications may change.

1.20 - 8 MACHINE DESCRIPTION


HORSEPOWER CHARTS

TWO-SPEED HEADSTOCK 130 MM SPINDLE DIAMETER

Power (hp)
Power (kW)

Shift S6-40% S1-100% Constant Drive


Range Constant Constant Power Ratio
Torque Torque Speeds

1 1662 Nm 1108 Nm 259 - 948 rpm 5.803:1


2 415 Nm 277 Nm 1034 - 3791- rpm 1.451:1

Spindle Speed (rpm)

FOUR-SPEED HEADSTOCK 130 MM SPINDLE DIAMETER


Power (kW)

Power (hp)

Shift S6-40% S1 Constant Drive


Range Constant Constant Power Ratio
Torque Torque Speeds

1 6190 Nm 4120 Nm 69 - 185 rpm 21.596


2 2475 Nm 1650 Nm 174 - 463 rpm 8.638
3 960 Nm 640 Nm 446 - 1190 rpm 3.359
4 385 Nm 260 Nm 1116 - 3500 rpm 1.344

Spindle Speed (rpm)

FOUR-SPEED HEADSTOCK 155 MM SPINDLE DIAMETER

MACHINE DESCRIPTION 1.20 - 9


Power (kW)

Power (hp)
Shift S6-40% S1 Constant Drive
Range Constant Constant Power Ratio
Torque Torque Speeds

1 7500 Nm 5080 Nm 69 - 185 rpm 21.596


2 3080 Nm 2040 Nm 174 - 463 rpm 8.638
3 1200 Nm 790 Nm 446 - 1190 rpm 3.359
4 480 Nm 310 Nm 1116 - 3500 rpm 1.344

Spindle Speed (rpm)

1.20 - 10 MACHINE DESCRIPTION


SECTION 1.30
CONTROL DESCRIPTION
TABLE OF CONTENTS

TITLE PAGE
GENERAL CONTROL INFORMATION ......................................................................................................................... 1

HMI APPLICATIONS ........................................................................................................................................... 2

FUNCTION AND DISPLAY KEYS ....................................................................................................................... 2

PANEL I / EMBEDDED XP (XPE) SPECIFICATIONS.............................................................................. 2

STANDARD CONTROL FEATURES ............................................................................................................................. 2

REMOTE HAND HELD PENDENT WITH MANUAL PULSE GENERATOR ....................................................... 2

SPINDLE LOAD DISPLAY .................................................................................................................................. 3

CLOCK FUNCTION ............................................................................................................................................ 3

MULTIPLE SUB-SCREENS ................................................................................................................................ 3


DRY RUN ............................................................................................................................................................ 3

ALL-AXES MACHINE LOCK ............................................................................................................................... 3

TOOL OFFSET GEOMETRY AND WEAR WITH SEPARATE D AND H-CODES .............................................. 3

TOOL OFFSETS ................................................................................................................................................. 3

TOOL LENGTH MEASUREMENT ...................................................................................................................... 4

TOOL MANAGEMENT ........................................................................................................................................ 4

PROGRAMMABLE DATA INPUT - G10, G11 ..................................................................................................... 5

TOOL RETRACT AND RECOVER - G10.6......................................................................................................... 5

PROGRAMMABLE INCH / METRIC CONVERSION - G20/G21......................................................................... 5

STROKE LIMIT CHECK 2 - G22/G23 ................................................................................................................. 5


ND RD TH
2 ,3 &4 REFERENCE POINT RETURN - G30 ......................................................................................... 5

THREAD CUTTING - G33 ................................................................................................................................... 5

CUTTER COMPENSATION “C” - G41, G42 ....................................................................................................... 6

PROGRAMMABLE MIRROR IMAGE - G50.1, G51.1 ......................................................................................... 6

WORK COORDINATE SYSTEMS - G52, G53, G54 - G59 & G54.1 ................................................................... 6

LOCAL COORDINATE SYSTEM - G52 ................................................................................................... 6

MACHINE COORDINATE SYSTEM - G53 ............................................................................................... 6

WORK PIECE COORDINATE SYSTEM - G54 - G59, G54.1 ................................................................... 6

COORDINATE SYSTEM ROTATION - G68, G69 ............................................................................................... 6

CANNED CYCLES - G7X, G8X .......................................................................................................................... 6

RIGID TAPPING - G74, G84 ............................................................................................................................... 7

WORKPIECE COORDINATE SYSTEM PRESET - G92.1 .................................................................................. 7

HELICAL INTERPOLATION................................................................................................................................ 7

AUTOMATIC ACCELERATION AND DECELERATION ..................................................................................... 7


DECIMAL POINT INPUT / POCKET CALCULATOR TYPE DECIMAL POINT INPUT ....................................... 7

1-BLOCK PLURAL M-COMMAND ...................................................................................................................... 7

PROGRAM NAME .............................................................................................................................................. 8

PROGRAM NUMBER ......................................................................................................................................... 8

MEMORY (PART PROGRAM STORAGE) AND BATTERY BACKUP - 2.0 MB ................................................. 8

PART PROGRAM SEARCH ............................................................................................................................... 8

PART PROGRAM EDITING ................................................................................................................................ 8

BACKGROUND EDITING ................................................................................................................................... 9

EXPANDED PART PROGRAM EDITING ........................................................................................................... 9

DATA PROTECTION KEY .................................................................................................................................. 9

CUSTOM MACROS ............................................................................................................................................ 9

VARIABLES AND SYSTEM VARIABLES (600 TOTAL COMMON VARIABLES) ............................................... 9

SUBPROGRAMS AND CUSTOM MACROS ...................................................................................................... 9

DISPLAYING OPERATION HISTORY .............................................................................................................. 10

STROKE LIMIT CHECK BEFORE MOVEMENT............................................................................................... 10

STORED STROKE CHECK 1 ........................................................................................................................... 10

HELP FUNCTION ............................................................................................................................................. 10

FOLLOW UP FUNCTION .................................................................................................................................. 11

WRONG OPERATION PREVENTION .............................................................................................................. 11

MAXIMUM INCREMENTAL VALUE CHECKDISPLAYING WAVE FORMS ..................................................... 11

SELF DIAGNOSIS FUNCTIONS ....................................................................................................................... 11

PERIODIC MAINTENANCE SCREEN .............................................................................................................. 12

MAINTENANCE SETUP & OPERATOR ASSISTANCE SCREENS ................................................................. 12

INTERIOR LIGHTING FOR CONTROL CABINETS ......................................................................................... 12

ENVIRONMENTAL CONSIDERATIONS .......................................................................................................... 12

AIR CONDITIONER .......................................................................................................................................... 12


BUILT-IN ETHERNET ....................................................................................................................................... 12

MAXIMUM PROGRAMMABLE FEED RATES .................................................................................................. 12

HBM MACHINES .................................................................................................................................... 12

HMC MACHINES.................................................................................................................................... 13

PACKAGED OPTIONAL FEATURES .......................................................................................................................... 13

HIGH SPEED PROCESSING PACKAGE ......................................................................................................... 13

AI CONTOUR CONTROL II (AICC II) ..................................................................................................... 13

JERK CONTROL .................................................................................................................................... 13

NANO SMOOTHING .............................................................................................................................. 13

MACHINING CONDITION SELECTING FUNCTION ............................................................................. 13

REV 1 (10-2012)
MACHINING QUALITY LEVEL ADJUSTMENT ...................................................................................... 14

BELL-SHAPED ACC/DEC AFTER CUTTING FEED .............................................................................. 14

5 AXIS MACHINING PACKAGE ....................................................................................................................... 14

TOOL CENTER POINT CONTROL FOR 5-AXIS MACHINING ............................................................. 14

TOOL POSTURE CONTROL ................................................................................................................. 14

SMOOTH TCP ........................................................................................................................................ 14

CUTTING POINT COMMAND ................................................................................................................ 14

EXPANSION OF AXIS MOVE COMMAND IN TOOL CENTER POINT CONTROL ............................... 15

3-DIMENSIONAL MANUAL FEED ......................................................................................................... 15

TOOL RADIUS COMPENSATION FOR 5-AXIS MACHINING ............................................................... 15

TILTED WORKING PLANE COMMAND WITH GUIDANCE / TILTED WORKING PLANE COMMAND 15

INVERSE TIME FEED - G93 .................................................................................................................. 15

WORKPIECE SETTING ERROR COMPENSATION ............................................................................. 16

RIGHT ANGLE ATTACHMENT PACKAGE ...................................................................................................... 16

3-DIMENSIONAL MANUAL FEED ......................................................................................................... 16

TILTED WORKING PLANE COMMAND WITH GUIDANCE / TILTED WORKING PLANE COMMAND 16

WORKPIECE SETTING ERROR COMPENSATION ............................................................................. 16

TOOL LENGTH COMPENSATION IN TOOL AXIS DIRECTION ........................................................... 17

DATA SERVER PACKAGE ............................................................................................................................... 17

INTERPOLATION FUNCTIONS / PROGRAM INPUT / AXIS CONTROL PACKAGE ....................................... 17

SPIRAL INTERPOLATION, CONICAL INTERPOLATION ..................................................................... 17

CYLINDRICAL INTERPOLATION - G7.1 ............................................................................................... 17

POLAR COORDINATE INTERPOLATION - G12.1 ................................................................................ 18

OPTIONAL CHAMFERING AND CORNER RADIUS ............................................................................. 18

POLAR COORDINATE COMMAND - G15, G16 .................................................................................... 18

FIGURE COPYING - G72.1, G72.2 ........................................................................................................ 18


SCALING - G50, G51 ............................................................................................................................. 18

AUTOMATIC CORNER OVERRIDE - G62 ............................................................................................ 18

OPERATION / PROGRAM EDIT PACKAGE .................................................................................................... 18

MANUAL HANDLE INTERRUPTION ..................................................................................................... 18

PROGRAM RESTART ........................................................................................................................... 19

QUICK PROGRAM START .................................................................................................................... 19

RETRACE .............................................................................................................................................. 19

MANUAL NUMERICAL COMMAND ....................................................................................................... 19

SEQUENCE NUMBER COMPARISON AND STOP .............................................................................. 20

ACTIVE OFFSET VALUE CHANGE FUNCTION BASED ON MANUAL FEED ..................................... 20


FLOATING REFERENCE POSITION RETURN - G30.1 ........................................................................ 20

GRAPHICS FUNCTION ......................................................................................................................... 20

DYNAMIC GRAPHICS FUNCTION ........................................................................................................ 20

MACHINING TIME STAMP EDIT ........................................................................................................... 21

PART PROGRAM STORAGE EXPANSION - 8MB ................................................................................ 21

RUN TIME AND PARTS COUNT DISPLAY ........................................................................................... 21

CONTOURING HEAD / PROGRAMMABLE BORING BARS PACKAGE ......................................................... 21

FLEXIBLE SYNCHRONOUS CONTROL - CH FACING HEADS & PROGRAMMABLE BORING BARS21

CONSTANT SURFACE SPEED CONTROL .......................................................................................... 21

THREAD CUTTING RETRACT .............................................................................................................. 22

ADDITIONAL OPTIONS .............................................................................................................................................. 22

PROGRAM INPUT / AXIS CONTROL / OPERATION....................................................................................... 22

ROTARY AXIS CONTROL ..................................................................................................................... 22

POLAR COORDINATE INTERPOLATION - G12.1 ................................................................................ 22

OPTIONAL 9 BLOCK SKIP EXTENSION ............................................................................................... 22

THREE-DIMENSIONAL COORDINATE CONVERSION - G68, G69 ..................................................... 22

SINGLE DIRECTION (UNI-DIRECTIONAL) POSITIONING - G60 ......................................................... 23

FANUC IADAPT ..................................................................................................................................... 23

TOOL FUNCTION / TOOL COMPENSATION / OFFSETS ............................................................................... 23

TOOL OFFSETS - 400, 999 ................................................................................................................... 23

TOOL PAIRS FOR TOOL MANAGEMENT FUNCTION: 1000 PAIRS ................................................... 23

300 ADDITIONAL WORK PIECE COORDINATE SYSTEMS - G54.1.................................................... 23

3-DIMENSIONAL TOOL COMPENSATION ........................................................................................... 23

ROTARY TABLE DYNAMIC FIXTURE OFFSET - G54.2 ....................................................................... 23

COMMUNICATION, DATA INPUT AND OUTPUT OPTIONS ........................................................................... 24

READER / PUNCH INTERFACE ............................................................................................................ 24


ADDITIONAL READER / PUNCH INTERFACE ..................................................................................... 24

HARD DRIVE PC USER DATA AND APPLICATION MEMORY EXPANSION ...................................... 24

FLOPPY DISK DRIVE MOUNTED ON THE OPERATOR’S PENDANT ................................................ 24

PROGRAM TRANSFER TOOL - CONTROL NETWORK EXPANSION ................................................ 24

MISCELLANEOUS OPTIONS ........................................................................................................................... 25

VERTICAL ADJUSTMENT OF OPERATOR PENDANT ........................................................................ 25

REMOTE HANDY OPERATOR PENDANT WITH MPG – EXPANDED ................................................. 25

OTHER LANGUAGE DISPLAY OF STANDARD FANUC SCREENS, MESSAGES AND CYCLES ...... 26

OTHER LANGUAGE DISPLAY OF G&L GENERATED ALARMS, OPERATOR AND SET-UP


SCREENS .............................................................................................................................................. 26

REV 1 (10-2012)
GENERAL CONTROL INFORMATION

The Fanuc control offers integrated PC functions in tandem with a CNC. The Fanuc Panel i is an industrialized
personal computer designed for use in conjunction with Fanuc’s Open Factory CNCs. It is designed to withstand the
harsh environment of the shop floor. The careful use and packaging of personal computer technology in the Fanuc
Panel i means significantly better reliability over off the shelf computers. In addition, the Panel i features a PC with an
embedded XP operating system (XPe). This uses solid state drive for storage of the operation system, applications
and user data. This type of memory replaces the traditional hard drive. Various PC based applications (i.e.
Networking, data collection, CAD/CAM, etc.) may be utilized in this system.

Performance - The Fanuc Panel i’s use of Intel Celeron class processors provides you with the power to meet your
productivity requirements at your machine. The Microsoft Windows operating system provides an efficient, easy to
use interface for your operators.

Flexibility - Commercially available PC cards can easily be installed to support your applications requirements.
Note: Factory should be consulted to ensure the software application or PC card is compatible with the
Panel i embedded XP system.

PC Connectivity - External connection capabilities include SATA, PCMCIA, PCI, Ethernet, Serial and USB bus
interfaces with the standard serial, parallel, mouse and keyboard.
Note: Floppy disk and serial connections require optional hardware.

Reliability - The compact design of the Fanuc Panel i maximizes


reliability by minimizing the electronic circuitry. Close attention to
heat dissipation during its design has reduced the probability of
over temperature being one of the primary causes for PC failures.
In addition, the solid state drive (XPe) has no moving components
as are found in traditional hard drive PC systems.

The amount of cabling in the electrical unit of the machine is


significantly reduced by using a high-speed serial servo bus,
which connects the CNC control unit and multiple servo amplifiers
by a single optical fiber cable. Another innovation which
simplifies the electrical unit of the machine tool is the use of
compact distributed I/O modules, which is separately mounted on
the machine operator’s panel and control panel. A fiber optics
cable connects the Panel I and the CNC CPU rack over are High
Speed Serial Bus (HSSB).

As standard MAG provides 5120 meters (2.0 Mb) of part program


memory and 1000 part program allocations in the control.

Operation and maintenance have been greatly simplified by the


use of many functions for indicating information, such as the help,
alarm history display, operation history display, servo waveform
display, and spindle waveform display function.

The Fanuc control is programmed using the EIA and ISO


standards.

FIGURE 1.30 - 1
CNC Fanuc Control

CONTROL DESCRIPTION 1.30 - 1


HMI APPLICATIONS

HMI applications that are included with MAG machine tools have been tested to ensure compatibility with the
operating system. MAG cannot guarantee the performance or compatibility of customer supplied software
applications. Suitability and/or compatibility of these applications with the existing system are the sole responsibility
of the customer. Hardware changes, such as processor or memory upgrades, may be required to maintain system
performance. Compatibility issues need to be reviewed on a case by case basis and may lead to additional costs.

FUNCTION AND DISPLAY KEYS

Softkeys are available for topic-specific pushbuttons for the operator interface. The operation of these keys is
dependent upon the current display page, providing a familiar interface for each function of the machine. The
function performed by each of these keys will always be identified in the lower portion of the operator interface.

Several display screen keys are also provided to allow the operator to easily access common display pages
(screens). This allows single-key access by the operator to frequently used screens, such as the program check
page.

PANEL I / EMBEDDED XP (XPe) SPECIFICATIONS

The Fanuc control has an intelligent terminal that offers PC functionality. The hardware specifications for the
intelligent terminal are:
1.9 GHz Celeron CPU (Minimum) Four (4) USB 2.0 Ports

512 MB PC RAM memory (Minimum) Two (2) Serial Ports

15” Color (1024 x 768 dots, 65536 colors) Two (2) SATA Ports

3 GB Solid State Drive for storage of Operating system One (1) Ethernet Port
1G Solid State Drive for storage of user data and Two (2) PCJ Slots
applications (expandable to 2GB)

One (1) PCMCIA 2.1 Port

The 15” color LCD display serves as a visual communications device for the operator. The control utilizes the Fanuc
CNC Screen Display option so that standard Fanuc displays are seen. The control has many screens available for
the operator, programmer or maintenance person.

There is a PCMCIA and USB 2.0 slot located on the left-hand side of the operator panel used for data transfer. The
PCMCIA port supports SRAM and ATA data cards. In addition to data transfer, part programs can be executed
directly from cards in either slot.

STANDARD CONTROL FEATURES

REMOTE HAND HELD PENDENT WITH MANUAL PULSE GENERATOR

This portable, lightweight, compact, handheld pendant is used for basic manual
operation of the machine. The pendant provides the following features:

• Manual control of axis motion

• Jog

• Incremental Amount

• Manual Pulse Generator


• Length of cable from operator station is approximately 2 meters (80 inches)

1.30 - 2 CONTROL DESCRIPTION


SPINDLE LOAD DISPLAY

A spindle load bar graph is provided for the main spindle motor. This displays the percent of the motor load on the
LCD display for easy viewing by the operator.

CLOCK FUNCTION

Time is displayed in the hour / minute / second format on each screen. Some screens also allow display of the year,
month and day. The custom macro system variable can be used to read the time.

MULTIPLE SUB-SCREENS

Windows can be opened on the screen. The operator can see information on more than one screen at same time.

DRY RUN

Dry-run operation is used for new part checkout. Dry-run operation skips dwells and slow feeds to allow the program
sequencing to be verified in the fastest possible time. The dry-run mode may be selected during program execution
to allow fine tuning of critical program sections. This is set by parameter #1410.

ALL-AXES MACHINE LOCK

In machine lock condition, the machine does not move, but the position display is updated as if the machine were
moving. This feature also locks out M, S, T and B-codes.

TOOL OFFSET GEOMETRY AND WEAR WITH SEPARATE D AND H-CODES

Tool Offset Memory C is provided as standard. Tool Offset Memory C provides separate geometry and wear
compensation for D-codes and H-codes in the tool offset table. Tool Length offsets are activated with an H-code and
Cutter Radius Compensation is activated with a D-code.

FIGURE 1.30 - 2
Tool Offset Display

TOOL OFFSETS

MAG includes 200 tool offsets as standard. These tool offsets can be entered using the MDI mode, with the
Programmable Data Input feature (G10) or with the Tool Length Measurement function.

CONTROL DESCRIPTION 1.30 - 3


TOOL LENGTH MEASUREMENT

Tool length offsets can be measured and set on the machine. To do this, the operator calls up the offset value
display screen. The operator selects a reference tool and positions it to a fixed measurement point. The displayed
relative position is then reset to a fixed value. The operator selects and manually positions the next tool to be
measured at the same fixed point on the machine. The relative position display at this point shows the difference
between the reference tool and the tool to be measured. The relative position display value is then entered as offset
amounts.

TOOL MANAGEMENT

FIGURE 1.30 - 3
Tool Management Display

Tool Management supports 8-digit tool type numbers with the following features:
• Redundant tooling

• Tool life monitoring type and features

• Timed monitoring

• Tool use count monitoring

• Maximum life

• Pre-Warning

• Ability to define a tool as Enabled, Damaged or Not Managed.

• Per tool data

• D & H offset assignments

• Spindle speed and feed data assignments

• Additional custom data variables

This feature comes standard with 240 Tool Management data entries.

1.30 - 4 CONTROL DESCRIPTION


PROGRAMMABLE DATA INPUT - G10, G11

G10 provides the ability to enter data into Tool Offset Memory, Work Coordinate System, Tool Life Management,
Customized Parameters and Pitch Error Compensation via the part program. For example, tool offset values can be
entered via the program, instead of entering these values individually at the MDI keyboard. When G10 is used in
Absolute Mode (G90), the command tool offset amount becomes the new tool offset. When G10 is used in
Incremental Mode (G91), the current tool offset amount plus the commanded tool offset amount become the new tool
offset amount.

TOOL RETRACT AND RECOVER - G10.6

This function allows the operator to retract a tool from the work piece for inspection or replacement. Using a single
pushbutton command, this function will automatically return the tool to the cut and resume normal operation.

This feature works in conjunction with the RETRACT / RETURN pushbutton. When the RETRACT / RETURN
pushbutton is pushed, the tool will retract from the work piece to the programmed retract position identified in the
G10.6 command line.

Using JOG, MPG or INCR, the operator can make up to ten additional manual moves. The control will remember
these moves. When the operator puts the control into Memory Mode and pushes the RETRACT / RETURN
pushbutton, the control will retrace the manual moves and reposition the tool to the retract point.

The retract amount can be specified incrementally or as an absolute value. The retract amount is saved as modal
data until it is changed or cancelled.
When the RETRACT / RETURN pushbutton is pushed while running the G80 canned cycles (except tapping cycles),
the tool will retract from the hole and go into a Feed Hold condition. When the operator pushes the CYCLE START
pushbutton to continue, the tool will return to the position from which it retracted and complete the cycle.

When the RETRACT / RETURN pushbutton is pushed while tapping holes, the spindle will reverse and the tap will
feed to the R-point. An additional retract distance can be specified using parameters.

The feedrate at which the tool retracts and returns is the DRY RUN feedrate.

PROGRAMMABLE INCH / METRIC CONVERSION - G20/G21

The control can be converted from Inch or Metric modes by using the Handy Setting page on the LCD or through the
part program by using G codes in MDI or Memory modes. G20 is inch mode; G21 is metric mode.

STROKE LIMIT CHECK 2 - G22/G23

Stored stroke check 2, allows the outside or inside of an area to be specified by parameters or a program as a
forbidden area. As a limit position, specify a distance from the origin of the machine coordinate system. If the tool is
commanded to enter an inhibited area defined by stored stroke check 2, movement for that block is stopped
immediately upon the start of movement and an alarm is issued.
ND RD TH
2 ,3 &4 REFERENCE POINT RETURN - G30

A G30 command functions the same as the G28 command. When programmed along with the desired axis position
and P number (P2, P3 or P4), the axes will position to the commanded position (intermediate position) and then
position to the stored 2nd, 3rd or 4th Reference Point.

The 2nd, 3rd and 4th reference positions are set by parameters 1241 - 1243.

THREAD CUTTING - G33

Tool feedrates can be synchronized with spindle rotation. Threads can be cut to a specified lead using single point
threading tools. In addition to straight threads, taper threads and scroll threads can be cut with equal leads. Multiple
thread cutting can simply be accomplished by programming the letter Q for the radial lock on-position.

CONTROL DESCRIPTION 1.30 - 5


CUTTER COMPENSATION “C” - G41, G42

This feature allows for the programmed tool path to be automatically adjusted by the radial offset value of the tool.
The tool radius can be undersize or oversize from the programmed tool radius. This compensation automatically
positions the tool closer to, or farther away from, the work piece by the amount of compensation entered. The look
ahead cutter compensation also allows larger tools to be used without over shooting or gouging corners. There is no
need to modify the program when the tool radius changes. Just change the offset value.

PROGRAMMABLE MIRROR IMAGE - G50.1, G51.1

A mirror image can be programmed for each axis via the part program or MDI command using the above G codes.
Manual mirror image is also provided in the control through a handy setting page.

WORK COORDINATE SYSTEMS - G52, G53, G54 - G59 & G54.1

There are three (3) types of coordinate systems.

LOCAL COORDINATE SYSTEM - G52

Local Coordinate System is an absolute coordinate system with a zero set point. Once the local coordinate system is
set, subsequent move commands are regarded as coordinate values relative to the new set point. G52 causes the
absolute coordinate system to be shifted by the amount specified. This is only a display change and causes no axes
motion. This is typically used to make the programming of a work piece easier by providing a separate zero point in
addition to the work piece coordinate zero point.

MACHINE COORDINATE SYSTEM - G53

Machine coordinate system is an absolute coordinate system with a zero set point. The set reference point becomes
the parameter-preset coordinate value when manual reference point return is performed. G53 causes the specified
machine axes to move in the absolute coordinate system. Motion is at rapid traverse rates.

WORK PIECE COORDINATE SYSTEM - G54 - G59, G54.1

Work Piece Coordinate System offsets are used to offset (adjust the reference) of one or more axes to compensate
for differences in fixture, pallet, work piece size, etc. Each fixture offset can have linear axes and/or rotary axes
offsets. G54 - G59 or G54.1 causes the axes to be offset by the amount and direction specified. This does not cause
motion unless the axes are also commanded on the same block.

The fixture offset values may be loaded manually through the Work Coordinate System page or through the part
program by using the G10 Programmable Data Input feature.
Note: Forty eight (48) work piece coordinate systems (fixture offsets) are standard.

COORDINATE SYSTEM ROTATION - G68, G69


Patterns or commanded moves on subsequent blocks in the part program can be
rotated in up to two (2) axes. G68 will cause a rotation to be performed on the
coordinate system. This remains active until cancelled. This is typically used when a
fixture or work piece is located in a position which is somewhat rotated from the
machine coordinates.

CANNED CYCLES - G7X, G8X

The G7x or G8x series cycles offer the programmer a number of predetermined events to do repetitive jobs on the
machine such as drilling, tapping and boring cycles.

1.30 - 6 CONTROL DESCRIPTION


RIGID TAPPING - G74, G84

This feature provides coordinated servo control of the spindle rotation and Z/W-axis position, which eliminates the
need for floating tap holders. The precision solid tapping feature allows rigid tap holders to be used to tap to exact
depths. This tapping procedure is so precise that the same hole may also be re-tapped without disrupting the thread.
The G74 and G84 canned tapping cycles make full use of the solid tapping feature.

WORKPIECE COORDINATE SYSTEM PRESET - G92.1

The workpiece coordinate system preset function clears a workpiece coordinate system previously shifted by manual
intervention, i.e., Manual Handle Interrupt, local shift (G52), machine lock and G92. The coordinate system is shifted
from the machine zero point by a workpiece origin offset value. This feature has no effect on the active work offsets.

There are two methods for using the workpiece coordinate system preset function:

Programmed command method:

G92.1X0 Y0 Z0 Clear offsets

MDI operations method:

On the absolute position display screen, relative position


display screen, and overall position display screen. The
WK COORD is use to initiate the feature.

HELICAL INTERPOLATION

Helical Interpolation (third axis departure) allows the programmer to program a third-axis linear move with a two-axis
G02 or G03 circular move. The plane selected will determine which axis will be the linear move. Helical interpolation
is not limited only to the G17 plane. It applies to all planes which have a first and second circular axis as well as a
third departure axis.

The most widely used example of helical interpolation is thread milling. A form cutter is used to satisfy the particular
thread being cut. The thread is produced by programming a series of circular moves and feeding the Z-axis one
thread lead per 360 degree circle.

AUTOMATIC ACCELERATION AND DECELERATION

The absolute coordinate values and relative coordinate values of a rotary axis are rounded to coordinates within one
rotation at all times. This prevents coordinate values from overflowing. In an incremental move, the command value
serves as the travel distance. In an absolute move, the specified value is rounded to within one rotation. The
resulting coordinate value is used as the end point. A parameter is used to specify whether the move direction is the
sign of the specified value or the shortest distance.

DECIMAL POINT INPUT / POCKET CALCULATOR TYPE DECIMAL POINT INPUT

Numeric values can be input with or without decimal points. There are two types of decimal point notation: calculator
type notation and standard notation. When calculator type decimal notation is used, a value without a decimal point
is considered to be specified as a whole number (i.e. for distance input in mm, an input value of 1 = 1 mm). When
standard decimal notation is used, a value without a decimal point is considered to be specified in least input
increments (i.e. for distance input in mm, an input value of 1 = .001 mm). Parameters are used to select the input
method. Values can be specified both with and without decimal point in a single program.

1-BLOCK PLURAL M-COMMAND

Up to three (3) M-codes can be simultaneously specified in one (1) block. As these M-codes are simultaneously sent
to PMC side, the machining cycle time compared with the conventional 1-block single M-command is reduced.
Note: M-codes that call a custom macro must be programmed as a single M-command in one (1) block.

CONTROL DESCRIPTION 1.30 - 7


PROGRAM NAME

A program name can be used to distinguish one program from the other in the directory display of registered
programs. Maximum name length is 32 characters. Usable characters include alphabetical (upper and lower case),
numerical and the symbols +, - and _. The program name is displayed along with the program number.

PROGRAM NUMBER

A program number is assigned at the beginning of each program. This is identified using the letter O followed with an
8-digit number. The program number of the program currently under execution is always displayed on the LCD
display. A search of programs registered in the memory can be performed using the program number.

MEMORY (PART PROGRAM STORAGE) AND BATTERY BACKUP - 2.0 MB

As standard, the control has part program memory of approximately 5120 meters (2.0 MB) and 1000 part program
allocations.

Part program storage length will decrease depending on the Fanuc options that are selected. Part Program Storage
can also be affected by the macros used in the part or tool probing cycles. Other special features on the control may
also deduct part program storage space.

The part programs are stored in static RAM memory. This memory is extremely fast because there are no mechanics
or motion involved during operation. Battery backup provides many years of memory protection. Battery backup
additionally provides power-off protection for PPS programs.
Note: Part programs can be run directly from the PCMCIA port or from the PC hard drive.

PART PROGRAM SEARCH

Sequence numbers and text strings may be found within the program by searching either forward or backward. This
enables the operator to quickly locate blocks by statement number or command content in any direction.

PART PROGRAM EDITING

The following part program storage and editing is possible:

• Create new programs

• Delete programs
• Delete one program
• Delete specified programs
• Delete all programs in a folder

• Copy or Move programs


• Copy or move programs from folder-to-folder

• Editing a word
• Insert a word or block
• Overwriting a word
• Replacing a word or address
• Deleting a word or block
• Copying, deleting or pasting a specific range of words

• Editing Characters
• Inserting characters
• Overwriting characters
• Replacing a character string
• Deleting characters
• Copying, deleting or pasting a specific range of characters

1.30 - 8 CONTROL DESCRIPTION


• Search
• Searching for a program
• Searching for a word or address
• Repeating search

• Rearranging program memory contents


BACKGROUND EDITING

While one program is being executed, another program can be edited. Background editing has the same features
and can be performed exactly the same as Part Program Editing.

EXPANDED PART PROGRAM EDITING

The following editing is possible:

• Conversion
• Address conversion - An address in the program can be converted to another address. For example,
address X in the program can be converted to address Y.
• Word conversion - A word in the program can be converted to another word. For example, a programmed
M03 can be converted to M04.

• Program copy
• A part or all of a program can be copied to make a new program.

• Program move
• A part or all of a program can be moved to make a new program.

• Program merge
• A new program can be created by merging two programs together.
DATA PROTECTION KEY

A Data Protection key is installed on the control for protection of part programs. Program editing is secured by the
key switch, which allows only authorized personnel to make permanent program changes and input part programs.

CUSTOM MACROS

The Fanuc control offers a number of features (tools) for programmers to use in enhanced programs to make them
more powerful. This includes the use of variables to store data and the ability to solve mathematical equations in the
part program.

VARIABLES AND SYSTEM VARIABLES (600 TOTAL COMMON VARIABLES)

Local Variables, Common Variables, and System Variables may be utilized by the programmer to simplify program
operations.

The control offers: 33 Local, 100 Common Volatile, 500 Common Non-Volatile System Variables and Indexed
Variables. These Variables can be assigned values up to nine (9) digits total, or can contain calculated values
accurate up to 15 significant digits.
Note: Some restrictions may apply to variable usage depending upon machine optional feature content
(example: part probe and tool probe).

SUBPROGRAMS AND CUSTOM MACROS

The Fanuc control allows for ten (10) levels of subprograms to be nested. When the custom macro feature is used,
subprograms and macro call can be nested up to a total of fifteen (15) levels.

With the Custom Macro B, subprograms can be created using the parametric programming techniques which allows
part programs to pass parameters into the macro being called and provides greater flexibility.

CONTROL DESCRIPTION 1.30 - 9


The Fanuc control offers three (3) different types of subprograms: simple call, macro call, and modal macro call.

Simple call is used to call designated programs without transferring any variables. Macro call is used to call a macro
program and transfer variables to the subprogram. Modal macro calls subprograms each time a move command is
executed, similar to the canned drilling cycles.

A subprogram can be repeatedly called up to 999999999 times

DISPLAYING OPERATION HISTORY

This function displays a history of the key and signal operations, performed by the operator, upon the occurrence of a
failure or alarm. The history can also be displayed for previously generated alarms. The following history data is
recorded:

• MDI key / softkey operation sequences

Example: A to Z, <POS>, <PAGE=>, [SF1]

• On / off status transitions of selected input and output signals

Example: G0000.7=, SBK=

• NC alarm information

Example: P/S0010

• Time (date, time) stamp

Example: 2012/09/25

09:27:55

Recorded data can be referenced on the operation history screen with the ability to display, search, erase and output
to an external device. Previously output history data can be input from an input / output device.

STROKE LIMIT CHECK BEFORE MOVEMENT

The function calculates the commanded end point in a block prior to movement. If the tool is commanded to enter an
inhibited area defined by stored stroke check 1, 2 or 3, movement for that block is stopped immediately upon the start
of movement and an alarm is issued.

STORED STROKE CHECK 1

The machine range of motion is defined by parameters in the machine coordinate system. If the machine attempts to
move beyond the preset range, it decelerates to a stop and alarm is displayed. This function is valid after manual
reference point return at power on.

HELP FUNCTION

The Help Function displays the action to be taken if alarms are issued. When an alarm occurs, or when the operator
is not certain what to do next, pressing the HELP key on the MDI panel displays detailed alarm information or
instructions for operation.

One of the following three (3) screens can be displayed:

• The Alarm Detail screen displays detailed information on the alarm currently activated. The operator can identify
what the alarm is, the cause of the alarm and what action to take. All alarm information will be displayed on this
screen.

• The Operation Method screen displays instructions to complete a function (i.e. program editing and data input /
output needed) when the operator is not sure of what to do next during CNC operation.

• The Parameter Table screen lists parameter numbers. All parameters to be set or referenced are shown on this
screen.

1.30 - 10 CONTROL DESCRIPTION


FOLLOW UP FUNCTION

In normal operation, the machine axes are controlled to move to a commanded position. However, when the
machine is in an Emergency Stop condition, the servos cannot drive the axes to the commanded position. The
Follow-up function tracks the axes feedback pulses and stores any out-of-position in an error counter. Upon machine
restart (cancellation of Emergency Stop) the Follow-up Function can be performed to bring the machine axes back to
the commanded position. Therefore, machining can be resumed after the emergency stop has been deactivated,
without performing the reference point return again.
Note: If the feedback system fails, the CNC can no longer determine machine element position.

WRONG OPERATION PREVENTION

The wrong operation prevention functions described below are meant to prevent the operator from performing any
unintended operation. These functions are set on the Operation Confirmation Page.
1 Functions that are used when data is set.

• Data check to verify that the offset data is within the valid setting range

• Incremental input operation confirmation

• Prohibition of the absolute input by the soft key to prevent any improper absolute or incremental input
operation

• Confirmation of any operation of deleting the program or all data

• Confirmation of a data update during the data setting process


2 Functions that are used when the program is executed.

• Highlighting of updated modal


information

• Display of the executed block status


prior to the program execution

• Display of the axis status, such as the


mirror image function enabled or the
interlock function enabled

• Check for starting from the middle of


the program

• Data check to verify that the offset


data is within the effective setting range

MAXIMUM INCREMENTAL VALUE CHECKDISPLAYING WAVE FORMS

Various signals related to the servo can be displayed, simplifying the adjustment of the servo.

SELF DIAGNOSIS FUNCTIONS

The NC checks the following itself.

• Abnormality of detection system

• Abnormality of position control unit

• Abnormality of servo system

• Overheat

• Abnormality of CPU

• Abnormality of ROM

CONTROL DESCRIPTION 1.30 - 11


• Abnormality of RAM

• Abnormality in data transfer between MDI

• Abnormality of part program storage memory

• Abnormality in tape reader read function

• Abnormality in data transfer between PMC

PERIODIC MAINTENANCE SCREEN

The Periodic Maintenance Screen shows the current statuses of those consumables that require periodic
replacement (backup battery, LCD backlight, touch panel of LCD display, etc.) and displays whether the service
interval has expired. These items are constantly monitored during machine run time.

MAINTENANCE SETUP & OPERATOR ASSISTANCE SCREENS

MAG designed Maintenance Setup and Operator Assistance Screens are provided as standard. The maintenance
setup screens can be used for manual recovery or operation of automated machine devices such as tool changers or
work changers. The operator assistance screens can display available G-code and M-code definitions, as well as
active M-codes.

INTERIOR LIGHTING FOR CONTROL CABINETS

Fluorescent lighting is provided inside the control cabinets for maintenance / service personnel when working inside
the control enclosure.

ENVIRONMENTAL CONSIDERATIONS

The machine is suitable for operation in these ambient environmental conditions:

• Temperature range 10 to 49°C (50 to 120°F)

• Relative humidity range 20% to 75% with short durations to 95%

• Maximum humidity change rate 0.1% per minute

• No condensation permitted

For installations at elevations over 1,000 m (3,300 feet), reduce the upper temperature limit by 3.5°C per 500 m (4°F /
1,000 feet). These numbers reflect control ratings and the operating efficiencies of the air conditioner.

AIR CONDITIONER

An air conditioner is provided on the drive panel / CNC enclosure to control internal air quality. Conditioned air
protects the components from adverse environmental conditions. It is extremely beneficial when the environment
surrounding the control enclosure has high temperature, high humidity or poor air quality.

BUILT-IN ETHERNET

The Fanuc control allows uploading and downloading of part programs from a network PC into the CNC memory. A
standard RJ45 Ethernet port is provided. Expanded Ethernet capabilities can be quoted as required.

MAXIMUM PROGRAMMABLE FEED RATES

Moving massive machine members and/or work pieces requires the proper combination of axes drives and hardware.
Moving these members accurately requires precise tuning of the drives. To ensure the highest levels of axes
response, all axes are limited for maximum feed rates.

HBM MACHINES

Linear axes maximum feed rate for table type (moving table) machines: 18 mpm (710 ipm)
Linear axes maximum feed rate for floor type (moving column) machines: 10 mpm (390 ipm)
Rotary axes maximum feed rate for all machines: 3 rpm

1.30 - 12 CONTROL DESCRIPTION


HMC MACHINES

Linear axes maximum feed rate: 15 mpm (590 ipm)

Rotary axes maximum feed rate: 3 rpm

PACKAGED OPTIONAL FEATURES

HIGH SPEED PROCESSING PACKAGE

This package as offered by MAG is configured to provide capabilities for high speed block processing. This option
consists of the following Fanuc options:

AI CONTOUR CONTROL II (AICC II)

AICC ll provides functions for high-speed, high-precision machining. This feature enables suppression of
acceleration/deceleration delays and servo delays that become larger with increases in the feed rate and reduction of
machining profile errors.

AICC ll includes these functions:

• Number of Blocks Read Ahead: 200

• Look-ahead acceleration / deceleration before interpolation: Linear or Bell-shaped acceleration / deceleration

• Speed control with feed rate difference on each axis

• Speed control with acceleration in circular interpolation

JERK CONTROL

In portions in which acceleration changes largely, such as a portion where a programmed figure changes from a
straight line to curve, vibration or shock on the machine may occur. Speed control with change of acceleration on
each axis is a function to suppress machining errors due to vibration and machine shock generated by change of
acceleration. This function obtains a feedrate so that change of acceleration is within the parameter-set permissible
acceleration change amount for each axis, and performs deceleration by using acceleration/deceleration before
interpolation.

NANO SMOOTHING

When a desired sculptured surface is approximated by minute segments, the nano smoothing function generates a
smooth curve inferred from the programmed segments and performs necessary interpolation. within tolerance. If the
spacing between adjacent inflection points or programmed points is not constant, this function can generate a
smoother curve than the conventional smooth interpolation function. The interpolation of the curve reduces the
segment approximation error, and the nano interpolation makes the cutting surface smoother.

MACHINING CONDITION SELECTING FUNCTION

This feature allows the end user to select from 10 different levels of performance to accommodate their particular
application. By setting a speed or precision-focused parameter set in an AI contour control function and specifying a
precision level in accordance with the machining conditions during machining (G5.1Q1R1-10), parameters suitable to
the conditions can be automatically calculated so that machining can be performed.

CONTROL DESCRIPTION 1.30 - 13


MACHINING QUALITY LEVEL ADJUSTMENT

In nano smoothing, if the “level 1” and “level 10” parameters of a


precision level and smoothing level are set in order to specify a
precision level and smoothing level according to the machining
condition during machining, the parameter values corresponding to
the condition can be automatically calculated for machining.

On the machining quality level adjustment screen, the machining


quality/precision/speed level in nano smoothing can easily be
adjusted.

BELL-SHAPED ACC/DEC AFTER CUTTING FEED

The bell-shaped acceleration/deceleration after cutting feed interpolation provides smooth acceleration and
deceleration to reduce stress and strain on the machine

5 AXIS MACHINING PACKAGE

This package as offered by MAG is configured to provide high level 5 axis machining capabilities. This option
consists of the following Fanuc options:

TOOL CENTER POINT CONTROL FOR 5-AXIS MACHINING

On a 5-axis machine having two rotary axes, this function performs tool length compensation constantly, even in the
middle of a block and exerts control so that the tool center point moves along a specified path. Tool Center Point
Control is used with G00, G01, G02 and G03 commands.

TOOL POSTURE CONTROL

Under tool center point control, the tool tip moves along a specified path even when the tool direction relative to the
workpiece changes. Usually, however, the two rotary axes are controlled independently of each other, and the
posture of the tool is not controlled. Under tool posture control, the present tool posture is controlled so that it can
operate on the plane made up of the tool postures at the block start and end points (tool length compensation
vectors) in positioning or linear interpolation.

This control method is suitable for machining a plane with the side of a tool by using tool center point

SMOOTH TCP

Tool center point control is a 5-axis machining function whereby the tool center point moves along a specified path
even if the tool posture varies in relation to the object being machined.

Depending on the machining program, there may be unevenness in tool posture between blocks. In such a case, the
position of the control point varies in relation to the position of the tool center point, so that acceleration/deceleration
frequently occurs, and the control point does not move smoothly. As a result, there occur increases in machining
time, as well as the degradation of the quality of the machined surface (as exemplified by streaks).

Smooth TCP is a function that compensates rotation axes to reduce the unevenness in tool posture in relation to the
tool center path for a machining program for TCP, thereby smoothing the movement of rotation axes.

This is effective to reducing machining time and improving the quality of the machined surface if there is unevenness
in tool posture between blocks.

CUTTING POINT COMMAND


Control Point
While the operation of the tool tip center is specified with tool center point control, the
operation of the cutting point can be specified with the cutting point command. With
this function, the outside corner radius of the tool can also be used as the cutting point.
Cutting Point

1.30 - 14 CONTROL DESCRIPTION


EXPANSION OF AXIS MOVE COMMAND IN TOOL CENTER POINT CONTROL

This function makes it possible to specify commands for axes other than the five axes subject to tool center point
control during tool center point control.

3-DIMENSIONAL MANUAL FEED

This function provides the ability to manually feed, jog and incrementally feed the axes based on the tool axis
direction of the rotary axis.

• The X and Y selection will cause motion perpendicular to the tool axis direction.

• The Z selection will cause motion parallel to the tool axis direction.

• The rotary axis selection will cause rotation of the rotary axes.

A handle interrupt can be generated for each handle feed. Handle interrupts work according to the corresponding
handle feed specifications described hereinafter unless otherwise noted.

TOOL RADIUS COMPENSATION FOR 5-AXIS MACHINING

For machines having multiple rotary axes, this function calculates a tool vector from the position of these rotary axes.
The function then calculates a compensation vector in a plane (compensation plane) perpendicular to the tool vector
and performs three-dimensional cutter compensation. This function is classified into two types according to the way
of machining: tool side offset and leading edge offset.

TILTED WORKING PLANE COMMAND WITH GUIDANCE / TILTED WORKING PLANE COMMAND

The Tilted Working Plane function is used in conjunction with 5 axis machining and machines equipped with angular
attachments. Commands can be specified in a coordinate system fixed to this plane (called a feature coordinate
system). This allows creating holes, pockets and other figures in a datum plane tilted with respect to the work piece
(table). The feature coordinate system is defined in the work piece coordinate system.

The Tilted Working Plane with Guidance enhancement of Tilted Working Plane command, the following command
formats are available to specify the tilted working plane:

• Roll-Pitch-Yaw

• Three points

• Two vectors

• Projection angles

With this enhancement, a suitable command format can be used for various machining.

The guidance screen for tilted working plane command is a function for creating a tilted working plane command
block by entering tilted working plane data on the screen. With this function, a complicated tilted working plane
command block can be created easily.

INVERSE TIME FEED - G93

Feed rate of the tool can be programmed using a move distance and inverse time (1/minute).

Linear interpolation F = Feed / Distance

Circular interpolation F = Feed / Radius

CONTROL DESCRIPTION 1.30 - 15


WORKPIECE SETTING ERROR COMPENSATION

When a workpiece is placed on the machine, the workpiece is not always placed at an ideal position. With this
function, a displaced workpiece can be machined according to the program. This function can compensate for a
workpiece setting error on a rotation axis used with a function involving rotation axis operation such as a function for
tool center point control, function for 3-dimensional cutter compensation, and a tilted working plane command. So, a
workpiece can be machined according to the program even during tool center point control, 3-dimensional cutter
compensation, and tilted working plane command.

This feature is also useful on machining center with one rotary table axis to provide dynamic offsets for B axis
rotation.

RIGHT ANGLE ATTACHMENT PACKAGE

This package as offered by MAG, is configured to provide basic machining capabilities when angular attachments are
used. This package consists of the following Fanuc options:

3-DIMENSIONAL MANUAL FEED


This function provides the ability to manually feed, jog and incrementally feed the axes based on the tool axis
direction of the rotary axis.

• The X and Y selection will cause motion perpendicular to the tool axis direction.

• The Z selection will cause motion parallel to the tool axis direction.

• The rotary axis selection will cause rotation of the rotary axes.

A handle interrupt can be generated for each handle feed. Handle interrupts work according to the corresponding
handle feed specifications described hereinafter unless otherwise noted.

TILTED WORKING PLANE COMMAND WITH GUIDANCE / TILTED WORKING PLANE COMMAND

The Tilted Working Plane function is used in conjunction with 5 axis machining and machines equipped with angular
attachments. Commands can be specified in a coordinate system fixed to this plane (called a feature coordinate
system). This allows creating holes, pockets and other figures in a datum plane tilted with respect to the work piece
(table). The feature coordinate system is defined in the work piece coordinate system.

The Tilted Working Plane With Guidance enhancement of Tilted Working Plane command, the following command
formats are available to specify the tilted working plane:

• Roll-Pitch-Yaw
• Three points

• Two vectors

• Projection angles

With this enhancement, a suitable command format can be used for various machining.

The guidance screen for tilted working plane command is a function for creating a tilted working plane command
block by entering tilted working plane data on the screen. With this function, a complicated tilted working plane
command block can be created easily.

WORKPIECE SETTING ERROR COMPENSATION

When a workpiece is placed on the machine, the workpiece is not always placed at an ideal position. With this
function, a displaced workpiece can be machined according to the program. This function can compensate for a
workpiece setting error on a rotation axis used with a function involving rotation axis operation such as a function for
tool center point control, function for 3-dimensional cutter compensation, and a tilted working plane command. So, a
workpiece can be machined according to the program even during tool center point control, 3-dimensional cutter
compensation, and tilted working plane command.

1.30 - 16 CONTROL DESCRIPTION


This feature is also useful on machining center with one rotary table axis to provide dynamic offsets for B axis
rotation.

TOOL LENGTH COMPENSATION IN TOOL AXIS DIRECTION

When a five-axis machine that has two axes for rotating the tool is used, tool length compensation can be performed
in a specified tool axis direction on a rotation axis. When a rotation axis is specified in tool axis direction tool length
compensation mode, tool length compensation is applied in a specified tool axis direction on the rotation axis by the
compensation value specified in the H code. That is, movement is made along the three linear axes (Xp, Yp, Zp)

DATA SERVER PACKAGE

This package as offered by MAG, provides for high speed data transfer, memory operation that calls macro
statements and subprograms from the built-in memory card and DNC operation of an NC program stored on the built-
in memory card of the fast data server can be performed. In addition, the DNC operation can also be performed
while NC

This package consists of the following Fanuc options:

• Data server hardware board

• Data server function

• Ethernet software

• Ethernet software loading bit

• 1GB Flash

• Adapter for Compact Flash

INTERPOLATION FUNCTIONS / PROGRAM INPUT / AXIS CONTROL PACKAGE

This package as offered by MAG provides high level programming enhancements that simplify the programming
process. This package consists of the following Fanuc options:

SPIRAL INTERPOLATION, CONICAL INTERPOLATION

This feature provides the capability to program spiral, helical and conical moves in a single line of code. This
eliminates the need to program using multiple lines of code.

The most common application is helical plunge milling. Helical plunge milling is a high speed milling operation
typically used to remove rough stock from a bore or boss. The cutter path is continuous. Utilizing helical
interpolation, the cutter spirals from the face of the bore or boss and terminates at the programmed endpoint, typically
the opposite face of the bore or boss.

Spiral interpolation is enabled by specifying the circular interpolation command together with a desired number of
revolutions or a desired increment (decrement) for the radius per revolution.

Conical interpolation is enabled by specifying the spiral interpolation command together with an additional helical axis
of movement, as well as a desired increment (decrement) for the position along the additional axes per spiral
revolution.

CYLINDRICAL INTERPOLATION - G7.1

The Cylindrical Interpolation mode allows the programmer to program the B-axis as a linear axis which simplifies the
programming of circular and linear contours around the OD/ID of a cylindrical work piece. This involves simultaneous
movements of typically the B-axis and the Y-axis.

CONTROL DESCRIPTION 1.30 - 17


POLAR COORDINATE INTERPOLATION - G12.1

Polar Coordinate Interpolation mode allows programming of A, B or C axes as a linear axis which simplifies
programming of contours on the surface of the rotary axis part. This could involve simultaneous movements of any
contouring rotary axis and a linear axis.

OPTIONAL CHAMFERING AND CORNER RADIUS

Chamfers and corner radii can be easily inserted between two linear interpolations, between a linear interpolation and
a circular interpolation or between two circular interpolations. This function allows the programmer to specify the size
of the radius or chamfer by program code without programming an additional block.

POLAR COORDINATE COMMAND - G15, G16

This feature is used to select the polar coordinate command system where the end point is programmed with a radius
and an angle. The plane select must be set before going in the polar coordinate mode. The command radius is the
first axis of the selected plane and angle is the second axis.

A command of X10 Y30 results in a radius of 10 and an angle of 30 degrees.

FIGURE COPYING - G72.1, G72.2

Machining can be repeated after moving or rotating a figure using a sub program. G72.1 is rotational copy. G72.2 is
linear copy. A plane for the figure copy or translation copy is selected with G17, G18 or G19 codes.

A rotational copy cannot be commanded in the same sub program which commanded another rotational copy.
Similarly, a translational copy cannot be commanded in the same sub program which commanded another
translational copy. However, a translational copy can be commanded in the same sub program which commanded a
rotational copy and a rotational copy can be commanded in the same sub program which commanded a translational
copy.

SCALING - G50, G51

A programmed figure can be magnified or reduced using Scaling. Two types of scaling are available: the same
magnification scale applied to all axes or different magnification rates are applied to each axis. Scaling works with
both incremental and absolute programming.

AUTOMATIC CORNER OVERRIDE - G62

G62 will override (adjust) the programmed feed rate at each corner when used with cutter radius compensation. G62
remains active until cancelled with a G61 (automatic exact stop), G63 (tapping mode) or G64 (cutting mode).
When cutting inside corners at a programmed feed rate, with cutter radius compensation active and without
Automatic Corner Override, the cutter may become overloaded due to accelerated feed in the corners.

OPERATION / PROGRAM EDIT PACKAGE

This package as offered by MAG, provides feature to enhancements and simplify the operation of the machine This
package consists of the following Fanuc options:

MANUAL HANDLE INTERRUPTION

During automatic operation, the tool can be adjusted or offset in one axis while machining in another axis without
interrupting the program. While machining, press the Manual Handle Interrupt key. Select the axis to be offset and
the incremental value. Rotate the hand wheel of the Manual Pulse Generator (MPG) to adjust tool location. Press
the Manual handle Interrupt key to turn off. The offset is now applied and can be viewed on the LCD screen.

The work coordinate system is shifted and the offset will remain in effect until removed, however, the absolute
coordinate system remains unchanged.

1.30 - 18 CONTROL DESCRIPTION


PROGRAM RESTART

This function allows for program restart at a specified sequence number or a specified number of blocks into the
program. The control memorizes the modal status from the beginning of the program to the sequence number. If “M”
codes are to be executed, MDI the “M” codes and press cycle start button; the tool will automatically move to the start
position.

This function is useful for program restart after a broken tool, part inspection, and emergency stop condition or power
outage. This also can be used as a high speed program check.

QUICK PROGRAM START

This function allows program restart with simpler operations.

• Enables the block at which operation was interrupted to be checked easily on the program restart setting screen,
which is provided specifically for this function.

• Automatically extracts blocks (such as positioning and auxiliary function blocks) from which to easily restart
machining with automatic operation and displays them on the program restart setting screen.

• Allows the operator to specify a block from which to restart machining just by selecting a displayed block.

• Also allows the operator to restart machining from a block which is not displayed on the program restart setting
screen.

• Keeps storing automatically extracted data after power-off.

• The following two types of restart methods are available:

Search method:

Simulates a program from the beginning to the block from which to restart machining while restoring modal
and other information.

Direct jump:

Available only for restarting machining from an automatically extracted block. Jumps to the block from which
to restart machining at a high speed. It is necessary to restore the status by MDI or manual operation
because modal and other information is not restored in this mode.
• The auxiliary function output in program restart function is also available (only for the search method).

RETRACE
The retrace feature allows the operator to retrace the programmed path. Pressing the REVERSE push button (ON)
will cause the feed motion to reverse and retrace the tool path. Pressing the REVERSE push button again (OFF) will
cause the feed motion to reverse and go forward on the original tool path. When the tool reaches the retrace start
position, normal program operation will continue. This feature allows the operator to move out of the cut prior to feed
hold or tool retract.

MANUAL NUMERICAL COMMAND

The Manual Numerical Command function allows data programmed through Manual Data Input (MDI) to be executed
in jog mode. Whenever the system is ready for jog feed, a Manual Numerical Command can be executed. By setting
the corresponding parameters, the following commands for axes motion and the M, S, T and B functions can be
disabled. The following eight functions are supported:

1. Positioning (G00)

2. Linear interpolation (G01)

3. Automatic reference position return (G28)

4. 2nd / 3rd / 4th reference position return (G30)

CONTROL DESCRIPTION 1.30 - 19


5. M-codes (miscellaneous functions)

6. S-codes (spindle functions)

7. T-codes (tool functions) (M series)

8. B-codes (second auxiliary functions)

SEQUENCE NUMBER COMPARISON AND STOP

A program sequence number can be set by the operator through the MDI panel. During program operation, when the
block with the specific preset sequence number has been executed, the control reverts to single block mode.

This function is useful for checking a program because the program can be stopped at a specific point without
modifying the program.

ACTIVE OFFSET VALUE CHANGE FUNCTION BASED ON MANUAL FEED

This function allows a specified offset value (tool length compensation value, cutter compensation value, or
workpiece origin offset value) to be changed by automatically adding the amount of movement made along an axis by
manual feed to the value having the currently valid offset number or the workpiece coordinate system.

• Performing rough machining and semi-finish machining with one tool

• Fine-tuning a tool length compensation or cutter compensation value

• Fine-tuning the workpiece origin offset value that was set at the setup time

FLOATING REFERENCE POSITION RETURN - G30.1

With this option, the tool can be returned to the Floating Reference Point by “G” code. The Floating Reference Point
can be set by MDI and is retained when the power is turned off.

GRAPHICS FUNCTION

This function provides display of the tool path on the screen to follow machining progress.

• Current tool position in the work piece coordinate system is displayed

• Graphic coordinates can be set

• Rapid traverse and feed movements can be shown in different colors

• Display is possible with the XY plane, YZ plane ZX plane

• Scaling of the screen is possible (reduction or enlargement)

This function is useful to check the machining process by viewing the tool path on the LCD display. This provides
program checkout before machining a part.

DYNAMIC GRAPHICS FUNCTION

The dynamic graphic display function has two features:


• Path Drawing

The path of coordinates specified in a program is drawn on the screen. By displaying a travel path on the screen, the
path can be checked easily before performing machining actually.

• Animation
The figure of a workpiece to be machined by a programmed tool movement is drawn. By drawing the 3-dimensional
figure of a workpiece to be machined in an animation-like way, the intermediate machining process and final figure
can be grasped easily. When machining is performed according to a program, this function can draw a tool path with
another program.

1.30 - 20 CONTROL DESCRIPTION


This function performs drawing much faster than the graphic display function based on automatic operation, so that a
program check can be made more swiftly.

MACHINING TIME STAMP EDIT

This option allows up to 10 machining times from a part program to be displayed on the LCD in hours, minutes and
seconds. When more than 10 cycles are completed, the oldest cycle on the display is replaced by the newest. The
machining time being displayed can be inserted (stamped) into memory as a comment after the program number.

The machining time inserted after the program number can be displayed instead of the program length (amount of
memory used) on the program directory screen. The display between machining time and program length can be
selected by the parameter setting.

PART PROGRAM STORAGE EXPANSION - 8MB

This option will expand Part Program Storage (PPS) to 20,480 meters (8MB). The standard Part Program Storage
provided by MAG is 5,120 meters (2MB).

RUN TIME AND PARTS COUNT DISPLAY


The Timer screen on the LCD display provides the following information:

• Part total count (number of parts available)


*
Part required count (number of parts needed)


*
Part count (number of parts completed)

• Power-on time

• Run time


*
Cutting time


*
Timer (free purpose)


*
Cycle time

• Date (year, month, day)

• Time (hours, minutes, seconds)


Note: * items that can be altered or preset using the MDI

A program can be written such that each time M02, M30 or a parameter set M code is executed, the part count
(number of parts completed) will automatically be incremented by 1.

The number of required parts and the number of counted parts can be read and written using custom macro variables
or read using the external data input function.

CONTOURING HEAD / PROGRAMMABLE BORING BARS PACKAGE

This package as offered by MAG consists of features that are required for machines equipped with programmable
boring bars. This package consists of the following Fanuc options:

FLEXIBLE SYNCHRONOUS CONTROL - CH FACING HEADS & PROGRAMMABLE BORING BARS

This feature provides automatic operation of CH facing heads and programmable boring bars when applied on live
spindle (bar type spindle) machines. This effectively converts spindle or W-axis motion into V-axis or radial tool
adjustment. When combined with column or Z-axis travel, lathe type operations can be performed.

CONSTANT SURFACE SPEED CONTROL

When a surface speed (surface meters/minute or surface feet/minute) is specified with an S code, the spindle speed
is controlled so that the surface speed is kept constant with respect to the change in radial tool position.

CONTROL DESCRIPTION 1.30 - 21


This function is useful with CH facing heads where a tool slide adjustment in the V-axis will change the diameter
being machined.

THREAD CUTTING RETRACT

This feature provides the ability to retract while threading with the G10.6 retract return function.

During retraction, chamfering is performed between the specified retraction axis and threading axis. After retraction,
one block that does not specify threading is executed and the tool stops.

ADDITIONAL OPTIONS

PROGRAM INPUT / AXIS CONTROL / OPERATION

The following options are sold separately:

ROTARY AXIS CONTROL

This function provides the capability to control the direction of rotation and final position of a rotary axis. When an
absolute value is specified for a rotary axis for which the Rotary Axis Roll-over Function is set, the axis rotates in the
direction indicated by the sign of the specific value and the coordinates of the end point become the specific absolute
values.

POLAR COORDINATE INTERPOLATION - G12.1

Polar Coordinate Interpolation mode allows programming of A, B or C axes as a linear axis which simplifies
programming of contours on the surface of the rotary axis part. This could involve simultaneous movements of any
contouring rotary axis and a linear axis.

OPTIONAL 9 BLOCK SKIP EXTENSION

The Block Skip function provides a method to omit


specific blocks in a program during automatic operation.
When a slash and number (/n, where n is 1 through 9)
are programmed at the beginning of the line and the
Block Skip switch “N” on the LCD display is ON, the
information in the block with the “/n” is ignored. If the
Block Skip switch “N” is OFF, then the information in the
block with the “/n” is executed. This option will increase
the number of block skip functions to 9. The standard
number of block skip functions is 1 (slash code only).

This function is useful to eliminate additional cutter


passes in a program. For example, additional cutter
passes may be required to handle excess stock
conditions but are not needed for normal stock
conditions. When multiple surfaces are machined, up to
nine surfaces can be identified with individual Block Skip codes.

THREE-DIMENSIONAL COORDINATE CONVERSION - G68, G69

This feature provides the capability to convert the standard machine coordinates when knowing the center of rotation,
direction of the axis of rotation and the angular displacement.

This function is very useful in three-dimensional machining. For example, a program created in the XY plane can be
performed on an arbitrary plane in three-dimensional space when applying three-dimensional coordinate conversion.

When specifying rigid tapping in the three-dimensional coordinate conversion mode, tapping operations can be
performed in the angle direction specified by the three-dimensional coordinate conversion command (three-
dimensional rigid tapping).

1.30 - 22 CONTROL DESCRIPTION


When applying angle heads at the machine spindle, the machining coordinates can be converted to correspond with
the angle head axis of rotation rather than the machine spindle rotation.

Note that Coordinate System Rotation – G68 and G69 is included as a MAG standard option. This feature will handle
two-dimensional coordinate system rotation. Although Coordinate System Rotation will work with 90 degree right
angle heads, it will not work if the angle is something other than 90 degrees.

Both Coordinate System Rotation and Three-dimensional Coordinate Conversion use the same G codes. The G
code with I, J and K is processed as a command for three-dimensional coordinate conversion. The G code without I,
J and K is processed as a command for two-dimensional coordinate system rotation.

SINGLE DIRECTION (UNI-DIRECTIONAL) POSITIONING - G60

Final positioning to all end points from a single direction can be applied to improve machine positioning accuracy. If
the end point is being approached from the opposite direction, the tool will overshoot the end point and approach
from the commanded direction.

FANUC iADAPT

This feature provides the ability to monitor power consumption during a cut and to automatically compensate the feed
rate of the machine to optimize machining efficiency. This feature is designed for rough milling operations only and is
most beneficial where cutting conditions vary, yet can be defined within a range. Typical variables include material
hardness, tool wear, depth of cut and width of cut.

TOOL FUNCTION / TOOL COMPENSATION / OFFSETS

TOOL OFFSETS - 400, 999

This option will increase the number of tool offsets to either 400 or 999. The standard number of tool offsets provided
by MAG is 200.
Note: It is recommended that enough tool offsets be purchased to match the size of the tool matrix, which
is selected for the machining center.

TOOL PAIRS FOR TOOL MANAGEMENT FUNCTION: 1000 PAIRS

This is for Tool Management. This option will increase the number of tool data entries to 1000. The standard number
of tool data entries provided by MAG is 240.

300 ADDITIONAL WORK PIECE COORDINATE SYSTEMS - G54.1

Three hundred (300) work piece coordinate systems (fixture offsets) can be added when the standard forty eight (48)
work piece coordinate systems are insufficient.

3-DIMENSIONAL TOOL COMPENSATION

In cutter compensation, two-dimensional offsetting is performed for a selected plane. In 3-dimensional tool
compensation, the tool can be shifted 3-dimensionally when a 3-dimensional offset direction is programmed.

ROTARY TABLE DYNAMIC FIXTURE OFFSET - G54.2

Rotary Table Dynamic Fixture Offset dynamically rotates the work piece coordinate system of the fixture offset based
on the motion of the A, B and/or C rotary table axes. As the rotary axes move, the linear X, Y and Z/W axes positions
will update to reflect the changing offsets. This feature only applies to rotary axes that rotate the work piece such as
a rotary table. This feature does not apply to tilt spindle axes.

This feature automatically adjusts for the offset between the center of the work piece and the center of the rotary
table when contouring with the rotary axes. The feature is also used to enter one set of fixture offsets and have these
offsets automatically recalculated when machining at different positions of the rotary axis.

CONTROL DESCRIPTION 1.30 - 23


COMMUNICATION, DATA INPUT AND OUTPUT OPTIONS

READER / PUNCH INTERFACE

This feature provides one (1) RS232 bi-directional serial port for transfer of part programs, tool offsets or parameters.
This port could be used for connection to a printer, PC or a DNC system.

ADDITIONAL READER / PUNCH INTERFACE

This option provides one (1) additional RS232 bi-directional serial port for transfer of part programs, tool offsets or
parameters. When combined with the Reader / Punch Interface above, the control is provided with a total of two (2)
RS232 ports.

HARD DRIVE PC USER DATA AND APPLICATION MEMORY EXPANSION

This option will expand the PC User Data and Application Memory on a hard drive to a minimum of 40 GB. The
standard PC User Data and Application Memory provided by MAG on a compact flash card is 256 MB.

FLOPPY DISK DRIVE MOUNTED ON THE OPERATOR’S PENDANT

This option provides a Floppy Disk Drive for transfer of part programs, tool offsets or parameters. The Floppy Disk
Drive is mounted on the upper right hand corner of the Operator’s Pendant Work Station.

PROGRAM TRANSFER TOOL - CONTROL NETWORK EXPANSION

The Program Transfer Tool is a MS-Windows PC based tool for the transfer of part programs between a Personal
Computer and a CNC’s Part Program memory or the control’s PC user data memory. This tool is loaded into a single
® ® ® ®
user PC that has a Windows 2000, Windows XP, Windows Vista or Windows 7 operating system. This networks
through the embedded Ethernet connection in the control and permits up to 255 defined connections. Software is
licensed for use on one (1) computer.

Program Transfer Tool performs these operations to and from the CNC Part Program Memory:

• Uploading a program from the Program Memory to the PC

• Displaying a list of programs stored in the Program Memory on the PC screen

• Deleting a program from the Program Memory

• Displaying a list of Tool Offsets, Custom Macro common variables and Work Piece Origin offset data, which can
be transferred between the PC and CNC

• Downloading a program from the PC to the Program Memory

• Transferring Tool Offsets, Custom Macro common variables and Work Piece Origin offsets between the PC and
CNC

• Downloading a folder and its subfolders and files form the PC to the Program Memory

• Uploading a folder and its subfolders and files from the Program Memory to the PC

• Deleting a folder in the Program Memory (folder including contents may be deleted)

• Renaming a file or folder in the Program Memory

• Creating a new folder in the Program Memory

Program Transfer Tool operations to and from the PC User Data Memory stored files:

• Displaying a folder tree and a file list

• Viewing or editing of text files in the PC directory

• Copying, moving, deleting and renaming a file


• Creating, deleting and renaming a folder

1.30 - 24 CONTROL DESCRIPTION


PC to PC functionality mimics Windows Explorer functionality including drag & drop, Cntl-X, Cntl-C, Cntl-V and drop
down commands under File.
Note: Customer is responsible to provide network equipment, cables and network support.

MISCELLANEOUS OPTIONS

VERTICAL ADJUSTMENT OF OPERATOR PENDANT

This feature adds vertical adjustment to the operator’s work station pendant to accommodate different height
operators. It allows the operator to adjust the control to a comfortable height specifically for them. This option
replaces the swivel only arm provided on the standard operator’s work station pendant.

REMOTE HANDY OPERATOR PENDANT WITH MPG – EXPANDED

This multi-function portable, lightweight, compact, handheld pendant is used for manual operation of the machine.
The pendant provides these features:

• Manual control of axis motion

• Jog

• Incremental

• Manual Pulse Generator

• The LCD display output

• Remote pendant enable or disable

• Alarm indicator

• Sequence number

• Part coordinate position for the selected axis

• Feed rate percentage

• Spindle speed

• Pushbuttons in the pendant

• Auto

• Cycle Out
• Reset

• Enable Remote

• Disable Remote

• Spindle Restart

• Spindle Stop

• Cycle Start

• Jog +

• Jog –

• Emergency Stop

• Length of cable from operator station is approximately 2 meters (80 inches)


Note: Some pendant functionality may be limited, restricted or disabled based upon specific machine
configuration.

CONTROL DESCRIPTION 1.30 - 25


OTHER LANGUAGE DISPLAY OF STANDARD FANUC SCREENS, MESSAGES AND CYCLES

Languages available: Czech, Danish, Dutch, Hungarian, Italian, Japanese, Korean, Polish, Portuguese, Russian,
Swedish, Simplified Chinese or Turkish.

OTHER LANGUAGE DISPLAY OF G&L GENERATED ALARMS, OPERATOR AND SET-UP SCREENS

This feature provides an additional level of other language display.

1.30 - 26 CONTROL DESCRIPTION


SECTION 2.10
COORDINATE SYSTEMS
TABLE OF CONTENTS

TITLE PAGE
GENERAL ...................................................................................................................................................................... 1

CARTESIAN COORDINATES SYSTEM ............................................................................................................. 2

POLAR COORDINATES SYSTEM ..................................................................................................................... 2

PLANES .............................................................................................................................................................. 2

MACHINE REFERENCING ........................................................................................................................................... 3

WORKPIECE REFERENCING ...................................................................................................................................... 4

RELATIVE COORDINATE REFERENCE ...................................................................................................................... 5

REV 1 (10-2012)
GENERAL

This section will describe the various coordinate systems that are used on the machine. These include the Machine,
Work (G92) and Relative Coordinate systems. Also described in this section is how to reference each of these
systems. The following is a brief description of each coordinate system.

• Machine Coordinate Reference - The Machine Coordinate system is a fixed dimensional reference for internal
use in the control. The machine system is used to orient the machine to the control for functions such as axis
travel limits. Machine reference needs to be executed any time power to the control is interrupted and needs to
be completed before automatic operation is allowed.

• Work Coordinate Reference - The Work (Workpiece / Absolute) Coordinate system is a floating reference
coordinate system that is used by the operator and programmer and relates to the workpiece. This system
allows the programming and positioning of the machine according to print coordinates, in conjunction with tool
offsets.

• Relative Coordinate Reference - The Relative Coordinate system is a floating reference coordinate system used
by the operator mainly for setting tool length offsets using the tool measure feature INP.C softkey. This
reference is independent of the workpiece reference.

FIGURE 2.10 - 1
Machine, Absolute (Work) & Relative Coordinates

Y+

Y+
MACHINE
Machine
REFERENCE
Reference
PART
Workpiece
X+ REFERENCE
Reference

X+

FIGURE 2.10 - 2
Coordinate Systems

COORDINATE SYSTEMS 2.10 - 1


CARTESIAN COORDINATES SYSTEM

In the Cartesian Coordinate system, points are defined using X, Y and Z commands. In FIGURE 2.10 - 3 (left
sketch), machine motion is shown as if the cutter is moving in a particular axis. If the cutter doesn't move in a
particular axis, the machine motion will be opposite what is shown. The cutter motion relative to the workpiece is
always as shown. Your machine might not have all the axes shown or the entire system may be rotated. In any
case, the relationship between the axes of your machine always remains as shown.

The POLE is defined as


X75, Y100, Z-50

FIGURE 2.10 - 3
Cartesian Coordinate System

In FIGURE 2.10 - 3 (right sketch), a point is shown and defined according to the Cartesian Coordinate system.
Note: On machines equipped with a W-axis, the W-axis is collinear to the Z-axis.

POLAR COORDINATES SYSTEM

In the Polar Coordinate system, points are defined using radius and angle commands. The radius and angle are
referenced to a POLE.

It may be desirable to identify points using Polar Coordinates rather than Cartesian Coordinates. This is typically
determined by the method used to dimension an element of a workpiece on a part drawing. In FIGURE 2.10 - 4 point
locations are defined by Polar Coordinates.

The POLE is defined as


X25, Y50

POLE

P1 is defined as P2 is defined as
Angle=30º, Radius=75 Angle=50º, Radius=100

FIGURE 2.10 - 4
Polar Coordinate System

PLANES

There are three planes available for use; the G17 plane (default), the G18 plane and the G19 plane. The planes are
defined by two of the three Cartesian coordinate axes. The third axis is perpendicular to this plane and determines
the drilling, or infeed, axis.

2.10 - 2 COORDINATE SYSTEMS


The planes are viewed from the plus direction of the perpendicular axis. This view determines direction for clockwise
and counterclockwise for circular interpolation, the polar coordinate system and cutter compensation.

Plane Program Code Drilling (Infeed) Axis Abscissa Ordinate Applicate


X/Y G17 Z X Y Z
Z/X G18 Y Z X Y
Y/Z G19 X Y Z X

FIGURE 2.10 - 5 illustrates the orientation of the planes.

FIGURE 2.10 - 5
Plane Orientation

MACHINE REFERENCING

The Machine Reference is used to orient the machine to the control is a fixed coordinate system for internal use in
the control. Consequently, the machine reference coordinates are generally not available for use by the operator or
the programmer but are used internally in the control for positioning the machine to the tool change location, etc. The
machine coordinate system can be used to position an axis via the G53 code, but the programmer or operator cannot
change the machine coordinate system. All axes must be machine referenced before automatic operation is allowed.

Absolute encoder scales are normally used on the linear Z (spindle) axis to provide axes position feedback. With
absolute encoder feedback, the axes will not require manual referencing by the operator. When the machine requires
referencing, such as when it is first powered up, the control will find the positions of the axis slides automatically.
This will cause the axes positions on the LCD to change rapidly while it is referencing. However, there will be no axis
movement while this occurs. When the axes position display stops, the axes are referenced and ready for automatic
operation.

Linear distance coded scales are used on the linear X, Y, B and W axes and on some auxiliary rotary tables. This
scale package requires manual referencing by the operator. When referencing, sufficient clearance must be provided
as movement will occur.

The following procedure for manual machine referencing is as follows:

1. Ensure there is sufficient clearance to perform the referencing motion.

2. Press the REF key.

3. Press the desired AXIS selector key.

4. Press the + or - DIRECTION key to execute the referencing procedure for the selected
axis.
Note: Before referencing the machine, be sure to provide sufficient clearance to complete the machine
reference cycle.

COORDINATE SYSTEMS 2.10 - 3


WORKPIECE REFERENCING

The Workpiece (Part) Reference is a floating coordinate system used to orient the machine and control to the
workpiece. Thus the part reference coordinate system allows programming the machining of a workpiece to print
dimensions. In this system the axis actual position without any offsets applied shows the location of the origin point
of the machine slides in relation to part zero. The actual positions when modified by tool length offsets show the
location of the tool in relation to the workpiece. Additionally, fixture offsets (G54 - G59 & G54.1P1 - P48) and axis
offsets (G52) may further modify the workpiece reference coordinates.

The axes zeros can be referenced manually by the operator using the control's softkeys or automatically by the
operator or programmer using the following codes:

1. G92 - Changes the work coordinate via MDI or automatic operations. This method of part referencing will be
lost if the machine is referenced.
Note: It is recommended that the absolute axis position is the same as the machine position when no
offsets are active. G92 will change this and is not recommended. If the machine and absolute
positions are not the same, G92 can be used to reset the positions as follows:

With no offsets active, MDI G92 X#5021 Y#5022 Z#5023 W#5024 B#5025 (variables may change
depending on the type of machine) Refer to Section 69.40 for more information on variables.

2. EXTERNAL - Changes the work coordinate. This value will remain in the control even if the power is removed.
Also this work shift will affect all the (G54 - G59 & G54.1P1 - P48) work shifts.

3. G54 through G59 - Work Coordinate selection. These codes activate a given fixture offset that is preset on the
work zero page. These offset values can be set automatically in the part program, or they can be set by the
operator. Refer to REFERENCE OFFSETS section for more information.

****************************************************************************************

IF POWER IS REMOVED FROM THE CONTROL, ANY PART REFERENCE THAT WAS SET
EITHER WITH THE SOFTKEYS OR THE G92 COMMAND WILL BE LOST. HOWEVER THE
VALUES STORED IN THE WORK COORDINATE G-CODES WILL BE RETAINED.

****************************************************************************************

Part
Zero

Machine
Zero

FIGURE 2.10 - 6
Machine and Part Reference

2.10 - 4 COORDINATE SYSTEMS


RELATIVE COORDINATE REFERENCE

The Relative Reference is independent of the part reference and is primarily used in conjunction with the INP.C. tool
measure feature. The tool measure feature is explained in the TOOL OFFSETS section.

The procedure for setting the relative coordinate is as follows:

1. Position the spindle to zero.

2. Manually position the axis using the JOG, INCR JOG and/or MPG modes to the
desired reference point. The face and edge of the table could be used as the
reference surfaces. Refer to FIGURE 2.10 - 7.

3. Press the POS key on the keyboard.

4. Key in the W-axis (Z-axis) letter address and the desired position. The decimal point is required.

Example: W1.0 (Z1.0)

5. Press the PRESET softkey. This will preset the W-axis


(Z-axis) relative position to 1.0. Pressing the ORIGIN &
then ALL AXES softkeys will automatically set the
relative position to zero.

Reference Surface

W1.0 Relative

Typical Spindle Origin Point


(Gage Line)

Spindle

1” Jo-Block
Z0. Relative

FIGURE 2.10 - 7
Reference Relative Coordinate System

COORDINATE SYSTEMS 2.10 - 5


SECTION 2.20
MACHINE ZERO POSITIONS
TABLE OF CONTENTS

TITLE PAGE
GENERAL ...................................................................................................................................................................... 1

Z-SPINDLE MACHINES ......................................................................................................................................... 1

W-SPINDLE MACHINES ........................................................................................................................................ 2

REV 1 (10-2012)
GENERAL

Z-SPINDLE MACHINES

The following sketch illustrates the standard machine zero positions on the Z-spindle PT, RT and MC series
machines. The Z-axis zero is set where the spindle face is flush with the keys on the spindle sleeve. The X-axis zero
is set at the center of the rotary table and the Y-axis zero is set at the top of the table. The W-axis zero is set at the
center of table in line with the Z-axis when at zero.

Component: Table Headstock Spindle Saddle

Work System Name X Y Z W

Note: The W-axis cannot position to zero because of interference with the machine column.

Note: PT1500 / PT1800 style machines have the W-axis zero set at the front face of table in line with the Z-
axis (spindle) when at zero.

FIGURE 2.20 - 1
Machine Reference Zero for Z-Spindle Machines

MACHINE ZERO POSITIONS 2.20 - 1


W-SPINDLE MACHINES

The following sketch illustrates the standard machine zero positions on the W-spindle PT, RT and MC series
machines. The W-axis zero is set where the spindle face is flush with the keys on the spindle sleeve. The X-axis
zero is set at the center of the rotary table and the Y-axis zero is set at the top of the table. The Z-axis zero is set at
the center of table in line with the W-axis when at zero.

Component: Column Headstock Spindle Saddle

Work System Name X Y W Z

Note: The Z-axis cannot position to zero because of interference with the machine column.

Note: PT1500 / PT1800 style machines have the Z-axis zero set at the front face of table in line with the W-
axis (spindle) when at zero.

FIGURE 2.20 - 2
Machine Reference Zero for W-Spindle Machines

2.20 - 2 COORDINATE SYSTEMS


SECTION 15.10
ROTARY TABLE
TABLE OF CONTENTS

TITLE PAGE
GENERAL ...................................................................................................................................................................... 1

AXIS COMMANDS......................................................................................................................................................... 1

ROTARY COORDINATE SYSTEM................................................................................................................................ 1

ROTARY TABLE CLAMPING ........................................................................................................................................ 2

CONTOURING TYPE TABLES ........................................................................................................................... 2

EXAMPLE OF USING CLAMP / UNCLAMP ............................................................................................. 2

POSITIONING TYPE TABLES ............................................................................................................................ 2

ROTARY TABLE AXIS MOTION ................................................................................................................................... 2

MANUALLY POSITIONING N/C CONTOURING ROTARY TABLES ................................................................. 2


POSITIONING IN THE MDI / MEMORY MODES ............................................................................................... 3

ABSOLUTE (G90) MODE ......................................................................................................................... 3

INCREMENTAL (G91) MODE .................................................................................................................. 3

ROTARY TABLE PROGRAMMING EXAMPLES ................................................................................................ 3

ROTARY TABLE DYNAMIC FIXTURE OFFSETS - G54.2 (OPTIONAL) ...................................................................... 4

Z OR W MOTION ................................................................................................................................................ 5

B-AXIS ...................................................................................................................................................... 5

A-AXIS ...................................................................................................................................................... 5

FIXTURE OFFSETS PROGRAMMING EXAMPLE ............................................................................................. 5

REV 1 (10-2012)
GENERAL

This section will discuss the rotary-axes A, B, and C. This includes both positioning and contouring rotary devices.
The following are examples of various rotary devices used on MAG horizontal milling machines.

Built-in contouring tables - Some machines are equipped with a built-in B-axis rotary table. Some machines may
have a built-in B-axis rotary table that is part of an auxiliary slide. These tables have 360,000 positions with full
contouring capabilities.

Detachable auxiliary rotary tables - An auxiliary rotary table can be a horizontal type table (like the built-in table)
designated as the B-axis or it can be a vertical type table designated as an A-axis or C-axis. Adding an A or C-axis to
a B-axis is referred to as a Table on Table feature. Auxiliary tables can have 360,000 positions with full contouring
capabilities or can have positioning only capabilities.

AXIS COMMANDS

Rotary axes are commanded in the same manner as linear axes. All rotary axes commands are in degrees.

The following axis designations apply:

A Commands the rotary axis about the X-axis.

B Commands the rotary axis about the Y-axis.

C Commands the rotary axis about the Z-axis.

The value commanded for rotary axis motion depends on the rotary unit. A B-axis rotary table will typically have 360
degrees of continuous motion. An A or C-axis may have limitations due to cables or interference.

ROTARY COORDINATE SYSTEM

To determine the direction of rotation, the rotary axes must be viewed from the plus perpendicular axis. The plus
direction is clockwise rotation and a minus direction is counterclockwise rotation. The following sketch illustrates the
angular dimensions and directions of rotary axes.

A-axis - view from plus X-axis

B-axis - view from plus Y-axis

C-axis - view from plus Z-axis

ROTARY TABLE 15.10 - 1


ROTARY TABLE CLAMPING

Controlling rotary motion is described in the following.

CONTOURING TYPE TABLES

Contouring rotary axes allow motion in the linear and circular interpolation modes. When rotary and linear axes
commands are programmed on the same block, the motion is coordinated to arrive at the end point simultaneously.
The contouring rotary table can also be clamped while doing heavy cutting depending on the active M-codes
described below.

M13-CLAMP will clamp the rotary table. M13 is canceled by M14, M02, M30 and Reset. No table motion is allowed
while the table is clamped. If the table is clamped, M14 must be programmed on the block prior to the next B
command to allow rotation.

M14-UNCLAMP will unclamp the rotary table. M14 is the default at M02, M30 and Reset.

M23-CLAMP / M24-UNCLAMP are used for auxiliary rotary tables and functions the same as M13 and M14.

EXAMPLE OF USING CLAMP / UNCLAMP


N100 M14; Unclamp table
N110 G00 B180;
N120 M13; Clamp table

POSITIONING TYPE TABLES

If it is desired to have automatic table clamping, the table can be setup as a positioning type table. When the table is
setup as a positioning table, the table is automatically unclamped when motion is commanded, (either auto or
manual) and automatically clamp when the table is in position.

The M-codes, M13 / M14 and M23 / M24 are not used for positioning tables.

ROTARY TABLE AXIS MOTION

The rotary tables can be positioned manually in the Jog mode, by program code through MDI and Memory modes.

MANUALLY POSITIONING N/C CONTOURING ROTARY TABLES

These numerically controlled positioning and machining rotary table features both have a servo drive and rotary
encoder feedback. They can be operated as follows in the Jog and Auto / MDI modes of operation. While the
examples given here use B-axis commands, the same information can apply to an A-axis or C-axis also.

In the Jog mode only, these rotary tables can be:

• Rotated in either the clockwise or counterclockwise direction at a selectable feed or traverse rate using the B-
AXIS (also A or C) direction selector and the FEED % OVERRIDE control. See MACHINE OPERATOR
DEVICES section for a description of the Axis Direction Selectors.

• Positioned in incremental rotary units using the B-AXIS (also A or C) direction selector and the INCREMENTAL
MODE selectors. See MACHINE OPERATOR DEVICES section for further information on manual machine
motion. The rotary incremental units are as follows: 1 unit = .001°, 10 units = .01°, 100 units = .1°, 1000 units =
1.0° and 10000 units = 10.0°.

15.10 - 2 ROTARY TABLE


POSITIONING IN THE MDI / MEMORY MODES

Rotary axis motion is coordinated with the other programmed axes. In the G00 mode, the programmed motion is
executed at the fastest possible rate, subject to usual G00 feedrate override condition. In the G01 mode, the feedrate
of the rotary axis is commanded in degrees / minute.

If the machine is equipped with multiple B-axis rotary tables (the machine has zones), the table located in the active
work zone will be positioned.

ABSOLUTE (G90) MODE

The rotary command is absolute if G90 is active. The direction of rotation will always be the shortest path. A 180
degree move will rotate in the plus direction. See notes below for exceptions.
N190 G00 G90 B0; B will position to the 0° location via the shortest path
N200 G01 G90 F90 B380; B will feed to the 20° location via the shortest path at a feedrate of 90
deg/min, this path will be a positive rotation
N210 G00 G90 B-90; B will position to the 270° location via the shortest path, this path will
be a negative rotation
N220 G00 G90 B60; B will position to the 60° location via the shortest path, this path will
be a positive rotation
Note: When machine are equipped with the five-axis machining feature, the direction of rotation is setup to
be controlled by the sign of the rotary command as discussed below.

Note: Parameters 1006, 1007, and 1008 affect the rotary axis C commands. These parameters are normally
set to cause the direction of rotation of the rotary axes to be the shortest path, as stated above.
With the addition of the optional rotary axis control feature, the parameters can be set up to allow
the direction of rotation to be controlled by the sign of the rotary command as follows:

Parameter 1007 = 00001000

1008 = 00000111

Refer to the Fanuc User’s manual for specific information relating to these parameters.

INCREMENTAL (G91) MODE

The rotary command is incremental if G91 is active. The direction of rotation is controlled by the sign of the
incremental command.
N210 G00 G91 B-20; The B will increment 20° in the minus direction

****************************************************************************************

WHEN ROTATING THE ROTARY AXES, INTERFERENCE CONDITIONS MAY EXIST BETWEEN
THE WORKPIECE OR ROTARY TABLE AND THE MACHINE COMPONENTS. CARE MUST BE
TAKEN TO AVOID THIS CONDITION AT ALL TIMES.

****************************************************************************************
ROTARY TABLE PROGRAMMING EXAMPLES

Refer to ROTARY TABLE PROGRAMMING EXAMPLES section for examples of programming rotary axis motion.

ROTARY TABLE 15.10 - 3


ROTARY TABLE DYNAMIC FIXTURE OFFSETS - G54.2 (OPTIONAL)

Rotary Table Fixture Offsets (G54.2) is an optional feature that rotates fixture offsets based on the motion of the B-
rotary axes. As the rotary axes move, the linear X and Z or W offset will change to reflect the changing off-center
condition based on the programmed B-axis endpoint. The purpose of this feature is to automatically adjust for the
offsets between the center of the workpiece and the center of the rotary table when positioning the rotary axes.

FIGURE 15.10 - 1
Fixture Offset Display

The rotary table dynamic fixture offsets are used in conjunction with the standard work coordinate offsets (G54 to
G59). The values stored in the X, Z (or W) and B-axes of the rotary table dynamic fixture offset are added to the X, Z
(or W) and B-axes values of the active work coordinate offset.
Note: Only the offset values for the affected axes of the rotary table dynamic fixture offsets system are
utilized when a rotary table dynamic fixture offset is activated. The affected axes are assigned by
machine parameters described later. The affected axes are typically the X, Z and B-axes. If a value
is entered into the Y-axis of the rotary table dynamic fixture offset, it will be ignored.

The offset values can be stored and modified through the part program. The values can also be entered by the
operator through the offset page. The X and Z or W offset values are measured at the B-axis position specified in the
offset. For example, if the B register is set to 90, the X and Z/W values are the off-center distance when viewed from
the B90 position. When rotary table offsets are activated, the part coordinate positions of the linear axes will be
updated based on the position of the rotary axis and the offset values store in the active offset. Whether motion will
occur by activating rotary table fixture offsets or with B-axis motion is dependant on parameter number 7570 as
follows:

7570 bit 0 = 0 Motion will occur when activated and with B-rotary axis motion. The X and Z/W-axes motion is
based on the B-axis end point of the block. A 90 degree B-axis move will shift the X-axis offset to
the Z/W and the Z/W-axis offset to the X. and position accordingly. The X and Z/W motion will take
place simultaneously with B motion.

7570 bit 0 = 1 No motion will occur when activated and when the B-rotary axis is positioned. The absolute
position will be updated. This is the default setting.

15.10 - 4 ROTARY TABLE


Specifying G54.2 with the appropriate P-code (P1 - P8) activates the offsets. The rotary table fixture offset is
canceled by G54.2 P0.
Note: It is recommended to program a G53 alone to stop the look ahead feature.

Note: Depending on setting of parameter 7570, activating and canceling the offset may cause motion.

When adjusting offset values while rotary table offsets are active, it is important to remember that all values are
based on the rotary axes being at the B position stored in the offset register.

The rotary table fixture offset feature can be used with the following axes (parameters also defined):

Rotary Axis 1st Linear Axis 2nd Linear Axis


A (7580=6) Z/W (7581=3/4) Y (7582=2)
B (7580=5) X (7581=1) Z/W (7582=3/4)
C (7580=6) X (7581=1) Y (7582=2)

Z OR W MOTION

B-AXIS

Whether Z or W axes moves are dependent on System Parameter 7582 as follows:

Z-axis 7582 = 3 (Default)


W-axis 7582 = 4

A-AXIS
Whether Z or W axis moves are dependent on System Parameter 7581 as follows:

Z-axis 7581 = 3 (Default)


W-axis 7581 = 4

FIGURE 15.10 - 2
System Parameters 7581 & 7582

FIXTURE OFFSETS PROGRAMMING EXAMPLE

Refer to ROTARY TABLE PROGRAMMING EXAMPLES section for examples of programming with rotary table
fixture offsets.

ROTARY TABLE 15.10 - 5


SECTION 15.20
DETACHABLE AUXILIARY ROTARY TABLES
TABLE OF CONTENTS

TITLE PAGE
GENERAL ...................................................................................................................................................................... 1

ATTACHING THE AXIS ...................................................................................................................................... 1

DETACHING THE AXIS ...................................................................................................................................... 3


GENERAL

The detachable rotary tables are loaded onto the machine table and manually connect to the control. These tables
can be positioning tables or have full contouring capabilities. Setup screens are provided to help with the connection
process as shown below.

ATTACHING THE AXIS

It is not uncommon to have a rotary axis that is removable from the machine. The PT (plain table) version of the 480
series machines has no permanent rotary table. A removable table could also be an A-axis or C-axis table mounted
on the B-axis table of the MC or RT style machine. This control supports axes than can be removed from the
machining area without reconfiguring the control. The axis may or may not be electrically detachable.

The following procedure is used to connect the rotary axis.

1. Move the machine table (e.g. B-axis) to the machine coordinate zero position.

2. Place the machine in emergency stop.

3. Turn the USER LEVEL switch to the 1 position.

4. Load the auxiliary table onto the machine table.

5. Connect all electrical, hydraulic and air services to the machine.

6. Press the CUSTOM1 key.

7. Press the MANUAL FUNCT vertical softkey.

FIGURE 15.20 - 1
MAG Main Screen

DETACHABLE AUXILIARY ROTARY TABLES 15.20 - 1


FIGURE 15.20 - 2
Machine Overview Screen
Note: The machine overview screen and the horizontal softkeys can be different on every machine.

8. Press the AXIS DISCON vertical softkey.


9. Press the AXIS CONN softkey.

10. Press the HAND + key and the table will be attached in the software and the table will be usable.

11. Press the HAND - key to remove the table from the system.

12. When done, turn the USER LEVEL key back to the 0 position.

15.20 - 2 DETACHABLE AUXILIARY ROTARY TABLES


DETACHING THE AXIS

1. Place the machine in emergency stop.

2. Turn the USER LEVEL switch to the 1 position.

3. Disconnect all electrical, hydraulic and air services to the machine.

4. Press the CUSTOM1 key.

5. Press the MANUAL FUNCT vertical softkey.

6. Press the CUSTOM1 key.

7. Press the MANUAL FUNCT vertical softkey.

8. Press AXIS DISCON vertical softkey.

9. Press the HAND - key to remove the table from the system.

10. Unload the auxiliary table from the machine table.

11. When complete, turn the USER LEVEL key back to the 0 position.

DETACHABLE AUXILIARY ROTARY TABLES 15.20 - 3


SECTION 15.30
CYLINDRICAL INTERPOLATION
TABLE OF CONTENTS

TITLE PAGE
CYLINDRICAL INTERPOLATION (OPTION) ................................................................................................................ 1

ACTIVATING CYLINDRICAL INTERPOLATION G07.1 ...................................................................................... 1

RAPID TRAVERSE POSITIONING (G00) ................................................................................................ 2

LINEAR INTERPOLATION (G01) ............................................................................................................. 2

CIRCULAR INTERPOLATION (G02/G03)................................................................................................ 2

CANCEL CYLINDRICAL INTERPOLATION (G07.1) .......................................................................................... 2

CALCULATIONS MADE WITH CYLINDRICAL INTERPOLATION ..................................................................... 3

CYLINDRICAL INTERPOLATION PROGRAMMING EXAMPLE ........................................................................ 3

REV 1 (10-2012)
CYLINDRICAL INTERPOLATION (OPTION)

The optional Cylindrical Interpolation allows the programmer to program the rotary axis as a linear axis, which
simplifies the programming of contours around the outside diameter of a workpiece. This would involve simultaneous
movement of a rotary and linear axis.

ACTIVATING CYLINDRICAL INTERPOLATION G07.1

Activating the Cylindrical Interpolation mode includes specifying a rotary radius. The rotary radius is used to convert
rotary degrees to linear inches or millimeters (depending on the active measurement system). This allows the
programming of the normal G94 or G95 feedrates when cutting with a rotary axis. The programmed radius is used to
calculate the cutter compensation values applied to the collinear axes and during circular interpolation is used to
calculate the endpoints and arc center offsets.

The following list is some specific requirements regarding cylindrical interpolation mode.

• Before cylindrical interpolation is activated the (G01) linear interpolation mode must be programmed.
N100 G01; The control must be in the G01 mode before G07.1 can be programmed
N110 G07.1 Bpppp; The programmed B value defines the radius value at which all calculations are
based. This value is use to convert degrees in to linear measurement for the
purpose of calculating feed rates in the G94 and G95 modes. The G07.1 Bpppp must
be programmed on a single block without any other data

• A plane select must be defined for the linear and rotary axis pair. Plane Selection tells the control which two (2)
axes are being programmed as linear axes. The control defaults to the G17 plane and this is normally used for
part programming. However, before enabling the cylindrical interpolation mode, which is B & Y-axes part
programming, the G17 plane must be commanded.
N190 G17 G91 Y0 B0; Define the linear Y-axis and the rotary B-axis as the G17 plane. The G91
prevents axis motion
N200 G01 G90; Activate G01 mode before G07.01 and re-activate absolute mode
N210 G07.1 Bpppp; The programmed B value defines the radius value at which all calculations are
based. This value is use to convert degrees in to linear measurement for the
purpose of calculating feed rates in the G94 and G95 modes. The G07.1 Bpppp must
be programmed on a single block without any other data

• In cylindrical interpolation mode, G00, G28, G53 G73 through G89 cannot be performed. Before any positioning
moves can be performed, cylindrical interpolation must be canceled. If an attempt is made to program these
moves while cylindrical interpolation is active an alarm will be generated.

• Only one rotary axis can be set for cylindrical interpolation. Two or more rotary axes cannot be specified with
G07.1.

• In the cylindrical interpolation mode, canned cycles G73 through G89 cannot be specified.

• In cylindrical interpolation mode, G52 (local work shift), G54 through G59 (work shift), G92 (part reference)
cannot be performed.

• Tool offsets must be activated before entering the G07.1 mode. No offset changes are allowed while in G07.1
mode.

• For cutter compensation in the cylindrical interpolation mode, a plane is to be specified in the same way as for
circular interpolation. However, cutter compensation must be started and canceled while in the cylindrical
interpolation mode. Cutter compensation cannot be performed correctly if the cylindrical interpolation mode is
set after cutter compensation is started.

CYLINDRICAL INTERPOLATION 15.30 - 1


RAPID TRAVERSE POSITIONING (G00)

Cylindrical interpolation cannot be specified in the positioning mode.

LINEAR INTERPOLATION (G01)

Rotary table motion is coordinated with the other programmed axes.

The direction of rotation in the absolute mode (G90) will be the shortest path. A 180 degree move will rotate in the
plus direction. In the incremental mode (G91) the direction is controlled by the sign of the B-axis command.
N190 G01 G90 B0; The B will position to the 0° location via the shortest path
N200 G01 G90 B10; The B will position to the 10° location via the shortest path
N210 G01 G90 B-10; The B will position to the 350° location via the shortest path
N220 G01 G90 B380; The B will position to the 20° location via the shortest path

CIRCULAR INTERPOLATION (G02/G03)

The following data is required when programming circular interpolation with rotary axes, the proper plane select, the
direction of the arc (G02 or G03), axis data for the endpoint of the arc, the arc center offsets and the rotary radius
(G07.1 B value) data.

G02 OR G03 ARC DIRECTION

Either a G02 or G03 is used to command the direction of the arc, clockwise or counterclockwise.

G02 = clockwise

G03 = counterclockwise

The direction is determined by observing from the plus perpendicular axis.

ARC ENDPOINT DATA - B, Y

G90 In the absolute mode, a two axis absolute command must be programmed on each block containing a G02
or G03. These data determine the end point of the circular move relative to the piece part zero.

During circular moves in the absolute mode, the programmed endpoint must be less than 180° from the start
point. This does not apply to the incremental mode (G91).

G91 In the incremental mode, a two axis incremental command must be programmed on each block containing a
G02 or G03. These data determine the end point of the circular move as the incremental distance from the
start point.

ARC CENTER OFFSETS - R

The Arc Center can only be specified by using the arc radius dimension word address R. This R specifies the radius
of the arc and is not programmed in degrees. The I, J, and K arc center offset addresses cannot be used to define
the arc center in cylindrical interpolation mode.

An arc center offset must accompany the corresponding axis data. In the absolute or incremental modes, this data
represent the radius of the arc.

CANCEL CYLINDRICAL INTERPOLATION (G07.1)

To cancel the cylindrical interpolation mode, the command is:


N100 G07.1 B0; G07.1 with a B0 cancels the cylindrical interpolation mode

15.30 - 2 CYLINDRICAL INTERPOLATION


CALCULATIONS WITH CYLINDRICAL INTERPOLATION

The following formulas can be used to calculate the angle, length or radius values of the part being machined using
cylindrical interpolation. Typically the radius of the part is given on the blue print drawing, but can be calculated if not
given. The programmer normally gets a print from engineering with the coordinate dimensions and has to convert
these values into the angular dimension which will be used in the program.

1 Radian = 180 / PI (180 / 3.1415927 = 57.29578)

Angle = Length x 1 Radian / Radius (.875 x 57.29578 / 5.00 = 10.027)

Length = Radius x Angle / 1 Radian (5.00 x 10.027 / 57.29578 = .875)

Radius = Length x 1 Radian / Angle (.875 x 57.29578 / 10.027 = 5.00)

Length = Dimension / Distance of the part geometry in the flat layout.

Radius = This is always the radius of the cylinder on which the calculations are based.

Angle = The amount of angle that the length takes up on the surface of the cylinder.

The relationship between the angle and linear dimensions is nothing more than the circumference of the cylinder of
calculations multiplied by the ratio of angle/360°. By the way, the cylinder of calculations is just that. It is the surface
at which all the calculations are made. The cutter will probably be at some other Z depth when the machining is
being done.

CYLINDRICAL INTERPOLATION PROGRAMMING EXAMPLE

Refer to ROTARY TABLE PROGRAMMING EXAMPLES section for an example of programming with cylindrical
interpolation.

CYLINDRICAL INTERPOLATION 15.30 - 3


SECTION 15.99
ROTARY TABLE PROGRAMMING EXAMPLES
TABLE OF CONTENTS

TITLE PAGE
GENERAL ...................................................................................................................................................................... 1

ROTARY TABLE PROGRAMMING EXAMPLE ............................................................................................................. 1

EXAMPLE 15.99A: DRILL FOUR HOLES USING B-AXIS ................................................................................. 1

FIXTURE OFFSETS PROGRAMMING EXAMPLE........................................................................................................ 2

EXAMPLE 15.99B: DRILL FOUR HOLES USING ROTARY TABLE FIXTURE OFFSETS................................ 2

CYLINDRICAL INTERPOLATION PROGRAMMING EXAMPLE (OPTION) .................................................................. 4

EXAMPLE 15.99C: MILL SLOT IN OD OF PIECE USING CIRCULAR INTERPOLATION ................................ 4

EXPLANATION......................................................................................................................................... 5

REV 1 (10-2012)
GENERAL

Following are examples of programming rotary axis motion.


ROTARY TABLE PROGRAMMING EXAMPLE

EXAMPLE 15.99A: DRILL FOUR HOLES USING B-AXIS

The following is an example using B-axis data with a drill cycle. A 36" square rotary table is used. The spindle is
used for drilling. W/Z zero is at the center of table.
36.0

Machine Table
36.0

20.0
18.0 1" dia.
4 holes

4.0
Y0

X0/B0

Z-AXIS SPINDLE W-AXIS SPINDLE


% %
O0010 (EXAMPLE 15.99A); O0010 (EXAMPLE 15.99A);
N10 G00 G55 W45 T1; N10 G00 G54 Z45 T1;
N20 M6 T1; N20 M6 T1;
N30 G00 G95 G55 X0 Y4 Z0 F.02 S305 M3 M14; N30 G00 G95 G55 X0 Y4 W0 F.02 S305 M3 M14;
N40 G43 H1 W15; N40 G43 H1 Z15;
N50 G98 G81 B0 R.1 W-1.5; N50 G98 G81 B0 R.1 Z-1.5;
N60 B90; N60 B90;
N70 B180; N70 B180;
N80 B270; N80 B270;
N90 G80 W45; N90 G80 Z45;
N100 M30; N100 M30;
% %
N10 Retract table for tool change and preselect T1
N20 Tool change, tool number
N30 Position, set feed & speed, unclamp table, start spindle (G55 contains the W10/Z10 offset
N40 Activate tool length compensation and position table
N50 Rotate to B0 and drill hole
N60 Rotate to B90 and drill hole
N70 Rotate to B180 and drill hole
N80 Rotate to B270 and drill hole
N90 Retract table
N100 End of program

ROTARY TABLE PROGRAMMING EXAMPLES 15.99 - 1


FIXTURE OFFSETS PROGRAMMING EXAMPLE

EXAMPLE 15.99B: DRILL FOUR HOLES USING ROTARY TABLE FIXTURE OFFSETS

The following sketches illustrate the position of the piece relative to the center of the table and the calculated offsets
that will be applied at each 90 degree location.

B0
Actual B90
Offset Value Calculated
X-3.000 Z1.000 Offset Value
X-1.000 Z-3.000
Center of Table

Center of Piece

B180 B0
Calculated Calculated
Offset Value Offset Value
X3.000 Z-1.000 X1.000 Z3.000

Z-AXIS SPINDLE W-AXIS SPINDLE


N150 (Parameter 7570 is normally set to 1 - no motion);
N160 G10 L21 P1 X-3 Z1 B0; N160 G10 L21 P1 X-3 W1 B0;
N170 G54; N170 G54;
N180 G54.2 P1 M14; N180 G54.2 P1 M14;
N190 G00 X0 Y10 B0 M3 M7; N190 G00 X0 Y10 B0 M3 M7;
N200 G200 Z0; N200 G200 W0;
N210 G43 H12 W12; N210 G43 H12 Z12;
N220 G201; N220 G201;
N230 G81 R.1 Z-2.5; N230 G81 R.1 W-2.5;
N240 X0 B90; N240 X0 B90;
N250 X0 B180; N250 X0 B180;
N260 X0 B270; N260 X0 B270;
N270 G80; N270 G80;
N280 G54.2 P0; N280 G54.2 P0;
N290 W45; N290 Z45;

15.99 - 2 ROTARY TABLE PROGRAMMING EXAMPLES


N160 Load offsets values

N170 Activate work coordinate offset to set Y0 position & W0 (Z0 on W-spindle machine) at part face (part radius).

N180 Activate rotary dynamic offsets, unclamp table

N190 Position to first hole location, start spindle & coolant

N200 G200 cycle position spindle to zero

N210 Activate tool offset, position table

N220 G201 cycle will offset the spindle to make equal table to -12

N230 Drill first hole at B0. Note the offsets will adjust for the piece being off center using the offset values of X-3 and
Z1 (W1 on W-spindle machine).

N240 Drill second hole. As the table rotates the X-axis and spindle offsets will automatically adjust for the calculated
offsets of X-1 & Z-3 (W-3 on W-spindle machine)
Note: If parameter 7570 is set to no motion, the X-axis command must be programmed on each hole
to insure the new offset is incorporated.

N250 Drill third hole. As the table rotates, the X-axis and spindle offsets will automatically adjust for the calculated
offsets of X3 & Z-1 (W-1 on W-spindle machine).

N260 Drill fourth hole. As the table rotates, the X-axis and spindle offsets will automatically adjust for the calculated
offsets of X1 & Z3 (W3 on W-spindle machine).

N270 Cancel G81

N280 Cancel rotary table fixture offsets

N290 Retract table

ROTARY TABLE PROGRAMMING EXAMPLES 15.99 - 3


CYLINDRICAL INTERPOLATION PROGRAMMING EXAMPLE (OPTION)

EXAMPLE 15.99C: MILL SLOT IN OD OF PIECE USING CIRCULAR INTERPOLATION

Y0
B126 Y-5 B234 Y-5
Start Position B108 Y-8
START
B0POSITION
Y-11 B252 Y-8
B0 Y-11
3.00 R 3.00 R
3.00 R 3.00 R

B90 Y-11 B270 Y-11

90° 126° 234° 270°


0° 180° 360°
Flat View
FLAT VIEW
X0

19.10

B180
B180
Top
TOP View
VIEW
FRONT
Front VIEW
View

Z-AXIS SPINDLE W-AXIS SPINDLE


% %
O0010 (EXAMPLE 15.99C); O0010 (EXAMPLE 15.99C);
N010 G00 W45 T1; N010 G00 Z45 T1;
N020 M6 T1; N020 M6 T1;
N030 G00 G95 G55 B0 X0 Y-11 F.015 S305; N030 G00 G95 G54 B0 X0 Y-11 F.015 S305;
N040 G200 Z-10; N040 G200 W-10;
N050 G43 H1 W25; N050 G43 H1 Z25;
N060 G00 G17 G91 Y0 B0; N060 G00 G17 G91 Y0 B0;
N070 G00 G90 W10.1 M14; N070 G00 G90 Z10.1 M14;
N080 G01 W9.3 M03; N080 G01 Z9.3 M03;
N090 G7.1 B9.55; N090 G7.1 B9.55;
N100 B90; N100 B90;
N110 G3 B108 Y-8 R3.0; N110 G3 B108 Y-8 R3.0;
N120 G2 B126 Y-5 R3.0; N120 G2 B126 Y-5 R3.0;
N130 G1 B234; N130 G1 B234;
N140 G2 B252 Y-8 R3.0; N140 G2 B252 Y-8 R3.0;
N150 G3 B270 Y-11 R3.0; N150 G3 B270 Y-11 R3.0;
N160 G1 B360; N160 G1 B360;
N170 G7.1 B0; N170 G7.1 B0;
N180 G200; N180 G200;
N190 G00 W45; N190 G00 Z45;
N200 M30; N200 M30;
% %

15.99 - 4 ROTARY TABLE PROGRAMMING EXAMPLES


N010 Retract table for tool change and preselect T1

N020 Tool change

N030 Position, active offsets, set feed and speed

N040 Extend spindle -10 and update table external offset

N050 Activate tool offset for table-axis and position table

N060 Activate G17 plane select for Y and B-axes

N070 Position table, unclamp rotary table

N080 Feed table to depth to cut slot .25 deep and start spindle

N090 Activate cylindrical interpolation mode

N100 Feed the B-axis in the plus direction to 90°

N110 Feed in the CCW direction to cut the first 90° arc

N120 Feed in the CW direction to cut the second 90° arc

N130 Feed the B-axis in the plus direction to 234°

N140 Feed in the CW direction to cut the third 90° arc

N150 Feed in the CCW direction to cut the forth 90° arc

N160 Feed the B-axis in the plus direction to 360°

N170 Cancel cylindrical interpolation

N180 Retract spindle and cancel table external offset

N190 Retract table

N200 End of program

EXPLANATION

When using circular interpolation with rotary axes, the G07.1 B value must be calculated based on the circular data of
the B and Y-axes. In the circular interpolation example, a 3.00 radius is being generated which equates to an 18° B-
axis move. Therefore the radius is equal to 9.5493. The following is the method used to calculate the correct radius.

If 3" is equal to 18° Then each degree is equal to .1666 in. (3/18 = 1666)

If 1° is equal to .1666 Then 360° is equal to 60 in. (.1666 x 360 = 60)

If 60 is equal to the circumference Then the radius is equal to 9.5493 (60/[2xPI] = 9.5493)

For a simple formula use: G07.1 B = 1 Radian / Degrees of Arc x Linear Arc Radius

G07.1 B = 57.2958° / 18 x 3" = 9.5493

If the G07.1 B value is known and the rotary move must be calculated, then the following formula is used:

Calculate rotary move: B = 1 Radian / Radius x Linear Arc Radius.

B = 57.2958 / 9.5493 x 3 = 18.000

ROTARY TABLE PROGRAMMING EXAMPLES 15.99 - 5


SECTION 20.10
PALLET CONTROL
TABLE OF CONTENTS

TITLE PAGE
GENERAL ...................................................................................................................................................................... 1
QUEUE DESCRIPTIONS .............................................................................................................................................. 1
GENERAL STATION QUEUE NAMES ............................................................................................................... 1
INDIVIDUAL STATION QUEUE NAMES ............................................................................................................ 2

QUEUE NAMES ....................................................................................................................................... 2


DISPLAY SCREENS ...................................................................................................................................................... 3
MAIN DISPLAY ................................................................................................................................................... 3

QUEUE COLORS ..................................................................................................................................... 3

KEYBOARD INPUT .................................................................................................................................. 4


MESSAGE DISPLAY ................................................................................................................................ 4

SOFTKEYS .............................................................................................................................................. 4
RUNLIST DISPLAY ............................................................................................................................................. 6
ROUTES DISPLAY ............................................................................................................................................. 6
EVENTS DISPLAY .............................................................................................................................................. 6
VARIABLES DISPLAY ........................................................................................................................................ 6

SYSTEM VARIABLES .............................................................................................................................. 7

GLOBAL VARIABLES .............................................................................................................................. 7

LOCAL VARIABLES ................................................................................................................................. 8

CNC VARIABLES ..................................................................................................................................... 8

EXAMPLES - VARIABLE DEFINITIONS (VAR) & VALUE ASSIGNMENTS (SET) .................................. 8

EXAMPLES - PART ROUTE FILE THAT USES CNC PARAMETERS .................................................... 8


OVERVIEW DISPLAY ......................................................................................................................................... 9
COMMANDS DISPLAY ....................................................................................................................................... 9
STATION DISPLAY ............................................................................................................................................. 9
PARAMETERS DISPLAY.................................................................................................................................... 9
TIMES DISPLAY ................................................................................................................................................. 9
DIAGNOSTICS DISPLAY.................................................................................................................................... 9
HELP DISPLAY ................................................................................................................................................... 9
PALLET CONTROL PANEL ........................................................................................................................................ 10
LIGHT CURTAIN DISABLE / ENABLE .............................................................................................................. 10
PALLET MAINTENANCE DOOR UNLOCK / NORMAL .................................................................................... 10
PALLET READY................................................................................................................................................ 10
LIGHT CURTAIN RELEASE ............................................................................................................................. 10
ROTATE CCW / CW ......................................................................................................................................... 10
ENTRY BLOCKED ............................................................................................................................................ 10
EMERGENCY STOP......................................................................................................................................... 10
PALLET CHANGE OPERATIONS ............................................................................................................................... 11
AXIS MOTION WITH PALLET CHANGE .......................................................................................................... 11
INTERLOCKS ................................................................................................................................................... 11

DOOR MOTION INTERLOCKS .............................................................................................................. 11

WORK EXCHANGE INTERLOCKS........................................................................................................ 11

MACHINE OPERATION INTERLOCKS ................................................................................................. 11


PALLET REFERENCING ............................................................................................................................................. 12
PALLET NAMES / NUMBERS .......................................................................................................................... 12

PALLET NUMBER RULES ..................................................................................................................... 13


PALLET REFERENCING PROCEDURE .......................................................................................................... 13

PROCEDURE TO REFERENCE A QUEUE WITHOUT A PALLET ....................................................... 13

PROCEDURE TO REFERENCE A QUEUE WITH A PALLET ............................................................... 13


PALLET CHANGING PROCEDURES ......................................................................................................................... 14
KEYBOARD INPUT AND THE MOVE COMMAND ........................................................................................... 14
PART ROUTE FILES ................................................................................................................................................... 15

RUNLIST ................................................................................................................................................ 15

USING THE RUNLIST ............................................................................................................................ 17


ROUTE FILE EDITOR ....................................................................................................................................... 17
PART ROUTE FILE LANGUAGE ...................................................................................................................... 18

RULES.................................................................................................................................................... 18
PART ROUTE FILE EXAMPLES ...................................................................................................................... 18

EXAMPLE1 - ROUTE FOR PALLET ON SH1 QUEUE .......................................................................... 18

EXAMPLE2- ROUTE FOR PALLET ON S12 QUEUE ............................................................................ 18

EXAMPLE3- ROUTE FILE FOR ANY PART ON ANY PALLET ............................................................. 19


RUNNING A PART ROUTE FILE...................................................................................................................... 19
BASIC AUTOMATIC OPERATION ................................................................................................................... 20
STOPPING / RESTARTING PART ROUTE FILES ........................................................................................... 21
PALLET CONTROL COMMANDS ............................................................................................................................... 21
DECISION MAKING .......................................................................................................................................... 21
COMMAND ARGUMENTS................................................................................................................................ 22
COMMANDS ..................................................................................................................................................... 23

ABORT - ABORT ACTIVE COMMAND .................................................................................................. 23

ACTIVATE - ACTIVATE PART ROUTE FILE ......................................................................................... 23

ALLOW - ALLOW COMMANDS AT QUEUE .......................................................................................... 24


CONTINUE - CONTINUE ROUTE FILE ................................................................................................. 24

COPY - COPY A FILE ............................................................................................................................ 24

CUT - EXECUTE PART ROUTE FILE.................................................................................................... 25

DELAY - DELAY ROUTE FILE EXECUTION ......................................................................................... 25

DELETE - DELETE PALLET NAME FROM SYSTEM ............................................................................ 26

DOWN - PUT QUEUE IN DOWN STATE ............................................................................................... 26

EDIT - EDIT A FILE ................................................................................................................................ 26

ELSE - PART OF IF / ELSE / END FUNCTION ..................................................................................... 27

END - PART OF IF / ELSE / END FUNCTION ....................................................................................... 27

EXECUTE - EXECUTE FILE .................................................................................................................. 27

GOTO - GO TO LABEL .......................................................................................................................... 27

HELP - GET HELP FOR COMMAND ..................................................................................................... 28

HOLD - HOLD ROUTE FILE .................................................................................................................. 28

IF - PART OF IF / ELSE / END FUNCTION ........................................................................................... 28

INHIBIT - INHIBIT COMMANDS AT QUEUE ......................................................................................... 28

INPUT - INPUT DATA COMMAND-ROUTE FILE .................................................................................. 29

INPUT - INPUT DATA COMMAND-KEYBOARD INPUT ........................................................................ 29

LIGHTS - SET QUEUE LIGHTS ............................................................................................................. 30

LOAD - LOAD OPERATION ON PALLET .............................................................................................. 31

MANUAL - MANUAL OPERATION ON PALLET .................................................................................... 32

MOVE - MOVE PALLET ......................................................................................................................... 33

NOPALLET - NO PALLET AT QUEUE ................................................................................................... 33

PALLET - NAME PALLET AT QUEUE ................................................................................................... 34

POSITION - POSITION WORK CHANGER ........................................................................................... 34

PREPARE - PART PROGRAM .............................................................................................................. 35

PRIORITY - SET COMMAND PRIORITY ............................................................................................... 37


READY - SET PALLET TO READY........................................................................................................ 37

REMOTE - REMOTE COMMAND .......................................................................................................... 38

RUN - RUN PART PROGRAM ON PALLET .......................................................................................... 38

SCRAP - SCRAP PART AT QUEUE ...................................................................................................... 39

SET - STORE DATA IN VARIABLE........................................................................................................ 40

TIME - PROGRAM TIME ........................................................................................................................ 40

UNLOAD - UNLOAD OPERATION ON PALLET .................................................................................... 41

UP - CANCEL DOWN STATE AT QUEUE ............................................................................................. 42

VARIABLE - DEFINE VARIABLE ........................................................................................................... 42


GLOSSARY OF TERMS .............................................................................................................................................. 43
GENERAL

MAG engineered software incorporated into the Fanuc control allows control of pallets via a Cell Management system
(CM90). With the cell management system, pallets can be scheduled and routed in the Production mode of
operation. This section will describe work changing including the operation of the devices and the programming
codes used to automate the work changing system.

Also covered in this section is a Glossary of Terms. Some terms are unique to the pallet control system and some
are generic. The Glossary of Terms is listed at the end of this section.

QUEUE DESCRIPTIONS

This subsection will give a description of the queues on the machine. A queue is a place where a pallet can be
located or transferred to. There are several names that are used to describe a queue. This information is important
to understand, since it will make the task of controlling pallet motion easier. Also refer to FIGURE 20.10 - 1 for
illustrations of the queues and their names.

GENERAL STATION QUEUE NAMES

The following are names and descriptions for the queues of a station. These names are generic in nature in that they
define a type of queue rather than a particular queue.

MACH QUEUE This is the table of the machine. This is where the machining of the workpiece is performed.

LOAD QUEUE This is a pallet stand that is used for setup and loading of the workpiece onto the pallet (fixture).
Refer to the Pallet Pool topic later in this section.

UNLOAD QUEUE This is a pallet stand that is used for removing the workpiece from the pallet (fixture).

PARK QUEUE This is a pallet stand that is used for holding pallets that are waiting to be moved to the machine
or waiting to be moved to a load or unload stand. Refer to the Pallet Pool topic later in this
section.

CAR QUEUE This is a pallet queue that is used to transfer pallets.


Note: Typically, the LOAD and UNLOAD queues are the same pallet stand. This pallet stand will usually be
able to rotate for setup and load / unload purposes. It could also be equipped with an auxiliary
fixture clamping device.

Note: As described above, the CAR queue is used to transfer pallets. On stand-alone machines with two
(2) pallet stands, the pallet stands are referred to as a CAR (refer to the labels in FIGURE 20.10 - 2).

Note: A single stand-alone machine is typically called Station 1. Machines that are a part of a cell would
be assigned individual station names; Station 1, Station 2, etc.

When referring to a queue by its generic name, the station number and a dot precede the name. For example, the
machine table can be referred to as S1.MACH (Station 1 - queue MACH) and a pallet exchange mechanism can be
referred to as S1.CAR (Station 1 - queue CAR).
Note: The table queue of a station can also be identified simply by the station number (i.e. S1 is the same
as S1.MACH).

PALLET CONTROL 20.10 - 1


INDIVIDUAL STATION QUEUE NAMES

The following are names and descriptions for individual queues of a station.

QUEUE NAMES

The system queue names are determined in the machine software and are permanent. These names identify a
queue by number and can be used at any time when commanding action for a queue. A HBM series machine with a
typical 2 pallet configuration is shown below in FIGURE 20.10 - 1.

TBL This is the machine table.

SH1 This is the 1st pallet stand located counterclockwise from the table.

SH2 This is the 2nd pallet stand located counterclockwise from the table.

FIGURE 20.10 - 1
Main Display of CM90

The STATION display page shows the available Queues and the generic names that can be used as shown below in
FIGURE 20.10 - 2. To move a pallet (P1) to S11 can be done as follows:
MOV P1 S11 or MOV P1 S1.STAND

FIGURE 20.10 - 2
Station Display page

20.10 - 2 PALLET CONTROL


Machines equipped with a Pallet Pool will typically be setup with the following system queue names:

TBL This is the machine table.

SH1 This is the 1st pallet shuttle counterclockwise from the table.

S11 This is the 1st pallet stand located counterclockwise from the table.

S12 This is the 2nd pallet stand located counterclockwise from the table.

L13 This is the 3rd pallet stand located counterclockwise from the table and is setup as a load / unload stand.

DISPLAY SCREENS

The Pallet Control Screens are displayed by pressing the ALT and the TAB key as
shown here. There are several data display screens and several support screens.
The data display screens give queue, pallet, station and variable information. The
support screens give help information relative to the pallet control and access to the
storage devices of the control. There is also keyboard input for entering data and a
separate dynamic message display. FIGURE 20.10 - 1 shows the main display. This
is the display shown when the CM90 area is first accessed and when MAIN is chosen
from the display select list. To minimize the CM90 screen, press the ALT (blank key)
and the MINUS key. To return, use the blank and ALT/CALC keys.

MAIN DISPLAY

The Main Display, as shown in FIGURE 20.10 - 3, will show a graphical representation of the queues of the machine
(station), several softkeys and a keyboard input line. FIGURE 20.10 - 3 also is showing the dynamic message
display box. The softkeys allow the selection of different displays and help in creating commands in the keyboard
input line.

QUEUE COLORS

The Queues shown on the main screen (FIGURE 20.10 - 1) will change colors depending on the state or possible
action the queue is in. The colors and the state they represent are as follows:

GREEN Queue is in operation, Production mode is active. This queue is ready.

RED Queue is in error. This queue is either down, inhibited, or there is a malfunction at the queue.

YELLOW Queue is in process. This queue is performing a command that was issued to it via the route file or
the CM90 system software.

PURPLE Queue requires operator attention. This queue is in a state that requires the operator to perform
some function at the queue. This may be to load or unload a part, burr a part, etc.

BLUE Queue is waiting. This queue has been issued a command and is waiting for its turn to perform the
function.

PALLET CONTROL 20.10 - 3


KEYBOARD INPUT

The Keyboard Input line (FIGURE 20.10 - 3), located near the top of the main screen is used for entering commands
or data. The keyboard input line is indicated by the white box containing a blinking cursor ('|'). As characters are
typed on the keyboard they are displayed in the box at the position of the cursor, moving the cursor to the right (Insert
mode). As valid commands are typed, help is shown under the box to inform the user of what is to be input. Use
INPUT key or RETURN key to execute. Pressing the RESET DISPLAY softkey will clear the keyboard input line.

FIGURE 20.10 - 3
Keyboard Input on CM90 Display

MESSAGE DISPLAY

There is also a display area that will show messages pertaining to the pallet control system. For example, if a
command is entered incorrectly a message will appear. FIGURE 20.10 - 3 shows an example. Pressing the RESET
DISPLAY softkey will close this display area.

SOFTKEYS

There are seven (7) softkeys that are operational when on the Main display. These softkeys
are described here.

DISPLAY SELECT - Pressing this key will open a box showing the possible different displays.
The UP and DOWN ARROW keys are used to choose the desired display. An example of the
listing is shown at the right.

20.10 - 4 PALLET CONTROL


BUILD COMMAND - Pressing this key will open a box showing a list of commands that can be
used. The UP and DOWN ARROW keys are used to choose the desired display. An example of
the listing is shown at the right.
Note: The CM90 route file commands are described later in this section.

QUEUE SELECT - Pressing this key will open a box showing a list of queues that can be used.
The UP and DOWN ARROW keys are used to choose the desired display. After selecting a queue,
the graphic is outlined and a status message will appear. An example of the listing is shown at the
right.

QUEUE COMMAND - Pressing this key will open a box showing the possible commands that can
be performed on a selected queue. The UP and DOWN ARROW keys are used to choose the
desired display. An example of the listing is shown at the right.
Note: The Queue commands are described later in this section.

PALLET SUMMARY - Pressing this key will open a


box showing the current activity of each pallet
(FIGURE 20.10 - 4). The pallet name, route file name
and part program name is listed.

RESET DISPLAY - Pressing this key will close any


open access boxes to command, messages, etc. and
clear the keyboard input line.

FIGURE 20.10 - 4
Pallet Summary

PALLET CONTROL 20.10 - 5


SHOW VARS - Pressing this key will open a box
showing the list of variables that are defined.

FIGURE 20.10 - 6
RUNLIST DISPLAY Show Vars

Use the DISPLAY SELECT softkey to access the


Runlist display. The Runlist display allows for a
simple method of routing parts to the machine. A
part program is assigned to a pallet through the
CHANGE PROGRAMS softkey. A list of all available
programs is accessed through the LIST PROGRAMS
softkey. Priorities can also be set on this page.
Detailed instructions are listed later in this section.

FIGURE 20.10 - 5
Runlist Display
ROUTES DISPLAY

Use the DISPLAY SELECT softkey to access the routes display. This display will allow the creation, selection and
editing of route files. Writing route files will be discussed later in this section.

EVENTS DISPLAY

Use the DISPLAY SELECT softkey to access the Events display. This display will show an event history list of
activity pertaining to the CM90 operation at the subject station. Functions such as saving, filtering can be done.

VARIABLES DISPLAY

Use the DISPLAY SELECT softkey to access the Variables display. Variables are storage locations for saving either
a number or an ASCII string. This display will show listings of variables that are defined. There are system variables
(i.e. pallet name, etc.), Local variables, Global variables and CNC variables. For more information regarding
variables, see the VARIABLE headings later in this section.

20.10 - 6 PALLET CONTROL


SYSTEM VARIABLES

The System Variables are pre-defined variables that contain data relative to the pallet control and are described here
(keep in mind that a part route file will typically be accessing these variables, and individual route files are assigned to
individual pallets of the machine). These variables are global and can be accessed by any part route file.

STA Contains the name of the station the


pallet is currently located at.

PAL Contains the name of the pallet the part


route file is assigned to.

PALNUM Contains the number of the pallet the


part route file is assigned to.

QUEUE Contains the name of the queue the


pallet is currently located at.

PI This variable equals 3.141592654.

The contents of system variables will change


depending on the route file that is running and what
state the route file and machine is at. For this reason,
the actual contents of the variables are not displayed.
FIGURE 20.10 - 7
GLOBAL VARIABLES System Variables

Global Variables are variables that are defined from within a route file or using the keyboard input on the global
variables display screen, with the VARIABLE command. Data stored in Global Variables can be used by part route
files other than the one it was defined in. Data can be stored in these variables as numeric or text, as needed.

Procedure to define a global variable using keyboard


input:

1. Select the VARIABLES display.

2. Type the VARIABLE command and the


desired name of the variable (i.e. VAR
CLKNUM GLOBAL).

3. Press the INPUT key. The variable will now


be visible on the global screen with a value of
zero (0).

Also refer to the SET and VARIABLE commands and


PART ROUTE FILES topics, later in this section for
more information and examples.

FIGURE 20.10 - 8
Global Variables

PALLET CONTROL 20.10 - 7


LOCAL VARIABLES

Local Variables are variables that are defined from


within a route file with the VARIABLE command.
Data stored in Local Variables can only be used by
the part route file it was defined in, meaning it is local
to that file. Data can be stored in these variables as
numeric or text, as needed.

Also refer to the SET and VARIABLE commands and


PART ROUTE FILES topics, later in this section for
more information and examples.

FIGURE 20.10 - 9
CNC VARIABLES Local Variables

A CNC Variable is defined by the CNC. Both the part program and the CM90 can read and/or write CNC custom
macro variables. This allows the CM90 to pass inputs to a part program and to get information back from the part
program.

The part programmers are responsible for determining which CNC variables are dedicated for CM90 use. Rxxx is
used in the CM90 to address the CNC custom macro variables in the CNC, where R123 refers to variable #123.

R[expression] allows for indirect addressing as shown below:

If G=110, then R[G+3] refers to R7 which is CNC variable #113.

EXAMPLES - VARIABLE DEFINITIONS (VAR) & VALUE ASSIGNMENTS (SET)


VAR V1 Define variable called V1
VAR V2 GLOBAL ASCII Define ASCII variable called V2
SET V1 = SIN(90) Set V1 to SIN(90)
IF V1+6 GT 95/3 THEN Use V1 in conditional statement
LOAD "THERE ARE %COUNT% PARTS LEFT TO DO" Display the value in t+1e #101 = 7

EXAMPLES - PART ROUTE FILE THAT USES CNC PARAMETERS


VAR WORKSTEP Define local variable
SET WORKSTEP = 1 Start with step 1
LOOP: Define label
MOV ANY.LOAD Move to load stand
LOAD "STEP %WORKSTEP%" Load stand operation
MOV ANY.MACH Move to machine table
SET R107 = WORKSTEP Set CNC parameter #107 to workstep
RUN ABC Run the part program ABC
SET WORKSTEP = R107+1 Save new workstep

20.10 - 8 PALLET CONTROL


OVERVIEW DISPLAY

Use the DISPLAY SELECT softkey to access the Overview display. This display will show the length of time Prod
Auto has been active, Cycle Start has been active, part program runtime, pallet exchange time and operator issued
commands.

COMMANDS DISPLAY

Use the DISPLAY SELECT softkey to access the Commands display. This display will list commands that have been
issued to the pallets. Also other information is given; status, time, source, priority and the part route file (PRF) name.

STATION DISPLAY

Use the DISPLAY SELECT softkey to access the Station display. This display will identify each station in the system
and list the generic queue name assigned to each.

PARAMETERS DISPLAY

Use the DISPLAY SELECT softkey to access the Parameters display. This display will show the directory
specifications for the configuration directory, part route file directory and the CM90 working directory. Press the
RESET DISPLAY softkey to refresh the screen.

TIMES DISPLAY

Use the DISPLAY SELECT softkey to access the Times display. This display will show the run time of part programs
that have been recorded by the CM90. Simulation times can also be viewed, if enabled.

DIAGNOSTICS DISPLAY

Use the DISPLAY SELECT softkey to access the Diagnostics display. This display contains data about the state of
the queues and is used for debug.

HELP DISPLAY

Use the DISPLAY SELECT softkey to access the Help display. This display will show the available CM90 commands
and a description and example for each. There is also help for Terms, Events, Files and the Version of the CM90
software.

PALLET CONTROL 20.10 - 9


PALLET CONTROL PANEL

Located at the load / unload operator station is the Pallet Control Panel. The pallet control panel facilitates operation
of the setup stand and the light barrier if equipped; refer to FIGURE 20.10 - 10. The function of devices located on
the pallet control panel is as follows.

LIGHT CURTAIN DISABLE / ENABLE

This keyswitch is used to enable and disable the light curtain. When disabled, the light curtain will be broken and the
control will prevent any pallet transfers. An operator can select DISABLE and remove the key to ensure that the light
curtain cannot be enabled, thus preventing pallet transfers into the load / unload area.

PALLET MAINTENANCE DOOR UNLOCK / NORMAL

This keyswitch is used to lock and unlock the access doors in the pallet station area. When
unlocked, all pallet changer motion is inhibited. Removal of the key while unlock is selected
will ensure that no pallet transfers can occur in the pallet station area.

PALLET READY

This lighted pushbutton is essentially a part ready. When the operator is done setting up the
part or parts on a pallet at the load / unload station, the PALLET READY button is pressed and
the light is illuminated. This tells the CM90 application that the pallet is ready to be sent to the
machine. If the operator wished to remove the ready status from this pallet, press the button
again to disable the pallet. The corresponding light will be extinguished.

LIGHT CURTAIN RELEASE

This lighted pushbutton is used when light curtains are used to monitor entry into a work area,
whether it is the load / unload station or the work exchange area. When the light is illuminated,
the light curtains have been reset and work exchanger motion can occur. If the light curtain(s)
are broken, the light will be extinguished, any motion will be stopped and any further motion
commands inhibited. Once work in the affected area is complete, the operator may return to
the pallet control panel and press the LIGHT CURTAIN RELEASE button to reset the light
curtains and release motion inhibits.

ROTATE CCW / CW

These pushbuttons are used to rotate the load / unload stand during part loading and unload.
The stand rotates at a constant rate defined by a PLC constant. The light curtains must be
reset for these buttons to work.

ENTRY BLOCKED

The entry blocked light is used to tell the operator when a work exchange is either about to
occur or occurring in the affected area (usually the load / unload work area). When this light is
illuminated, the operator must not enter this area. FIGURE 20.10 - 10
Pallet Control Panel
EMERGENCY STOP

This emergency stop button is provided and a general emergency stop, which will halt all machine motion (work
exchange, tool exchange and the machine).

20.10 - 10 PALLET CONTROL


PALLET CHANGE OPERATIONS

The following is information on the pallet change cycle and the various interlock that apply.

AXIS MOTION WITH PALLET CHANGE

When a pallet change to or from the machine is initiated, the following machine motion will take place:

1. The Z and W (if equipped) axes will simultaneously position to a retract point.

2. The X and B-axes will position to the pallet exchange position.

INTERLOCKS

DOOR MOTION INTERLOCKS

If the work exchange stand is not on the retract switch, the associated door cannot close.

If the light curtain or the operator door is open, both doors will be inhibited.

If one of the doors is in motion during automatic operation and the light curtain is tripped, the doors will stop and be
placed in a cycle interrupt. Motion will continue once light curtain is reset.

WORK EXCHANGE INTERLOCKS

If the light curtain is tripped and a work exchange stand is in motion, it will be placed in a cycle interrupt. Motion can
continue, once the light curtain is reset.

If the operator door is open, one of the work enclosure doors is open and the work exchanger is in motion, it will be
placed in a cycle interrupt. Motion can continue once the operator door is closed.

The work exchange stand bridge is inhibited from extending if the associated door is not open.

MACHINE OPERATION INTERLOCKS

When the operator door is open, the axes and spindle may be jogged. Manual rapid traverse and cycle start is
inhibited.

If a work exchange door is open and the light curtain is tripped, the axes and spindle may be jogged. Manual rapid
traverse is inhibited. Cycle start is inhibited if a pallet is not on the table.

If the operator door is opened while the machine is in cycle, an alarm is generated and axes motion and spindle
rotation is stopped.

Tripping of the light curtains with the work exchange doors closed will not interrupt machine operation.

PALLET CONTROL 20.10 - 11


PALLET REFERENCING

Initially, before any pallet changing can be done, the


control must know what pallets are located at which
queues. This is referred to as Pallet Referencing.

Pallet Referencing may be required for a couple of


reasons; the control software has been loaded or as
the result of a pallet error. If referencing is required,
the state of a queue will become invalid. This is
indicated by the '??PAL' queue state (see FIGURE
20.10 - 11). The ‘??PAL’ state indicates that the
control does not know where the pallets are located.
A message is also displayed PALLET DATA MUST
BE VERIFIED when the queue is selected (QUEUE
SELECT softkey).

PALLET NAMES / NUMBERS

Pallet names are ASCII strings and have a format


that must be adhered to. The name can be seven FIGURE 20.10 - 11
(7) characters maximum, and the first character Queue Display Indicating Pallet Reference Required
must be alpha (a letter A - Z). The remaining can be letters (A - Z), numbers (0-9), decimal point (.) or underscore
(_).

The CM90 keyword PAL contains the pallet name and PALNUM contains the number assigned to the pallet. To have
a number assigned a pallet, see PALLET NUMBER RULES below. These keywords allow the part route file to make
decisions or pass the pallet number on to the CNC through the R variable.

PAL This variable contains the ASCII name of the pallet currently on the machine.

If the pallet name is known: PAL = "P1"


If the pallet name is not known: PAL = "P_???"
If the machine queue does not have a pallet: PAL = ""

PALNUM This variable contains the number of the pallet currently on the machine.

If the pallet number is known: PALNUM= 1


If the pallet name is not known: PALNUM= 9999
If the machine queue does not have a pallet: PALNUM= 0

The pallet number of the pallet on the machine is also available to the part program through a CNC custom macro
variable. This CNC custom macro variable must be setup in the RULES.INI configuration file. To specify #570 as the
variable to store the active pallet number, enter the following at the very start of the RULES.INI file:
;MACH_PAL_VAR
570

These two (2) lines must appear before the end of data line:
;END_OF_DATA

CM90 will automatically update PAL and PALNUM.

20.10 - 12 PALLET CONTROL


PALLET NUMBER RULES

In order to have a pallet number available, the format of the pallet name must include a prefix starting with a letter
followed by a number 1-(127). The format can be specified in the CM90 configuration file RULES.INI.

The CM90 configuration file RULES.INI allows for specifying the mapping of pallet names to numbers in two
methods.

1. Provide a prefix to be used for all pallet names.

The pallet name is this prefix and then a number between 1 and 127.

• If the prefix is P and the pallet number is 23, then the pallet name is P23.

• If the prefix is P2 and the pallet number is 3, then the pallet name is P23.

2. Assign each pallet name a unique number between 1 and 127.

For pallet name TOOLPAL, the pallet number can be set to a number, 77 for example.

• If no prefix is setup in this file, the default prefix is the letter P.

The default (no entries in RULES.INI) is a prefix of P without requiring all pallet names to be P and a number. If
either a prefix or a pallet name number assignment is entered in RULES.INI, then all pallet names must follow the
rules.

If no pallet name-to-number rules are entered, PAL is always correct but PALNUM will be equal to 9999.

PALLET REFERENCING PROCEDURE

As shown in FIGURE 20.10 - 11, referencing is required for all queues. The first thing you must do is visually
determine what pallets are located at the queues. Let's assume the following; the S12 queue is empty and the S11
queue contains pallet P2. With this information known, we can perform the pallet reference procedure.

PROCEDURE TO REFERENCE A QUEUE WITHOUT A PALLET

1. Type the command; NOPAL, space, and the queue name


(NOPAL S12).

2. Press the INPUT key. As a result, the queue state will


change to auto or local depending on the actual valid state
of the queue. FIGURE 20.10 - 12
NOPAL Reference
PROCEDURE TO REFERENCE A QUEUE WITH A PALLET

1. Type the command; PAL, space, the pallet name, space,


and the queue name (PAL P2 S11).

2. Press the INPUT key. As a result, the queue state will


change to auto or manual depending on the actual valid
state of the queue.
FIGURE 20.10 - 13
Note: To be in the Auto state, the Production mode PALLET Reference
must be selected and the queues must be in a
valid state.

PALLET CONTROL 20.10 - 13


PALLET CHANGING PROCEDURES

Pallet Changing is the moving or changing of pallets between queues. There are different methods of changing
pallets as follows:

• MANUAL INPUT

1. Using the keyboard, enter the MOve command on the CM90 screen.

2. Using the mouse, the pallets can be moved by dragging the pallet to the desired Que.

• AUTOMATIC OPERATION in the Production mode

1. Programmed operation using a part route file. This method is explained in the PART ROUTE FILES topic
later in this section.

2. Programs assigned through the Runlist page.

KEYBOARD INPUT AND THE MOVE COMMAND

The MOVE command is a command used to instruct the pallet control system to move a pallet from one queue
(source) to another queue (destination).

Using the Help display, the following is displayed for the MOve command:
MOVE {pallet or queue} destination
MOVE commands the pallet to move to the destination. Pallet or queue is the name of the pallet to be moved or the
name of the queue which holds the pallet to be moved. Destination is a list of 1 to 4 names. Each name can be a
queue name, a station name and a generic extension or ANY and a specific extension. A comma separates multiple
names.

Extensions are .MACH, .LOAD, .UNLOAD, .PARK, .STAND, .CAR,

With this information and using the keyboard input, the following
procedure can be used to move a pallet:

1. Type the command; MOVE, space, the source pallet,


space, and the destination queue (i.e. MOVE P1 TBL).
FIGURE 20.10 - 13 illustrates the keyboard input.

2. Press the INPUT key. Provided the station and queues


are in a valid state, the pallet control system will make all FIGURE 20.10 - 14
the necessary commands to move a pallet from the pallet Move Command
stand to the machine table. FIGURE 20.10 - 14
illustrates the CM90 main display.

****************************************************************************************

PRIOR TO INITIATING A PALLET CHANGE, MAKE SURE THE TOOL IS RETRACTED TO


PROVIDE CLEARANCE FOR THE CURRENT WORK PIECE AND THE WORK PIECE BEING
TRANSFERRED TO THE MACHINE.

****************************************************************************************

20.10 - 14 PALLET CONTROL


FIGURE 20.10 - 15
MOVE Command in Process

PART ROUTE FILES

The pallet control system is designed to automatically direct and control pallet movement
and automatically machine parts when the machine is in Production mode. The
Production mode is selected by pressing the PROD ON key as shown on the right. To
accomplish these tasks (as well as others) the system uses part route files.

Part route files are ASCII text files containing the sequence of instructions (commands)
required to direct pallet movement and machine parts. The instructions are programmed
using pallet control commands, described later in this section.

Part route files can be created using the CM90 route editor (routes display) or by typing into the keyboard input line
“EDIT filespec” where filespec is the name of the part route file. This will open a simple text editor built into the CM90
software. Route files can also be created off-line, using any text-only editor, and transferred into the route directory.
A simple route file can also be created automatically via the runlist display (refer to the following RUNLIST
description).

Execution of a part route file begins when the file is assigned to a pallet and the machine is put into Production mode.
The pallet control system will then read and execute each instruction in sequence. Each file instruction will be
completed before the system reads the next one. Since a part route file is assigned to a particular pallet, its
instructions will only direct cell activity for the associated pallet. Therefore a generic route file can be run on multiple
pallets at the same time but the commands will only apply to the pallet it was assigned to.

RUNLIST

Utilizing the RUNLIST is the simplest and fastest way to get your machine into Automatic
Production mode. With this feature, you simply identify which part program to run on which
pallet and the CM90 system will generate a route file to move the pallet(s) in and out of the
machine. The pallet will be commanded to move to a load queue, allowing you to put a new
part on the pallet, move to the machine table when ready, run the assigned program, and then
move to an unload queue, allowing you to remove the machined part.
Note: The M30 and M02 signify the end of program and initiate the move command to
unload the pallet.

Note: In most cases, the two queues (load and unload) are the same.

PALLET CONTROL 20.10 - 15


The Runlist operation mode is accessed from the
DISPLAY SELECT softkey (refer to the figure at the
right).

Cursor to RUNLIST and press INPUT to show the


Runlist display screen (refer to FIGURE 20.10 - 16).

The Runlist display (FIGURE 20.10 - 16) includes a


cursor bar used for highlighting (selecting) a pallet /
queue, and also several horizontal softkeys. The
softkeys are:

NEXT - This is typically not available. However, if


there were enough pallet / queues on a machine to
fill more than one (1) screen display, NEXT and
PREV would be available to scroll through them.

PREV - This is typically not available. However, if


there were enough pallet / queues on a machine to
FIGURE 20.10 - 16
fill more than one (1) screen display, NEXT and
Runlist Display
PREV would be available to scroll through them.

INHIBIT PALLET - Pressing this key will put the


selected pallet / queue into an inhibited state.

CHANGE PRIORITY - Pressing this key will open an


Input Window allowing you to assign a priority level
value to the selected pallet / queue.
Note: If a priority is set, CM90 will try to run
the pallet with the highest priority first
nd
and then the pallet with the 2 highest
priority (if available) next. In a system
that has more than two pallets, only the
two pallets with the highest priority will
be run.

CHANGE PROGRMS - Pressing this key will change


the screen to a display similar to FIGURE 20.10 - 17.
This screen allows you to assign one or more part FIGURE 20.10 - 17
programs to the selected pallet / queue. You can
RUNLIST - Change Programs Display
assign more than one program by adding to the list with List Programs Selected
(press the INPUT key after typing the program name
to add more).

LIST PROGRMS - Pressing this key will display the program directory as shown in FIGURE 20.10 - 18. This screen
allows you to select a part program to be assigned to a pallet on the runlist. Press the INPUT key after selecting the
program with the ARROW keys.

The directory displayed on the List Programs page is set by the global variable RUN_DIR. This directory is displayed
and can be set on the CM90 Global Variable page as shown on FIGURE 20.10 - 18. To change the directory, enter
the following:
SET RUN_DIR = "//CNC_MEM/USER/"
Note: The “ “ must be included.

SAVE CHANGES - Press this key to save changes to the Runlist.

RESET DISPLAY - Pressing this key will close any open access boxes to command, messages, etc. and clear the
keyboard input line.

20.10 - 16 PALLET CONTROL


USING THE RUNLIST

To use the RUNLIST feature, the following steps would be performed:

1. Make sure the tooling is setup, the jobs on the pallet are setup, the part programs required are created and
transferred into the control, and pallets are referenced and ready.

2. Put the control in Memory mode (press the MEMORY key so it is lit).

3. Select the CM90 area with the ALT/TAB key.

4. Select the RUNLIST display:

A. Press the DISPLAY SELECT softkey.

B. Select RUNLIST from the displayed list.

5. Select the desired pallet / queue from the FIGURE 20.10 - 18


displayed list (scroll to highlight). Set RUNLIST Directory
6. Press the CHANGE PROGRMS softkey. Note
the screen display change is similar to FIGURE 20.10 - 16 (the name of the select pallet is displayed near the
top).

7. Press the LIST PROGRMS softkey, select the desired program name and press ENTER (INPUT).

8. Repeat step & for each program to be run on the pallet.

9. Press the SAVE CHANGES softkey to save program selection.

10. When you are ready to run in Automatic Cell mode, press the PROD ON key until lit. This will start the CM90
operation.
Note: To interrupt CM90 Cell mode operation, press the PROD OFF key until lit.

ROUTE FILE EDITOR

The Route File Editor is used to create and edit route files. Select ROUTES from the DISPLAY SELECT box to
access the Route File Editor page. As shown on FIGURE 20.10 - 19, the active route file for a pallet is displayed.
The following softkeys are available:

DELETE LINE - Press this key to delete the selected line. The line is selected by using the UP & DOWN ARROW
keys.

FIND/REPLACE - Press this key to open a find &


replace box as shown on the right.

GET ACT ROUTE - Press this key to select an


active route file for edit. The display will show the
active route files assigned to pallets. The route file
is selected by using the UP & DOWN ARROW keys.

GET/DEL ROUTES - Press this key to display a


directory of route files.

BASIC ROUTES - Press this key to display sample


route files. These sample route files can be used as
a starting point and can be edited as required.

SAVE ROUTE - Press this key to save a route file.


The route file is saved to the default folded specified
on the parameter display page under display select. FIGURE 20.10 - 19
The default folder is normally ROUTES - Display
C:\OEM\CM90\ROUTES\.

PALLET CONTROL 20.10 - 17


PART ROUTE FILE LANGUAGE

The Part Route File Language will include the use of the pallet control commands and may also include the use of
CM90 variables, global CNC parameters (R1-R999), mathematics and special functions. The route file programmer
can also use decision making and branching to direct route file program flow.

RULES

The following rules must be followed when creating part route files:

• Each line cannot contain more than one (1) pallet control command.

• A line can be a comment (remark) line by using a semi-colon (;). All data following the; in a block, will be
ignored.
Note: A comment after a Label is allowed.

• The command, argument(s), and comments must be separated into fields by using spaces.

• Blank lines are ignored.

• Each route file instruction must be written in such a way that it only operates on the pallet the route file will be
assigned to.

Example Block
MOVE S1.MACH Move pallet to machine table

PART ROUTE FILE EXAMPLES

Following are examples of Part Route Files. The first two examples are simple files in that they will be assigned to a
particular pallet to machine a particular part. The third example utilizes variables and decision making to be able to
machine any part(s).

EXAMPLE1 - ROUTE FOR PALLET ON SH1 QUEUE


;BASIC ROUTE FILE FOR SH1 QUEUE
TOP: Label (TOP:)
LOAD The load command will pause the route file until the operator presses the blinking PART
READY lighted pushbutton. The operator must load a new part before pressing the
pushbutton
MOVE TBL The pallet control system will move the pallet to the machine table, after the operator
readies the pallet
RUN PART1 The program PART1 will be called into the active buffer and cycle started
MOVE S11 The pallet control system will move the pallet to the S11 queue, after the part program
PART1 is completed and the M02 or M30 is executed
GOTO TOP Redirect the route file back to the top of the route file to load a new part

EXAMPLE2- ROUTE FOR PALLET ON S12 QUEUE


;BASIC ROUTE FILE FOR S12 QUEUE
TOP: Label (TOP:)
LOAD The load command will pause the route file until the operator presses the blinking PART
READY lighted pushbutton. The operator must load a new part before pressing the
pushbutton
MOVE TBL The pallet control system will move the pallet to the machine table, after the operator
readies the pallet
RUN PART2 The part program PART2 will be called into the active buffer and cycle started
MOVE S12 The pallet control system will move the pallet to the S12 queue, after the part program
PART1 is completed and the M02 or M30 is executed
GOTO TOP Redirect the route file back to the top of the route file to load a new part

20.10 - 18 PALLET CONTROL


EXAMPLE3- ROUTE FILE FOR ANY PART ON ANY PALLET
;GENROUT1 - ROUTE FILE NAME / RUN 1 JOB ON PALLET
VAR NAME ASCII Define the local ASCII variable NAME
VAR COUNT Define the local numeric variable COUNT
INPUT NAME "ENTER PROGRAM NAME" Wait for operator to input program name into variable NAME
INPUT COUNT "ENTER PART QUANTITY" Wait for operator to input part quantity into variable COUNT
TOP: Label (TOP:)
MOVE ANY.LOAD Move pallet to the load stand
LOAD "PART ON PALLET" Wait for operator to load a new part and press PALLET READY
pushbutton
MOVE S1.MACH Move pallet to the machine table
RUN %NAME% Run the part program input into the variable NAME
SET COUNT=COUNT-1 Subtract 1 from the value of the COUNT variable
IF COUNT GT 0 If variable COUNT is greater than zero (0)
GOTO TOP Then go to label TOP and run part again
END End of the IF statement
MOVE ANY.LOAD Move pallet back to the load stand

RUNNING A PART ROUTE FILE


It is important to note that the first two example route files are specific to a queue. That is, they will move a pallet to
the TBL queue, run a specific part program stored in memory, and then move the pallet back to a specific queue.
With this in mind, the route file EXAMPLE1 cannot be assigned to the pallet at the S12 queue, because the MOVE
command in the 4th line will move the pallet back to the S11 queue. It can only be assigned to the pallet located at
the S11 queue. It is also important to realize that this route file will run PART1, so this must be the job that is setup
on the pallet.
To use these route files, the following steps would be performed:

1. Make sure the tooling is setup, the part programs; PART1 and PART2, and the route files; ROUTE1 and
ROUTE2 are created, and the jobs on the pallets are setup.

2. Put the control in Memory mode (press the MEMORY key so it is lit).

3. Activate Prod On (press the PROD ON key so it is lit).


4. Select the CM90 area using the ALT/TAB keys.

5. Type: CUT ROUTE1 S11 <INPUT>. At this time the pallet control system will search for the route file
ROUTE1 and assign that file to the pallet at the S11 queue. If the route file is not there, an error message will
be displayed.

6. Type: CUT ROUTE2 S12 <INPUT>. At this time the pallet control system will search for the route file
ROUTE2 and assign that file to the pallet at the S12 queue. If the route file is not there, an error message will
be displayed.
Note: The ACtivate command can be used instead of the CUt command. However, the route file will
immediately go into a Held state. The CONtinue command is then used to cancel the hold.

The part route files will now execute block by block. The LOad command in the route file will execute first and cause
the PART READY lighted pushbutton to blink. If the operator is satisfied that the part is ready, press the PART
READY lighted pushbuttons. The pallet will move to the table, the part program (PART1, PART2) will start and
machine the part. The pallet will be moved back to the queue it came from and the route file will start over again
going back to the top. The pallet that is made ready first will start first.

The EXAMPLE3 route file is more versatile in that the part program that is run is a variable entered by the operator,
the MOve commands use a general name for the queues, and also a part counter is used to determine how many
times the route file is looped. They could be created and stored as any name (i.e. ROUTE3).

PALLET CONTROL 20.10 - 19


To use one of these route files, the following steps would be performed:

1. Make sure the tooling is setup, the part


programs required and the route file
required is created and stored, and the
jobs on the pallet are setup.

2. Put the control in Memory mode (press the


MEMORY key so it is lit).

3. Activate Prod On (press the PROD ON key


so it is lit).

4. Select the CM90 area using the ALT/TAB


keys.

5. Type: CUT ROUTE3 S11 <INPUT>. At


this time the pallet control system will
search for the route file ROUTE3 and
FIGURE 20.10 - 20
assign that file to the pallet at the S11
Message Display Showing Input Instructions
queue. If the route file is not there, an
error message will be displayed.

6. CM90 will stop and wait for the operator to input the part name and number of parts as follows (see FIGURE
20.10 - 16):

A. Use the INPUT command to enter the name of the program i.e. IN S11 "PART1". Note the “ “ marks
are required because the variable is an ASCII string.

B. Use the INPUT command to enter the number of parts to machine (i.e. IN S11 15).

7. Type: CUT GENROUT1 L12 <INPUT>. At this time the pallet control system will search for the route file
GENROUT1 and assign that file to the pallet at the L12 queue. If the route file is not there, an error message
will be displayed.

A. Use the INPUT command to enter the name of the program (i.e. IN L12 "PART2"). Note the “ “ marks
are required because the variable is an ASCII string.

B. Use the INPUT command to enter the number of parts to machine (i.e. IN L12 15).
Note: The ACTIVATE command can be used instead of the CUT command. However, the route file will
immediately to into a Hold state. The CONTINUE command is then used to cancel the hold.

The part route file will now execute block by block. The route file will prompt the operator to input the program
name(s) for the job(s) on the pallet and the quantity of parts to run. The route file will then continue moving the pallet
between the table and pallet stand and running the specified part program for the number of times input into the
NAME and COUNT variables.

BASIC AUTOMATIC OPERATION

After a route file has been activated or cut, the following typical sequence of events will occur, and the required
actions to keep the machine running are performed:

1. INPUT commands may be executed. The user must input the appropriate data (i.e. program name, part
quantity, etc.).

2. A LOAD command is executed. The user must prepare the part / pallet for machining. When satisfied the part
/ pallet is ready, the user presses the PART READY pushbutton.
Note: Typically, a flashing READY light indicates a LOAD command is active, waiting for the part to
be loaded and the READY button to be pressed.

20.10 - 20 PALLET CONTROL


3. When the machine table is empty and available, the pallet will be moved to the machine, the part program will
be run, and the pallet returned to the pallet stand.

4. If there are more of the same parts to do; again prepare the part / pallet for machining. When satisfied the part
/ pallet is ready, the user presses the PART READY pushbutton.

5. The user would basically repeat steps 2, 3, and 4 until all parts are done.

6. When the route file is completed, a new job can be setup, and a route file can be run to machine that part.

See the following topic for information regarding stopping and restarting the route file.

STOPPING / RESTARTING PART ROUTE FILES

The route files shown in EXAMPLE1 and EXAMPLE2 are in a loop and will run indefinitely. The route file shown in
EXAMPLE3 will run until the part quantity input is reached. In either case, there are different ways to stop the
execution of the route file:

• Remove the machine from Prod On mode (press PROD OFF key). The route file will complete the active
command and then stop. Turn the PROD ON back on to restart the route file.

• Use the HOLD command to halt the route file execution. The route file will complete the active command and
then stop. Use the CONTINUE command to restart the route file.

• Use the ABORT command to cancel the active command and halt the route file. The route file will complete the
active command and then stop.
• When it is desired to continue the route file, select the routes screen and use the softkeys, HORIZONTAL and
VERTICAL, to get the active file and show and/or set the desired block.
PALLET CONTROL COMMANDS

Pallet Control Commands are single line instructions. These commands typically can be used via keyboard input (on
the CM90 screen) or issued in sequence from the part route file. However, not all commands can be issued via
keyboard input and vice versa.
Also described in the previous HELP Page topic was the fact that some commands do not require the whole
command name be used, only the UPPERCASE letters are required (i.e. VARIABLE).
Using the commands in proper sequence, powerful part route files can be generated. For example; a generic route
file can be created that can prompt the operator for inputs such as the program name for the part and the number of
parts to be run. Refer to the PART ROUTE FILES topic earlier in this section.

DECISION MAKING
As can be seen in the EXAMPLE3 route file, decisions can be made using some of the pallet control commands. The
IF, ELSE, and END commands are the ones used to make decisions. The GOTO command is typically used with the
IF / ELSE / END commands as an action to the result of a comparison.
The IF / ELSE commands allow for a comparison of two (2) expressions. Using this function, the user can make
decisions in the route file based on whether the IF is true or false. The IF command evaluates a
LOGICAL_EXPRESSION. If true, execution continues with the next command line until an ELSE or END command
is encountered. If false, execution continues to the next command line after the following ELSE or END command.
There are six (6) allowable comparison statements used with the IF command. They are:

Code Meaning
EQ Equal To
NE Not Equal To
GT Greater Than
LT Less Than
GE Greater Than or Equal To
LE Less Than or Equal To

PALLET CONTROL 20.10 - 21


When IF statements are true, the data following the IF is allowed to execute until the next ELSE or END command.
The data before the IF is always executed.
When the IF statement is false, the pallet control software never sees the information following the comparison. The
route file will jump to the next ELSE or END command, whichever it encounters first.
The GOTO command allows the user to unconditionally transfer route file execution to another command. This is
typically used with the IF / ELSE commands to loop route file execution for machining multiple parts of the same type.
Labels should be used in a route file at strategic places for branching. The label in the GOTO statement must be an
exact match to the label of the line that the GOTO is referencing. Also see the GOTO command description.

Example:
TOP: Define label TOP. The label is defined using the colon (:)
...
IF COUNT NE 0 If COUNT is not equal to zero (0) then route file will
GOTO TOP Go to label TOP and continue from there
ELSE If COUNT is equal to zero (0), then the route file will go to the next line
MOV S1.CAR Following the ELSE command and move the pallet to the CAR queue
END The IF / ELSE is complete. If other commands follow continue to execute them

COMMAND ARGUMENTS

As also described in the HELP Page topic, many of the commands will require arguments. Arguments are
information that is included with the commands to make the instruction complete. Depending on the command, some
arguments are optional (indicated by brackets [argument]), or may only be used if issuing the command via keyboard
input (indicated by braces {pallet_or_queue}), these arguments are not allowed in part route files. A space must
separate the command and argument(s).

Examples of arguments are:

filespec The FILESPEC argument is a string of information that describes a device name, subdirectory(ies),
and a filename.

Example:
C:\OEM\ROUTES\RT1
C: The hard drive
\OEM\ The name of a folder (subdirectory) located on the hard drive C:
RT1 The name of a file
Note: If a folder is included in a FILESPEC, it must already exist on the device.

pallet The pallet argument is a string of information that describes a pallet.

Example:
PLT1 (pallet named; PLT1)

queue The queue argument is a string of information that describes a queue.


Examples:
S12 (shuttle 2 or queue three)
S1.MACH (machine table)

pallet_or_queue The pallet_or_queue argument is a string of information that describes a pallet or a queue.

Examples:
SH2 (shuttle 2 or queue three)
P1 (pallet named; PLT1)

20.10 - 22 PALLET CONTROL


COMMANDS

The following is a list of all the commands and arguments associated with the pallet control system and examples of
how they are used. Some commands may only apply to machines that are part of a cell, or have a Pallet Pool. Not
all commands are available or practical to use on all machines.

As stated in earlier topics, come commands can be entered via keyboard input (refer to the PALLET REFERENCING
topic, described earlier, for an example).

Also remember that optional arguments are indicated by brackets [argument]), and arguments indicated by braces
{pallet_or_queue} are not allowed in part route files. A space must separate the command and argument(s).

ABORT - ABORT ACTIVE COMMAND

Required: ABO

pallet_or_queue A valid queue name or pallet name (i.e. S11, P1)

Optional: [ALL] Adding ALL to the command instructs to abort all commands for all
pallets and queues

Notes: Normally issued via keyboard input.

The ABOrt command will cancel the currently active command. If a command is in process, it will
stop at the next logical point. If a command has not started, it will abort immediately. When the
pallet control system has the command at a valid stopping point, the pallet will be held.

The route file running at the time the ABOrt command is issued will also be stopped, however it will
still be active. To recover from an aborted part route file, the CONtinue command can be used, or
the route file can be restarted with the ACtivate or CUt commands (refer to these commands for
more information). Also refer to the STOPPING / RESTARTING PART ROUTE FILES topic later in
this section.

Examples:
ABO S11 Abort the active command at the machine table
ABO P1 Abort the active command at the queue pallet P1 is located at
ABO ALL Abort the commands for all queues and pallets

ACTIVATE - ACTIVATE PART ROUTE FILE

Required: AC

filespec The [device:][\subdir\]filename for the part route file to be used


pallet_or_queue A valid queue name or pallet name (i.e. S11, P1)

Notes: Only issued via keyboard input.

The ACtivate command will assign and start the part route file specified (filespec) to the queue or
pallet specified (pallet_or_queue). The part route file will immediately be put into a HOld command
state. Execution of the route file will not begin until instructed to with the CONtinue command.

The filespec must include the name of the part route file. If a device and subdirectory is not
specified, the routes folder is used.

The pallet_or_queue argument can be used to specify a particular queue or pallet.

Examples:
AC ROUT1 S12 Activate the route file ROUT1 on the pallet at the S12 queue
AC GENROUT PL1 Activate the route file GENROUT on pallet PL1

PALLET CONTROL 20.10 - 23


ALLOW - ALLOW COMMANDS AT QUEUE

Required: AL

pallet_or_queue Pallet or queue to allow pallet transfers to or from

Notes: Normally issued via keyboard input.

The ALlow command cancels the INHibit command, enabling commands for the pallet or queue.
The ALlow command cancels the INH queue state, provided the INH state was set by the INHibit
command. If the INH state was set using an INHIBIT selector switch, the switch must be set to
ALlow to cancel the INH state.

The pallet_or_queue argument is be used to specify a particular station or queue.

Examples:
ALLOW S12 Cancel the Local state at the S12 queue, enabling all commands

CONTINUE - CONTINUE ROUTE FILE

Required: CON

pallet_or_queue Pallet or queue to allow pallet transfers to or from

Notes: Only issued via keyboard input.

The CONtinue command is used to cancel the Hold command state (the Held state indicates the
route file or a keyboard input command has halted).

The CONtinue command can also be used to cancel the Error command state (the condition that
caused the error must first be corrected).

The pallet_or_queue argument is be used to specify a particular queue or pallet.

Examples:
CON S12 Cancel the Hold state at the S12 queue, continuing the route file or command

COPY - COPY A FILE

Required: COP

source_filespec The source [device:][\subdir\]filename the active part route file will be
copied from

destination_filespec The destination [device:][\subdir\]filename the active part route file will
be copied to

Notes: Only issued via keyboard input.

The COPy command will copy the specified source file to the destination specified by
destination_filespec.

Examples:
COPY ROUTL C:\OEM\ROUTES\ROUTR Copy the route file ROUTL from the default directory to the ROUTES
directory in the OEM directory on the C drive

20.10 - 24 PALLET CONTROL


CUT - EXECUTE PART ROUTE FILE

Required: CU

filespec The [device:][\subdir\]filename for the part route file to be used

pallet_or_queue Pallet or queue to allow pallet transfers to or from

Notes: Only issued via keyboard input.

The CUt command will assign and execute the part route file specified (filespec) to the queue or
pallet specified (pallet_or_queue). Execution of the route file will start immediately with the first line
of the route file.

The filespec must include the name of the part route file, and may include a device and
subdirectory path.

The pallet_or_queue argument is be used to specify a particular queue or pallet.

When the CUt command is issued, the pallet control system saves off a copy of the commanded
route file, and executes this copied version. It is important to know that if you need to edit the route
file after CUtting it, you must use the routes display to do the edit, in order to actually change the
executing file. You can then also restart the route file from this screen.

Examples:
CU ROUT1 S1H2 Activate and execute the route file ROUT1 stored in PPS memory on the pallet at the
S1.2 queue
CU GENROUT PL1 Activate the route file GENROUT on pallet PL1

DELAY - DELAY ROUTE FILE EXECUTION

Required: DELA

number The number of seconds to delay the route file execution

{pallet_or_queue} A valid pallet or queue name. This is only required if commanded via
keyboard input, not allowed in a part route file.

Notes: Normally issued via part route file.

The command may be issued in the keyboard input.

The DELAy command forces the route file execution to pause, or wait, for the amount of time (in
seconds) entered as the number argument.

The optional pallet_or_queue argument can be used to identify the pallet or queue to apply the
delay to. This CANNOT be used to in a route file.

Examples:
N100 DELAY 60 Pause the route file at sequence block 100 for 60 seconds and then continue execution

PALLET CONTROL 20.10 - 25


DELETE - DELETE PALLET NAME FROM SYSTEM

Required: DELE

item The name of the item to be removed the system

Notes: Only issued via keyboard input

Items are:

LOG remove all event data

pallet_name remove an unwanted pallet name

global_variable_name remove a global variable

filespec remove a file

LANGUAGE_FILES removes the language configuration files

The DELEte command will remove the item from the system.

The operator will be asked if he "really wants to remove the item".

If the language configuration files are deleted (DELETE LANGUAGE_FILES), the latest version of
the English language files are restored.

Examples:
DELE PAL1 Delete the pallet name PAL1 from the system (removes the name from the list)

DOWN - PUT QUEUE IN DOWN STATE

Required: DO

pallet_or_queue Pallet or queue to allow pallet transfers to or from

Notes: Only issued via keyboard input.

The DOwn command will disable a queue, preventing any pallet motion to occur at that queue.

The pallet_or_queue argument is be used to specify a particular queue or pallet.

The DOwn command is canceled by issuing the UP command.

Examples:
DOWN S12 Put the S1.2 queue in a DOWN state

EDIT - EDIT A FILE

Required: ED

filespec The '[device:][\subdir\]filename' for the file to be used

Optional: [pallet_or_queue] A valid pallet or queue name

Notes: The EDit command can only be issued from the keyboard input.

If the optional pallet_or_queue argument can be used to specify the active route file on that pallet
or queue to be edited.

20.10 - 26 PALLET CONTROL


ELSE - PART OF IF / ELSE / END FUNCTION

Required: EL

Notes: Only issued via part route file.

See the DECISION MAKING later in this section.

END - PART OF IF / ELSE / END FUNCTION

Required: EN

Notes: Only issued via part route file.

See the DECISION MAKING later in this section.

EXECUTE - EXECUTE FILE

Required: EX

filespec The '[device:][\subdir\]filename' for the route file to be run thru the
command decoder

Notes: Only issued via keyboard input.

The EXecute command provides a means of entering pallet control commands from a file. Each
line of the file is entered as a command as if it were entered via the keyboard input.

A file specification must be entered.

Examples:
EX ROUTE1 Run the file ROUTE1

GOTO - GO TO LABEL

Required: GOTO

label The line identified with the label of the route file that will be the next
block to execute

Notes: Only issued via part route file.

The GOTO command allows the unconditional transfer of the part route file execution to another
command (label).

The GOTO command is typically used with the IF / ELSE / END commands to redirect or loop the
part route file execution for added flexibility.

The label argument must match the label: in the part route file. The label is defined using the colon
(:).

See the DECISION MAKING earlier in this section.

Examples:
GOTO LOOP Redirect the route file to block identified by LOOP:

PALLET CONTROL 20.10 - 27


HELP - GET HELP FOR COMMAND

Required: HE

command A valid pallet control command.

Notes: Only issued via keyboard input.

The HElp command allows the operator to display a message defining the command entered.

Examples:
HE MOVE A message box is displayed describing the MOVE command

HOLD - HOLD ROUTE FILE

Required: HO

pallet_or_queue Pallet or queue to stop route file execution on

Notes: Only issued via keyboard input.

The HOld command allows the operator to halt route file execution. Execution stops when the
active command is completed.

Execution of the route file will not begin until instructed to with the CONtinue command.

The pallet_or_queue argument is be used to specify the particular queue or pallet.

Examples:
HOLD S12 HOLD the route file executing at the S12 queue when the current command is completed

IF - PART OF IF / ELSE / END FUNCTION

Required: IF

logical_comparision The items for comparison

Notes: Only issued via part route file.

See the DECISION MAKING later in this section.

INHIBIT - INHIBIT COMMANDS AT QUEUE

Required: INH

pallet_or_queue Pallet or queue to inhibit

Notes: Only issued via keyboard input.

The INHibit command inhibits the queue from accepting commands from the pallet control system
via the part route file or keyboard input. When the INHibit command is issued, the queue state will
change to INH.

When a queue has been inhibited via the INHibit command, motion or actions of the queue are
inhibited.

The pallet_or_queue argument is be used to specify a particular queue or pallet.

The INHibit command is canceled by issuing the ALlow command.

Examples:
INH S12 Inhibit part route file commands at the S12 queue
INH PL1 Inhibit part route file commands at the queue pallet PL1 is located at

20.10 - 28 PALLET CONTROL


INPUT - INPUT DATA COMMAND-ROUTE FILE
INPUT - INPUT DATA COMMAND-KEYBOARD INPUT

Required: INP

var_id A variable name defined previously with the VAR command (see
VARiable command). Only required if commanded via part route file,
not allowed via keyboard input.

{pallet_or_queue} Pallet or queue to receive the variable input. Only required if


commanded via keyboard input, not allowed in a part route file.

{expression} Value to be assigned to the variable. Only required if commanded via


keyboard input, not allowed in a part route file.

Optional: [21_character_message] A string of text that can be used to indicate what input is needed. Only
available if commanded via part route file, not allowed via keyboard
input.

Notes: The INPut command is used in two (2) forms; one as a route file command and also as a keyboard
input command.

Using variables and the INPut command, very versatile and flexible route files can be written.
These files can be generic in nature, with the operator entering things such as which program to
run and how many parts are to be made.

When the INPut command is encountered in the route file, the file will halt and wait for operator to
input data. The required data is then entered from the keyboard.

1) When issued via a part route file:

The "var_id" identifies a variable to receive a value (either numeric or text).

The "21_character_message" can be used to give the operator a clue as to what is required as an
input back.

2) When issued via a keyboard input:

The "pallet_or_queue" identifies who is to get the input data. This is done by giving a pallet name
or a queue name.

The "expression" is the value to pass to the variable.

Examples: (Part Route File Data)


N10 VAR PROG ASCII In the route file, running on S1.3, define the ASCII text variable;
PROG
N30 IN PROG "ENTER PROGRAM NAME" In the route file, running on S1.3, prompt for input for PROG
variable

The operator types:


INPUT S1.3 "A123"

PALLET CONTROL 20.10 - 29


LIGHTS - SET QUEUE LIGHTS

Required: LI

{pallet_or_queue} A valid queue name or pallet name. This is only required if commanded
via keyboard input. This is not allowed in a part route file.

Optional: [number] A value to set a specific light to a specific state. The valid numbers are
listed below.

[21_character_message] A string of text that can be used to indicate what the light sequence
indicates.

Notes: Issued via a part route file. Can also be issued via keyboard input.

The LIghts command is used to control the status lights of a queue, if the machine is equipped
them. There may be four (4) types of lights; COMPLETE, READY, SCRAP and EXTRA QUEUE.
The COMPLETE, SCRAP, and EXTRA QUEUE are optional.

There are three (3) states a light can be in; OFF, ON or FLASHING.

The number argument is used to indicate what light and what state is to be set, as follows:

0 ALL lights at queue - OFF

1 READY light at queue - ON

2 READY light at queue - FLASHING

4 COMPLETE light at queue - ON

8 COMPLETE light at queue - FLASHING

16 SCRAP light at queue - ON

32 SCRAP light at queue - FLASHING

64 1st EXTRA QUEUE light at queue - ON

128 1st EXTRA QUEUE light at queue - FLASHING

256 2nd EXTRA QUEUE light at queue - ON

512 2nd EXTRA QUEUE light at queue - FLASHING

Any combination of light functions can be done by adding values.

When the LIghts command is issued, the command state of the route file will go into INPR. The
queue must then be made ready by pressing the PART READY pushbutton or issuing the REAdy
command from the CM90 screen.

Examples:
N200 LIGHT 10 INSPECT 5" BORE From the route file, use LIGHT command to make COMPLETE and READY lights
both flash (8+2) to indicate a operation must be done at the queue.
Typically done after a move command to the queue where the inspection is
to take place.

20.10 - 30 PALLET CONTROL


LOAD - LOAD OPERATION ON PALLET

Required: LO

{pallet_or_queue} A valid queue name or pallet name. Only required if commanded via
keyboard input, not allowed in a part route file.

Optional: [number] A value to set a specific light to a specific state. The valid numbers are
listed below.

[21_character_message] A string of text that can be used to indicate what the light sequence
indicates.

Notes: Issued via a part route file. Could be issued via keyboard input.

When the LOad command is encountered in the route file, the file will halt and wait for the operator
to load a new part onto the pallet. The operator must confirm a new part has been loaded by
pressing the PART READY pushbutton, or issuing the REAdy command. If the queues are
equipped with status lights, the green COMPLETE light will flash when the LOad command is
issued. After a part is loaded onto the pallet, press the PART READY pushbutton and the amber
READY light will then go solid.

The LOad command must be completed, or satisfied, by making the pallet ready. The command
state will be INPR until the pallet is made ready.

The optional pallet_or_queue argument can be used to specify a particular queue or pallet.

The number argument is used to indicate what light and what state is to be set, as follows:

0 ALL lights at queue - OFF

1 READY light at queue - ON

2 READY light at queue - FLASHING

4 COMPLETE light at queue - ON

8 COMPLETE light at queue - FLASHING

16 SCRAP light at queue - ON

32 SCRAP light at queue - FLASHING

64 1st EXTRA QUEUE light at queue - ON

128 1st EXTRA QUEUE light at queue - FLASHING

256 2nd EXTRA QUEUE light at queue - ON

512 2nd EXTRA QUEUE light at queue - FLASHING

Any combination of light functions can be done by adding values.

The optional number argument is not commanded, the COMPLETE light will flash.

Examples:
N50 LOAD 2 "NEW PART ON PALLET" From the route file, require a new part to be loaded onto the pallet
(the display will show the message; NEW PART ON PALLET on the
graphical queue). The COMPLETE lighted pushbutton will also blink.
N50 LOAD Pallet the route file is assigned to is waiting for a part (only the
LOAD command is displayed). The COMPLETE lighted pushbutton will
also blink

PALLET CONTROL 20.10 - 31


MANUAL - MANUAL OPERATION ON PALLET

Required: MA

{pallet_or_queue} A valid queue name or pallet name. Only required if commanded via
keyboard input, not allowed in a part route file.

Optional: [number] A value to set a specific light to a specific state. The valid numbers are
listed below.

[21_character_message] A string of text that can be used to indicate what the light sequence
indicates.

Notes: Issued via a part route file. Could be issued via keyboard input.

When the MAnual command is encountered in the route file, the file will halt and wait for the
operator to load a new part onto the pallet. The operator must confirm a new part has been loaded
by pressing the PART READY pushbutton, or issuing the REAdy command. If the queues are
equipped with status lights, the green COMPLETE light will flash when the MAnual command is
issued. After a part is loaded onto the pallet, press the PART READY pushbutton and the amber
READY light will then go solid.

The MAnual command must be completed, or satisfied, by making the pallet ready. The command
state will be INPR until the pallet is made ready.

The optional pallet_or_queue argument can be used to specify a particular queue or pallet.

The number argument is used to indicate what light and what state is to be set, as follows:

0 ALL lights at queue - OFF

1 READY light at queue - ON

2 READY light at queue - FLASHING

4 COMPLETE light at queue - ON

8 COMPLETE light at queue - FLASHING

16 SCRAP light at queue - ON

32 SCRAP light at queue - FLASHING

64 1st EXTRA QUEUE light at queue - ON

128 1st EXTRA QUEUE light at queue - FLASHING

256 2nd EXTRA QUEUE light at queue - ON

512 2nd EXTRA QUEUE light at queue - FLASHING

Any combination of light functions can be done by adding values.

The optional number argument is not commanded, the COMPLETE light will flash.

Examples:
N100 MAN 2 "ROTATE PART ON PALLET" From the route file, require the part to be rotated on the pallet
(the display will show the message; ROTATE PART ON PALLET in the
graphical queue). The PART READY lighted pushbutton will also blink.
N100 MAN From the route file, indicate the pallet requires a manual operation
(only the MAN command is displayed). The COMPLETE lighted pushbutton
will also blink.

20.10 - 32 PALLET CONTROL


MOVE - MOVE PALLET

Required: MO

destination_id The destination of the commanded pallet which is a valid queue name
(i.e. TBL , S1.CAR)

{pallet_or_queue} A valid queue name or pallet name. This is only required if commanded
via keyboard input, not allowed in a part route file.

Notes: Issued via part route file or keyboard input.

When issued via the route file, the optional pallet_or_queue is not allowed.

The pallet_or_queue argument MUST be used to specify a particular queue or pallet when using
keyboard input.

Examples:
MOV S12 TBL Move the pallet located at the S12 queue to the TBL queue

NOPALLET - NO PALLET AT QUEUE

Required: NOPAL

queue A valid queue name

Optional: [all] indicates to set all queues with no pallet present

Notes: Only issued via keyboard input.


Issued from the Queue, or Pallet Display.

The NOPALlet command is used to indicate to the pallet control system that a queue is empty
(there is no pallet at the queue).

The NOPALlet command is typically used as part of the pallet referencing procedure (see the
PALLET REFERENCING subsection). When the machine has had a software reload, been
initialized, or if a fault occurs during a pallet transfer, pallet referencing will typically be required.
Pallet reference required is indicated by the queue state of ??PAL.

The ALL argument is optional and will indicate that all queues of the station are empty. This would
typically only be used if there are many queues with no pallets.
Examples:
NOPAL TBL Reference the TBL queue as empty (no pallet)

PALLET CONTROL 20.10 - 33


PALLET - NAME PALLET AT QUEUE

Required: PA

pallet_name A unique name (label) to identify a pallet. The name can be seven
alpha-numeric characters. However, the first character must be a letter.

queue_name A valid queue name

Notes: Only issued via keyboard input.

Issued from the Queue, or Pallet display.

The PALlet command is used to indicate to the pallet control system which pallet is at which queue.

The PALlet command is typically used as part of the pallet referencing procedure (see the PALLET
REFERENCING subsection). When the machine has had a software reload, been initialized, or if a
fault occurs during a pallet transfer, pallet referencing will typically be required. Pallet reference
required is indicated by the Queue state of ??PAL.

Examples:
PAL PL1 S11 Reference the pallet at queue S11 as PL1

POSITION - POSITION WORK CHANGER

Required: PO

{queue_or_station_1} A valid CAR queue name or station name. This is only required if
commanded via keyboard input, not allowed in a part route file.

queue_or_station_2 A valid CAR queue name or station name.

Notes: Issued via keyboard input or part route file.

Used only on machines that has a work changer that moves between queues.

The POSition command is used to position the queue_or_station_1 queue to a specific


queue_or_station_2 queue. No pallet movement occurs with this command.

The POSition command is typically used to get the car in position to perform a pallet change that
will ultimately occur.

Examples:
POS S90.1 S1.6 Position the car (S90.1) to queue 6 of station 1 (S1.6)

20.10 - 34 PALLET CONTROL


PREPARE - PART PROGRAM

Required PREP

Part_program The name of the prepare part program

cnc_var1, cnc_var2 The CNC variables to update before running program

expression1, expression2 The value to be stored in the variable

Comma (,) Used to separate multiple variable entries

[pallet_name] The name of the pallet (pallet_name is not allowed if the PREPare
command is in a part route file, MDI only)

Notes: The PREPare command is used to specify a preparation part program to be run just prior to the
pallet moving to the machine. It also allows values to be passed directly to CNC R parameters.

This feature must be turned on in the RULES.INI file before the PREPare command can be used.
The PREPare command will error if not turned on.

The preparation part program can also be initiated automatically through the RULES.INI file. See
the CM90 preparation part program description earlier in this section and the examples below.

The PREPare command always overrides RULES.INI. Once it is programmed, the programmed
information is modal for all moves of that pallet to the machine queue independent of the source of
the MOve command. The special command PREPARE CANCEL cancels the programmed
information and the pallet will revert back to the information provided in RULES.INI. Restarting the
CM90 or processing RULES.INI again removes all the data from PREPare commands.
The special keyword RULES indicates to use the prepare part program specified in RULES.INI.
This is used to override parameter values without having to remember the name of the prepare part
program.

A combined total of 7 variable updates can be specified for each pallet.

There can be only 1 expression for a variable. If RULES.INI or the PREPare command programs
the same variable a second time, the new expression is stored in place of the old one. If the
PREPare command programs the same variable as one in RULES.INI, the PREPARE expression
is used. The variable is updated in the order dictated in RULES.INI but with the expression from
PREPARE.

To start over with a new part program and list of variables, reset the pallet to the prepare
information by programming PREPARE CANCEL and then the desired data either from a part route
file or via MDI.

When the preparation part program runs, there is no pallet on the machine queue, PALNAME = ""
and PALNUM = 0.

The CM90 keywords "PAL" and "PALNUM" contain the pallet name and number if the pallet is
being commanded from a part route file. They can be passed from the part route file to the prepare
part program.

The expressions are always executed in the same order they are entered.

Execution order of expressions:

• Expressions from RULES.INI in the order entered in the file. If PREPARE specified a different
expression for the same variable, then the PREPARE expression is used.

• Expressions from PREPare command in the order programmed.

PALLET CONTROL 20.10 - 35


EXAMPLE 1: SET ZERO TO TOP OF PALLETS WITH DIFFERENT HEIGHTS

A cell has pallets P1, P2, and P3 of different heights. It is desired to have Y zero always be the top
of the pallet.

Method 1 SET VARIABLES IN RULES.INI

The part program SET_Y_0 sets the Y zero based on the pallet number stored in R101. The pallet
number is assumed in R101 when the program starts.

RULES.INI EXAMPLE
;PROG_MOVE_MACH;
P1 SET_Y_0
;SET_MOVE_MACH;
P1 R101 = PALNUM
;PROG_MOVE_MACH;
P2 SET_Y_0
;SET_MOVE_MACH;
P2 R101 = PALNUM
;PROG_MOVE_MACH;
P3 SET_Y_0
;SET_MOVE_MACH;
P3 R101 = PALNUM
;END_OF_DATA; End of RULES.INI file

Method 2 RUN A SEPARATE PREPARE PROGRAM WITH A PREFIX FOR EACH PALLET

There is a prepare part program per pallet for setting Y zero. SET_Y0_P1 is for P1, SET_Y0_P2 is
for P2, and SET_Y0_P3 is for P3.
RULES.INI
;PREFIX_MOVE_MACH;
SET_Y0_

Method 3 SET ZERO IN PART PROGRAM BASED ON PALLET VARIABLES

Each part program first checks the Variable or PALNUM and adjusts Y zero for the particular pallet.

EXAMPLE 2: SHOW VARIABLE UPDATE ORDER RULES

RULES.INI EXAMPLE
;PROG_MOVE_MACH;
P1 PREP_P1
;SET_MOVE_MACH;
P1 R101 = 55
;SET_MOVE_MACH;
P1 R102 = R101 * 2
;SET_MOVE_MACH;
P1 R103 = R102 – 100
;END_OF_DATA; End of RULES.INI file

Before pallet P1 is moved to the machine queue, the following CM90 commands are executed in
this order:
SET R101 = 55
SET R102 = R101 * 2
SET R103 = R102 - 100
RUN PREP_P1 TBL

20.10 - 36 PALLET CONTROL


The following PREPare command is programmed:
PREPARE PREP_P1 R101 = 11, R104 = R103 - 10

Before pallet P1 is moved to the machine queue, the following CM90 commands are executed in
this order:
SET R101 = 11
SET R102 = R101 * 2
SET R103 = R102 - 100
SET R104 = R103 - 10
RUN PREP_P1 TBL

PRIORITY - SET COMMAND PRIORITY

Required: PR

number The priority value to assign to a pallet.

{pallet_or_queue} A valid queue name or pallet name. This is only required if commanded
via keyboard input, not allowed in a part route file.

Notes: Issued via keyboard input or part route file.

The PRiority command is used to set the rank, or importance, of the commands running on a pallet.

The value of the number argument determines the importance of the commands. The value can
range from a value of 0 to 32,767. The 0 value is the lowest priority and 32,767 is the highest
priority. The commands at pallets having equal priorities will execute on a first-come, first-served
basis.

When a priority is assigned to a pallet, all commands on that pallet will have that priority.

When issued via the route file, the optional pallet_or_queue is not allowed.

Examples:
PR 1 S12 Set the priority of the commands for the pallet located at queue S12 to a value of 1

READY - SET PALLET TO READY

Required: REA

pallet_or_queue A valid queue name or pallet name

Notes: Only issued via keyboard input.

The REAdy command is used to indicate to the pallet control system that a pallet located at a
queue is ready for the next operation.

When a REAdy command is issued, the PART READY light at the selected queue will turn ON.
Using the REAdy command is the same as pressing the PART READY pushbutton.

The REAdy command is used to complete, or satisfy the LOad, UNlaod, MAnual, SCrap and LIghts
commands.

Examples:
READY S12 Set the pallet located at queue S12 to a ready state

PALLET CONTROL 20.10 - 37


REMOTE - REMOTE COMMAND

Required: REM

station_name A valid station name

command_line A valid pallet command

Notes: Used only on machine cell configurations that have two or more machines controlled by a single
pallet control system.

Only issued via keyboard input.

The REMote command allows the user to issue pallet control commands from the CNC control of
one machine to operate another.

The command_line argument can be any valid pallet command applicable to your machine(s).

Examples:
REM S2 "MOVE PL1 S2.3" From another station in the cell (i.e. S1), move pallet PL1 to station 2, queue 3

RUN - RUN PART PROGRAM ON PALLET

Required: RU

program The part program to run

{pallet_or_queue} A valid queue name or pallet name. This is only required if commanded
via keyboard input, not allowed in a part route file.

Optional: [options] Optional setting(s)

Notes: Issued via a part route file. Could be issued via keyboard input.

The options available are:

PROG - indicates a part program

DRIP - indicates to run the program from hard drive

PREPARE - indicates program starts before the pallet gets to the machine queue

LAST - indicates last program to run on pallet

The RUn command will select and cycle start the program. The command will complete when an
M02 or M30 is encountered. The cycle time of the part program will also be saved in a pallet
control database. The part program cycle time can be viewed with the Times display.

When the RUn command is encountered in the route file, the part program specified will be called
into the active buffer and cycle started.

The control must be in PROD ON for the RUn command to function.

The optional pallet_or_queue argument is typically only used to specify a particular queue or pallet
on another station (machine) controlled by the pallet control system.

Examples:
N150 RUN PART1 Activate and cycle the part program PART1

20.10 - 38 PALLET CONTROL


SCRAP - SCRAP PART AT QUEUE

Required: SC

{pallet_or_queue} A valid queue name or pallet name. This is only required if commanded
via keyboard input, not allowed in a part route file.

Optional: [number] A value to set a specific light to a specific state. The valid numbers are
listed below.

[21_character_message] A string of text that can be used to indicate what the light sequence
indicates.

Notes: Issued via a part route file. Can also be issued via keyboard input.

The SCrap command is used to control the status lights of a queue, if the machine is equipped
them. There may be four (4) types of lights; COMPLETE, READY, SCRAP and EXTRA QUEUE.
The COMPLETE, SCRAP, and EXTRA QUEUE are optional.

There are three (3) states a light can be in; OFF, ON or FLASHING.

The number argument is used to indicate what light and what state is to be set, as follows:

0 ALL lights at queue - OFF

1 READY light at queue - ON

2 READY light at queue - FLASHING

4 COMPLETE light at queue - ON

8 COMPLETE light at queue - FLASHING

16 SCRAP light at queue - ON

32 SCRAP light at queue - FLASHING

64 1st EXTRA QUEUE light at queue - ON

128 1st EXTRA QUEUE light at queue - FLASHING

256 2nd EXTRA QUEUE light at queue - ON

512 2nd EXTRA QUEUE light at queue - FLASHING

Any combination of light functions can be done by adding values.

The optional number argument is not commanded, the COMPLETE light is ON and the optional
SCRAP light will be ON.

When the SCrap command is issued, the command state of the route file will go into INPR. The
queue must then be made ready by pressing the PART READY pushbutton or issuing the REAdy
command from the CM90 screen.

Examples:
N250 SCRAP 6 "PART FAILED INSPECT" From the route file, indicate that the part on the pallet failed
an inspection operation COMPLETE light is ON, READY light is
flashing and message; PART FAILED INPEC.

PALLET CONTROL 20.10 - 39


SET - STORE DATA IN VARIABLE

Required: SE

var_id The name of the variable to receive the data

variable_expression The value to be stored in the variable

Notes: Issued via a part route file. Could be issued via keyboard input.

When the SEt command is issued, the data specified by the variable_expression argument will be
stored in the variable specified by the var_id argument. The variable must have been previously
defined with the VARiable command. The type of data stored must coincide with the type of
variable defined. For example, Fanuc macro variable values can only store numeric variables,
while the CM90 local variables can be defined as ASCII or numeric values.

The var_id argument can be a pallet control variable or a CNC global macro variable (R101-R999).
NOTE: R is used to designate the CNC macro variable number where R101 specifies #101, etc.
The number of available CNC macro variable is dependent on control options.

The variable_expression argument for numeric variables may be a single number, a variable, or a
complex mathematical expression involving numbers and/or variables.

The variable_expression argument for ASCII variables can be any text characters. Note that ASCII
text is indicated by double quote marks enclosing the text ("text"). Also, the operations for ASCII
variables are limited to adding and subtracting characters from the string.

Examples:
N10 SET NUM=1 Store value 1 into CM90 local variable NUM
N20 SET NUM=NUM+1 Add 1 to value already CM90 local variable NUM
N30 SET R101=NUM Store value of NUM into Fanuc macro variable #101
N40 SET NAME="HUB" Store text into CM90 local variable NAME

TIME - PROGRAM TIME

Required: T

program_name A valid part program name

Notes: Only issued via keyboard input.

The Time command allows the operator to display the run time of a part program.

The program_name argument is used to specify which part program to display the cycle time.

Examples:
TIME PART1 Display the cycle time of part program PART1

20.10 - 40 PALLET CONTROL


UNLOAD - UNLOAD OPERATION ON PALLET

Required: UN

[number] A value to set a specific light to a specific state. The valid numbers are
listed below.

{pallet_or_queue} A valid queue name or pallet name. This is only required if commanded
via keyboard input, not allowed in a part route file.

Optional: [21_character_message] A string of text that can be used to indicate what the light sequence
indicates.

Notes: Issued via a part route file. Could be issued via keyboard input.

When the UNload command is encountered in the route file, the file will halt and wait for the
operator to unload a part from the pallet. The operator must confirm the part has been removed by
pressing the PART READY pushbutton, or issuing the REAdy command. The next block of the
route file will execute. The UNload command must be completed, or satisfied, by making the pallet
ready. The command state will be INPR until the pallet is made ready.

The LOad command must be completed, or satisfied, by making the pallet ready. The command
state will be INPR until the pallet is made ready.

The optional pallet_or_queue argument can be used to specify a particular queue or pallet.

The number argument is used to indicate what light and what state is to be set, as follows:

0 ALL lights at queue - OFF

1 READY light at queue - ON

2 READY light at queue - FLASHING

4 COMPLETE light at queue - ON

8 COMPLETE light at queue - FLASHING

16 SCRAP light at queue - ON

32 SCRAP light at queue - FLASHING

64 1st EXTRA QUEUE light at queue - ON

128 1st EXTRA QUEUE light at queue - FLASHING

256 2nd EXTRA QUEUE light at queue - ON

512 2nd EXTRA QUEUE light at queue - FLASHING

Any combination of light functions can be done by adding values.

The optional number argument is not commanded, the COMPLETE light be ON.

Examples:
N50 UNLOAD 2 NEW PART ON PALLET from the route file, require a new part to be loaded onto the pallet
(the display will show the message; NEW PART ON PALLET, on the graphical queue if the
queue is selected). The COMPLETE lighted pushbutton will also be on steady.
N50 UNLOAD Pallet the route file is assigned to is waiting for a part to be removed (only the UNLOAD
command is displayed). The COMPLETE lighted pushbutton will also be on steady.

PALLET CONTROL 20.10 - 41


UP - CANCEL DOWN STATE AT QUEUE

Required: UP

pallet_or_queue A valid queue name or pallet name

Notes: Only issued via keyboard input.

The UP command will cancel the down state of a queue. When the UP command is issued, the
state will change to auto if the queue is in a valid state and available for use by the pallet control
system. If the state does not return to auto, then the queue will required attention (it may be
necessary to allow the queue).

Examples:
UP S12 Cancel the Down state at the S12 queue

VARIABLE - DEFINE VARIABLE

Required: VAR

var_id The name of the variable

Optional: [global] Defines the variable as a global variable

[local] Defines the variable as a local variable

[number] Defines the variable as numeric variable

[ascii] Defines the variable as ASCII variable


Notes: Issued via a part route file. Could be issued via keyboard input.

The variable name can be seventeen (17) alpha-numeric characters; however, the first character
must be a letter.

When the VARiable command is issued, the variable name will be added to the variables display
page.

The [GLOBAL] optional argument is used to make the variable available to all route files that are
running. The [LOCAL] optional argument is used to make the variable available only to the route
files that it is programmed in. The [NUMBER] optional argument is used to allow only numeric data
be input to the variable. The [ASCII] optional argument is used to allow only text data be input to
the variable. If none of the optional arguments are used, the variable will default to a local numeric
variable. That is, it can contain only a numeric value and will be available only to the route file
currently active.

Examples:
VAR COUNT Define a local numeric type variable with the name of COUNT
VAR COUNT2 Define a local numeric type variable with the name of COUNT2
VAR COUNT GLOBAL Define a global numeric type variable with the name of COUNT

20.10 - 42 PALLET CONTROL


GLOSSARY OF TERMS

The following is a list of terms and definitions pertaining to the pallet control system. Many of the terms are
associated with programming codes used in operating the pallet control system.

ARGUMENT Information that is passed with a command. For example; an argument could be a pallet name
or a queue name, depending on the command.

ASCII TEXT Alpha-numeric characters.

AUTO State of a queue when available for automatic operation by the pallet control system.

PROD ON / OFF 1. Lighted keys located on the control console.

2. Automatic mode of operation for the pallet control system

CAR The mechanism that is used to transfer (retrieve or deposit) pallets between queues. Same as
TRANSPORTER.

COMMAND An instruction to the pallet control system, which results in a specific function being performed.

DESTINATION A queue that a pallet will be moved to.

GLOBAL CAR The mechanism that is used to transfer (retrieve or deposit) pallets between queues, and may
have the capability of holding two (2) pallets. This allows the car to pre-fetch a pallet and then
swap the pallets (retrieve one and then deposit the pre-fetched one). Similar to a CAR or
TRANSPORTER.

LOCAL State of a queue when it has been inhibited. This means the queue is not available for
automatic operation by the pallet control system.

MHS MHS stands for Material Handling System. The MHS is a mechanism that will transfer pallets
between the machine table and pallet stands.

It can be a rail guided vehicle (RGV) that services one or more machines. Also, a rotary
carrousel that services a single machine, or the pallet stands located at a machine may be
referred to as an MHS (if they can perform pallet transfers).

PALLET The transportable base that parts and/or fixtures are mounted to.

PALLET CYCLE A sequence of operations that perform a pallet transfer (move a pallet from one queue to
another).

PALLET NAME A label consisting of up to 7 alpha-numeric characters (first character must be alpha) that
identifies a pallet.

PREFETCH The task of a GLOBAL CAR, which allows the car to get a pallet that is routed to a queue,
ahead of time, and hold it until a swap can be made (retrieve one, then deposit the prefetched
one).

QUEUE A place where a pallet can be located or transferred to. For example; the machine table or a
pallet stand.

PALLET CONTROL 20.10 - 43


ENABLE / DISABLE FOR WORKING

A lighted pushbutton located on each load / unload stand.

State of a pallet when it is available for automatic operation by the pallet control system. This
typically means that the part(s) on the pallet are ready for machining.

ROUTE FILE An ASCII text file that the pallet control system uses to automatically perform various functions
relative to pallet movement and unmanned machine operation.

RUNLIST Display for creating / activating a simple route file and showing the current activity of pallets
and part programs.

SHUTTLE The queue that can move a pallet between pallet stands and the machine table.

To move a pallet between queues. Same as TRANSFER.

SOURCE A queue where a pallet will be moved from.

STAND A queue where pallets are located, typically for load / unloading parts or (depending on the
number of stands) to park a pallet.

STATION A group of queues, typically two (2) or more. A single machine with two pallet stands can be a
station. A group of park stands that are used by several machines can be a different station.
Very seldom would a single queue be assigned as an individual station.

TRANSFER To move a pallet between queues. Same as SHUTTLE (#2 description).

TRANSPORTER The mechanism that is used to transfer pallets between queues.

VARIABLE A storage area in memory for numbers (numeric value) or letters (ASCII text). Variables are
used in route files to make them more versatile.

20.10 - 44 PALLET CONTROL


SECTION 21.10
CONTROL PANEL LAYOUT
TABLE OF CONTENTS

TITLE PAGE
PANEL LAYOUT ............................................................................................................................................................ 1

DISPLAY SCREEN ........................................................................................................................................................ 2

THE CURSOR ..................................................................................................................................................... 2

LCD SOFTKEYS ................................................................................................................................................. 2

CENTER PANEL............................................................................................................................................................ 3

RESET KEY ........................................................................................................................................................ 3

SHIFT KEY .......................................................................................................................................................... 3

EOB KEY............................................................................................................................................................. 3

ABC/ABC KEY .................................................................................................................................................... 3


ALTER KEY......................................................................................................................................................... 4

INSERT KEY ....................................................................................................................................................... 4

DELETE KEY ...................................................................................................................................................... 4

CAN KEY............................................................................................................................................................. 4

INPUT KEY ......................................................................................................................................................... 4

HELP KEY ........................................................................................................................................................... 4

POS KEY............................................................................................................................................................. 4

PROG KEY.......................................................................................................................................................... 4

OFFSET / SETTING KEY.................................................................................................................................... 4

MESSAGE KEY .................................................................................................................................................. 5

GRAPH KEY ....................................................................................................................................................... 5

CUSTOM 1 KEY .................................................................................................................................................. 5

CUSTOM 2 KEY .................................................................................................................................................. 5

SYSTEM KEY ..................................................................................................................................................... 5

UP PAGE & DOWN PAGE KEYS ....................................................................................................................... 5

UP, DOWN, LEFT & RIGHT ARROW KEYS....................................................................................................... 5

CTRL / AUX / ALT / TAB KEYS........................................................................................................................... 5

ALPHA KEYPAD ................................................................................................................................................. 6

NUMERIC KEYS ................................................................................................................................................. 6

REV 1 (10-2012)
PANEL LAYOUT

The following information refers to the Fanuc Control. Refer to Figure 21.10 - 1 for an example of the Control
Console. Also refer to the Fanuc Operator's Guide (operating manual) for additional information.

FIGURE 21.10 - 1
Fanuc CNC Control

The Console is basically divided into three (3) sections. Each of these is described in the following:

A. Display Screen

B. Center Panel - Alpha and Numeric Keypads & Editing / Cursor Keys

C. Lower Panel - Machine Control Panel (refer to MACHINE OPERATOR DEVICES section for more information)

There is also a mouse and a USB port. The mouse is not used in the normal operation of the machine, but can be
used for machine / control setup and/or debug. The USB port is available for transferring files when the control is
equipped with the optional Network Communication Software and Hardware.

CONTROL PANEL LAYOUT 21.10 - 1


DISPLAY SCREEN

Some of the display screens are used extensively during the normal operation of the machine. Each screen will show
various information. This allows the operator to monitor the machine position, program execution and more. Also,
the operator will be able to perform certain functions that will help in the ease of operation and help to create a usable
end product (good part).

These screens will be shown in this manual at the


time examples or explanations of the related
features are given. It may be necessary to see
other sections of this manual that pertains to a
feature concerning a particular screen.

The CNC Panel is a 15" color LCD display. This


panel is provided for displaying and editing part
programs, checking the precise position of
movable machine components, and displaying
fault messages.

Most of the keys on the CNC panel are labeled,


but the group of keys mounted on the LCD frame
has variable functions depending on the screen
being displayed. These keys are called softkeys
and their functions are displayed at the bottom
edge of the LCD.

The lower right-hand corner of the LCD is used to FIGURE 21.10 - 2


enter information into the control. This area is Display Screen
called the buffer. The buffer can have a maximum
number of 32 alphanumeric characters.

THE CURSOR

The CURSOR is a solid, bright, rectangular screen character that appears on most LCD display pages. On the LCD
pages that you will use, the cursor is usually located in the keyboard buffer. The Keyboard Buffer is a single-line
character storage area. It spans across the bottom of the display, just above the screen labels for the softkeys.

LCD SOFTKEYS

Screen labels assign tasks to the softkeys. The LCD displays the screen labels just above the softkeys. Pressing the
softkey engages the control in the assigned task. Also, since the screen labels usually change when a different page
is displayed on the LCD, the tasks assigned to the softkeys also change. Softkeys are named by both their key
labels and their assigned screen labels.

21.10 - 2 CONTROL PANEL LAYOUT


CENTER PANEL

FIGURE 21.10 - 3
Center Panel

RESET KEY

This key is used to reset the CNC, to cancel an alarm. This pushbutton can be used to cancel (before
completion) all active cycles, stop any spindle rotation, and decelerate all axis motion and auxiliary motion
to a controlled stop. The RESET key WILL clear modal data when pressed; however this depends on
parameter 3402, bit #6. Tool offsets will not be cleared when the RESET is pressed; again this depends
on parameter 5003, bit #6. When the control is in edit mode and the RESET is pressed the active part program will
rewind to the beginning. Refer to OPERATION PROCEDURES section for more information.
Note: Modal data will be cleared if the RESET key is pressed and will stop the spindle and all axis motion.

SHIFT KEY

The SHIFT key always works with another key and must be pressed before the other key. This allows you
to enter the secondary character on dual character keys. The SHIFT key is also used with either LEFT or
RIGHT CURSOR keys to move to the beginning or end of the line displayed in the keyboard buffer.
Note: Depending on the Sticky key setup, the SHIFT key may or may not have to be held in while
pressing the other keys. If the Sticky key is selected, the SHIFT key does not have to be held. The
Sticky key check-box is set through the Windows Control Panel \ MDI keyboard.

EOB KEY

This key is used to insert the End of Block character (;). All line of information entered into the control must
end with the EOB code.

ABC/abc KEY

This key is used to select upper and lower case when entering alphabetic characters. Searching is case
sensitive.

CONTROL PANEL LAYOUT 21.10 - 3


ALTER KEY

This key is used to change a word address when in word edit or MDI mode. Before this key is pressed the
word address must be highlighted and the new word address must be entered into the buffer on the LCD.

INSERT KEY

This key is used to add a word address when in word edit or MDI mode. Before this key is pressed the
cursor must be positioned immediately before the point where the insertion is desired and the word
address must be key-in the buffer on the LCD, finally the INSERT key can be pressed. The INSERT key is
also used to enter a new part program into memory.

DELETE KEY

This key is used to delete a word address when in word edit or MDI mode. Before this key is pressed the
word address must be highlighted. This is also used to delete part programs from memory. To clear or
delete the entire contents of the keyboard buffer, with the cursor located anywhere in the line, press the
SHIFT key, and then press the DELETE key.

CAN KEY

The CAN key works with the cursor to eliminate characters from the keyboard buffer. With the CAN key,
you can do the following:

• Delete a single character - Place the cursor just to the right of the character you wish to delete and
quickly press the CAN key.

• Delete a series of characters - Place the cursor just to the right of the last character in the series of characters
you wish to delete, press the CAN key for every characters until all are deleted.

INPUT KEY

This key is used to input data from the key input buffer. If an INPUT softkey is showing on the
LCD, its function is identical to this.

HELP KEY

This key displays the help window on the LCD. This provides detailed information about Alarm Messages,
Softkey Help and Format Guidance that explains G codes on the LCD.

POS KEY

Every time the POSITION key is pressed the LCD and softkeys will toggle between the ALL, RELATIVE
and ABSOLUTE position screens.

PROG KEY

Every time the PROGRAM key is pressed the LCD and softkeys will toggle between the TEXT and
PROGRAM DIRECTORY screens.

OFFSET / SETTING KEY

This key will take you to the offset and setting page. From there, Tool Offsets, Work offsets and Setting
display page can be selected.

21.10 - 4 CONTROL PANEL LAYOUT


MESSAGE KEY

Every time this key is pressed the LCD and softkeys will toggle between ALARM and MSG displays. Other
pages can also be selected such as HISTORY.

GRAPH KEY

This key is used to display the optional GRAPHICS DISPLAY page. It is possible to draw the programmed
tool path on the screen, which makes it possible to check the progress of machining, while observing the
path on the screen. See the Fanuc User’s manual for details on this feature.

CUSTOM 1 KEY

This key is used to select the MAG custom pages. These pages consist of Program Help pages and Setup
pages.

CUSTOM 2 KEY

This key is not used at this time.

SYSTEM KEY

This key is used to display the system page. These pages are normally used for maintenance issues and
setting of parameters.

UP PAGE & DOWN PAGE KEYS

These keys are used to changeover the page on the LCD screen in the forward and reverse
directions respectively.

UP, DOWN, LEFT & RIGHT ARROW KEYS


These keys are used for cursor movement. The DOWN ARROW moves the cursor in the
forward direction and the UP ARROW moves the cursor in the reverse direction one line
at a time. The RIGHT ARROW moves the cursor in the forward direction and the LEFT
ARROW moves the cursor in the reverse direction one word at a time.

CTRL / AUX / ALT / TAB KEYS

These keys are used with the PC function. The ALT and TAB keys are used to switch between
applications such as the CM90 pallet management and the CNC.
Note: The mouse can also be used for this purpose.

CONTROL PANEL LAYOUT 21.10 - 5


ALPHA KEYPAD

These keys are used to select the desired alphabetic character or the symbol desired.
Note: The SHIFT key must be pressed first to get the lower character on double noted keys. The SHIFT
key does not have to be held when selecting the lower character.

FIGURE 21.10 - 4
Alpha Keypad

NUMERIC KEYS

The Numeric Keys are used to enter various characters into the control. This keypad contains the number keys and
many symbols / characters that are accessed by using the SHIFT key (refer to Figure 21.10 - 5).

FIGURE 21.10 - 5
Numeric Keypad

21.10 - 6 CONTROL PANEL LAYOUT


SECTION 21.20
MACHINE OPERATOR DEVICES
TABLE OF CONTENTS

TITLE PAGE
MACHINE OPERATOR DEVICES ................................................................................................................................. 1
CNC POWER PUSHBUTTONS .......................................................................................................................... 1
EMERGENCY STOP PUSHBUTTON ................................................................................................................. 1
FEED % OVERRIDE ........................................................................................................................................... 1
SPINDLE SPEED % OVERRIDE ........................................................................................................................ 1
MEMORY PROTECT KEYSWITCH .................................................................................................................... 2
LOWER CONTROL PANEL ........................................................................................................................................... 2
MEMORY KEY .................................................................................................................................................... 2
EDIT KEY ............................................................................................................................................................ 2
MDI (MANUAL DATA INPUT) KEY ..................................................................................................................... 2
REMOTE KEY ..................................................................................................................................................... 3
SINGLE BLOCK KEY .......................................................................................................................................... 3
BLOCK SKIP KEY ............................................................................................................................................... 4
OPTIONAL 9 BLOCK SKIP ................................................................................................................................. 4
OP STOP KEY .................................................................................................................................................... 5
PRGM RESTRT (PROGRAM RESTART KEY) (OPTION).................................................................................. 5

PROGRAM RESTART PROCEDURES ................................................................................................... 6


REVERSE KEY (OPTION) .................................................................................................................................. 7
DRY RUN KEY .................................................................................................................................................... 7

DRY RUN OPERATION ........................................................................................................................... 7


MANUAL HANDLE INTERRUPT KEY (OPTION) ............................................................................................... 7

MANUAL HANDLE INTERRUPT DISPLAY.............................................................................................. 8


TOOL RETRACT / RETURN KEY ....................................................................................................................... 8

TOOL RETRACT / RETURN WITHOUT G10.6 ACTIVE .......................................................................... 9


TOOL RETRACT / RETURN WITH G10.6 ACTIVE ................................................................................. 9

TOOL RETRACT / RETURN DURING CANNED CYCLES ...................................................................... 9

TOOL RETRACT / RETURN DURING RIGID TAPPING CYCLE............................................................. 9

TOOL RETRACT / RETURN INITIATED BY I ADAPT LOAD MONITOR ................................................. 9

THREADING CYCLE RETRACT (OPTIONAL) ...................................................................................... 10


PROD ON / OFF KEYS ..................................................................................................................................... 10
FEED HOLD KEY .............................................................................................................................................. 10
CYCLE START KEY ......................................................................................................................................... 10
ACTIVE BLOCK CANCEL KEY (OPTION)........................................................................................................ 10
REF KEY ........................................................................................................................................................... 11
JOG KEY ........................................................................................................................................................... 11
INC JOG KEY.................................................................................................................................................... 11
INC (INCREMENTAL) JOG KEYS .................................................................................................................... 11
MPG (MANUAL PULSE GENERATOR) KEY ................................................................................................... 11
INTERLOCK OVERRIDE KEY .......................................................................................................................... 11
COOLANT MISC KEYS..................................................................................................................................... 11
OP DOOR UNLOCK KEY ................................................................................................................................. 11
OP DOOR LOCK KEY....................................................................................................................................... 11
SPINDLE STOP KEY ........................................................................................................................................ 11
SPINDLE START KEY ...................................................................................................................................... 12
SETUP KEY ...................................................................................................................................................... 12
MSG (MESSAGE) CLEAR KEY ........................................................................................................................ 12
AXIS KEYS........................................................................................................................................................ 12
SPINDLE KEY ................................................................................................................................................... 12
CONTROL SIDE PANEL ............................................................................................................................................. 12
MACHINE ON PUSHBUTTON .......................................................................................................................... 12
MACHINE OFF PUSHBUTTON ........................................................................................................................ 12
STANDBY MODE PUSHBUTTON .................................................................................................................... 12
WORK LIGHT ON / OFF SWITCH .................................................................................................................... 13
USER LEVEL KEYSWITCH .............................................................................................................................. 13
TOOL MAGAZINE GATE LOCK / UNLOCK KEYSWITCH ............................................................................... 13
HIGH PRESSURE COOLANT ADJUST CONTROL DEVICE (OPTION) .......................................................... 13
MACHINE ACCESS LOCK / UNLOCK KEYSWITCH (OPTION) ...................................................................... 13
IADAPT™ CONTROLLER ALARM INDICATOR PUSHBUTTON (OPTION) .................................................... 13
USB PORT ........................................................................................................................................................ 13
FLOPPY DISK DRIVE (OPTION) ...................................................................................................................... 14
MOUSE ............................................................................................................................................................. 14
FLOPPY DISK DRIVE (OPTION) ...................................................................................................................... 14
DOOR LOCK PEDESTAL ............................................................................................................................................ 14
REAR DOOR LOCK / UNLOCK ........................................................................................................................ 14
EMERGENCY STOP PUSHBUTTON ............................................................................................................... 14
FIXED OPERATOR PLATFORM ................................................................................................................................. 14
ACCESS DOOR ................................................................................................................................................ 14
ELEVATING OPERATOR PLATFORM (OPTION) ...................................................................................................... 15
ACCESS DOOR ................................................................................................................................................ 15
PLATFORM RAISE / LOWER SWITCH ............................................................................................................ 15

EMERGENCY RELEASE ....................................................................................................................... 15

REV 1 (10-2012)
MACHINE OPERATOR DEVICES

The Machine Operator Devices are located on the bottom half of the operator's display station, which is known as the
Machine Control Console. Additional machine operator devices may be found on the machine itself, on optional
setup or control stations, or as part of optional equipment provided with the machine. The machine operator devices
are used to supplement the control operator devices located on the upper half of the operator's display station for
complete manual and numerical control of the machine.

The operations of the machine operator devices located on the machine control are described in this section.

CNC POWER PUSHBUTTONS

The CNC POWER pushbuttons are located on the left side of the
operator as shown here. Press the white pushbutton for Power ON
and the black pushbutton for Power OFF to the control. If the
machine is powered off with the OFF pushbutton, the EMERGENCY STOP will have to be
depressed and reset in order to turn the machine back on.

EMERGENCY STOP PUSHBUTTON

The EMERGENCY STOP pushbutton is a red mushroom-type pushbutton


located in the left side of the machine control console.

When the EMERGENCY STOP pushbutton is pressed at any time, the mode
of operation is canceled, the hydraulic units are turned off and all AC power is
removed from the machine.

If the machine is to remain idle and unattended for any length of time (between shifts, over the
weekend, etc.), the EMERGENCY STOP pushbutton is used to shut down the machine. First,
stop all machine motion by letting the machine cycle out then press the EMERGENCY STOP
pushbutton to turn off the hydraulic supply units. The machine and part references will be
preserved.
FIGURE 21.20 - 1
If the EMERGENCY STOP pushbutton is pressed, you must pullout the pushbutton and turn at
Left Side Panel
the same time to reset. Resume operation by restarting the machine and choosing a desired
mode of operation.

Additional EMERGENCY STOP pushbuttons may be located on test panels or remote setup / control stations for
options with the machine. Their operation will parallel that of the EMERGENCY STOP pushbutton on the operator's
display station.

FEED % OVERRIDE
The FEED % OVERRIDE control allows the operator to adjust the programmed or manual
feedrate, from 0% to 120%. It is also used to override rapid traverse motion. For more
information see OPERATING PROCEDURES section.

SPINDLE SPEED % OVERRIDE

The SPINDLE SPEED % OVERRIDE control allows operator control of the selected or
commanded table speed. Turning the control CW increases the speed; turning CCW decreases
the speed. Refer to OPERATING PROCEDURES section for more information.

MACHINE OPERATOR DEVICES 21.20 - 1


MEMORY PROTECT KEYSWITCH

The MEMORY PROTECT keyswitch is located below the EMERGENCY STOP pushbutton. Turning
the key to ALLOW or RIGHT position, allows editing of part programs. Editing is not allowed with the
switch in the INHIBIT or LEFT position.

LOWER CONTROL PANEL

The Lower Control Panel is comprised of many devices and keys (refer to Figure 21.20 - 2). These are described in
the following information. Additional information can be found in the Fanuc Operator’s guide supplied with the
machine.

Machine Axes Keys


Misc. Function Keys

FIGURE 21.20 - 2
Lower Panel
Note: The Misc. Function keys and Machine Axes keys can be different on every machine.

MEMORY KEY

This key is selected for machine operation from memory.

EDIT KEY

This key is selected in order to edit programs if the MEMORY PROTECT keyswitch is turned to allow and
the EDIT key is lit.

MDI (MANUAL DATA INPUT) KEY

This key is used for manually inputting data. The operator must be on the program page to manually input
data.

In the MDI mode a program consisting of up to 255 characters can be created using the same format as any
other program. This program can then be executed from the MDI screen. This can be useful for test operations and
small one time run jobs or repairs.

21.20 - 2 MACHINE OPERATOR DEVICES


To use the MDI feature, press the MDI lighted
pushbutton to enter the MDI mode. Press the
PROGRAM vertical softkey to display the
program display screen. Note the MDI feature
only functions while on the program page as
shown here. It does not function on other
pages even though the buffer display appears
on various pages.

The program number 'O0000' is automatically


entered at the top of the screen. A program
can then be typed into the PROGRAM (MDI)
screen. A program stored in the Directory
Memory would normally end with an M30. This FIGURE 21.20 - 3
would reset the program. This is done using an
MDI Page
M99 in the MDI mode. An M99 will reset the
program back to the beginning and turn off any active data just as an M30 would in a normal program.

To delete the entire MDI program when finished using it, type in the letter O, and then press the DELETE key from
the keyboard. The RESET button can also be used to delete the buffer if parameter 3203 #7 is set to 1.

To execute the MDI program, press the CYCLE START pushbutton. The program will start to execute from the point
of the yellow highlighter box. It is important to verify that the highlighter box is at the proper point in the program
before pressing CYCLE START. The CURSOR ARROWS on the keyboard can be used to move the highlighter box
or a complete word can be typed in, i.e. G01, and the softkeys SEARCH ↑ or SEARCH ↓can be used to search to
the word. Remember that the control will read the block of program data from left to right. If the yellow highlighter
box is not at the beginning of the program or at the beginning of a block, it will start execution of the program from the
highlighter box and read to the right. Be sure you are not by passing required program data.

There are many other features that can be used in MDI. Please refer to the Fanuc User’s Manual for complete
information.

REMOTE KEY

This key is selected when running part programs from other devices such as the memory card.

SINGLE BLOCK KEY

SINGLE BLOCK causes the control to execute one block of programmed data at a time, with the program
stopping after an individual line is completed. It will be illuminated when it is active. This will execute a
single block or single line of the program, with the program stopping after an individual line is completed.
Execution will stop along with machine movement, but the spindle remains rotating if previously commanded to be
on. To stop the spindle, press the SPINDLE STOP pushbutton. When a block of the program is completed, the
Cycle Start lighted pushbutton will turn off. The single block feature is often used when a new program is run the first
time.

It is necessary to push CYCLE START to execute the next block of the part program.

If executing a canned cycle (G80), the FEED HOLD light will come on at the end points of the canned cycle.
Example: X and Y position, R approach, and Z retract position after cycle. Note, however, this is dependent on
parameter settings.

The single block function is normally inhibited during the execution of custom macros. Parameter 6000 #5 is normally
set to 0.

The single block function can also be inhibited by Cycle Control Variable #3003. See the Fanuc User’s Manual for
more information on #3003.

MACHINE OPERATOR DEVICES 21.20 - 3


BLOCK SKIP KEY

The Block Skip feature of the control provides a method of omitting program blocks while the control is
operating in the Automatic mode. When lit, BLOCK SKIP causes the control to skip any program blocks
preceded by a slash ( / ). If not active, these same blocks will be executed by the control, in sequence as
programmed.

The control selects which blocks to omit by recognizing the slash character (/) typed at the beginning of the block
(see example below). When the operator turns the BLOCK SKIP switch ON (lighted), the control ignores all the
blocks preceded by the slash (/) character. Therefore, to skip a series of blocks, each block in the series must be
preceded by a slash code. The control will act on any block not preceded by the slash character. If the operator
turns the BLOCK SKIP pushbutton OFF, the control will act on all the blocks in the part program.

Block Skip slash codes often precede blocks used to execute additional passes in a part program. Usually these
additional passes are not required to produce a finished part, but may be necessary to compensate for excess stock
on a workpiece.

N020 G0 X100.0 Y100.0;


/N021 G0 Z10.0;
/N022 G1 X-100.0 F.3;
/N023 G0 Z20.0;
N024 G0 X100.0;
N025 G0 Z5.0;
N026 G1 X-100.0 F.3;
N027 G0 Z20.0;

In a machining operation, a programmer might make an additional pass to remove excessive stock. Before the rough
face milling cycle is executed, the machining cycle may be stopped allowing the operator to determine the amount of
stock. If the additional pass is not required, the operator turns the BLOCK SKIP pushbutton ON. When the operator
presses CYCLE START, the program advances omitting the blocks preceded by the slash codes and resumes
normal operation with the first block not preceded by a slash code.
Note: The Block Skip feature functions until the BLOCK SKIP pushbutton is turned OFF.

If the additional free pass is not required, the operator turns the BLOCK SKIP pushbutton ON. When the operator
presses CYCLE START, the program advances omitting the blocks preceded by the slash codes and resumes
normal operation with the first block not preceded by a slash code.

OPTIONAL 9 BLOCK SKIP

This feature utilizes additional 8 block skip switches


located on the Custom display page along with the
standard BLOCK SKIP key. The 9 block skip feature
is turned on by programming a slash and number 1 –
9 at the beginning of the block (1 can be omitted).
When the corresponding block skip switch 2-9 is set
to ON and the BLOCK SKIP pushbutton is on, the
blocks will be skipped. If the optional block skip
switches is turned off, information in the block will be
executed as normal. Multiple block skips can be
applied to the same block by programming more than
one / and number, see below.

EXAMPLE: /5 N1340 G00 X2.00


/5/6 N1340 G00 X2.00

FIGURE 21.20 - 4
Custom Page (Nine Block Skip)

21.20 - 4 MACHINE OPERATOR DEVICES


As shown in the first example, when the block delete switch 4 is turned ON along with the BLOCK SKIP pushbutton,
block 1340 will be skipped. The second example illustrates the use of the multiple block skips where switches 5 or 6
can cause block 1340 to be skipped. This feature adds the flexibility of skipping multiple blocks by turning on
switches 2 through 9.

These switches are accessed through the Custom display page shown here. Press the CUSTOM key to display the
Custom Menu Page. Pressing the ACTIVE DATA key give you access to the active data page shown above. Press
the BLOCK SKIP SELECT key to access the 9-block skip page. Press the desired softkeys to select ON / OFF. See
the MAG CUSTOM SCREENS section for more information.
Note: BLOCK SKIPS can be inserted anywhere in the block.

OP STOP KEY

When active the control will recognize M01 as a programmed stop. If not lit, M01 codes in the program will
be ignored by the control. For a description of M01 and other machine codes see PROGRAM DATA
section.

PRGM RESTRT (PROGRAM RESTART KEY) (OPTION)

This key is used to specify a sequence number of a block to be restarted when a reset occurs. It can also
be used as a high-speed program check function. The Program Restart feature allows the program to be
restarted at a specified point in the program. When this method of restarting a program is used, the tool is
automatically positioned to the start point of the specified block. When the PROGRAM RESTART button is pressed a
Restart page is displayed as shown below.

The axes destination and the distance to go are displayed on this page. The M, S, and T data that the CNC finds as
it searches to the restart block are also displayed on this page. When Restart is searching for M, S, and T data it
does not send this data to the PMC.

The operator is responsible for looking over the displayed information and activating the appropriate functions using
MDI in the proper sequence.
Note: Four digit M-codes, such as M9000 and M9001 may appear on the Program Restart Screen, do not
MDI these M-codes.

The following situations prevent program restart:

• To a program block in the G12.1 mode (polar


coordinate interpolation)

• To a program block in the G07.1 mode


(cylindrical interpolation)

• To a program block requiring threading (G33,


G34, G35, G36)

• To a program block for repetitive threading


cycle (G21, G78)

• To a program block requiring Balanced Cutting


(G68)

• Machine lock is active

The operator should also establish the order in FIGURE 21.20 - 5


which axes will be moved to their last programmed Setting Screen for Program Restart Axis Order
endpoint before starting the restart process. This is
done by setting parameter 7310. Parameter 7310 can be set from the Offset / Setting displays. All axes, including
tool and work change axes, must be assigned a number, however, only those axes with endpoints in the program will
move.

The Restart light blinks when Program Restart is active.

MACHINE OPERATOR DEVICES 21.20 - 5


PROGRAM RESTART PROCEDURES

These are two softkeys that are used to select the


restart method: P TYPE and Q TYPE as shown
here.

The P Type can be used when a tool is retracted and a replaced with a new one where the machine can be manually
moved to the machining start point and the modal data is retained.

The Q Type can be used when starting from the beginning of the program where the modal data has been cleared.

The following restart procedure can be used:

1. Ensure the correct tool is loaded for the target machining operation and is positioned to the proper location for
the desired restart type (P-Type or Q-Type).

2. Ensure the correct order in which axes will


be moved to their last programmed endpoint
before starting the restart process. This is
done by setting parameter 7310 from the
Offset/Setting displays in FIGURE 21.20 - 5:

3. Turn the program restart switch on the


machine operator's panel ON.

4. Press PROG key to display the desired


program.

5. Rewind the program to the beginning.

6. Enter the sequence number of the block to


be restarted, then press the [P TYPE] or [Q
TYPE] softkey.

Nxxxxx [Q TYPE] or [P TYPE] Sequence


FIGURE 21.20 - 6
number
Program Restart Page
7. The program restart screen will display the
following:

• DESTINATION shows the position at


which machining is to restart.
• DISTANCE TO GO shows the distance
from the current tool position to the
position where machining is to restart.
A number to the left of each axis name
indicates the order of axes (determined
by parameter setting) along which the
tool moves to the restart position.

• M, T and S most recently specified


codes.

• Codes are displayed in the order in


which they are specified. All codes are
cleared by a program restart command
or cycle start in the reset state. FIGURE 21.20 - 7
8. Turn the program re-start switch OFF. At Parameter Page for Program Restart
this time, the figure at the left side of axis
name DISTANCE TO GO blinks.

21.20 - 6 MACHINE OPERATOR DEVICES


9. Check the screen for the M, S and T-codes to be executed. Enter the MDI mode and execute the M, S, T
functions. After execution, restore the previous mode. These codes are not displayed on the program restart
screen.

10. Establish the order in which axes will be moved to their last programmed endpoint before starting the restart
process. This is done by setting parameter 7310 from the Offset / Setting displays as shown here.

11. Check that the distance indicated under distance to go is correct. Also check whether there is the possibility
that the tool might hit the workpiece or other objects when it moves to a position from which the tool can move
to the machining restart position without encountering any obstacles.

12. Press the CYCLE START button. The tool moves to the machining restart position at the dry run feedrate
sequentially along axes in the order specified by parameter settings (No. 7310). Machining is then restarted.

For complete and detailed information this feature, see the Fanuc User’s manual.

REVERSE KEY (OPTION)

The retrace feature allows the operator to retrace the programmed path. Pressing the REVERSE key (ON)
will cause the feed motion to reverse and retrace the tool path. Pressing the REVERSE key again (OFF)
will cause the feed motion to reverse and go forward on the original tool path. When the tool reaches the
retrace start position, normal program operation will continue. Refer to the Fanuc Operations manual for more
detailed information on this feature.

DRY RUN KEY

Dry Run can be used for testing and demonstration purposes. When active, the control accelerates all
programmed feedrates to a default rate of 100 IPM (set in system parameter 1410). For this reason care
must be taken not to leave the control in the DRY RUN MODE when done using it. Rapid traverse rates are
affected by dry run.

DRY RUN OPERATION

Normally, a part is not set up on the machine when the DRY RUN mode is entered. If a part is set up, axes offsets
must be put into the Active Part program to insure that metal will not be cut when the DRY RUN key is pressed. The
fast feedrate of the DRY RUN mode allows programmers to quickly demonstrate the actions of their part programs on
the machine tool. The DRY RUN mode can demonstrate a complete part program or a series of program blocks.

To activate the dry run mode, press the DRY RUN Pushbutton located on the lower panel. When the DRY RUN light
is on, the control is in dry run mode. To turn off dry run mode press the DRY RUN Pushbutton to extinguish the light.

MANUAL HANDLE INTERRUPT KEY (OPTION)

This key is used to move axes with the MPG and apply an offset while in the cut mode. The Manual Handle
Interrupt feature allows the operator to move an axis while cutting with another one. When an axis is
repositioned with the manual handle interruption active, an offset is applied to the machine and relative
coordinate systems. The absolute coordinate system remains unchanged. The procedure for applying this
feature is as follows:

1. While machining, press the MANUAL HANDLE INTERRUPT key. The manual handle interrupt screen
appears (FIGURE 21.20 - 8).

2. Using the MPG, select the desired axis and increment value and rotate the hand wheel to move the axis to the
desire location.

3. Press the MANUAL HANDLE INTERRUPT key turn off.

MACHINE OPERATOR DEVICES 21.20 - 7


**************************************************************************************

ONCE THE AXIS IS MOVED AND THE OFFSET IS APPLIED, THE OFFSET WILL REMAIN IN
EFFECT UNTIL REMOVED.

**************************************************************************************
MANUAL HANDLE INTERRUPT DISPLAY

• INPUT UNIT: Handle interruption move


amount in input unit system indicates the
travel distance specified by handle
interruption according to the least input
increment.

• OUTPUT UNIT: Handle interruption


move amount in output unit system
indicates the travel distance specified by
handle interruption according to the least
command increment.

• RELATIVE: Position in relative


coordinate system. These values have
no effect on the travel distance specified
by handle interruption.

• DISTANCE TO GO: The remaining


travel distance in the current block has
no effect on the travel distance specified
by handle interruption. The handle FIGURE 21.20 - 8
interruption move amount is cleared Manual Handle Interrupt Page
when the manual reference position
return ends every axis.

The Manual Handle Interrupt offset is canceled by the following:

• Removing the offset by returning the axis using the MPG

• Presetting the absolute coordinate system with G92

• Pressing RESET assuming bit 1 (RTH) of parameter No. 7103 is set to 1

• Pressing the EMERGENCY STOP, assuming bit 1 (RTH) of parameter No. 7103 is set to 1
Note: Bit 1 (RTH) of parameter No. 7103 is set to 0 by default.

For complete and detailed information this feature, see the Fanuc User’s manual.

TOOL RETRACT / RETURN KEY

The TOOL RETRACT / RETURN key is used to interrupt the program and allow the tool to be retracted
from the work piece. This feature allows the tool to be manually or automatically retracted during program
execution. After executing the retract move, the control will remember up to ten manual moves. The tool
can then be automatically returned to retract point in the reverse order and then returned to the interruption point to
continue automatic operation. The Tool Retract / Return moves are done at the Dry Run feedrate.

21.20 - 8 MACHINE OPERATOR DEVICES


TOOL RETRACT / RETURN WITHOUT G10.6 ACTIVE

If G10.6 is not active (G10.6 with no axis command), pressing the TOOL RETRACT / RETURN pushbutton will cause
a Feed Hold. At this time the Manual mode, (JOG / MPG / INCR) can be selected and up to ten moves will be
remembered. To return to the point of interruption, select Memory mode and press the TOOL RETRACT / RETURN
pushbutton. This will cause the tool to return to the point of interruption by moving the axes in the reverse order. To
continue automatic operation, press CYCLE START.

TOOL RETRACT / RETURN WITH G10.6 ACTIVE

If G10.6 is active, (G10.6 programmed with an axis command), pressing the TOOL RETRACT / RETURN pushbutton
will cause the programmed axes to move to the commanded location and Feed Hold. At this time the Manual mode,
(JOG / MPG / INCR) can be selected and up to ten moves will be remembered. To return to the retract point, select
Memory mode and press the TOOL RETRACT / RETURN pushbutton. This will cause the tool to return to the retract
point by moving the axes in the reverse order. To return to the point of interruption and continue automatic operation,
press CYCLE START.

The G10.6 retract command can be specified as an incremental (G91) or absolute (G90) value.

G10.6 is cancelled by programming a G10.6 alone.

See the PROGRAM DATA section for more information on programming the G10.6 command.

TOOL RETRACT / RETURN DURING CANNED CYCLES

When the TOOL RETRACT / RETURN pushbutton is pressed while executing a canned cycle (not including G74/G84
Rigid Tapping cycles), the cycle will retract as if the cycle was completed and Feed Hold. Pressing CYCLE START
will repeat the cycle at the same location. G10.6 axis data is ignored during the execution of canned cycles.

TOOL RETRACT / RETURN DURING RIGID TAPPING CYCLE

When the TOOL RETRACT / RETURN pushbutton is pressed while executing a rigid tapping cycle (G74/G84), the
spindle will reverse and the cycle will retract as if the cycle was completed and Reset. Returning to the cycle is not
possible. G10.6 axis data is ignored during the execution of canned cycles.
Note: The following information is for machines shipped after July 2011.

If an alarm, reset, emergency stop or power failure occurs during a tap, tapping is stopped and the control retains the
axis information. The TOOL RETRACT / RETURN button will flash indicating a tap retract is pending. Pressing the
flashing button will cause the tap to be retracted.

In the case of a power failure, the machine must be turned back on. After power-on the TOOL RETRACT / RETURN
button can be pressed and the tap will retract if the tapping axis is referenced.

To clear the Tool Retract / Return function, push and hold for 5 seconds the RESET button. Cycle Start and JOG are
inhibited until this function is cleared.
Note: On vertical turning machines special considerations are required on machines equipped with the 4-
axis feature. See the FOUR-AXIS CONTROL section for more information.

TOOL RETRACT / RETURN INITIATED BY i ADAPT LOAD MONITOR

Tool Retract / Return can also be initiated by exceeding the % Spindle Overload Alarm Level of the iAdapt Load
Monitor. When the alarm level is exceeded the Tool Retract / Return reaction is the same as when pressing the
TOOL RETRACT / RETURN pushbutton. For information on the iAdapt feature, see the Fanuc documentation
supplied with your machine.

MACHINE OPERATOR DEVICES 21.20 - 9


THREADING CYCLE RETRACT (OPTIONAL)

When the machine is equipped with the optional threading


cycle retract feature, feed hold may be applied during Start Point
threading in a thread cutting cycle (G76). In this case, the
tool retracts in the same way as for the last chamfering in a Feed Hold
threading cycle and returns to the start point in the current Point
Rapid Moves
cycle. When cycle start is pressed, the threading cycle
resumes. End Point
PROD ON / OFF KEYS

These keys are only on machines equipped with pallets. Pressing the PROD ON / OFF key will
enable / disable the automatic control of the machine pallets. Refer to the PALLET CONTROL
section for more information.

FEED HOLD KEY

The FEED HOLD key is used in the AUTO or MDI modes to temporarily suspend the execution of any
automatic feed and/or auxiliary function. If the FEED HOLD is pressed it will illuminate and the Cycle Start
light will turn off. Feed Hold will interrupt or hold the line of the program that is executing and hold all
machine movement but will not stop spindle rotation. Press CYCLE START to resume normal program execution.

The FEED HOLD is canceled by pressing the CYCLE START key. Spindle rotate will have to be restarted if stopped
before pressing the CYCLE START key.

The interrupted cycle and the FEED HOLD will also be canceled by pressing the RESET key. This extinguishes the
lighted CYCLE START key.

If FEED HOLD is pressed during a tapping canned cycle, the feed will not stop until the tool reaches the retract point.

While in the FEED HOLD mode, the following operations can be done:

• The table / spindle can be stopped by pressing the TABLE / SPINDLE STOP pushbutton. The TABLE /
SPINDLE START pushbutton must be pressed before resuming automatic operation.

• The Jog, Incremental Jog and MPG mode can be selected and the axes can be moved. It is possible to resume
automatic operation after the axes have been moved by pressing by returning the memory mode and pressing
CYCLE START.

The feed hold function can also be inhibited by Cycle Control Variable #3004. See the Fanuc User’s Manual for more
information on #3004 and feed hold.

CYCLE START KEY


The CYCLE START key is used in the MEMORY or MDI modes to transfer data from the next block buffer
register into active command and initiate automatic operation. An active cycle being executed can be
canceled by:

• Pressing the RESET key which decelerates all moving slides to a stop, then halts spindle rotation and
extinguishes the lighted CYCLE START key.
• Pressing the EMERGENCY STOP pushbutton which cancels the mode of operation, turns off the hydraulic units,
zeroes the inputs to the axis and spindle drives and opens their loop contactors, and removes AC power from the
machine. The lighted MACHINE START pushbutton will extinguish and the spindle, if rotating, will coast to a
stop.

ACTIVE BLOCK CANCEL KEY (OPTION)

The optional ACTIVE BLOCK CANCEL key is used to abort the current active program block without
canceling the entire buffer or resetting modal data. You can cancel a block when feedhold is active.

21.20 - 10 MACHINE OPERATOR DEVICES


REF KEY

This key is used to reference the machine after power up. If the machine is equipped with an absolute
feedback scale package, this may not be required. Refer to the REFERENCE OFFSETS section for
additional information pertaining to the REF key.

JOG KEY

This key is selected when manual motion control of the machine is required. Procedures for using the JOG
feature are explained OPERATING PROCEDURES section.

INC JOG KEY

This key is selected when incremental motion control of the machine is required. Procedures for using the
INCREMENTAL JOG feature are explained OPERATING PROCEDURES section.

INC (INCREMENTAL) JOG KEYS

Incremental Jog selection requires an AXIS key and one of the INCREMENTAL distance
keys. These keys are labeled as 1X, 10X, 100X, 1000X where 1X = .0001” / .001 mm.

MPG (MANUAL PULSE GENERATOR) KEY

This key is selected when the remote hand wheel control is to be activated. Procedures for using the MPG
feature are explained in OPERATING PROCEDURES section.

INTERLOCK OVERRIDE KEY

The INTERLOCK OVERRIDE key is a special function key and not typically used by the operator. This key
is normally used by service or maintenance personnel during machine troubleshooting. See the MAG
CUSTOM SCREENS section for more information
Note: Use of this key by unauthorized personnel can cause machine damage.

COOLANT MISC KEYS

Pressing one of the COOL MISC. keys will enable that function on the machine. Refer to the
COOLANT section of this manual for more information.

OP DOOR UNLOCK KEY


On floor-type machines, pressing the OP DOOR UNLOCK key will unlock the platform access door (if
equipped). The machine must be in a Feed Stop state (Feed Stop key is active). If the platform is a scissor
type, the platform must be fully lowered.

OP DOOR LOCK KEY

Pressing the OP DOOR LOCK key, on floor-type machines, will lock the platform access door (if equipped).
The machine must be on (hydraulics running) and be in a Feed Start state (Feed Start key is active). If the
platform is a scissor type, the platform must be fully lowered.

SPINDLE STOP KEY

The SPINDLE STOP key will cause the spindle to stop and if CYCLE START is active, stop all feed motion
and abort the active cycle. If pressed while FEED HOLD is active, the spindle can be stopped and restarted
to continue the cycle.

MACHINE OPERATOR DEVICES 21.20 - 11


SPINDLE START KEY

When spindle rotation is commanded with the M03 or M04 command, the SPINDLE START key will flash to
alert the operator to press the key. Pressing the key will start the spindle.

SETUP KEY

This key is used in conjunction with the MACHINE SETUP pages. The softkey on the setup page must first
be selected then the SETUP START key is pressed to execute the previously selected function.

MSG (MESSAGE) CLEAR KEY

The MSG CLEAR light goes on when an operator message is output from either the control systems or the
part programmer to the machine tool operator. Messages from the control systems relate to conditions
detected by the control. Most of these conditions require you to do minor maintenance procedures. The
messages indicate which procedures are needed.

Messages from the part programmer can vary, but typically they will tell you what needs to be done. These
messages can be viewed by pushing the MESSAGE key from the keypad and then the MSG softkey. These
Operator Messages are displayed on the OPERATOR MESSAGES page on the LCD. To extinguish the Operator
MESSAGE CLEAR light, press the key.

AXIS KEYS

The AXIS keys are used to select an axis or spindle for the JOG and the INCREMENTAL
JOG mode. See OPERATING PROCEDURES section for more information on the
machine’s AXIS keys.

SPINDLE KEY

Pressing the SPINDLE key along with the + or - key will cause the spindle to rotate (Jog) in the direction
selected. See OPERATING PROCEDURES section for more information.

CONTROL SIDE PANEL

The Control Side Panel is comprised of various devices specific to the machine type. These are described in the
following information.

MACHINE ON PUSHBUTTON

The function of the MACHINE ON lighted pushbutton is to turn ON the hydraulic supply units and place the
machine in a ready state.
If the Power OFF pushbutton has been pressed, or the Main Disconnect switch has been moved to the
OFF position, the machine is in a power-down state and will need to be powered up. Machine startup and
shutdown is discussed in OPERATING PROCEDURES section.

MACHINE OFF PUSHBUTTON

The function of the MACHINE OFF pushbutton is to turn OFF the hydraulic supply units and place the
machine in a power-down state. The control will remain on and the machine reference will not be lost. If
your machine is not equipped with this pushbutton see the STANDBY MODE pushbutton.

STANDBY MODE PUSHBUTTON

The function of the STANDBY MODE pushbutton is to turn OFF the hydraulic supply units and place the
machine in a power-down state. The control will remain on and the machine reference will not be lost. If
your machine is not equipped with this pushbutton see the MACHINE OFF pushbutton.

21.20 - 12 MACHINE OPERATOR DEVICES


WORK LIGHT ON / OFF SWITCH

This switch turns the work light on and off.

USER LEVEL KEYSWITCH

The USER LEVEL keyswitch is used to allow operation of the INTERLOCK


OVERRIDE. User Level access mode is used only by authorized personnel to
perform specialize maintenance and/or machine configuration tasks. User level 1
must be selected for the INTERLOCK OVERRIDE to work.

TOOL MAGAZINE GATE LOCK / UNLOCK KEYSWITCH

This keyswitch, on floor-type machines, locks and unlocks the access gate to the
tool magazine area. If the gate is unlocked, all axis motion will be inhibited.

HIGH PRESSURE COOLANT ADJUST CONTROL DEVICE (OPTION)

This knob is used in conjunction with the optional manual adjustable coolant
feature. Refer to the COOLANT section in this manual for more information.

FIGURE 21.20 - 9
Example of Machine
Control Panel
MACHINE ACCESS LOCK / UNLOCK KEYSWITCH (OPTION)

This keyswitch locks and unlocks the access door to the pallet change area (if equipped). If the door is
unlocked, all pallet change motion will be restricted.

iADAPT™ CONTROLLER ALARM INDICATOR PUSHBUTTON (OPTION)

The iADAPT™ indicator pushbutton feature provides a visual indication of the status of the iAdapt system
and is also used to reset the iAdapt alarms when pressed.

When the iAdapt Monitor or Adaptive mode is enabled, the green LED will turn on steady. When the
adaptive mode becomes active the green LED will flash at a rate of approximately 10 times per second. If
during this time the spindle load exceeds the warning limit, the indicator will change from green to yellow.
If the spindle load exceeds the alarm limit, the indicator will change to red. Specific faults are identified by the
flashing sequence of the red LED. The LED will flash approximately once per second and each specific alarm has its
own flash code, followed by a short pause. See the Fanuc iAdapt documentation supplied with your machine for
more information.

USB PORT

An USB port can be mounted in the operator control panel. In addition to data transfer, part programs
can be executed directly from this port.

MACHINE OPERATOR DEVICES 21.20 - 13


FLOPPY DISK DRIVE (OPTION)

The 3.5" floppy disk drive is located on either the side or front panel. The disk drive can be used as a data
transfer/storage device.

MOUSE

The Fanuc control is equipped with a mouse. The mouse is used for normal PC application.
It is also used to switch between the CNC mode and PC mode and selecting the default input
/ output device. These procedures are explained in PART PROGRAM OPERATIONS
section of this manual.

FLOPPY DISK DRIVE (OPTION)

The 3.5" floppy disk drive is located on either the side or front panel. The disk drive can be used as a data transfer /
storage device.

DOOR LOCK PEDESTAL

Floor-type machines will be equipped with a pedestal at each end of the X-axis
runway (shown at right). On this pedestal will be an REAR DOOR UNLOCK and
REAR DOOR LOCK pushbutton and an EMERGENCY STOP pushbutton. The
pushbuttons will be label (X-) or (X+). This indicates which end of the X-axis runway
they are located. Also refer to the OPERATING PROCEDURES section for
information regarding the use of these devices.

REAR DOOR LOCK / UNLOCK

The REAR DOOR UNLOCK and REAR DOOR LOCK pushbuttons will parallel the
ACCESS DOOR UNLOCK and ACESS DOOR NORMAL keys located on the
machine control panel. These pushbuttons are used to lock the access door after
exiting the platform, or unlocking the access door before entering the platform.

EMERGENCY STOP PUSHBUTTON

The EMERGENCY STOP pushbutton is used to stop all motion on the machine and removes power from the
machine.

FIXED OPERATOR PLATFORM

A Fixed Operator Platform is provided as a standard feature on the floor-type machine. This platform is mounted on
a slide and travels along with the X-axis motion. The height of the platform is at a fixed position. A full enclosure is
provided on this platform. An access door, with integrated safety door locks, is typically mounted at the rear of the
platform.

ACCESS DOOR

The Access Door to the platform will automatically lock when the Feed Start is active (FEED START key is lit). To
unlock the door, press FEED HOLD. The door will also unlock when hydraulic power is removed from the machine
(MACHINE OFF or EMERGENCY STOP is pressed).

21.20 - 14 MACHINE OPERATOR DEVICES


ELEVATING OPERATOR PLATFORM (OPTION)

An optional Scissor Lift type Operator Platform is also available on floor-type machines. Pushbuttons are provided on
the control to raise and lower the platform. The platform raises and lowers independent of the machine headstock.
An access door, with integrated safety door locks, is typically mounted at the rear of the platform.

ACCESS DOOR

The Access Door to the platform will automatically lock when the Feed Start is active (FEED START key is lit). To
unlock the door, press FEED HOLD. The platform must be fully lowered to unlock the door. The door will also unlock
when hydraulic power is removed from the machine (MACHINE OFF or EMERGENCY STOP is pressed).

PLATFORM RAISE / LOWER SWITCH

On floor-type machines, this switch will allow the operator to manually lift or lower the optional operator’s
platform to be close to the machining process. The platform raises and lowers independent of the
machine headstock. The platform can only be entered when the head is down close to the minus limit.

EMERGENCY RELEASE

An Emergency Release lever is located under the floor of the platform (shown at
right). The Emergency Release is used if power is removed from the machine
while it is in the raised position.

1. Open the access door in the floor of the platform.

2. Pull the release handle to slowly lower the platform.

MACHINE OPERATOR DEVICES 21.20 - 15


SECTION 21.30
OPERATING PROCEDURES
TABLE OF CONTENTS

TITLE PAGE
GENERAL ...................................................................................................................................................................... 1

START-UP ..................................................................................................................................................................... 1

POWER TO THE CONTROL AND THE MACHINE ............................................................................................ 1

PREPOWER-ON PROCEDURE ......................................................................................................................... 1

POWER-ON PROCEDURE ................................................................................................................................ 2

MACHINE START-UP PROCEDURE ................................................................................................................. 4

REFERENCING........................................................................................................................................ 4

ALARM CLEAR / RESET - INDICATOR ............................................................................................................. 4

SHUTDOWN .................................................................................................................................................................. 5
DAILY SHUTDOWN ............................................................................................................................................ 5

EXTENDED PERIOD SHUTDOWN .................................................................................................................... 5

BASIC JOG OPERATIONS ........................................................................................................................................... 6

FEED SELECTION ............................................................................................................................................. 6

AXIS SELECTOR PUSHBUTTONS .................................................................................................................... 7

JOG PUSHBUTTONS ......................................................................................................................................... 7

INCR (INCREMENTAL) JOG PUSHBUTTON..................................................................................................... 7

MANUAL PULSE GENERATOR ......................................................................................................................... 8

MPG OPERATION ................................................................................................................................... 8

TABLE / SPINDLE CONTROL DEVICES ...................................................................................................................... 8

SPINDLE / TABLE JOG PUSHBUTTON ............................................................................................................. 8

SPINDLE / TABLE START PUSHBUTTON ........................................................................................................ 9

SPINDLE / TABLE STOP PUSHBUTTON .......................................................................................................... 9

SPINDLE / TABLE SPEED % OVERRIDE - ROTARY SWITCH........................................................................ 9

BASIC AUTOMATIC OPERATION ................................................................................................................................ 9

MACHINE SETUP ............................................................................................................................................... 9

PROGRAM OPERATION .................................................................................................................................. 10


GENERAL

This section describes procedures for Start-up, Shutdown and Basic Machine Operation procedures. The machine
should be properly serviced and given a thorough safety inspection periodically before starting and/or operating the
machine.

START-UP

The following describes the Start-Up procedures for the machine tool. Which Start-Up procedure to use depends on
the flow of electrical power and the passage of time. This subsection begins with a general description of the flow of
power to the control and the machine.

POWER TO THE CONTROL AND THE MACHINE

Incoming power goes to the main circuit breaker in the control cabinet. The incoming electrical power has a voltage
of 400 VAC - 3 Phase.

When the Main Disconnect switch is in the ON position, power flows to the control and machine. Power is also
provided to the machines components; air conditioner, chip conveyor, coolant pump, etc.

Information regarding power requirements and specifications can be found in the Electrical Service Manual, as well
as the Fanuc documentation provided with the machine.

PREPOWER-ON PROCEDURE

The following Prepower-On procedures are provided for the safe power-up of the machine. It is extremely important
that these procedures are followed closely and that the operator becomes familiar with machine functions before
operating the machine. Perform the following:

1. Check the machine over for signs of damage, leaks, or any sign of potential problems. Refer to the
WARNINGS and CAUTIONS that are listed in the front of this manual for the specific safety related items to
check on during your inspection of the machine, work area, and components.

2. Make certain that the machine is mechanically and electrically fit for operation. This includes that fluid
reservoirs are at their proper levels and all electrical power connections and switches are correct. This should
be done by properly trained and qualified maintenance personnel. If you are unsure about these items,
contact the proper individuals for appropriate action.

****************************************************************************************

MAKE CERTAIN THAT ALL RESERVOIRS ARE FILLED AND ELECTRICAL CONNECTIONS ARE
CORRECT BEFORE OPERATING THE MACHINE. FAILURE TO DO SO CAN RESULT IN
DAMAGE TO PUMPS, MOTORS OR OTHER MACHINE COMPONENTS.

****************************************************************************************
3. Make sure that all guards and protective panels are properly secured to the machine. Check all safety
interlocks for proper operation.

OPERATING PROCEDURES 21.30 - 1


****************************************************************************************

DO NOT OPERATE EQUIPMENT WITH SAFETY GUARDS REMOVED OR SAFETY INTERLOCKS


DEFEATED OR ALTERED IN ANY WAY. THIS WILL SUBJECT THE OPERATOR AND OTHER
PERSONNEL TO THE POSSIBILITY OF SEVERE PERSONAL INJURY OR DEATH.

****************************************************************************************
POWER-ON PROCEDURE

The Power-On sequence requires the use of the Main Disconnect switch. FIGURE 21.30 - 1 shows the typical
location of this device on the control cabinet.

****************************************************************************************

DO NOT ALLOW ANY INDIVIDUAL TO OPERATE THIS EQUIPMENT UNLESS THAT PERSON IS
INSTRUCTED IN ALL PHASES OF MACHINE OPERATION AND SAFETY. IF NOT INSTRUCTED
IN THESE AREAS, SEVERE PERSONAL INJURY OR DEATH, AND/OR EXTENSIVE PROPERTY
DAMAGE MAY RESULT.

****************************************************************************************

ON

OFF

FIGURE 21.30 - 1
Typical Location of Main Disconnect Switch

21.30 - 2 OPERATING PROCEDURES


This procedure will bring the control on-line, ready for the Machine Start-Up.

1. Do the following:

A. Close the doors of all electrical cabinets.

B. Remove any floppy disk from the drive, if required.

C. Place the Main Disconnect switch in the ON position (refer to FIGURE 21.30 - 1).

2. Turn the EMERGENCY STOP pushbutton to release. Be sure other EMERGENCY STOP pushbuttons
around the machine are released, if so equipped.

3. Press the POWER ON pushbutton, firmly. The POWER ON pushbutton is located on the lower right portion of
the CNC control.
Note: When pressing the power ON button, do not touch any other LCD / MDI panel keys or buttons.
Do not touch them until the position or alarm screen is displayed. If another key or button is
pressed, the control may be put in a maintenance or special operation mode. Unexpected
machine operations could occur afterwards.

4. The control automatically starts. The PC will start booting and the CNC control (NCU) will perform Power-ON
diagnostics.
Note: If, after the PC Boot starts, the following prompt appears on the screen; Save Environment for
next Windows Start [Yes or No]?, Press 'N' on the control keypad and then press the INPUT
key.

5. When the system is up and running a screen showing the Position page will be displayed (similar to FIGURE
21.30 - 2). On the Position page you will be able to press any of the following keys from the right keypad to
access the CNC screens; POS, PROG, OFFSET SETTING, SYSTEM, MESSAGE.

6. If the control does not startup properly, inform the proper maintenance personnel to check the status of the
control components.
Note: Troubleshooting control startup is covered in the Electrical Service Manual provided with your
machine.

FIGURE 21.30 - 2
Screen at Startup

OPERATING PROCEDURES 21.30 - 3


MACHINE START-UP PROCEDURE

The Start-up of the machine is done to start the machine hydraulics and make the machine ready for use. The
procedure used can vary depending on if the start-up is done after a complete Power-up or after the machine
hydraulics has only been shut-off (step 3 may or may not have to be performed).

Use the following Start-Up procedure to bring the machine on-line for production:

1. Reset the EMERGENCY STOP pushbutton.

2. Press the MACHINE ON pushbutton until the main hydraulic supply unit is running. The Machine On
pushbutton is located on the lower panel of the CNC control.

3. At this point the machine should be operational. However, depending on which Axis Position Feedback
system is supplied with your machine, a machine references may be required.

REFERENCING

The required references at Start-up can vary depending on the feedback system. Either the absolute Heidenhain
encoder scales or incremental Heidenhain encoders could be used. If absolute Heidenhain encoder scales are used,
the control will find the positions of the axis slides at power up automatically. If incremental encoders are used, the
axes will require referencing.

The following references are required:

• Machine Reference is required any time the Axes Not Referenced indicator light is illuminated. This could be
after a Start System is done (control is initialized) or an axis drive fault has occurred.
Note: If an axis drive fault had occurred, contact the proper maintenance personnel trained and qualified
to perform the necessary service to the machine.

• Part Reference orients the absolute coordinate system to the work piece. The axes can be referenced manually
by using the softkeys or automatically by the operator or programmer using the following codes:

• G92 - Changes the Work Coordinate via MDI or automatic operations. This method of part referencing will
be lost if the machine is referenced.

• EXTERNAL - Changes the Work Coordinate. This value will remain in the control even if the power is
removed. Also this work shift will affect all the G54 through G59 work shifts.

• G54 through G59 - Work Coordinate selection. These codes activate a given fixture offset that is preset on
the Work Offset page. These offset values can be set automatically in the part program, or they can be set
by the operator.
• Tool Reference - This reference is required any time the control has lost the machine spindle tool data. Fault
message(s) will be displayed prompting to reference these tools, as required.
Note: Refer to the REFERENCE OFFSETS section for procedures and information regarding referencing.

ALARM CLEAR / RESET - INDICATOR

The control monitors its own operating conditions. It also monitors the operating conditions of the machine tool,
accessories, and the active part program. If the control detects an error or a condition you should know about, it
turns on an ALARM Indicator on the LCD.

The message informs the operator that a fault or error has occurred. The Alarm messages are displayed above the
keyboard buffer display and also can be seen by pushing the MESSAGE key from the keypad and then the ALARM
softkey.

An alarm can cause an Emergency Stop, a Master Stop, or a Cycle Out condition. A special fault code is assigned to
each fault.

21.30 - 4 OPERATING PROCEDURES


Alarm messages may be output by any of three sources, CNC Diagnosis, External Alarm Messages, or Alarms
caused by Custom Macro commands. Pushing the RESET button will clear an alarm generated by the CNC self-
diagnosis system or by a Custom Macro command. External Alarm messages are cleared by external commands.

Several alarms can be present at the same time; furthermore, any combination of uncorrected and corrected faults is
possible. Pressing the RESET pushbutton does an Alarm Reset. That is, it clears the corrected faults so they are no
longer present and also extinguishes the Alarm Indicator.

SHUTDOWN

There are two (2) levels of shutdown; Daily Shutdown and Extended Period Shutdown. The one to use is based on
your requirements and/or desires. If the machine is to remain idle for a single work-shift, or overnight, the daily
shutdown is probably the preferred method. If a plant shutdown is planned, or some maintenance work is to be done,
the Extended Period Shutdown would typically be used.

****************************************************************************************

SHUTDOWN WINDOWS BEFORE TURNING CONTROL OFF

****************************************************************************************
DAILY SHUTDOWN

For Daily Shutdown of the machine tool, use the following procedure. All of the data will remain stored in Memory, if
this procedure is followed.
Note: If executing a part program, complete the active machining operation and Cycle-Out the program at
a position where the tool and workpiece are not in contact (i.e. a Z or W axis tract move), before
starting the Shutdown procedure. To Cycle Out, press the SINGLE BLOCK key. The control will
finish executing the active block and then stop execution.

1. Push the RESET pushbutton. All machine motion will stop. Program execution will be canceled and the
program restarted at the beginning.

2. Push the EMERGENCY STOP pushbutton. This turns OFF the hydraulic supply units and shuts down the
machine.
Note: Power is still applied to the control. The control can still be used to load, edit, or punch part
programs.

In this state of shutdown, data stored in memory, and references are retained. To continue machine operation; reset
the EMERGENCY STOP and press MACHINE START, the machine is again operational.

EXTENDED PERIOD SHUTDOWN

An Extended Period Shutdown of the machine tool is done by doing the following procedure. All of the data will
remain stored in memory, if this procedure is followed.
Note: If executing a part program, complete the active machining operation and Cycle Out the program at a
position where the tool and workpiece are not in contact (i.e. a Z and/or X axis retract move), before
starting the Shutdown procedure. To Cycle Out, press the SINGLE BLOCK key. The control will
finish executing the active block and then stop execution.

OPERATING PROCEDURES 21.30 - 5


****************************************************************************************

MAINTENANCE REPAIR WORK MUST ONLY BE PERFORMED BY QUALIFIED PERSONNEL.


ALL APPROPRIATE SAFETY PROCEDURES MUST BE FOLLOWED.

****************************************************************************************
1. Push the RESET pushbutton. All machine motion will stop. Program execution will be canceled and the
program restarted at the beginning.

2. Push the EMERGENCY STOP pushbutton. This turns OFF the hydraulic supply units and shuts down the
machine.

3. Press CTRL + AUX keys.

4. Select SHUTDOWN (U key).

5. Select INPUT key.

6. Wait for the message indicating you may turn off your computer.

7. Since the machine is to be down for an extended period of time or for maintenance that is requiring power to
be shut off, the Main Disconnect switch can now be turned off.
Note: It is recommended that the Main Disconnect switch be left ON for normal end-of-the-day
shutdown. This switch can be turned OFF, but since there is little power used by the control
alone, it’s better left ON.

BASIC JOG OPERATIONS

Continuous axis motion is accomplished in the JOG mode, by using the FEED / TRAVERSE Direction selector and
the FEED % OVERRIDE switch. Motion can also be done in the Incremental Jog mode for incremental distances.

FEED SELECTION

The FEED % OVERRIDE switch allows the operator to adjust the programmed or
manual feedrate, from 0% to 120%. It is also used to override rapid traverse motion.

In the Jog mode, feedrates are selected by adjusting the FEED % OVERRIDE control.
The feedrate will be in feed per minute.

Adjust the feedrate as needed with the FEED % OVERRIDE control. Turn the FEED
% OVERRIDE control clockwise to increase the feedrate and turn it counter-clockwise
to decrease feedrates.

The active feedrate as well as the percentage selected are displayed on the Position
screen.

21.30 - 6 OPERATING PROCEDURES


AXIS SELECTOR PUSHBUTTONS

The AXIS SELECTOR pushbuttons are used to select an axis or spindle for the Jog and the
Incremental Jog mode.

JOG PUSHBUTTONS

In the JOG mode, the axes can be positioned at the selected feedrate by following these
steps:

1. Select the desired AXIS pushbutton.

2. Select the desired rate with the FEED % OVERRIDE selector.

3. Press the +/- (PLUS or MINUS) pushbuttons for the direction of travel desired. The
axis will begin to move at the selected feed rate. Pressing the RAPID button (located
between the +/-) will accelerate the axis to the traverse rate times the percentage
selected on the FEED % OVERRIDE control.
Note: The axis will continue to travel, at the selected feedrate, even after the RAPID
button is released. Feed will continue until the plus or minus pushbutton is released or if the FEED
% OVERRIDE control is turned to zero.

INCR (INCREMENTAL) JOG PUSHBUTTON

Incremental Jog selection requires an AXIS pushbutton and one of the INCREMENTAL distance pushbuttons. These
buttons are labeled as X1, X10, X100, X1K where X1 = .0001” / .001 mm.

When the INCR JOG button is lit, indicating Incremental mode is active; these buttons
can then be used. Pressing one of the INCREMENTAL distance buttons will then
activate that value stated on the button for manual, incremental motion.

In the Incremental Jog mode, the axes can be positioned in incremental distances
using the INCREMENTAL keys.

Follow these steps to make an incremental move:

1. Press the INCR JOG pushbutton until lit.

2. Press the desired AXIS and INCREMENTAL distance pushbuttons until lit.

3. Select the desired rate with the FEED OVERRIDE % selector. Zero feed override will inhibit incremental
movement until the override control is turned up. Axis movement will then take place. Increments are not
accumulated while the override is at zero. Only one move is stored.

4. Press the desired direction of travel, +/- pushbutton and the AXIS pushbutton.

The axis will accelerate to traverse rate, times the percentage selected on the FEED % OVERRIDE control, and
move the incremental distance selected.

OPERATING PROCEDURES 21.30 - 7


MANUAL PULSE GENERATOR

The Manual Pulse Generator (MPG) is a standard hand wheel that allows the operator to
manually move an axis. If the hand wheel is turned clockwise the axis is move in the positive
direction and turning the hand wheel counter clockwise will cause axis motion in the minus
direction.

When the hand wheel is spun at a very fast rate, increments are not accumulated, they are
lost. That is to say, when the MPG stops turning the axis will stop moving.

If the MPG is turned fast enough to command an axis to exceed its traverse rate, the axis will
only move at its traverse rate.

There are two switches included in the use of the MPG, the Axis selector switch, and the MPG
pushbutton.
Note: For information on the optional Fanuc HMOP remote station, see HAND HELD UNIT section of this
manual.

MPG OPERATION

MPG operation is initiated by pressing the HANDLE pushbutton. An axis must be selected by rotating the AXIS
selector switch to the desired axis. The increment value is determined by rotating the INCREMENT selector switch to
the desired value. When the rotary hand wheel is moved one mark the axis will move the amount specified.
Clockwise rotation moves the axis in the plus direction and counter clockwise rotation moves the axis in the minus
direction.

****************************************************************************************

IT IS THE RESPONSIBILITY OF THE OPERATOR TO SELECT THE PROPER ROTATION ON THE


MANUAL PULSE GENERATOR AS TO CAUSE THE TOOL OR WORKPIECE TO RETRACT AWAY
FROM THE CUTTING SURFACE.

****************************************************************************************

TABLE / SPINDLE CONTROL DEVICES

Table / Spindle rotation is initiated by programming the M03 or M04


code along with a speed (S) command in the MDI or Memory
modes. Manual rotation can only be done in the Jog mode. The
following devices are used for operation.

SPINDLE / TABLE JOG PUSHBUTTON

The TABLE and SPINDLE JOG pushbuttons are located on the


center panel with the axis control pushbuttons. Pressing the SPDL
or TABLE key along with the + or - key will cause rotation (Jog) in
the direction selected. The + key will cause rotation in the M03
direction and the - key will cause rotation in the M04 direction. The
rotation will stop when the keys are released.

21.30 - 8 OPERATING PROCEDURES


SPINDLE / TABLE START PUSHBUTTON

When rotation is commanded with the M03 or M04 command, the SPDL START or TABLE START pushbutton will
flash to alert the operator to press the button. Pressing this button will start the rotation.

SPINDLE / TABLE STOP PUSHBUTTON

Pressing the SPDL STOP or TABLE STOP pushbutton will cause rotation to stop and if CYCLE
START is active, stop all feed motion and abort the active cycle. If pressed while feedhold is
active, the spindle or table can be stopped and restarted to continue the cycle. On vertical
machines this button also controls the optional Live Spindle while in the Milling mode.

SPINDLE / TABLE SPEED % OVERRIDE - ROTARY SWITCH

The SPINDLE / TABLE SPEED % OVERRIDE control allows the operator control of the
selected or commanded spindle or table speed. Turning the control CW increases the
speed; turning CCW decreases the speed.

This switch allows the operator to override programmed spindle or table rotation speeds
from 50 to 120% in increments of 10. When increasing or decreasing the speed, the
minimum or maximum RPM of the shifted range may be reached before the extreme
positions of the switch are reached. This will cause the speed range to shift at the end of
block while in the Auto Shift mode (M40).
Note: Caution must be exercised in reducing the speed to avoid operation of the spindle or table speed
below the constant horsepower range. Observe the load meter on the control and do not operate in
the red portion for extended periods.

BASIC AUTOMATIC OPERATION

Once the machine is started and the required references are done, it is possible to put the machine into production.
Note: Machine operation is dependent on the state of machine Safety Interlocks. These interlocks
basically consist of the access doors. For instance, if the Operator Access Door is open, only Jog
motion of the machine is allowed. For full automatic operation the door must be closed.

There are basically three (3) components required to put the machine into production. These are; a workpiece and its
offsets, cutting tools and the tools offsets, and a part program. The part program will control motion of the tools and
workpiece to produce a good, usable part.

There are two (2) topics covered here that are involved in producing a usable part, they are; Machine Setup and
Program Operation.

MACHINE SETUP

Machine Setup involves the following:

1. Tooling Setup - This includes loading tools into the tool matrix and establishing tool offsets.

A. Loading Tools - Refer to the TOOL CHANGER & TOOL OFFSETS sections for the procedures and
information.

B. Establishing Tool Offsets - Refer to the TOOL CHANGER & TOOL OFFSETS sections for procedures
and information.

OPERATING PROCEDURES 21.30 - 9


2. Workpiece Setup - This includes loading the workpiece onto the table or pallet, loading the pallet if being used,
and establishing a part coordinate system.

A. Loading workpiece onto the table / pallet. Refer to your Manufacturing Engineering department for the
proper procedures for locating and securing the part.

B. Loading pallet into the machine (if required) - Refer to the PALLET CONTROL section for procedures
and information.

C. Establishing a Part Coordinate System - Refer to the COORDINATE SYSTEMS section for more
information.

PROGRAM OPERATION

The basic Program Operations; Transferring, Loading, Selecting and Execution are described here:

• Program Transferring - Pertains to transferring the desired program into the control from a storage device

• Program Loading - Pertains to loading a part program into the control memory, from the hard drive

• Program Selecting - The act of bringing the desired part program into the active buffer, where it is cycled
(executed)

• Program Execution - Running and controlling the part program to machine the part properly
Note: Refer to the PART PROGRAM OPERATIONS section and the Fanuc Operator’s Guide (operating
manual) for procedures and information regarding these program operations.

21.30 - 10 OPERATING PROCEDURES


SECTION 21.40
PART PROGRAM OPERATIONS
TABLE OF CONTENTS

TITLE PAGE
GENERAL ...................................................................................................................................................................... 1

DATA STORAGE DEVICES .......................................................................................................................................... 1

MEMORY ............................................................................................................................................................ 1

DISK DRIVE ........................................................................................................................................................ 1

USB INTERFACE ................................................................................................................................................ 1

SERIAL DEVICES ............................................................................................................................................... 1

KEY INPUT BUFFER DISPLAY ..................................................................................................................................... 2

HANDY SETTING .......................................................................................................................................................... 2

SETTING THE DEFAULT DEVICE ................................................................................................................................ 3


SETTING CNC FOREGROUND / BACKGROUND ....................................................................................................... 3

CNC MEMORY DIRECTORY ........................................................................................................................................ 4

PROGRAM LIST ................................................................................................................................................. 4

FOLDER TREE ................................................................................................................................................... 4

DISPLAYING PROGRAM DIRECTORY ........................................................................................................................ 5

PROGRAM LIST DISPLAY ................................................................................................................................. 5

FOLDER TREE DISPLAY ................................................................................................................................... 5

MULTI-LIST DISPLAY ......................................................................................................................................... 6

MEMORY CARD DIRECTORY ...................................................................................................................................... 6

TRANSFERRING PROGRAMS ..................................................................................................................................... 7

INPUTTING PROGRAMS FROM THE MEMORY DEVICE ................................................................................ 7

INPUT SINGLE PROGRAM ..................................................................................................................... 8

INPUT ALL PROGRAMS .......................................................................................................................... 8

NOTES ON INPUTTING PROGRAMS ..................................................................................................... 8

OUTPUTTING PROGRAMS TO THE MEMORY DEVICE .................................................................................. 9

OUTPUT SINGLE PROGRAM ................................................................................................................. 9

OUTPUT ALL PROGRAMS .................................................................................................................... 10

NOTES ON OUTPUTTING PROGRAMS ............................................................................................... 10

DELETING PROGRAMS ............................................................................................................................................. 10

DELETING FROM THE CNC DIRECTORY ...................................................................................................... 10

DELETING FROM THE MEMORY DEVICE ..................................................................................................... 11

CREATING A NEW FOLDER ...................................................................................................................................... 11

CREATING A NEW PROGRAM .................................................................................................................................. 11

EDITING ...................................................................................................................................................................... 12
BACKGROUND EDIT........................................................................................................................................ 13

SEARCHING ..................................................................................................................................................... 13

ALTERING ........................................................................................................................................................ 14

INSERTING ....................................................................................................................................................... 14

DELETING ........................................................................................................................................................ 14

AUTOMATIC OPERATION .......................................................................................................................................... 15

ACTIVATING A PROGRAM .............................................................................................................................. 15

EXECUTING A PROGRAM............................................................................................................................... 15

DNC OPERATION ............................................................................................................................................ 16

NOTES ON DNC OPERATION .............................................................................................................. 16


GENERAL

This section describes transferring programs in and out of the control, loading programs into memory, and creating
and editing programs stored in the control and also the devices used for transferring data.

A part program is a series of program blocks. The blocks are a combination of commands, codes, and information
required for automatic machining operations. Part programs are stored in the control, on the internal hard drive.
When a program is to be executed, it is loaded into a portion of the memory of the control called the CNC Memory,
and then run. Also, if required, a program can be executed directly from a different drive.

A common practice is to transfer part programs, that are created off-line (not created on the control itself), from a
USB drive or an external storage device (laptop, network, etc.), to the control's hard drive. It is also common to
output part programs from the control to a USB drive or external device, for back-up.

Using the control, the operator can perform the necessary steps to transfer, load and select a part program. A part
program can then be executed to automatically machine a part.

DATA STORAGE DEVICES

Data can be transferred into the control through various devices such as the 3.5" Floppy Disk Drive, RS232C
interface, network drive and USB memory device. These devices are bi-directional, which means you can transmit
and receive data.

Data is stored in the control on a hard drive.

MEMORY

This type of storage is backed-up Random Access Memory (RAM) that consists of memory chips. Random Access
means that data can be read from or written to this device at any time.

When a program is put into the program memory, it is called Loaded. There is no limit to the number of programs
stored in program memory, only up to the memory space available. Part program memory may decrease depending
on the options selected, example part and tool probe cycles.

Program names can be 32 alpha-numeric characters.

DISK DRIVE

The following lists the Disk Drives used on the Fanuc controls:

Optional 3.5" Floppy: This device uses 1.44 HDDS diskettes. These disks have a capacity of 1.44 megabytes of
storage.
Hard Disk: This device is a hard drive that is mounted inside the Operator Station.

USB INTERFACE

There are USB ports on the Fanuc control. Two (2) USB connectors are located on the front face of the operator's
panel. Two (2) USB connectors are located inside the control cabinets. These connectors are a USB 1.1 interface.

SERIAL DEVICES

Serial Communications devices deal with data being transmitted between the control and another type of computer
control. Each control includes two (2) serial port connectors. There is one (1) bi-directional device listed here:

RS232C: This device is used to direct the control to use specific software information so as to input or output
data to the COM1 or COM2 serial port. A user can connect his DNC system to the machine control
and use the RS232C for program download and upload (special consideration must be given to the
program name for program downloading).

PART PROGRAM OPERATIONS 21.40 - 1


KEY INPUT BUFFER DISPLAY

Frequently used functions in this section require data to be typed into a buffer, followed by its input by pressing an
appropriate keyboard or softkey command.

In order for any data to be typed into the buffer from the
keyboard, the Key Input Buffer Display must be showing on the
screen. This is a single white strip or field with a cursor arrow
and an underscore mark at the left end of the field. If the control
is in the proper mode and on the right screen, then this white field will be displayed. This will
indicate that the control will accept data entered from the keyboard. If an error is made with
the data being typed in, the CAN key on the keyboard can be pressed to cancel the previously
entered characters. Each time the CAN key is pressed another individual character will be erased. Then the new
data can be retyped in. When the proper data is typed in, the data in the blue field can then be entered by pressing
its corresponding softkey or key from the keyboard.

HANDY SETTING

Prior to using any of the data storage


devices, it is important to make sure that
the CNC control is set up properly to allow
for the inputting and outputting of programs
to the intended devices. With a more
thorough explanation of these devices
coming later in this section, the control
offers multiple data storage devices.

To verify that the control is set up to


transfer data from one of these devices, FIGURE 21.40 - 1
place the control in the MDI mode of Settings (Handy) Page
operation. Then press the OFS / SET key
on the keyboard. Pressing the SETTING vertical softkey will display the Setting (Handy) screen. On this screen, the
I/O Channel will typically be set to 4. A setting value of 4 indicates that the device is a floppy disk, a USB device or a
folder located on the control. If the I/O Channel is set to a different number, then the control is set to send and
receive data from a device such as the RS-232 serial port (i.e. PRINTER, DNC, etc.) or the Embedded Ethernet port.

Examples of devices:

1 The RS-232 is port #1

4 Input / Output device specified via the following SETTING THE DEFAULT DEVICE description

9 The Embedded Ethernet port on the CNC


Note: Refer to parameter 0020 in the FANUC manuals supplied with the machine for more available
devices.

21.40 - 2 PART PROGRAM OPERATIONS


SETTING THE DEFAULT DEVICE

In addition to the I/O Channel being set properly,


the PC side of the control must be set accordingly.

There is also data storage devices used outside or


externally from the CNC control for storing
programs. These storage devices can be a
compact flash memory card, the hard drive (C:
drive) or the USB memory stick. These devices
can also display the programs that are stored on
them. The directory display allows the operator to
view program names that are stored at these
locations and then input or output the programs
from one device to another or delete them from
the device. Keep in mind that the following
procedures are only one way of doing something.
There may be other ways of doing the same thing.

The procedure for selecting the default device is


as follows: FIGURE 21.40 - 2
1. With the cursor on the display screen, right Set Default Device (Browse)
click the mouse to enter the PC mode. This
will bring up a pull-down menu.

2. Use the UP and DOWN keys on the keyboard or mouse to select DATA INPUT /
OUTPUT. Press INPUT key to select.

3. The current default device will appear in the window. Enter the desired device:

• A:\ for the Floppy drive

• C:\ for the Hard drive

• D:\ for the Memory Card or USB memory stick, if both devices are loaded, they will be labeled as D:\ and
E:\ in the order they are loaded

• Browse can also be used by clicking on browse and select the desired device as shown above

• Subdirectories can also be used as the default device: D:\NCPROGRAMS\


Note: Be careful not to delete the \. There is no key available to reenter.

4. Press INPUT. The default device is now selected.

SETTING CNC FOREGROUND / BACKGROUND

The folder where files are to be transferred to or output from must be setup as the Foreground and Background
Folders. To set a folder as the Foreground & Background Folder:

1. Press the EDIT mode button.

2. Turn the MEMORY PROTECT keyswitch to the ALLOW position.

3. Press the PROG key.

4. Press the FOLDER vertical softkey.

5. Use the ARROW keys to highlight the desired folder and press
INPUT to open the folder. Press the FORE CHANGE and the
BACK CHANGE softkeys.

PART PROGRAM OPERATIONS 21.40 - 3


CNC MEMORY DIRECTORY

The CNC control has a memory location that


stores programs that will be executed to machine
parts. This program memory device is called a
CNC Memory (CNC MEM).

There are two ways of viewing the folders and


programs; the Program List and the Folder Tree.

FIGURE 21.40 - 3
Program List Display (Folders)
PROGRAM LIST

The default for displaying the folders and programs


is called the List Display. Refer to FIGURE 21.40 -
3 & FIGURE 21.40 - 4.

FOLDER TREE

The Folder Tree Display allows easier


management of programs. Navigating the folder
structure is simple and multiple folders can be
displayed simultaneously for file compares and
transfers. The folder tree is displayed on the left
side of the screen, and the list of folders and
programs in the selected folder are displayed on FIGURE 21.40 - 4
the right side of the screen. Refer to FIGURE Program List Display (Programs)
21.40 - 5.

The programs and folders in the


selected folder are displayed.

FIGURE 21.40 - 5
Folder Tree Display

21.40 - 4 PART PROGRAM OPERATIONS


DISPLAYING PROGRAM DIRECTORY

A series of folders are available for program storage. The four (4) folders shown in FIGURE 21.40 - 3 are dedicated
folders and cannot be deleted.

Navigation within the folder structure is provided by the UP and DOWN ARROW keys on
the keyboard. Scrolling up and down to highlight a folder, then pressing the INPUT button
to select, will open the folder and display the file contents. To navigate back up one level,
select RETURN TO UPPER FOLDER and press INPUT.

Programs can be stored in any folder, but the main programs and subprograms are
normally stored in the USER folder. The MTB1 & MTB2 folders are normally reserved for MAG machine files and G-
code & M-code created macros. Files in these folders are protected and should not be modified, as machine
functionality and safety could be compromised.

PROGRAM LIST DISPLAY

1. To display the Program List Directory, the control must be in the Edit mode of operation.

2. Press the PROG key on the keyboard.

3. Press the FOLDER vertical softkey on the right


side of the screen.

4. If the CNC directory is not shown, press the


DEVICE CHANGE softkey and then the CNC
MEM softkey. This will display the directory of
the active folder. The desired folder can be
selected by the ARROW keys and pressing
INPUT.
5. To display the programs in the selected folder,
press INPUT.

FOLDER TREE DISPLAY

1. To display the Folder Tree Directory, the control must be in the Edit mode of operation.

2. Press the PROG key on the keyboard.

3. Press the FOLDER vertical softkey on the right side of the screen.

4. If the CNC directory is not shown, press the DEVICE CHANGE softkey and then the CNC MEM softkey. This
will display the directory of the active folder. The desired folder can be selected by the ARROW keys and
pressing INPUT.

5. Press the TREE LIST softkey.

6. The programs are displayed on the right side of the screen. Refer to FIGURE 21.40 - 4. To
move from the folder list to the program list press the TAB key on the keyboard.
Note: To cancel the Folder Tree Display, press the LIST softkey.

PART PROGRAM OPERATIONS 21.40 - 5


MULTI-LIST DISPLAY

With the Folder Tree Display it is possible to have Multi-List Display. The viewing of contents of two folders
simultaneously will improve comparison or transferring of files. This can be set up with Parameter 11381 bit #1;
0=Disabled or 1=Enabled. To view the multi-list displays press the MULTI-LIST softkey. To return to a single list
display, press the SINGLE LIST softkey.

FIGURE 21.40 - 6
Multi-List Display

To move between the two program lists, press the RIGHT or LEFT ARROW keys on the keyboard. To move
between the program lists and the folder list press the TAB key on the keyboard.

MEMORY CARD DIRECTORY

The Memory Card Directory displays the default


device set up in SETTING THE DEFAULT
DEVICE topic earlier in this section.

1. To display the Memory Card Directory the


control must be in the Edit mode of
operation.

2. Press the PROG key.


3. Press the FOLDER vertical softkey.

4. If the Memory Card Directory is not shown,


press the DEVICE CHANGE horizontal
softkey and then the MEMORY CARD
softkey as shown. The heading will be
DEVICE : M_CARD as shown in FIGURE
21.40 - 7.
FIGURE 21.40 - 7
Memory Card Directory - Program List

21.40 - 6 PART PROGRAM OPERATIONS


TRANSFERRING PROGRAMS

Basic procedures for inputting, outputting, and deleting programs are covered here.

When inputting or outputting programs and a file already exists on the receiving drive, programs will be overwritten if
parameter 3201 bit #2 is set to 1, which is the default. If this parameter is set to 0, programs will not be overwritten
and a fault will occur. Another parameter that may be helpful is parameter 11308 bit #1. When outputting a program
only, and this parameter is set to 1 a message will appear asking if
the program should be overwritten when a copy already exist. Press
CANCEL to cancel or YES to approve the overwriting of the program.
Refer to the TABLE 21.40 - 1 for parameter settings, results and
messages when inputting and outputting programs.
Parameter No.
3201 11308 Input Results Output Results
bit 2 bit 1
0 0 The same name program is registered File already exists
0 1 The same name program is registered Overwrite?
1 0 Program overwritten File already exists
1 1 Program overwritten Overwrite?
TABLE 21.40 - 1
Parameter Settings and Results

INPUTTING PROGRAMS FROM THE MEMORY DEVICE

Inputting is the loading of a program from a device, such as the memory card or floppy disk, into the CNC memory.
In the Fanuc documentation and on the CNC screens, input is referred to as F INPUT on the control.
Note: The files will be inputted into the CNC Memory folder setup as the Foreground Folder, explained
earlier in this section.

FIGURE 21.40 - 8
Input File from Memory Card

PART PROGRAM OPERATIONS 21.40 - 7


INPUT SINGLE PROGRAM

Follow these steps to input a single program to the CNC control memory.

1. Insert the memory device, if applicable; press the EDIT mode button.

2. Turn the MEMORY PROTECT keyswitch to the ALLOW position.

3. Press the PROG key.

4. Press the FOLDER vertical softkey. Make sure Foreground and Background folders are set properly.

5. Press DEVICE CHANGE softkey.

6. Press the proper memory softkey.

7. Select the desired file using the ARROW keys to highlight.

8. Press the F INPUT softkey.

9. Press the F GET softkey. The file can also be


selected by entering the file number and pressing F
SET.

10. Press the F SET softkey. The file name appears below the buffer display.

• The program will be registered under the program name specified in the NC program.

• When no program number is specified at the start of a program, the sequence number (N....) at the start of
the program is used as its program number.

• If there is no program number or sequence number at the start of a program or to load a program using a
different program number, enter the desired program number and press P SET in addition to the above.
The program name will be added to or changed in the NC program.

11. Press the EXEC softkey. This will load the program from the selected memory into the
CNC memory.

INPUT ALL PROGRAMS

1. Insert the memory device, if applicable; press the EDIT mode button.

2. Turn the MEMORY PROTECT keyswitch to the ALLOW position.

3. Press the PROG key.

4. Press the FOLDER vertical softkey. Make sure Foreground and Background folders are set properly.

5. Press DEVICE CHANGE softkey.

6. Press the proper memory softkey.

7. Select the ALL-PROG.TXT file with ARROW keys to highlight.

8. Press the F INPUT softkey.

9. Press the P SET softkey.

10. Press the EXEC softkey. This will download all programs in the selected file to the foreground folder in the
CNC Memory.

NOTES ON INPUTTING PROGRAMS

• If a program number is used as the file name, it is limited to 7 digits after the O, for example (O0004000).

• The file name must be all capital letters when inputting from a memory device.

21.40 - 8 PART PROGRAM OPERATIONS


• If no file name (F SET) is entered or selected before pressing EXEC, the file ALL-PROG.TXT is assumed. ALL-
PROG.TXT is the default file name when outputting all programs from memory. If the file is not on the card, a
fault is generated.

OUTPUTTING PROGRAMS TO THE MEMORY DEVICE

Outputting is the loading of a program from the CNC memory into a device, such as the memory card or floppy disk.
In the Fanuc documentation and on the CNC screens, output is referred to as F OUTPUT on the control.
Note: The files can only be outputted from the Foreground Folder of the CNC Memory, explained earlier in
this section.

FIGURE 21.40 - 9
Output File to Memory Card

OUTPUT SINGLE PROGRAM

Follow these steps to output a single program from the CNC control memory.

1. Insert the memory device, if applicable; press the EDIT mode button.

2. Turn the MEMORY PROTECT keyswitch to the ALLOW position.

3. Press the PROG key.

4. Press the FOLDER vertical softkey. Make sure Foreground and Background folders are set properly.

5. Press the DEVICE CHANGE softkey.

6. Press the CNC MEM softkey to display the CNC directory if necessary.

7. Select the desired file using the ARROW keys to highlight.

8. Press the F OUTPUT softkey. This will display the softkeys shown here.

9. Press the P GET softkey. The file can also be selected by entering the file number and pressing P SET.

10. Press the P SET softkey. The file name appears below the buffer display.

11. Press the EXEC softkey. This will download the program from the CNC memory into the selected memory.

PART PROGRAM OPERATIONS 21.40 - 9


OUTPUT ALL PROGRAMS

11. Insert the memory device, if applicable; press the EDIT mode button.

12. Turn the MEMORY PROTECT keyswitch to the ALLOW position.

13. Press the PROG key.

14. Press the FOLDER vertical softkey. Make sure Foreground and Background folders are set properly.

15. Press the DEVICE CHANGE softkey.

16. Press the CNC MEM softkey to display the CNC directory if necessary.

17. Press the F OUTPUT softkey.

18. Press the F SET softkey. This will set the file name to the default, ALL-PROG.TXT. To assign a file name to
the file, enter the desired file name and then press F SET.

19. Press the EXEC softkey. This will download all programs in the foreground folder to the Memory Card under
the default file name ALL-PROG.TXT or to an assigned file name.

NOTES ON OUTPUTTING PROGRAMS

• To select a series of program numbers, enter first and last number separated with a “,” as follows: O6000,O6999

DELETING PROGRAMS

Deleting is the removal or erasing of a program from the CNC memory or a memory device.

DELETING FROM THE CNC DIRECTORY

Follow these steps to delete a program from the


CNC control memory:

1. Turn the MEMORY PROTECT keyswitch to


the Allow position.

2. Press the EDIT mode button.

3. Press the FOLDER vertical softkey to


display the active folder.

4. Select the program to be deleted using the


ARROW keys or enter the program name.
5. Press the DELETE softkey.

6. Press the EXEC softkey. This will delete


the program from memory.

FIGURE 21.40 - 10
Delete File from CNC Memory

21.40 - 10 PART PROGRAM OPERATIONS


DELETING FROM THE MEMORY DEVICE

Deleting is the removal or erasing of a program from the Memory Card (the Memory Card can be a floppy disk, a
USB device or a folder on the PC). Follow these steps to delete a program from the Memory Card:

1. Turn the MEMORY PROTECT keyswitch


to the Allow position.

2. Insert the Memory device and press the


EDIT mode button.

3. Press the FOLDER vertical softkey to


display active device. Select the memory
card device.

4. Select the program to be deleted using


the ARROW keys or enter the Program
Name.

5. Press the DELETE softkey.

6. Press the EXEC softkey. This will delete


the file from the Memory Card.
FIGURE 21.40 - 11
CREATING A NEW FOLDER Delete File from Memory Card
It is possible to create additional folders under the USER level to organize part programs. For example, folders can
be created by job names or part programmer of functional names such as TEST, TEMP, or PRODUCTION to assist
in identifying files when housekeeping is required. Each folder name must be unique within the same folder. Follow
these steps to create a folder.

1. Turn the MEMORY PROTECT keyswitch to the Allow position.

2. Press the EDIT mode button and the FOLDER vertical softkey.

3. Select the desired folder for example /USER/CUSTOMER/.

4. Enter the desired folder name for example CUSTOMER NAME.

5. Press the CREATE FOLDER softkey.

CREATING A NEW PROGRAM

Creating a program is the process of inputting a


program into the control memory via the keyboard.
Follow these steps to create a program and input it into
memory (Directory):

1. Turn the MEMORY PROTECT keyswitch to the


Allow position.

2. Press the EDIT mode button and the FOLDER


vertical softkey.

3. Select the desired folder for example


/USER/CUSTOMER/.

4. Enter the new program name for example MILL-


SLOT. FIGURE 21.40 - 12
Create New Program

PART PROGRAM OPERATIONS 21.40 - 11


5. Press the CREATE PROGRAM softkey. This creates a new program.

6. Highlight the newly created program.

7. Press the INPUT key. This opens the program in the editor.

8. Using the keyboard, enter each program block, pressing the INSERT key on the keyboard after each block of
data is typed.

Example:

<MILL-SLOT>;
N0001G90;
N0002G54X2 Y0;
N0003G00Z.1;
N0004S300M03;
Note: Depending on which editor you are using (the "word-by-word" editor or the "character-by-character"
editor), the procedure for entering data can vary. For example; with the "word editor", when entering
program blocks, the ";" character (EOB) must be entered. With the "character editor", the ";"
character is added when INPUT is pressed. Spaces can be entered when using the "word editor",
spaces are not allowed when using the "character editor". The % sign (End of Record) will appear
automatically. Also note that block numbers at the beginning of each line is very useful for
searching.

EDITING

The Fanuc control is equipped with two modes of editing. The standard editor, as shown on FIGURE 21.40 - 13,
performs word-by-word editing, where, the whole word has to be entered when making a change.

The second mode shown on FIGURE 21.40 - 14,


performs character-by-character editing where
single character can be modified, inserted and
deleted.

The Edit modes are switched by pressing the


CHANGE EDITOR softkey.

Editing can be done to a program that is active, but FIGURE 21.40 - 13


not running or to a program in the background Edit Mode with Word Editor Selected
while the active program is running. The steps
described here apply to an active program.

1. The MEMORY PROTECT keyswitch must be


on the Allow position and the EDIT mode
button must be selected. Editing can only be
done on the program display as shown on the
right.

2. Press the PROGRAM vertical softkey to select


this page and edit the active program.

3. Once complete with the edit always move off of


the block or press the SAVE horizontal softkey.
Note: On vertical turning machines special
considerations are required on
machines equipped with the 4-axis
feature. See the FOUR-AXIS CONTROL
FIGURE 21.40 - 14
section for more information.
Edit Mode with Character Editor Selected

21.40 - 12 PART PROGRAM OPERATIONS


BACKGROUND EDIT

Background editing is possible with up to four (4)


programs being open in the editor at once. FIGURE
21.40 - 15 shows an example of multiple programs
open in the background editor (BG-EDIT).

The steps to open multiple programs in the


Background Edit are described here:

1. The MEMORY PROTECT keyswitch must be


on the Allow position and the EDIT mode
button must be selected.

2. Press the PROG key.

3. Press the FOLDER vertical softkey.

4. Select the program to be edited.

5. Press the INPUT key. This opens the program


in the background editor.
FIGURE 21.40 - 15
6. To open another program in the background Multiple Programs in Background Edit
editor, press the FOLDER vertical softkey.

7. Select the program to be edited.

8. Press the INPUT key. This can be continued with up to four (4) programs.

9. Press the BG END or BG ALL END softkeys to close the selected program or all programs.

It is possible to use copy and paste between all of the open programs in the background editor.
Note: The program having the blue title bar is the current program being edited. Press the SHIFT key and
the LEFT or RIGHT ARROW key to move between the open programs.

SEARCHING

It is not required, but recommended, that a block number be entered at the beginning of each line of the program.
This will allow for block searching of the program. If the program is stopped and the operator wants to forward or
reverse search to a different line of the program, block numbers will simplify the process. To search to a block:

1. Stop program execution by pressing the SINGLE BLOCK pushbutton.

2. After the CYCLE START lighted pushbutton turns off, block searching is allowed. To search to a block number,
type in the number of the block. Press the N SRH softkey. The yellow highlighter box will search to that block.

3. Press CYCLE START to begin program execution on that block.

It is also possible to search to a block number while in the Edit mode by using the ARROW keys or by searching to a
string of characters. However, this may or may not be the next block executed in the Memory mode. This depends
on how the program is stopped. While executing a program, the next block is stored in the buffer and that will be the
next block to be executed unless a search is done or the program is reset. For example, if a block is executing and
the program is stopped with Single Block, the next block is buffered. If in the Edit mode, a different block is selected,
the next block will still be the block that is buffered and that block will be executed first. Then the block selected while
in the editor will be executed next. The buffered block is cleared by Reset and by the search feature.

Note: On vertical turning machines special considerations are required on machines equipped with the 4-
axis feature. See the FOUR-AXIS CONTROL section for more information.

PART PROGRAM OPERATIONS 21.40 - 13


The following methods can be used to search while in the Edit mode:

• Search with Arrow keys:

The Arrow keys located on the keyboard can be used to move the yellow cursor box to the desired item.

• Search by Line Search:

Line numbers can be inserted in the program while in the character-by-


character Edit mode by pressing the LINE NUMBER softkey as shown here.
Note: Line numbers are not sequence numbers; they are the line
number of the program as shown here.

When the LINE SEARCH softkey is pressed, the softkeys shown on the right
appear along with the Line No. box. To search by line number,
enter the desired number and press the LINE NUMBER softkey.
Pressing the TOP and BOTTOM softkeys will put the cursor at
that location.

• Search by Word Search:

To search by word, type entire word, such as X5.75


or a block number N25, and press the SEARCH
softkey. The Search softkey searches from where
the cursor is to the end of the program. If the item is
FIGURE 21.40 - 16
not found, then use the softkeys SEARCH↑ to search
up to the word. Search Softkeys

Note: The search function requires upper case


(ABC / abc key) to be selected.

ALTERING

When using the word-by-word editor, program data can be altered, or changed, as shown here.

Example: Change S300 to S100.

O1234;
N0001 G90;
N0002 G00 X2 Y0;
N0003 S300 M03;
N0004 M30;

1. Search to the item to be changed (S300), as described earlier.

2. Type in the new data via the keyboard (S100).

3. Press the ALTER key on the keyboard.

INSERTING

When using the word-by-word editor, insertion or adding an item of data to a program is done as follows:

1. Follow the searching procedure to advance to the item immediately before the point where insertion is desired.

2. Type in the new data.

3. Press the INSERT key on the keyboard to insert the word.

DELETING

To delete or remove an item, follow these steps:

1. Follow the searching procedure to advance to the item to be deleted.

21.40 - 14 PART PROGRAM OPERATIONS


2. Press the DELETE on the keyboard. This will remove the item highlighted by the yellow cursor box.
Note: The functions described above; ALTERING, INSERTING and DELETING are typical of the "word-by-
word" editor. When using the "character-by-character" editor, you can simply position the cursor to
the point where you wish to make a change and begin typing to insert characters or use the DELETE
and BACKSPACE keys to remove characters.

It must also be noted that in order for changes made in the "character-by-character" editor be taken
permanently, the SAVE softkey must be pressed or the cursor must be move off of the edited line.

AUTOMATIC OPERATION

Programmed operation of a CNC machine tool is


referred to as automatic operation. Covered here
will be the procedures for activating a program,
executing a program and DNC operation.

ACTIVATING A PROGRAM

An @ symbol in front of a name indicates the active


part program.

Following are steps to activate a program from the


directory.

1. Press the MEM or EDIT pushbutton to enter


the Memory or Edit modes.

2. Press the PROG key from the keyboard and


press the FOLDER vertical softkey to display
the CNC directory. FIGURE 21.40 - 17
3. Select the desired program using the Program Folder (Main Program Key)
ARROW key and press the MAIN
PROGRAM softkey.

4. Press the PROGRAM or CHECK vertical


softkey to view the active program. The
program is now ready to execute.

EXECUTING A PROGRAM

With the proper program active, it is possible to start


executing that program by simply pressing the
CYCLE START pushbutton on the lower portion of
the control. It is important however, that the
operator has the machine tool and the workpiece
properly prepared for the actual machining of the
workpiece. This may include but is not limited to;
proper alignment of the machine tool to the
workpiece, proper clamping of the workpiece,
FIGURE 21.40 - 18
fixturing, and tooling, the setting of fixture and tool
Program Check Screen
offsets, etc.

The operator must also recognize that it is his/her responsibility to verify that the proper program data is active before
and during the machining of the workpiece. Review the program before execution and monitor the data displayed on
the control's program display screen during program execution.

When automatic operation of the program begins by pressing the CYCLE START pushbutton, the CYCLE START
pushbutton will illuminate. When automatic operation ends, the light in the CYCLE START pushbutton will turn off.

PART PROGRAM OPERATIONS 21.40 - 15


When automatic operation begins, each line or block of the program will execute and when that line is complete, the
next line of the program will automatically begin execution. The line being executed is the line highlighted in yellow
on the program display screen.

DNC OPERATION

The internal part program memory is now only one of the sources for part programs to be executed. Programs can
be run from an external device such as the memory card or data server by selecting the DNC operation. The
following procedure is used to run a program through DNC:

1. Make sure you are pointing to the appropriate directory on the external device using the data input / output
dialog box.

2. Select DNC mode by pressing the REMOTE


key.

3. Select the FOLDER vertical softkey.

4. Select the DEVICE CHANGE horizontal


softkey.

5. Select the MEMORY CARD horizontal


softkey. You may need to hit the REFRESH
softkey if the directory is not displayed.

6. Cursor DOWN and highlight the file you would


like to run. Press the DNC SET softkey to
FIGURE 21.40 - 19
select. A D will appear next to that file as
DNC Selection Page
shown above.

7. The program on the external device is now selected for execution. Press the CYCLE START to execute the
program. The program will be displayed on the check screen.

8. To cancel the DNC operation, press the DNC CLEAR softkey. The D mark for the file will be removed.

NOTES ON DNC OPERATION

• To use the DNC operation function, it is necessary to set the parameters related to the RS232C interface or the
reader / punch interface in advance.

• Programs on external device can be edited with the CNC editor.

• The control commands (such as GOTO and WHILE-DO) cannot be executed during DNC operation. If a repeat
instruction or branch instruction is executed, alarm PS0123 is issued.

• Custom macros can be specified during DNC operation. While in a custom macro GOTO and WHILE
commands can be specified. If a repeat instruction or branch instruction is executed, alarm PS0123 is issued.

• The M198 command for calling a program from within an external input/output unit during DNC operation cannot
be executed. If M198 is executed, alarm PS0210 is issued.

• When returning from a subprogram or macro program to the called program the specification of a return
command M99Pxxx with a sequence number specified is not allowed.

• DNC operation cannot be performed using a program in a USB memory.

21.40 - 16 PART PROGRAM OPERATIONS


SECTION 30.10
TOOL OFFSETS
TABLE OF CONTENTS

TITLE PAGE
GENERAL ...................................................................................................................................................................... 1

TOOL LENGTH COMPENSATION ..................................................................................................................... 1

TOOL OFFSET DISPLAY .............................................................................................................................................. 2

NUMBER OF TOOL OFFSETS........................................................................................................................... 3

ESTABLISHING TOOL OFFSETS ................................................................................................................................. 3

DETERMINING TOOL OFFSETS WITH TOOL LENGTH MEASUREMENT ...................................................... 3

LOADING TOOL OFFSETS ................................................................................................................................ 4

LOADING TOOL OFFSETS THROUGH TOOL OFFSET PAGE.............................................................. 4

LOADING TOOL OFFSETS WITH G10 ................................................................................................... 4


LOADING TOOL OFFSETS WITH SYSTEM VARIABLES ....................................................................... 5

MODIFYING THE TOOL OFFSET DATA............................................................................................................ 5

MODIFYING WEAR OFFSETS THROUGH TOOL OFFSET PAGE ........................................................ 6

MODIFYING GEOMETRY TOOL OFFSETS THROUGH TOOL OFFSET PAGE .................................... 6

MODIFYING TOOL OFFSETS WITH G10 ............................................................................................... 6

MODIFYING TOOL OFFSETS WITH SYSTEM VARIABLES .................................................................. 6

SUMMARY .......................................................................................................................................................... 7

INPUT / OUTPUT OF TOOL OFFSET DATA ................................................................................................................ 7

OUTPUT EXAMPLE ............................................................................................................................................ 7

CUTTER COMPENSATION........................................................................................................................................... 8

ACTIVATING CUTTER COMPENSATION ......................................................................................................... 8

CUTTER SIZE ..................................................................................................................................................... 9

VECTOR HOLDING - G38 ................................................................................................................................ 10

CORNER ARC - G39 ........................................................................................................................................ 11

DETAILS OF CUTTER COMPENSATION ................................................................................................................... 12

CUTTER COMPENSATION ON .................................................................................................................................. 13

CUTTER COMPENSATION CANCEL ......................................................................................................................... 14


GENERAL

The Fanuc control has an area for tool memory storage. This area is used for data stored in H and D-codes to
compensate for tool standoff dimensions, tool wear, cutter radius compensation and cutting characteristics of the
tools being used.

Two possible Tool Offsets may be used. One of these offsets is the Tool Length offset, which is activated with an H-
code and the other is the Cutter Radius Compensation, which is activated with a D-code.

TOOL LENGTH COMPENSATION

Tool Length Compensation is a means of compensating for deviation between the programmed set length of a tool
and the actual length of the tool utilized in the part program. When part surface programming format is used, the
value entered into the tool offset table for length compensation is equal to the actual set length of a tool. The
compensation value is entered into the tool offset table by the operator or by the program. The control governs the
tool length by adjusting the X, Y, Z or W-axes in the positive or negative direction by the value entered into the tool
offset table and the G43/G44 codes.

The H-code can contain tool length values for the X, Y, Z and W-axes. These values can range from ±9999.9999
inches or ±99999.999 mm. When an H-code is programmed, the values stored in that H-code are activated. The H-
code alone will not activate the offset, a G43 or G44 and the axis the offset is to be applied to must also be
programmed with the H-code.

The tool length compensation can be applied to either the W or Z-axes. If using a
right angle attachment the offset can be applied to the X or Y-axes as well.

In the case of a right angle attachment or NC contouring head, it is possible to


have two offset active at the same time. This is done by activating a different
offset in two planes, G17 & G19.

For example:
Z/W+
A G43 is programmed with the H-code and axis move to add the offset amount or
a G44 to subtract the amount. G44 would only be used if a tool were pointing in Z/W-
Z/W+
the X+ or Y+ direction. Activating a G43 or G44 with the H-code and the axis
position will cause axis motion.
FIGURE 30.10 - 1
The Z/W value represents the distance from the tip of the tool to the reference
Z/W Tool Offsets
surface (usually gage line or face) of the spindle as shown in FIGURE 30.10 - 1.

In the case of a right angle attachment (FIGURE 30.10 - 2) or NC


contouring head, it is possible to have two offsets active at the same
time. This is done by activating a different offset in two planes, G17-
G19. H98
For example:
N100 G43 G17 H30 W30;
Y
N110 G43 G18 H98 Y10;

H30 contains the W offset from the spindle zero to the center of the tool.
Z/W H30
H98 contains the offset from the center of the spindle to the tip of the
tool in the Y-axis.
FIGURE 30.10 - 2
With two offset active, programming an H0 will only cancel the offset in
Y & W Tool Offsets
the active plane. Programming a G49 will cancel both offsets.

TOOL OFFSETS 30.10-1


The tool length offset can be programmed with G43 or G44 on the same line as the canned cycle and the offset is
applied when positioning the tool to the R plane.

Programming another offset changes the current offset. Programming a G49 or H0 cancels the current offset code.
The RESET pushbutton does not normally cancel tool offsets, see parameter 5003 bit 6.
Note: Parameter 5006 #6 (TOS) determines whether the axis moves when the offset is canceled or changed
as follows:

0: Tool length compensation is performed by an axis movement.


1: Tool length compensation is performed by shifting the coordinate system.

Note: When canceling or changing an offset the axis may move depending on parameter setting above.
Be sure there is sufficient clearance for the axis to move after canceling the tool offset.

Note: When G53, G28, G30 or G30.1 is programmed with tool offsets active, the tool offset vectors are
canceled and must be reactivated by programming an H-code. However the previously active G and
H-codes remain displayed.

TOOL OFFSET DISPLAY

Tool Offset Memory C is provided as standard. The geometry and wear compensation can be entered separately for
each the length and the radius compensation. The same offset number is used to activate the cutter radius
compensation (D-code) and the tool length compensation (H-code).

There are two (2) places that tool offsets can be managed; the OFFSET screen and the TOOL screen of the tool
management area (FIGURE 30.10 - 3). When a change is made in either of these screens, the other is updated
automatically.

Offset
Display

Tool
Management
Display

FIGURE 30.10 - 3
Tool Offset Displays (Offset & Tool Management)

30.10-2 TOOL OFFSETS


NUMBER OF TOOL OFFSETS

The standard number of tool offset offered on the machine is 99 with an option of up to 999 available. When
additional offsets are purchased, the program storage memory is decreased.

ESTABLISHING TOOL OFFSETS

In order to use the Tool Offsets effectively, the correct values must be established in the offset tables.

There are two methods for establishing Tool Offsets values. One method is used when the tool offsets values are not
known (determining offsets) and the other is used when the values have already been determined and are known
(loading offsets).

The following descriptions will deal basically with establishing tool length offsets for the W and Z-axes.

Cutter radius compensation values are usually already known by means of simply measuring the cutter diameter.
Therefore, these values are typically stored only.

DETERMINING TOOL OFFSETS WITH TOOL LENGTH MEASUREMENT

This method is used when the tool lengths or offsets are unknown. Follow these steps to determine and store the
tool offsets:
Note: The relative axis position must be set prior to using this feature where the W and Z reference points
are set to zero. See the REFERENCE OFFSET section for information on setting the relative
position.

Note: If the machine is equipped with an auxiliary slide, the slide must be positioned to a tool set point.
This position is determined by the operator and must be the same point used when the relative W
reference was set.

Note: Make certain that there are no tool offsets active.

1. Select the desired tool using MDI. See TOOL CHANGER section for tool selection.

2. Position the spindle axis to zero.

Reference Surface

W8 or Z8 Relative
Position (8.00)

Typical Spindle
Milling Origin Point
Cutter (Gage Line)

Spindle

Reference
Length Offset W0 or Z0 Relative

FIGURE 30.10 - 4
Determining Z Tool Geometry Offset

3. If the machine has an auxiliary slide; position the W2 auxiliary slide to the tool set point, (i.e. G53 W2=1500).
This must be the same position the W or Z relative zero was set.

TOOL OFFSETS 30.10-3


4. Manually position the saddle / table axis using the JOG, INCR JOG and/or MPG modes to bring the tool and
the reference together. The face of the table is normally used as the reference surface. See below.

5. Press the OFFSET key on the keyboard until the OFFSET is displayed in the upper LH corner of the display
page.

6. Type in from the keyboard the offset number for the selected tool and press the NO SRH softkey or use the
arrow keys on the keyboard to move the cursor to the desired offset.

7. Enter the desired axis letter and press the INP.C. softkey. The offset register selected will then contain the
offset amount based on the relative position of the selected axis. The relative position must be set prior to
using this feature where the W and Z reference points are set to zero. See the REFERENCE OFFSET section
for information on setting the relative position. As shown above, an offset value of 8.00 will be stored in the
selected offset number.
Note: It is important that with the spindle axis at zero and the saddle / table / column axis positioned
to the tool, the spindle axis be the one selected.

8. Repeat steps for all tools.

LOADING TOOL OFFSETS

The tool offset values may be loaded by the machine operator or the programmer. The machine operator can load
the data through the tool offset page. The programmer can use the programmable data load feature (G10) or use
system variables to store offsets. These methods can be used when the tool lengths are known. Follow these steps
to store the tool offsets:

LOADING TOOL OFFSETS THROUGH TOOL OFFSET PAGE

If you know the tool length (i.e. measured on a tool presetter), you can enter the value directly into the desired offset.

1. Press the OFFSET key on the keyboard until the offset is displayed in the upper LH corner of the display
screen.

2. Type in from the keyboard the offset number for the selected tool and press the NO SRH softkey or use the
arrow keys on the keyboard to move the cursor to the desired offset.

3. Type the value in using the keyboard.

4. Press the INPUT softkey or press the INPUT key on the keyboard.

LOADING TOOL OFFSETS WITH G10

The programmable data load uses the G10 L_, P_ and R_ codes. The L-code is used to define what type of offsets
is going to be loaded. Refer to the chart below to determine the G-code to use based on the tool type option
purchased.
Code Type of Offset

L10 Geometry offset for the tool length. H-code


L11 Wear offset for the tool length. H-code
L12 Geometry offset for the cutter compensation. D-code
L13 Wear offset for the cutter compensation. D-code

P_ This is used to specify the tool offset number.

R_ This is used to specify the offset amount to be loaded into the offset register.

30.10-4 TOOL OFFSETS


The following is an example of loading tool offsets with the programmable data load.
N200 G90; Absolute mode
N210 G10 L10 P16 R12.5; Load the geometry length offset register 16 with the value of 12.5
N220 G10 L11 P10 R3.0; Load the wear length offset register 10 with the value of 3.0
N230 G10 L12 4 R2.0; Load the geometry offset for cutter compensation (D) in register 4 with the
value of 2.0
N240 G10 L13 P4 R1.5; Load the wear offset for tool length compensation (D) in register 4 with the
value of 1.5

Programming restrictions:

• The only difference between loading offsets and modifying them is the G90 or G91 codes.

• G10 Lxx must be on every line when loading data.

• L10, L11, L12 and L13 cannot be on the same line. If they are, the last L command will be executed.

LOADING TOOL OFFSETS WITH SYSTEM VARIABLES

The offset table can also be loaded through a part program using system variables. The last two digits of the system
variable pertain to the offset assignment where wear offset 3 is loaded by #2003. The system variables used depend
on the type of tool offset option purchased with your machine.

Tool Compensation Memory C


H-Code D-Code
Offset
Wear Geometry Wear Geometry
Number
Variable Number Variable Number Variable Number Variable Number
1 #2001 or #10001 #2201 or #11001 #12001 #13001
2 #2002 or #10002 #2202 or #11002 #12002 #13002

200 #2200 or #10200 #2400 or #11200 #12200 #13200

400 #10400 #11400 #12400 #13400

999 #10999 #11999 #12999 #13999

The following is an example of loading tool offsets with the programmable data load.
N30 #13004 = 2.00; Load the geometry offset for cutter compensation (D) in register 4 with the value
of 2.0

MODIFYING THE TOOL OFFSET DATA

Tool offsets can be modified to correct for a workpiece dimension being undersize or oversize. For example, if a tool
using tool offset one H01 was positioned to cut at W-1.0 and the actual dimension were -.995, then the modification
amount would be a -.005 to the offset. There are two ways to accomplish this. One method is to modify the Tool
Length Geometry offset value. The other way is to store an amount equal to the correction needed, into the Length
Wear offset. Both of these methods are described here.

These methods also can be used to correct the radius offsets or D-code value. Of course the correction amount may
have to be halved, depending on the feature's dimension and measurement of the dimension.

The tool offset values may be modified by the machine operator or the programmer. The machine operator can
modify the data through the tool offset page. There are two methods to modify the offset values into the control by
the means of a program. The first uses the programmable data load feature and is optional. The second method of
loading offsets is to use system variables.

TOOL OFFSETS 30.10-5


MODIFYING WEAR OFFSETS THROUGH TOOL OFFSET PAGE

This method requires the modification amount be stored into the desired tool offset on the Tool Offset Wear column.
This correction amount is then included when the tool offset is activated.

Storing the Wear offsets is done in the same manner as previously described for storing tool lengths (Geometry
offsets). Follow these steps to store Wear offsets:

1. Press the OFFSET key on the keyboard until the offset is displayed in the upper LH corner of the display
screen.

2. Type in from the keyboard the offset number for the selected tool and press the NO SRH softkey or use the
arrow keys on the keyboard to move the cursor to the desired offset.

3. Type the value in using the keyboard.

4. Press the INPUT softkey or press the INPUT key on the keyboard.

MODIFYING GEOMETRY TOOL OFFSETS THROUGH TOOL OFFSET PAGE

The second method of correcting a Tool Offset is to modify the Tool Length Offset value of the desired offset. This is
done by the following:

1. Press the OFFSET key on the keyboard until the OFFSET is displayed in the upper LH corner of the display
screen.

2. Type in from the keyboard the offset number for the selected tool and press the NO SRH softkey or use the
arrow keys on the keyboard to move the cursor to the desired offset.

3. Type the amount of modification in using the keyboard. Use a negative (-) value to make length smaller.

4. Press the +INPUT softkey. The offset value will then change by the amount input.

Selecting the Wear offsets instead of the geometry offsets, these steps could then be used to modify the Wear
value, if desired.

MODIFYING TOOL OFFSETS WITH G10

The tool offset values may be modified by the machine operator or the programmer. The G10 command is used to
modify the values in the offset registers. The following example will modify the tool offset values.
N300 G91; Incremental mode
N310 G10 L13 P20 R.002; Modify the wear offset for cutter compensation (D) in register 20 by the
value of .002

MODIFYING TOOL OFFSETS WITH SYSTEM VARIABLES

The offset table can also be modified through the part program with system variables. The system variables used
depend on the type of tool offset option purchased with your machine. The variable numbers are the same as for
loading as described above. Refer to the chart in Loading Offsets with Variables in this section for the variable
numbers.

N310 #13004 = #13004 + .005; Modify the geometry offset for cutter compensation (D) in register 4 with
the value of .005

30.10-6 TOOL OFFSETS


SUMMARY

It is very important that when establishing the Tool Length Offsets of a tool in the W and Z-axes, that one of the two
axes is at zero. The examples all show the Z being positioned at zero. This is the recommended and simplest
method. Positioning the W at zero and then moving Z around to find the length could be done, but problems could
arise concerning clearance when it came time to change to another tool.

Also, again, the information here applies to the Cutter Radius Compensation values as well as the Tool Length
values. However, as stated earlier, a value may have to be halved to get the correct results.

INPUT / OUTPUT OF TOOL OFFSET DATA

Tool offset data can be OUTPUT from the CNC memory to a memory card and INPUT from a memory
card to the CNC memory. This is accomplished using the PUNCH and READ softkeys while on the
OFFSET page as follows.

1. Prepare the output device.

2. Select the EDIT mode and select the OFFSET display page.

3. Press the OFFSET softkey to select tool offsets.

4. Press the PUNCH softkey to output and READ softkey to input.

5. Type the file name that you want to output. If the file name is omitted, the default file name
"TOOLOFST.TXT" is used.

6. Press softkey [EXEC].

This starts outputting or inputting the tool offset data and OUTPUT or INPUT blinks in the lower right part
of the screen. When the read operation ends, the indication disappears. To cancel the process, press
the CANCEL softkey.

OUTPUT EXAMPLE
%
G10G90L10P1R10.256
G10G90L11P1R0.000
G10G90L12P1R0.000
G10G90L13P1R0.000
G10G90L10P2R8.227
G10G90L11P2R0.000
G10G90L12P2R0.000
G10G90L13P2R0.000

FIGURE 30.10 - 5
Input / Output Softkeys

TOOL OFFSETS 30.10-7


CUTTER COMPENSATION

For milling operations involving linear, rotary or circular interpolation with cutter centerline left or right of the part
surface, the G41 or G42 can compensate for deviations between the programmed diameter of the milling cutter and
the actual diameter of the milling cutter used in the part program. If programming spindle centerline to part contour, it
can compensate for the entire radius of the tool.

The value of a D-code is applied to the axes when a G41 or a G42 is programmed but the values are not activated
until an axis move is programmed. So an approach move to the surface to be cut should be made. Also the
approach move should be a two-axis move so as to activate the compensation amount to both axes.

When G41 or G42 is activated in the G17 plane, the cutter compensation feature adjusts the X and/or Y-axes to place
the edge of the milling cutter in the correct position for metal removal. It also looks ahead two blocks in the part
program to determine upcoming cutter paths, and can detect the presence of compensation error in advance.

On the start up block, arc commands (G02, G03) are not allowed, an alarm is generated and the tool stops. At start
up, two blocks are read. After the first block is read and executed, the next block enters the cutter compensation
buffer. Since two blocks are normally read in advance, there are now three blocks in the CNC; the block under
execution, and the next two blocks which are entered into the buffer.

When the part program has been assigned and is being run, the control reads ahead into the program and analyzes
upcoming blocks. If the programmed path is to be compensated by the cutter compensation feature, as indicated by
G41 or G42, the cutter is automatically positioned for the next programmed path.

If motion is in one axis of the selected plane, compensation is in the other axis. If both axes are moving,
compensation is proportioned so as to remain normal.

For part surface programming, it is important that the approximate diameter of any milling cutter that is to be used in
the program is known in advance. This helps to prevent collisions due to insufficient clearance, to protect the integrity
of the part contour, and to prevent cutter compensation errors.

Cutter compensation may be used in conjunction with any, or all, of the other available compensation modes (tool
length compensation, fixture offset).

Cutter radius compensation is activated by programming the appropriate G41 or G42. A value must be entered into
the active D-code and G00, G01, G02 or G03 must be active.

Cutter radius compensation is only applied to the axes of the active plane, G17 through G19. Offset plane changes
are not allowed when G41 or G42 are active. If an attempt is made to change planes while G41 or G42 are active, an
alarm will be generated and the axes motion will stop.
Cutter Radius Compensation is canceled when D0 is programmed.

ACTIVATING CUTTER COMPENSATION

Left and right are determined by looking in the direction of programmed motion.

With G41, the tool is on the left side of the surface being cut.

With G42, the tool is on the right side of the surface being cut.

With right hand milling cutters in the XY-plane (G17), the following is always correct. When climb cutting use G41
and when conventional cutting use G42.

30.10-8 TOOL OFFSETS


The drawing below is viewed from the spindle and shows cutter compensation left and right. Remember, it's not as if
you're working on the inside or outside of the workpiece to determine G41 or G42, but rather the side the tool is on
relative to the workpiece and the direction the tool is moving.

G41

G42
G41
G42 G41
G42
G42

G41

FIGURE 30.10 - 6
G41 / G42 Direction
For circular arcs in the G18 and G19 planes, use the following. When working into the workpiece, that is, cutting out
a concave surface, use the G41 with G03 and the G42 with G02. When working outside the workpiece, cutting a
convex surface, use the G41 with G02 and the G42 with G03.

CUTTER SIZE

Depending on how cutter compensation is being used will determine the values stored on the offset page.

When programming to the center of the tool the following applies:

• The value of the offset is equal to the difference between the actual tool radius and the programmed tool radius.
Plus values are used for oversize cutters and negative values are for undersized cutters.

For part surface programming:

• The offset value is equal to the actual radius of the cutter and is always positive. If the offset value is negative, it
reverses which side the cutter will be positioned to relative to the workpiece.

Sign of Offset Amount Plus Sign of Offset Amount Minus


G41 Left Side Offset Right Side Offset
G42 Right Side Offset Left Side Offset

The offset direction can be changed not only by the G41/G42, but also by changing the sign of the radius value in the
tool offset page.

TOOL OFFSETS 30.10-9


Programmed Path

G42 Center of G41


Tool Path

FIGURE 30.10 - 7
G41 / G42 Tool Path

VECTOR HOLDING - G38

The Vector Holding allows the programmer to hold the radius offset for the programmed path, but cancels the look
ahead for the intersection of the next block.

G38 is used to activate Vector Hold.

G38 can only be used while in G00 or G01 mode.

G38 is a non-modal command. When the next move command that does not contain the G38 is executed, an offset
vector is created again. The following drawing shows an example where G38 could be used.

.200

Y
0 12

FIGURE 30.10 - 8
Vector Hold

N230 G01 X12.2 G38;

On line 230 the control will maintain the radius vector in the Y-axis. When executing this block, the center of the
cutter stops at the 12.2 dimension.

30.10-10 TOOL OFFSETS


CORNER ARC - G39

Corner Arc mode enables corners to be generated as a circular interpolation move by the amount of the radius
compensation at the corner. G41 or G42 is specified before the G39 is commanded so the arc direction (clockwise or
counterclockwise) is determined.

G39 is a non-modal command.

The G39 command should not be used when taking rough-cuts, because the feedrate around the corner may exceed
the maximum feedrate for the cutter.

G39 block cannot contain any axes movement, however the I, J, or K which is used to set a vector for the end of the
arc can be programmed on this block.

When G39 is programmed without I, J, or K, the cutter passes through the perpendicular endpoint, generates the
corner and goes onto the line perpendicular to the start point on the next block.

When G39 is programmed with I, J, or K, the cutter passes through the perpendicular endpoint, generates the corner
move and goes onto the line perpendicular to the vector specified by the I, J, K.

The drawings below show examples with and without G39. Also the G39 with I and J to set a vector.

Line 10 Line 20 Line 10


Line 20

Line 30

Line 30 (I=1.0, J=2)

G39 PROGRAMMED G39 AND I J PROGRAMMED


N10 G01 X5; N10 G01 X5;
N20 G39; N20 G39 I1 J-2;
N30 G01 Y-5; N30 G01 X2.5 Y-5;
Note: When using G39 with I, J, or K the true tool path may not be the desired path. Note the drawing
above on the right using G39 with I & J, the tool path
would have removed wanted material from the workpiece.
Line 10
G39 NOT PROGRAMMED
N10 G01 X5;
N20 G01 Y-5

Line 20

TOOL OFFSETS 30.10-11


DETAILS OF CUTTER COMPENSATION

A ramp on block must be programmed to turn the cutter compensation feature on. The ramp on block which contains
the G41 or G42 command must be used regardless of whether the programmed path is an inside or outside cut. At
the beginning of the ramp on block, no compensation is in effect. At the end point of the ramp on block, all of the
compensation is in effect perpendicular to the start point of the next block's move.

STARTUP

The following drawings show the tool path around various features on a part. The default in all case is TYPE A.

1. When going around an inside corner where 180° is less than or equal to angle (a).

Linear to Linear Move

Programmed Path
r = Offset Amount r = Offset Amount
Tool Center Path
G42
G42
Programmed Path
Tool Center Path

2. When the tool goes around the outside of a corner at an obtuse angle, 90° to 180°. The tool path in the start
up or cancel blocks has two types A or B. They are selected by #5003 bit 0.
TYPE (A) : LINEAR TO LINEAR MOVE (bit 0 = 0) TYPE (A) : LINEAR TO CIRCULAR MOVE

G42
G42
G42
G42

a
a
Programmed
PROGRAMMED Path
PATH
rr ==OFFSET
Offset Amount
AMOUNT rr == OFFSET AMOUNT
Offset Amount
Tool
TOOL Center
CENTERPath
PATH

Tool
TOOLCenter
CENTERPath
PATH Programmed
PROGRAMMEDPath
PATH

TYPE (B)
Type (B):: LINEAR TOLinear
Linear to LINEARMove
MOVE(bit
(bit00 =
= 1)
1) Type (B):: LINEAR
TYPE (B) Linear to
TOCircular
CIRCULARMove
MOVE

G42
G42
G42
G42

a
a
Programmed Path
PROGRAMMED PATH
rr == OFFSET
Offset Amount
AMOUNT r ==OFFSET
Offset Amount
AMOUNT

Tool
TOOLCenter
CENTERPath
PATH

Tool
TOOLCenter
CENTERPath
PATH Programmed
PROGRAMMEDPath
PATH

30.10-12 TOOL OFFSETS


3. When going around the outside of an acute angle of less than 90°. The tool path in the start up and cancel
has two types, A or B. They are selected by #5003 bit 0.

The drawings below are examples of what the control will do if these moves are attempted. However, this is
not good practice for ramping on when activating cutter compensation. Typically the tool would be positioned
away from the workpiece before activating the cutter compensation.
Type
E (A) : (A): Linear
LINEAR to Linear
TO LINEAR Move
MOVE (bit(bit
0 =00)= 0) TYPE
Type (A)
(A):: LINEAR
Linear TO CIRCULAR
to Circular MOVE
Move

G42
G42
G42
G42

a
a
Programmed
PROGRAMMEDPath
PATH
rr = Offset Amount
= OFFSET AMOUNT
rr ==OFFSET
Offset Amount
AMOUNT
Tool
TOOLCenter
CENTERPath
PATH

Programmed
PROGRAMMED Path
PATH
Tool
TOOLCenter
CENTERPath
PATH

Type (B): Linear to Linear Move (bit 0 = 1) Type (B): Linear to Circular Move

G42 G42

Programmed Path
r = Offset Amount r = Offset Amount

Tool Center Path

Programmed Path
Tool Center Path

CUTTER COMPENSATION ON

1. In the offset mode, the tool centerline will be positioned correctly as long as there are not more than two
consecutive blocks without axes motion. If more than two blocks without axes motion are programmed, under
or over cutting will occur.

The following examples show the tool path going around inside corners greater than 180°. Note there are
many different combinations (linear to linear, linear to arc, arc to linear, arc to arc) that could be performed;
however the tool path would basically be the same.

Linear to Linear Move Linear to Circular Move

Programmed Path
r = Offset Amount
r = Offset Amount
Tool Center Path
G42 G42
Intersecting Point
Programmed Path
Tool Center Path

Intersecting Point

TOOL OFFSETS 30.10-13


2. When cutting two straight lines that are less than 1° apart the offset vector becomes extremely large. The
control looks ahead for this condition and the tool path is shown below.

Programmed Path

Offset Vector

Tool Center Path

3. When the tool goes around the outside of a corner at an obtuse angle of 90° to 180°.
Linear to Linear Move Linear to Circular Move

G42
G42

Programmed Path

r = Offset Amount r = Offset Amount

Tool Center Path

Tool Center Path Programmed Path

4. When the tool goes around the outside of a corner at an obtuse angle.
Linear
LINEARtoTO
Linear Move
LINEAR MOVE
Linear
LINEAR toTO
Circular MoveMOVE
CIRCULAR

G42
G42 G42
G42

a
Programmed Path a
PROGRAMMED PATH
r r==Offset
OFFSET Amount
AMOUNT
rr== Offset
OFFSET Amount
AMOUNT
Tool Center
TOOL CENTERPath
PATH

Programmed
PROGRAMMED Path
PATH
TOOL Tool Center
CENTER Path
PATH

CUTTER COMPENSATION CANCEL

Cutter compensation is canceled by programming G40 or D00.

Arc commands (G02, G03) are not allowed on the same line as the G40 or D00. An alarm is generated and the tool
stops.

Cutter compensation will also be temporally canceled if two blocks without motion are programmed consecutively.

30.10-14 TOOL OFFSETS


Cutter compensation is performed differently when in single block mode. The control will execute the first block and
stop. After pressing the CYCLE START pushbutton, the next block is read without reading the one after it. At this
point the cutter may over or under cut the workpiece. Care should be used when in the single block mode.

A ramp off block is used to turn off the cutter compensation feature. The ramp off block contains the G40 command.
At the beginning of the ramp off block compensation is in affect, at the end point of the ramp off block, all of the
compensation is removed.

The following drawings show the tool path around various features on a part when canceling the cutter compensation.
The default in all cases is TYPE A.

1. The following examples show the tool path going around inside corner greater than 180°. Note there are many
different combinations (linear to linear, linear to arc, arc to linear, arc to arc) that could be performed; however
the tool path would basically be the same.

Linear to Linear Move


Linear to Circular Move

Programmed Path

r = Offset Amount r = Offset Amount

Tool Center Path Programmed Path


G40 G40

Tool Center Path

2. When the tool goes around the outside of a corner at an obtuse angle of 90° to 180°. The tool path in the
cancel mode has two types A or B. They are selected by #5003 bit 0.
Type (A):(A)Linear
TYPE to Linear
: LINEAR MoveMOVE
TO LINEAR (bit 0(bit
= 0)0 = 0)
Type TYPE
(A): Linear to Circular
(A) : CIRCULAR TOMove
LINEAR MOVE

G40
G40

G40
G40
a

Programmed Path
PROGRAMMED PATH a
rr = OFFSET
Offset Amount
AMOUNT

r =r OFFSET
= Offset AMOUNT
Amount

TOOLCenter
Tool CENTER PATH
Path Programmed Path
PROGRAMMED PATH Tool
TOOLCenter
CENTERPath
PATH

Type
TYPE(B):
(B)Linear to TO
: LINEAR Linear Move
LINEAR (bit(bit
MOVE 0 =0 1)
= 1) TYPE(B):
Type (B) Linear
: CIRCULAR TO LINEAR
to Circular MOVE
Move

G40
G40

G40
G40
a

Programmed Path
PROGRAMMED PATH a
rr == OFFSET
Offset Amount
AMOUNT
r =rOFFSET
= OffsetAMOUNT
Amount

TOOLCenter
Tool CENTER PATH
Path
Programmed Path
PROGRAMMED PATH
Tool
TOOLCenter
CENTERPath
PATH

TOOL OFFSETS 30.10-15


3. When going around the outside of an acute angle less than 90°. The tool path in the cancel mode has two
types A or B. They are selected by #5003 bit 0.

The drawings below are example of what the control will do if these moves are attempted. However, this is not
good practice for ramping off when canceling cutter compensation. Typically the tool would be positioned
away from the workpiece, rather then moving over the workpiece.
Type(A)
TYPE (A): LinearTO
: LINEAR to LINEAR
Linear Move
MOVE TYPE (A):
Type (A) : CIRCULAR TO LINEAR
Linear to Circular MOVE
Move

G40
G40 G40
G40

a a
Programmed
PROGRAMMEDPath
PATH
r = rOFFSET
= Offset Amount
AMOUNT rr ==OFFSET
Offset Amount
AMOUNT

Tool
TOOLCenter
CENTERPath
PATH

PROGRAMMED PATH
Programmed Path Tool Center
TOOL CENTER Path
PATH

Type (B): Linear to Linear Move Type (B): Linear to Circular Move

G40
G40

Programmed Path
r = Offset Amount
r = Offset Amount
Tool Center Path
Programmed Path
Tool Center Path

For additional information, refer to the Fanuc Programming and Operator Manuals.

30.10-16 TOOL OFFSETS


SECTION 30.20
TOOL MANAGEMENT
TABLE OF CONTENTS

TITLE PAGE
GENERAL ...................................................................................................................................................................... 1

THEORY OF OPERATION ............................................................................................................................................ 1

TOOL EXCHANGES ...................................................................................................................................................... 1

D AND H-CODE USE .................................................................................................................................................... 1

TOOL MANAGEMENT DATA ........................................................................................................................................ 2

TOOL MAGAZINE CONFIGURATION ................................................................................................................ 2

HBM TOOL TYPES ............................................................................................................................................. 2

MODULAR TOOLING TYPES .................................................................................................................. 2

TOOL MANAGEMENT SCREENS ................................................................................................................................ 4


TOOL MANAGER DATA SCREENS ................................................................................................................... 5

TOOL LIFE DISPLAY ............................................................................................................................... 5

SPEED AND FEED DISPLAY .................................................................................................................. 6

TOOL OFFSET DISPLAY......................................................................................................................... 7

CUSTOM DATA DISPLAY ....................................................................................................................... 8

TOOL MAGAZINE / POCKET ASSIGNMENT SCREEN ..................................................................................... 9

MAGAZINE 1: TOOLS IN MAGAZINE..................................................................................................... 9

MAGAZINE 2: MANUAL TOOLS ........................................................................................................... 10

LOADING / EDITING TOOL MANAGEMENT DATA.................................................................................................... 10

TOOL MANAGEMENT EDIT MODE ............................................................................................................................ 11

ADDING NEW TOOL DATA .............................................................................................................................. 11

SET TOOL LIFE TYPE ...................................................................................................................................... 11

SET TOOL LIFE VALUES ................................................................................................................................. 11

RESET TOOL LIFE STATE............................................................................................................................... 12

SKIP A TOOL .................................................................................................................................................... 12

STORING TOOL OFFSET DATA ...................................................................................................................... 12

STORING TOOL OFFSET DATA ...................................................................................................................... 12

DELETING SINGLE TOOL DATA ..................................................................................................................... 12

DELETE ALL TOOL DATA ................................................................................................................................ 13

ASSIGN TOOLS TO MAGAZINE POCKET ................................................................................................................. 13

SYSTEM VARIABLES ................................................................................................................................................. 14

READING SYSTEM VARIABLES ..................................................................................................................... 14

SPINDLE TOOL...................................................................................................................................... 14

EXCHANGE ARM................................................................................................................................... 14
LOADING TOOL MANAGEMENT DATA WITH G10 ................................................................................................... 15

LOAD, MODIFY & DELETE TOOL MANAGER DATA ...................................................................................... 15

EXAMPLES ....................................................................................................................................................... 15

LOAD TOOL MANAGER DATA.............................................................................................................. 15

MODIFY TOOL MANAGER DATA ......................................................................................................... 15

DELETE TOOL MANAGER DATA ......................................................................................................... 16

LOAD MAGAZINE DATA .................................................................................................................................. 16

EXAMPLES ....................................................................................................................................................... 16

LOAD MAGAZINE MANAGEMENT DATA ............................................................................................. 16

MODIFY MAGAZINE MANAGEMENT DATA ......................................................................................... 16

DELETE MAGAZINE MANAGEMENT DATA ......................................................................................... 16

REFERENCING THE TOOL IN THE SPINDLE AND EXCHANGE ARM ..................................................................... 17

CONTOURING HEAD USE WITH THIS TOOL MANAGEMENT PACKAGE............................................................... 18

MESSAGES & ALARMS .............................................................................................................................................. 18

REV 1 (10-2012)
GENERAL

The Fanuc Tool Management System is a standard feature on the horizontal milling machines. This standard feature
is 240 tools with up to four (4) magazines with an optional 1000 tools and up to eight (8) magazines available. The
Tool Management feature allows the use of random tool assignments. Tools are classified by a Tool Type or Tool
Group number. Each tool group can have one or more tools associated with it. These tools are assigned to a tool
magazine and magazine pocket number.

A Tool Life value can be specified for each group. The Tool Life value can be specified by a count value (use) or a
time value in minutes. When the specified Tool Life expires, the next tool of the same group will be selected
automatically on the next tool change for that tool group. With this function, the tool life can be managed while
machining is being performed continuously. If the tool life has expired on all tools of the group, a message will be
generated and the last tool will be selected.

Tool offset data, H and D-codes can be assigned to each tool in the group. The offset values are referenced to the
normal tool offset tables. When a tool is loaded into the spindle, the offsets specified for that tool are activated by
programming H999 and D999. H999 / D999 are the default values and can be changed by parameter setting as
explain later in this section.

Feeds, Speeds and other Custom data can also be stored under Tool Management on a per tool basis.

THEORY OF OPERATION

The Tool Management System consists of two basic sets of data, Tool Management Data and the Tool Magazine
Assignment Data. All tooling data for each tool is stored in tool management under a tool data number. The tool
data number is an index number from 1 through 240 or through 1000 (optional).

Each tool is assigned a 1-8 digit tool type number (TYPE NO.). The type number is the Tool Group Number or T-
code used to request a tool. If backup tools are used, the same tool type number is entered for each tool in a
different tool data number. The tools are then assigned to a magazine pocket number through the tool data number.

TOOL EXCHANGES

Tool Exchanges are accomplished the same with or without tool management except the T-code is the tool group
number instead of the pocket number. The part program issues an M06 Tpppp (where pppp is the Tool Type). The
control and its associated software will take the tool type number, determine the next tool in that group and retrieve it
from the magazine or request a manual tool exchange, if not from the magazine. Likewise, preselects can be
performed by issuing a Tpppp (where pppp is the Tool Type). See example below.

D AND H-CODE USE

Each tool entry in the tool management data table can be associated with a D and/or H-code number from the tool-
offset table. To select the offsets for the associated tool, D99 / H99 must be programmed. This will select the offset
defined in the tool management table for the tool in the spindle.
Note: H99 / D99 cannot be used in the offset table, since they are treated as special codes under tool
management.

Note: D99 / H99 is the default offset number based on system parameter 13265 being set to 0. To change
the default, set parameters 13265 and 13266 to the desired offset number.

Example:
M06 T111; Load tool type T111 (pocket 4)
G43 H99 W10; Activate tool offset (values in offset 4 will be active)
T2222; Preselect tool type T2222 (pocket 11)

TOOL MANAGEMENT 30.20 - 1


TOOL MANAGEMENT DATA

The following information is used to define tools in the tool management system.

TOOL MAGAZINE CONFIGURATION

With the standard tool management package, up to four (4) magazines can be configured, with eight (8) magazines
available as an option. TABLE 30.20 - 1 illustrates a machine with a standard chain style tool magazine, an
attachment rack, a manual tool magazine and a modular tool rack. Note that each tool magazine is configured to
have a different series of pocket numbers.

Magazine Pockets Description


1 1 - end of magazine Chain style tool magazine
2 1001-1100 Manual tools
3 401 - end of rack Attachment rack
4 501 - end of rack Modular tool rack
5 601 - end of rack RA Modular tool rack

TABLE 30.20 - 1
Tool Magazine Configuration

HBM TOOL TYPES

Each tool has a HBM tool type which identifies it to the system. This number is used when executing tool exchanges
and configuring the control for the tool being loaded. Configuration might include spindle speed limits, end limits, etc.
Tool types are entered in the Tool List under the HBM TTYPE column.

TABLE 30.20 - 2 below shows a list of standard tool types used in most machines.

Attachment (Tool) Type Variable


Attachment
Description
Type Number
0 Standard tool
2 Spindle support
3 Cover plates - non arbor loaded (e.g. cam lock adapter cover plates, manual latch plates, etc.)
31 Cover plates - arbor loaded (e.g. auto coupler cover plates)
4 Milling / drilling attachments
8 Contouring heads
TABLE 30.20 - 2
Tool Magazine Configuration

MODULAR TOOLING TYPES


In systems with adapters (attachments) and modular tools (tools that go into attachments), a special type of tool type
system is used and is described in TABLE 30.20 - 4, under Modular Tool Types. When attachments are used that
can accept tools either manually loaded or from a tool rack, an identification system is in place to define the
relationship between the attachment or adapter and the modular tool. There are two types of identification possible:
• Explicit adapter / modular tool type definition. The tool type for a modular tool is defined such that it can only go
into one adapter.
• Universal modular tool type definition. This tool type allows a modular tool to be loaded into more than one
adapter.

30.20 - 2 TOOL MANAGEMENT


Tool Type Definitions
Tool Types Description
1 thru 19 Attachments tool types (general attachments without modular tool capabilities)
21 thru 98 Adapter tool types (attachments with modular tool capabilities)
-21 through -98
and Modular tool types
-100 through -198
99 Universal modular tool type
TABLE 30.20 - 3
Tool Type Definitions

Utilized Tool Types


Adapter Modular
Description
Tool Type Tool Types
2 N/A Spindle support (N/A)
3, 31 - 39 N/A Cover plates
4 N/A Milling / drilling attachments (no modular tool capabilities)
8 N/A Contouring heads (no modular tool capabilities)
21 through 29 -21 through - 29 Spindle supports with modular tool capabilities
41 through 49 -41 through -49 Milling / drilling attachments with modular tool capabilities
81 through 89 -81 through -89 Contouring heads with modular tool capabilities
N/A 99 Universal modular tool type, adapter is specified with modular tool in the TC call
TABLE 30.20 - 4
Tool Magazine Configuration

For attachments where the modular tool system is not used, tool types 1 through 19 are reserved. Types 2, 3, 4 and
8 are defined in TABLE 30.20 - 2.

When modular tooling systems are used, tool types 21 through 98 are used for the adapters and -21 through -98 and
-100 through -198 are used for the corresponding modular tools. An example would be:

Right angle milling attachment with power drawbar tool type: 41

Corresponding modular tool type: -41

When a tool with type -41 is called, then the right angle milling attachment will be loaded, followed by the called for
modular tool. The only exception to this will be cover plates, which are not attachments that can receive modular
tooling.

In cases where a tool can be loaded into multiple adapters, a modular tool type has been defined (99). When a tool
of this type is called for in the tool change cycle, a corresponding adapter (attachment) must be specified as an A
command. For example:
M6 T401 A301

Where T401 is the modular tool and A301 is the attachment into which the modular tool is loaded.

TOOL MANAGEMENT 30.20 - 3


TOOL MANAGEMENT SCREENS

This tool management package is divided into two screen groups.

• Tool Manager Data screen - These screens contain the information described above.

• Tool Magazine Assignment screen - This screen is used to assign magazine pocket numbers to tool group
members. In addition, the tools in the spindle and exchange arm are shown.

FIGURE 30.20 - 1
Tool Management Softkeys

Tool management screens are accessed as follows:

1. Press the OFFSET / SETTING key.

2. Press the NEXT PAGE vertical softkey until the TOOL MANAGER softkey is shown.

3. Press the TOOL MANAGER vertical softkey and then select MAGAZINE or TOOL as shown here.

30.20 - 4 TOOL MANAGEMENT


TOOL MANAGER DATA SCREENS

The Tool Manager Data screens consist of four (4) displays, Tool Life, Speed and Feed, Tool Offsets and Custom
Data.

TOOL LIFE DISPLAY

FIGURE 30.20 - 2
Tool Manager Data 1 (Tool Life)

The following data is shown on the Tool Life Data screen:

NO. Tool management data index number.

TYPE NO. The type number is the Tool Group Number or T-code used to request a tool.

MG Displays the magazine number.


Note: Magazine 111 is the active tool in the spindle and Magazine 121 is the preselected
tool.

POT Displays the assigned magazine pocket number for that tool.

T-INFO Is a bit type setting that allows the user to define tools as:

#0 Tool Data Void or Valid - = void R = valid


#1 Tool Life Count or Time C = Count T = Time
#2 Not Used
#3 Data is Lock or Unlock U = Unlocked L = Locked

L-COUNT Tool life count displays the accumulated tool usage. Tool life can be counted as number of uses or
as time.

MAX-LIFE Maximum life displays the maximum tool usage setting. This value is used to determine the L-
State of the tool. Tool life can be counted as number of uses or as time. Maximum values are:
Count 99,999,999 or Time 999H 59M 59S.

NOTICE-L Notice life displays the setting of the Warning number (or time) of uses before the tool times out.
When the tool reaches this number of uses (or time), an operator message will be generated,
telling the user that the tool is about to time out.

TOOL MANAGEMENT 30.20 - 5


L_STATE Tool life state displays the state of the tool as:

Not Managed In this state the tool data for this tool will be ignored.

Enable In this state the tool will be retrieved in the order in which it appears with the
rest of the tools in its Tool Type Group.

Over This indicates that the tool count has been used up.

Damaged This indicates that the tool has been broken and can be manually set by the
operator. When in this state, the tool will be by-passed.
Note: When a tool is not usable, the data number is displayed in Red, see above.

SPEED AND FEED DISPLAY

FIGURE 30.20 - 3
Tool Manager Data 2 (Speed & Feed)

The following data is shown on the Tool Manager Speed & Feed Data screen:

NO. Tool management data index number.

TYPE NO. The type number is the Tool Group Number or T-code used to request a tool.
MG Displays the magazine number.
Note: Magazine 111 is the active tool in the spindle and Magazine 121 is the preselected
tool.

POT Displays the assigned magazine pocket number for that tool.

S A spindle speed can be assigned to each tool in the table. System variable #8411 is provided
allowing the programmer to access this spindle speed value when the tool in question is in the
spindle or exchange arm.

F A feed rate can be assigned to each tool in the table. System variable #8412 is provided allowing
the programmer to access this feed rate value when the tool in question is in the spindle or
exchange arm.

30.20 - 6 TOOL MANAGEMENT


TOOL OFFSET DISPLAY

FIGURE 30.20 - 4
Tool Manager Data 3 (Tool Offsets)

The following data is shown on the Tool Manager Offset screen:

NO. Tool management data index number.

TYPE NO. The type number is the Tool Group Number or T-code used to request a tool.

MG Displays the magazine number.


Note: Magazine 111 is the active tool in the spindle and Magazine 121 is the preselected
tool.

POT Displays the assigned magazine pocket number for that tool.

H Displays the assigned H-code for this tool. The H-code relates to the tool length offset table.

D Displays the assigned D-code for this tool. The D-code relates to the tool radius compensation
offset table.

GEOM(H) Displays the tool length geometry offset for the assigned H-code.

WEAR(H) Displays the tool length wear offset for the assigned H-code.

GEOM(D) Displays the tool radius length geometry offset for the assigned D-code.

WEAR(D) Displays the tool radius wear offset for the assigned D-code.
Note: The Geometry and Wear offset data can be entered on this page or the tool offset page.

Note: The numbers of offsets is dependent on the options purchased (e.g. 99 (standard), 400 or 999 tool
offsets).

TOOL MANAGEMENT 30.20 - 7


CUSTOM DATA DISPLAY

FIGURE 30.20 - 5
Tool Management Data 4 (Custom Data)

NO. Tool management data number.

TYPE NO. The type number is the Tool Group Number or T-code used to request a tool.

MG Displays the magazine number.


Note: Magazine 111 is the active tool in the spindle and Magazine 121 is the preselected
tool.

POT Displays the assigned magazine pocket number for that tool.

CUSTOM Custom data entries are assigned to each tool, allowing the programmer to attach additional data
that can be accessed and use during the course of the part program using the system variables.
See SYSTEM VARIABLES later in this section. As is the case with the spindle speed and feed rate
data, this custom data is accessible when the tool in question is in either the spindle or the
exchange arm. Custom data entries are also used for special features such as programmable
coolant as discussed later in this section.

HBM TTYPE This number is used to identify the type of tool as a standard tool, attachment tool, contouring
heads / CBS boring tools, etc. The tool types were discussed earlier in this section.

COOLANT The coolant field is used with the programmable coolant pressure feature. This feature is
discussed later in the section.

WEIGHT This field is used to specify the weight of the tools. Tools that weigh more the 59.5 lb (27 kg) are
considered heavy tools which will cause the tool change exchange arm to operate at a reduced
speed. If the tool length is not entered, the default value is 0 which is considered a heavy tool.

30.20 - 8 TOOL MANAGEMENT


TOOL MAGAZINE / POCKET ASSIGNMENT SCREEN

Shown below is an example of the tool magazine / pocket assignment screen:

MAGAZINE 1: TOOLS IN MAGAZINE

FIGURE 30.20 - 6
Tools in Magazine 1
POT The pot number displays the assigned magazine pocket number for that tool. The tools are
assigned to pocket numbers on this page.

NO. This field is the tool management index number and is used to assign the tools to a pocket
numbers.

TYPE NO. The type number is the Tool Group Number or T-code used to request a tool. This data displays
after the index number is assigned to the pocket number.

SPDL1 The SPDL1 field displays the tool data number of the tool currently in the spindle.

WAIT1 The WAIT1 field displays the tool data number of the preselected tool currently in the exchange
arm.

In this application, the first magazine will be defined as the actual tool magazine and the second will be reserved for
any manually loaded tools.

Magazine 1 Pockets 1 to 60 (90, 120) (Actual tool magazine)


Magazine 2 Pockets 1000 - 1050 (Manual tools)

Any manual tools that are incorporated into the over-all tool management system must be assigned to Magazine 2,
pockets 1000 - 1050, see FIGURE 30.20 - 7. If more than 50 manual tool pockets are required, the system can be
reconfigured.
Note: Additional magazines may be setup for attachment and tool racks.

TOOL MANAGEMENT 30.20 - 9


MAGAZINE 2: MANUAL TOOLS

FIGURE 30.20 - 7
Tools in Magazine 2

LOADING / EDITING TOOL MANAGEMENT DATA

The tool management data and tool magazine data can be loaded directly through the display screens or by program
data using the G10 command. Loading data with the G10 command is discussed later in this section.
With all tool data cleared, the tool management display will look as shown in FIGURE 30.20 - 8. The first step is to
define the Tool Type numbers or T-codes that will be used with the M06 tool change command. The Tool Type
numbers are also referred to as Tool group numbers. In the example display pages shown in this section, the T-
codes are numbered starting at 7001 on up. Any numeric values can be used up the eight (8) digits.

FIGURE 30.20 - 8
Tool Manager with Tool Cleared

30.20 - 10 TOOL MANAGEMENT


TOOL MANAGEMENT EDIT MODE

Before any data can be entered or changed, the edit mode must
be selected. The edit must be turned off before a tool change can
occur.

To enter the edit mode press the EDIT softkey.

To exit the edit mode press the END softkey.


Note: Before tool manager data can be entered or changed, the tool must be in a valid state and
enabled. The Valid state is set with #0 = R.

The following operations can be performed while on the Edit Screen:

ADDING NEW TOOL DATA

The following procedure is used to enter tool data:

1. Press the TOOL softkey to select tool manager data display.

2. After selecting the tool manager page, press the EDIT softkey.

3. Using the ARROW keys, select the first available tool data location.

4. Enter the desired tool type number and press INPUT. The tool number
will be stored under the selected tool data number and displayed. As
shown here, 7001 will be stored in tool data number 1. Note: the tool number entered
will overwrite the current value.

5. Using the ARROW keys select bit #0 of the T-INFO field and set the tool to the valid
state by pressing the VALID softkey. R will be displayed for valid.

SET TOOL LIFE TYPE

1. In the T-INFO field, using the ARROW keys select the desired tool life function, bit #1.
When the field is selected, softkeys will be available for the desired selection as shown
here: T will be displayed for time and C will be displayed for count.

2. Press the TIME or COUNT softkey.

SET TOOL LIFE VALUES

1. After selecting the tool life type, move to the MAX-LIFE


field.

2. Enter the desire count or time value and press INPUT.


When the L-COUNT reached this value, the L-STATE
is set to OVER and the tool will not be used again until
reset.

3. Move to the NOTICE-L field.

4. Enter the desire count or time value and press INPUT. When the L-COUNT reached this value, an operator
message will be generated to notify the operator prior to timing out.

5. Move to the L-STATE field and select the desired state. When the field is selected, softkeys will be available
for the desired selection as shown here.

6. Press the desired STATE softkey.

TOOL MANAGEMENT 30.20 - 11


RESET TOOL LIFE STATE

1. Move the cursor to the L-STATE of the tool to be reset.

2. Press the ENABLE softkey.

3. Move the cursor to the L-COUNT of the tool to be reset.

4. Enter 0 to reset the time of count.

5. Press the INPUT.

SKIP A TOOL

1. Move the cursor to the L-STATE of the tool to be skipped.

2. Press the DAMAGE softkey.

STORING TOOL OFFSET DATA

Tool data can be entered on the tool


management page or on the normal tool
offset page. Each tool entry in the tool
management data table can be
associated with a D and/or H-code
number from the tool offset table. To
select the offsets for the associated tool,
D99 / H99 or some number set by parameter must be programmed. This will select the offset
defined in the tool management table for the tool in the spindle. Tool data is entered as
follows:

1. Use the ARROW keys to select the desired field. The arrow softkeys shown here are
used to switch pages. The arrow keys on the key pad are used to move to the next field.
2. Enter the desired H-codes, D-codes if required and offset values and press INPUT.

STORING TOOL OFFSET DATA

The Feed and Speed data fields are use to store predefined values on
a per tool basis. The values are made available to the part program
by system parameters discussed later in this section. Feed and
Speed is entered as follows:

1. Use the ARROW keys to select the desired field.

2. Enter the desired values and press INPUT.

DELETING SINGLE TOOL DATA

1. Move the cursor to the tool data of the tool to be deleted.

2. Press the ERASE softkey.

3. Press the CURDAT (Current Data) softkey.

4. Press the EXEC softkey.

30.20 - 12 TOOL MANAGEMENT


DELETE ALL TOOL DATA

1. Press the ERASE softkey.

2. Press the ALL softkey.

3. Press the EXEC softkey.

ASSIGN TOOLS TO MAGAZINE POCKET

After the tools have been defined on the Tool Manager display, they must
be assigned to a magazine pocket number. If a tool not assign to a pocket
is requested, an alarm will be generated. Pocket assignment is
accomplished by entering the Tool Data number of the tool into the desired
pocket number. This procedure is explained below:

1. Select the Tool magazine page by pressing the MAGAZINE vertical


softkey.
Magazine 1 Display
2. Select the desired magazine by pressing the LEFT or RIGHT
ARROW softkeys. Magazine 1 is shown on the right.

3. Using the ARROW keys, select the desired pocket location.

4. Enter the Tool Data Number of the tool located in the selected pocket. The
Tool Data number is shown on the Tool Manager page as shown here.

5. Press INPUT key to enter.

When the Tool Data Number is entered, the Tool Type number will appear Tool Manager Display
on the magazine page.
Note: If the tool is to be loaded manually, the Tool Data Number must be
entered into the manual tool magazine as shown on the right.

Tool Manager Display

TOOL MANAGEMENT 30.20 - 13


SYSTEM VARIABLES

This package provides system variables that allow the programmer to access the tool management data for a tool
that is in the spindle or exchange arm. Shown below are the system variables:

Number Description
#8401 Data number
#8402 Tool Type number
#8403 Tool life counter
#8404 Maximum tool life value
#8405 Early notice tool life value
#8406 Tool life state
#8407 Tool information
#8408 Customizing data 0 (bit type)
#8409 Tool length compensation number (H)
#8410 Cutter compensation number (D)
#8411 Spindle speed (S)
#8412 Feedrate (F)
#8431 Custom 0
#8432 HBM Tool Type
#8433 Coolant Pressure (Bar)
#8434 Custom 3
#8435 Custom 4
TABLE 30.20 - 5
Tool Management System Variables

READING SYSTEM VARIABLES

Data for the spindle tool and exchange arm can be access using the following method:

SPINDLE TOOL

1. Enter a value of 11 into #8400.

2. Read that data from system variables #8401-#8450.

EXCHANGE ARM

1. Enter a value of 21 into #8400.

2. Read the data from system variables #8401-#8450.

An example use of this feature would be:

The spindle speed and feedrate data are supplied for each tool. In addition, the drilling cycle information is defined in
customizing data entry 1 and 2. As the tool is call in the program, these system variables could be used to retrieve
and use that data.
M6 T12345678; Load tool type no. 12345678 into the spindle
#8400 = 11; Retrieve information for the tool in the spindle
M3 S#8411; Set feedrate from data in table
G00 G90 X1234; Position
F#8412; Set feedrate from data in table
G81 X1234 Y456 Z#8431 R#8432; Set R and Z depth from data in table
G81 X2344 Y222 Z#8431 R#8432;

30.20 - 14 TOOL MANAGEMENT


LOADING TOOL MANAGEMENT DATA WITH G10

Tool Manager Data and Magazine data can be stored, modified and deleted with the G10 command.

LOAD, MODIFY & DELETE TOOL MANAGER DATA

The G10 L75 along with a P-code specifies which operation to perform as follows:
G10 L75; Delete all tool life management data and store new data
G10 L75 P1; Add new tool life management data
G10 L75 P2; Modify tool life management data
G10 L75 P3; Delete tool life management data
G11; Cancel G10 operation

The follows codes are used to specify the Tool Data:


N Tool management Data Number
T Tool Group Number
L Maximum Tool Life Value
C Accumulated Tool Life Value
I Notice Tool Life Value
B Tool Life State 0 = No Management, 2 = Enable, 3 = Expired, 4 = Broken
Q Tool Information 8 Bit Format
#0 Tool Management Data 0 = Invalid 1 = Valid
#1 Count Type 0 = Count 1 = Time
#3 Locked 0 = Unlocked 1 = Lock
H Tool Length Offset Number
D Tool Radius Compensation Number
S Spindle Speed
F Feedrate
P Custom Data Number
R Custom Data Value 8 Bit Format

EXAMPLES

LOAD TOOL MANAGER DATA


G10 L75 P1;
N1;
T1 C0 L1320 I0 B2 Q00000011 H1 D0 S0 F10;
P0 R00000000;
P1 R0;
P2 R0;
P3 R0;
P4 R0;
N2;
T2 C0 L720 I0 B2 Q00000011 H2 D0 S0 F0;
P0 R00000000;
P1 R0;
P2 R0;
P3 R0;
P4 R0;
G11;

MODIFY TOOL MANAGER DATA


G10 L75 P2;
N1;
T1 C0 L1320 I0 B2 Q00000011 H1 D0 S0 F10;
G11;
Note: Only the programmed data will be modified.

TOOL MANAGEMENT 30.20 - 15


DELETE TOOL MANAGER DATA
G10 L75 P3;
N1;
N5;
N6;
G11;

LOAD MAGAZINE DATA

The G10 L76 along with a P-code specifies which operation to perform as follows:
G10 L76 P1; Add new magazine management data
G10 L76 P2; Modify magazine management data
G10 L76 P3; Delete magazine management data
G11; Cancel G10 operation

The follows codes are used to specify the Magazine Data:

N Magazine Number (Normally 1 for magazine and 2 for manual tools)


T Magazine Pocket Number
R Tool management Data Number

EXAMPLES

LOAD MAGAZINE MANAGEMENT DATA


G10 L76 P1;
N1 P1 R1;
N1 P2 R2;
N1 P3 R3;
N1 P4 R4;
G11;

MODIFY MAGAZINE MANAGEMENT DATA


G10 L76 P2;
Note: Use same format as Load.

DELETE MAGAZINE MANAGEMENT DATA


G10 L76 P3;
Note: Use same format as Load.

30.20 - 16 TOOL MANAGEMENT


REFERENCING THE TOOL IN THE SPINDLE AND EXCHANGE ARM

Under the following conditions, the operator must identify the tool or attachments currently loaded on the machine.
• Machine power on
• Tool exchange fault
• When a tool is loaded outside of a tool change cycle

This process is a two-part operation.

1. Specify to the control the magazine pocket number assigned to the tool in the spindle and the tool in the
exchange arm. This is done using an M60 as follows:
M60 Taaaa Eaaaa Aaaaa;

where: M60 = Tool reference code


Taaaa = Pocket number of tool in the spindle or attachment mounted to the head.
Eaaaa = Pocket number of tool in the exchange arm.
Aaaaa = Pocket number of attachment mounted to head when a modular tool of type Universal
(type equal 99 only) is loaded in the attachment.
; = End of Block

Examples:
M60 T12 E56; Spindle has a tool from pocket 12 and the exchange arm is from pocket 56
M60 T1010 E56; Spindle is a manual tool defined in tool management at pocket 1010 and the exchange
arm has a tool from pocket 56
M60 T0 E14; Spindle has no tool and the exchange arm has a tool from pocket 14
M60 T520 A401 E0; Spindle has an universal tool from pocket 520 in attachment 401 and the exchange arm
is empty

2. Go to the Magazine / Pocket assignment screen of tool management and verify that the data entries for the
spindle (SPDL1) and exchange arm
(WAIT1) are correct.

3. If the data is not correct, the SPDL1 and


WAIT1 field must be updated. In order to
change the spindle and wait numbers, the
pocket numbers of the tools must be set to
zero as shown on the right.
Note: It is up to the operator to ensure that the information in the tool management table correctly
reflects what was entered in the M60 and what is actually in the spindle and exchange arm.
Failure to do this can result in improper location and/or use of tools.

Note: If a modular tool has a type other than 99, then the A parameter is not used.

Note: If a tool is not present in the spindle or exchange arm, the pocket number is entered as 0 (zero).

At the completion of the above steps, the tools in the spindle and/or exchange arm are referenced.

TOOL MANAGEMENT 30.20 - 17


CONTOURING HEAD USE WITH THIS TOOL MANAGEMENT PACKAGE

For customers that have contouring heads, programming / identifying of the tool will be the same as it is with any
other tool. Contouring heads will, as always, be treated as manual tools. Data entries will be in the Magazine 2
section of the magazine / pocket assignment table. If the head is in the spindle, the pocket number to which it is
assigned in that table will identify it. The only difference is how it is defined in the Contouring head assignment macro
(O8030). In this macro, the heads identification entries will be the Tool Type numbers and not the pocket numbers.
Therefore, this macro identifies the Tool Type or Group and not individual tools. If there is more than one head of a
certain Tool Type, then only one entry in this system will be made. It is assumed that the heads will be identical (i.e.
travels, load / unload positions, etc. are the same).

MESSAGES & ALARMS

Mnemonic Message
Reactions Message Text
or Number Type
TNIJA<_> Alarm Tool ID Request MANUAL TOOL NOT ALLOWED IN JAW
During an M60, a manual tool was defined for the exchange arm.
TNI1A<_> Alarm Tool ID Request M60/TM - INCONSISTENT SP DATA
Either data was found in the tool management table for the spindle
when the M60 indicated that no tool was in the spindle or no data was
found in the table for the spindle when M60 indicated that a tool was in
the spindle.
TNI2A<_> Alarm Tool ID Request M60/TM - INCONSISTENT ARM DATA
Either data was found in the tool management table for the arm when
the M60 indicated that no tool was in the arm or no data was found in
the table for the arm when M60 indicated that a tool was in the arm.
TNPNA<_> Operator None TOOL / TOOL GROUP ALMOST EXHAUSTED
Indicates that the tool or tool group in which the current tool in the
spindle resides is almost exhausted. This relates to the Previous
notice life entry in the tool management table.
TGEXA1 Operator None TOOL GROUP EXHAUSTED
Indicates that the tool in the spindle has reached the end of its life.

30.20 - 18 TOOL MANAGEMENT


SECTION 30.30
TOOL CHANGER
TABLE OF CONTENTS

TITLE PAGE
GENERAL ...................................................................................................................................................................... 1

TOOL CHANGER SPECIFICATIONS ............................................................................................................................ 1

DEVICES LOCATED ON THE TOOL CHANGER ......................................................................................................... 2

TOOL MAGAZINE DOOR INTERLOCK - FLOOR-TYPE ONLY ......................................................................... 2

TOOL CHANGE AUTO / MANUAL LIGHTED PUSHBUTTON ........................................................................... 2

JOG MAGAZINE COUNTERCLOCKWISE PUSHBUTTON................................................................................ 2

JOG MAGAZINE CLOCKWISE PUSHBUTTON ................................................................................................. 2

CHAIN ROTATION ENABLE PUSHBUTTON - FLOOR-TYPE ONLY ................................................................ 2

FOOT PEDALS ................................................................................................................................................... 2


POWER DRAWBAR SELECTOR SWITCH ........................................................................................................ 3

TOOL UNCL / CLAMP SELECTOR.......................................................................................................... 3

EMERGENCY STOP PUSHBUTTON ...................................................................................................... 3

OTHER TOOL CHANGER DEVICES LOCATED ON THE MACHINE .......................................................................... 3

MAGAZINE GATE LOCK / UNLOCK .................................................................................................................. 3

ACCESSING THE TOOL MAGAZINE AREA ........................................................................................... 3

LOADING / UNLOADING THE TOOL MAGAZINE ........................................................................................................ 4


GENERAL

Tools used on the MAG Horizontal Boring Mills will typically have an ANSI B5.50 No. 50 or SK 50 (DIN 69872) taper.
Tools can either be loaded manually or by using the optional Automatic Tool Changer. Several configurations of Tool
Changers are available. Attachment and attachment tools are also available.

This section will describe the basic Tool Change functions. Refer to the TOOL OFFSETS, ATTACHMENTS and
TOOL MANAGEMENT sections for more information regarding these features.

FIGURE 30.30 - 1
Examples of Tool Changers

TOOL CHANGER SPECIFICATIONS

Tool changers are located on the side of the machine column, opposite the operator. TABLE 30.30 - 1 shows the
basic specifications for the tool changer available on Horizontal Boring Machines.

Tool Changer Chain Style Magazine Specifications


ANSI B5.50 ANSI B5.50
#50 Taper #60 Taper
Tool Magazine Capacity (optional) 60 - 90 - 120 110
Tool Diameter Adjacent Pocket Full 125 mm (4.9") 170 mm (6.7”)
Adjacent Pocket Empty 280 mm (11") 350 mm (13.8”)
Maximum Tool Length 750 mm (29.5") 850 mm (33.5”)
Maximum Tool Weight 50 kg (110 lbs)

TABLE 30.30 - 1
Chain Style Magazine Specifications

TOOL CHANGER 30.30 - 1


DEVICES LOCATED ON THE TOOL CHANGER

There are several pushbuttons on a panel located at the operator access door of the tool changer magazine. In
addition there are two foot pedals. These devices are used during the process of loading and unloading tools in the
magazine.

A description of these operator devices and their use is as follows:

TOOL MAGAZINE DOOR INTERLOCK - FLOOR-TYPE ONLY

The tool magazine enclosure is accessed through the tool magazine door. The door interlock is
equipped with a green and red indicator lights that indicate if the door is locked (green) or
unlocked (red). Access to the magazine is inhibited while the FEED START is selected or the
spindle is running. Also, if the doors are unlocked, feed start and spindle rotation are inhibited.

TOOL CHANGE AUTO / MANUAL LIGHTED PUSHBUTTON

This pushbutton is a safety device used to allow the manual rotation of the
magazine. Pressing this pushbutton will toggle between auto (lighted) and
manual operation. Automatic tool changes are inhibited while in the manual
mode.

JOG MAGAZINE COUNTERCLOCKWISE PUSHBUTTON

This pushbutton is used by the operator to manually rotate the matrix


counterclockwise. Refer to the LOADING / UNLOADING THE TOOL
MAGAZINE heading for use of this device.
Note: The tool magazine enclosure door must be closed before the magazine will rotate.

JOG MAGAZINE CLOCKWISE PUSHBUTTON

This pushbutton is used by the operator to manually rotate the matrix clockwise. Refer to the LOADING /
UNLOADING THE TOOL MAGAZINE heading for use of this device.
Note: The tool magazine enclosure door must be closed before the magazine will rotate.

Note: On floor-type machines the CHAIN ROTATION ENABLE pushbutton must be pressed simultaneously
with the MAGAZINE JOG button (clockwise or counterclockwise) before the magazine will rotate.

CHAIN ROTATION ENABLE PUSHBUTTON - FLOOR-TYPE ONLY

This button must be pressed simultaneously with the JOG MAGAZINE pushbuttons to allow the
magazine chain to be safely rotated.

FOOT PEDALS

The Foot Pedals are used to clamp and eject tools from the matrix. The tool pot must be
rotated to the load and unload location as indicated on the matrix.

30.30 - 2 TOOL CHANGER


POWER DRAWBAR SELECTOR SWITCH

This switch is a spring loaded return to center switch. It is used to manually actuate the power drawbar located in the
machine spindle. The label on the switch indicates selections of UNCLAMP (turn switch counterclockwise) and
CLAMP (turn switch clockwise). This switch is located on a portable control box. The portable box also includes an
EMERGENCY STOP pushbutton.

TOOL UNCL / CLAMP SELECTOR

The POWER DRAWBAR cycle is automatic after initiated by the TOOL UNCL
/ CLAMP switch. The cycle will stop when the tool is engaged or disengaged.

To use the switch simply select the desired function position (UNCLAMP or
CLAMP) momentarily, and then release. The switch will center itself while
the Disengage or Engage cycle executes.

EMERGENCY STOP PUSHBUTTON

The EMERGENCY STOP pushbutton is used to remove the hydraulic power from the machine and de-energize
some circuits on the machine. If the machine is to remain idle or unattended for any length of time, the
EMERGENCY STOP should be used to shut the machine down. Do this after cycling out. Resume operation by
restarting the machine and choosing a desired mode of operation.

OTHER TOOL CHANGER DEVICES LOCATED ON THE MACHINE

MAGAZINE GATE LOCK / UNLOCK

On Floor-Type machines, a TOOL MAGAZINE GATE LOCK / UNLOCK switch is typically located on the
electrical control cabinet and is used to control access to the Tool Magazine area.

Select the LOCK position for normal automatic machine operation.

When access to the Tool Magazine area is required, select unlock. Automatic operation of the machine is
not allowed while the gate is unlocked.

ACCESSING THE TOOL MAGAZINE AREA

To access the Tool Magazine area, follow these steps:

1. If the machine is running a program in Auto Mode, stop automatic machine operation. This can be done in one
of three ways (if not in automatic operation, go to step 3):
A. Press the SINGLE BLOCK key and wait for the active block to complete. Automatic program operation
can be continued by pressing CYCLE START (NC START).

B. Press the CYCLE STOP key, which will interrupt automatic operation and immediately stop the active
machine cycle. Automatic program operation can be continued by pressing CYCLE START (NC
START).

C. Press the RESET key. This will cancel automatic operation and immediately stop the active machine
cycle. Automatic program operation must be restarted by block searching to the appropriate start point
in the program.

2. Press the FEED STOP key (this allows the operators door to be opened).

3. Unlock the operator’s door and exit the platform.

4. Select UNLOCK on the TOOL MAG LOCK / UNLOCK switch (this allows the tool magazine door to be
opened).

TOOL CHANGER 30.30 - 3


LOADING / UNLOADING THE TOOL MAGAZINE

Tools are loaded into the magazine through the magazine access door at the rear of the tool changer. Access to the
tool magazine is inhibited while the FEED START is selected or the spindle is running. Once the door is unlocked,
feed start and spindle rotation are inhibited.

The magazine can be rotated CCW or CW to any tool storage pot while in the manual mode and the magazine
access door is closed. Automatic tool changes are inhibited while in the manual mode.

Load / unload tools into the magazine as follows:

1. Press the TOOL CHANGE AUTO / MANUAL lighted pushbutton to select manual mode. Rotate the magazine
to position the desired tool pot to the load / unload location by pressing the appropriate JOG MAGAZINE
pushbutton. The magazine will traverse in the direction selected.

2. Load or unload tool as follows:

A. Load the tool into the desired tool storage pot by pushing on the tool and depressing the (clamp) foot-
pedal.
Note: Be sure to properly align the keyway of the tool holder for proper engagement into the
tool storage pot.

B. Unload the tool by grasping the tool and depressing the (unclamp) foot-pedal to eject the tool.

3. Press the TOOL CHANGE AUTO / MANUAL lighted pushbutton to select AUTO and close the magazine
access door when loading (or unloading) is complete.

4. Be certain the tool is defined in tool management and the proper matrix location is assigned. All other tool
data, including Tool Offset Lengths must be entered into the proper tool registers. See the TOOL
MANAGEMENT section for the proper procedure.

****************************************************************************************

THE KEYWAY OF A TOOL HOLDER, WHICH HAS THE "DIMPLE", MUST ALIGN OPPOSITE THE
KEY IN THE TOOL POT. BE SURE THE TOOL IS INSERTED PROPERLY. DO NOT FORCE.

DO NOT LOAD A TOOL INTO AN EMPTY TOOL STORAGE POT ASSIGNED TO A TOOL
ALREADY ENGAGED IN THE SPINDLE.

ALSO USE CAUTION WHEN LOADING OVERSIZED TOOLING. ANY TOOL, WHICH MIGHT
INTERFERE WITH ITS NEIGHBORING TOOLS, MUST BE LOADED INTO A TOOL STORAGE POT
BETWEEN TWO EMPTY POTS. SEE TOOL CHANGER DATA, TABLE 30.30 - 1, FOR MAXIMUM
DIAMETER TOOLING INFORMATION.

****************************************************************************************

****************************************************************************************

DO NOT TRY TO LOAD TOOLS INTO THE MAGAZINE OF A FLOOR-TYPE MACHINE WHILE THE
MACHINE IS IN OPERATION. DEATH, SERIOUS PERSONAL INJURY AND/OR SUBSTANTIAL
MACHINE DAMAGE WILL OCCUR.

****************************************************************************************

30.30 - 4 TOOL CHANGER


SECTION 30.40
TOOL CHANGER OPERATION
TABLE OF CONTENTS

TITLE PAGE
TOOL CHANGE PROGRAM FORMAT ......................................................................................................................... 1

T - TOOL NUMBER ............................................................................................................................................. 1

M06 - TOOL CHANGE COMMAND .................................................................................................................... 2

M00 - PROGRAM STOP ..................................................................................................................................... 2

AXES MOTION SEQUENCES WITH TOOL CHANGE (WITHOUT W-AXIS RAM) ............................................ 2

STANDARD CHAIN MAGAZINE .............................................................................................................. 2

OPTIONAL AUXILIARY TOOL RACK MAGAZINE................................................................................... 2

AXES MOTION SEQUENCES WITH TOOL CHANGE (WITH W-AXIS RAM) .................................................... 3

STANDARD CHAIN MAGAZINE .............................................................................................................. 3


OPTIONAL AUXILIARY TOOL RACK MAGAZINE................................................................................... 3

PROGRAMMED MANUAL TOOL CHANGE .................................................................................................................. 3

T - TOOL NUMBER ............................................................................................................................................. 3

M06 - TOOL CHANGE COMMAND .................................................................................................................... 3

TOOL CHANGE SEQUENCE ........................................................................................................................................ 4

TOOL CHANGE EXAMPLE (WITHOUT RAM) .............................................................................................................. 5

TOOL CHANGE EXAMPLE (WITH RAM) ...................................................................................................................... 5

MANUAL TOOL CHANGE ............................................................................................................................................. 6

TO ENGAGE A TOOL IN THE SPINDLE ............................................................................................................ 6

TO DISENGAGE A TOOL FROM THE SPINDLE ............................................................................................... 6

ABORTING THE TOOL CHANGE CYCLE.......................................................................................................... 6

TOOL REFERENCE ...................................................................................................................................................... 7

MANUAL TOOL CHANGER MANIPULATION ............................................................................................................... 8

REV 1 (10-2012)
TOOL CHANGE PROGRAM FORMAT

The following information pertains to a programmed tool change. This includes tool changes that are performed via
MDI.

T - TOOL NUMBER

The T-code is used to select a tool from a storage location in the tool magazines or to select a manually loaded tool.
When the T-code is programmed, the machine will transfer the selected tool to the ready position in the exchange
arm. This allows the programmer to preselect a tool during a positioning or machining operation, which affects a
rapid tool change. The T-code should be programmed in a block prior to the tool change and the preselect block may
contain other commands.

In the Fanuc Tool Management system, the T-code is called the Type No. (see FIGURE 30.40 - 1 for an example).
The Type No. can be assigned by the user.

On machines equipped with an automatic tool changer, a T-code within the specified range (typically 1001 to 1020)
will cause a manual tool change.

The removal of a tool from the spindle and the placement of the new tool are generated by the M06 tool change
command. The following conditions apply depending on the programmed T-code:

• If a T-code is programmed with a number that is assigned to magazine 4 (typically pockets 1001-1050), a
manual tool change command will be generated.
Note: T200 up to T999 are reserved for attachments.

• If the programmed T-code is equal to zero (T0), and a tool is in the spindle or exchange arm, that tool will be
returned to the matrix.

• If the programmed tool number is equal to a matrix location, but a tool is not present, a Feed Hold will occur and
a TOOL NOT IN COMMANDED POT message will appear on the display screen.

• If the programmed T-code is assigned a matrix location and a tool is found, the tool will be placed in the
exchange arm.

• If the programmed T-code is equal to a matrix location, and a tool is found, the tool change will be completed.

• Special tool numbers are assigned to attachments through the tool management system and the tool exchange
cycle (M06). For information on setting these special tool numbers, see the CONTOURING HEADS and
ATTACHMENTS sections.

FIGURE 30.40 - 1
Tool List Example

TOOL CHANGER OPERATION 30.40 - 1


Note: Special type numbers (Type No.) are assigned to certain attachments and tools. The cycle O8030 is
used to assign these numbers. As a general rule the numbers; 200 through 700 are reserved for
attachments and attachment tools (see FIGURE 30.40 - 2).

FIGURE 30.40 - 2
Attachment Number Example

On the machines not equipped with an automatic tool changer the tool number is a four-digit entry T0000 through
T9999. A commanded tool number is displayed on the screen. The tool number is used to notify the operator which
tool to use.
Note: The T-code represents the tool group number, not the magazine pocket number. The pocket number
is assigned in the tool management table. See the TOOL MANAGEMENT section for more
information.

M06 - TOOL CHANGE COMMAND

The M06 will transfer a tool from the tool matrix to the spindle. During the transfer a previously used tool that is in the
spindle will be removed and put back into the matrix location that has been assigned to it. When programmed, the
M06 must be the first item on the block followed only by the T-code (i.e. M06 T12345678).

Depending on the tool load / unload situation, the actual sequence of axis motion can vary. TABLE 30.40 - 1
illustrates the various possible combinations of tool change sequences in regard to the standard chain style tool
changer and manual load tools. For information regarding the axis motion sequence for attachments and attachment
tools, refer to the CONTOURING HEADS and ATTACHMENTS sections in this manual.

M00 - PROGRAM STOP

The miscellaneous function code can also be used for Manual Tool changes. This code can be programmed to stop
program execution to allow the operator to change tools. When a tool is loaded into the spindle without an M06
command, the tool must be referenced, see the TOOL REFERENCE topic.

AXES MOTION SEQUENCES WITH TOOL CHANGE (WITHOUT W-AXIS RAM)

STANDARD CHAIN MAGAZINE


1. Position the spindle and Y-axes simultaneously to the auto tool change location.
2. Replace the present tool with new tool.

OPTIONAL AUXILIARY TOOL RACK MAGAZINE

1. Retract the spindle to a retract position.

2. Move the X and Y-axes simultaneously to the tool change location.

3. Move the spindle to an intermediate position.

4. Move the spindle to the exchange position.


5. Move the X-axis to the intermediate exchange position.

6. Retract the spindle to a retract position.

30.40 - 2 TOOL CHANGER OPERATION


AXES MOTION SEQUENCES WITH TOOL CHANGE (WITH W-AXIS RAM)

STANDARD CHAIN MAGAZINE


1. Position the Z, W (Ram) and Y-axes simultaneously to the auto tool change location.
2. Replace the present tool with new tool.

OPTIONAL AUXILIARY TOOL RACK MAGAZINE


1. Retract the Z and W (Ram) axes simultaneously to a retract position.
2. Move the X and Y-axes to the tool change location.
3. Move the W (Ram) axis to the exchange position and Z-axis to an intermediate position.
4. Move the Z-axis to the exchange position.
5. Move the X-axis to the intermediate exchange position.
6. Retract the Z and W (Ram) axes simultaneously to a retract position.

PROGRAMMED MANUAL TOOL CHANGE

The following information is relative to performing a Programmed Manual Tool Change.

T - TOOL NUMBER

As previously stated, the T-code is used to identify the desired tool. The T-code is the Type No. assigned to a pocket
in Tool Management. In the Fanuc Tool Management system, a range of tools are defined as manual tools. The
pocket range is typically 1001 - 1050 and the assigned magazine is number 4. The Type No. (T-code) can be
assigned by the user. In FIGURE 30.40 - 3, the tool numbers (Type No.) are;1001, 1002, 1003, 1004, 231299, etc.

FIGURE 30.40 - 3
Manual Tools

M06 - TOOL CHANGE COMMAND

The M06 tool change miscellaneous code is used to initiate a manual tool change. The M06 command initiates the
following sequences:

1. Stops the spindle and coolant flow. Retracts the W-axis. Positions the Z and Y-axes simultaneously to a
convenient location for the operator to unload and load the tools.

2. A feed hold will occur and a message will appear on the display screen.

3. The operator will load the new tool into the spindle, and then press CYCLE START.

TOOL CHANGER OPERATION 30.40 - 3


TOOL CHANGE SEQUENCE

M06 Txxxxxxxx Tool Change - Z- Axis Spindle (FT, PT, RT, MC)
Present Tool: Present Tool: Present Tool: Present Tool:
From Matrix From Matrix Manual Load Manual Load
↓ ↓ ↓ ↓
Next Tool: Next Tool: Next Tool: Next Tool:
From Matrix Manual Load From Matrix Manual Load
Retract the W-axis Retract the W-axis Retract the W-axis Retract the W-axis
Position Z & Y to the Position Z & Y to the Position Z & Y to the Position Z & Y to the
Tool Change Location Tool Change Location & Tool Change Location Tool Change Location
Change Tool Unload Tool Feed Hold & Request Feed Hold & Request
Continue Program Feed Hold & Request Manual Tool Unload Manual Unload
Manual Load Load Tool Request Manual Load
Continue Program
M06 Txxxxxxxx Tool Change - W-Axis Spindle (FT, PT, RT, MC)
Present Tool: Present Tool: Present Tool: Present Tool:
From Matrix From Matrix Manual Load Manual Load
↓ ↓ ↓ ↓
Next Tool: Next Tool: Next Tool: Next Tool:
From Matrix Manual Load From Matrix Manual Load
Retract the Z-axis Retract the Z-axis Retract the Z-axis Retract the Z-Axis
Position W & Y to the Position W & Y to the Position W & Y to the Position W & Y to the
Tool Change Location Tool Change Location & Tool Change Location Tool Change Location
Change Tool Unload Tool Feed Hold & Request Feed Hold & Request
Continue Program Feed Hold & Request Manual Tool Unload Manual Unload
Manual Load Load Tool Request Manual Load
Continue Program
M06 Txxxxxxxx Tool Change (Floor-Type with Ram)
Present Tool: Present Tool: Present Tool: Present Tool:
From Matrix From Matrix Manual Load Manual Load
↓ ↓ ↓ ↓
Next Tool: Next Tool: Next Tool: Next Tool:
From Matrix Manual Load From Matrix Manual Load
Retract the Ram & Spindle Retract the Ram & Spindle Position the Ram& Spindle Position the Ram& Spindle
to the Auto tool change to the Auto tool change to the Manual tool change to the Manual tool change
location location location location
Position Y to the Auto tool Position Y to the Auto tool Position Y to the Manual Position Y to the Manual
change location change location tool change location tool change location
Exchange tools Unload the tool, return it to Feed Hold & request Feed HOLD & Request
Return tool removed from the magazine manual tool unload - Manual Tool unload -
the Spindle to the Position the Ram& Spindle Operator Unload- Cycle Operator Unload- Cycle
magazine to the Manual tool change Start Start
Continue program location Retract the Ram & Spindle Feed Hold & request
Position Y to the Manual to the Auto tool change manual load - Operator
tool change location location Load- Cycle Start
Feed Hold & request Position Y to the Auto tool
manual load - Operator change location
Load - Cycle Start Auto Load tool
Continue program Continue program

TABLE 30.40 - 1
Tool Exchange Sequence - Standard Chain Matrix
Note: The drawbar must be out before the cycle can continue after an unload request.

30.40 - 4 TOOL CHANGER OPERATION


TOOL CHANGE EXAMPLE (WITHOUT RAM)

Z-SPINDLE W-SPINDLE
N210 G00 W30 M05; N210 G00 Z30 M05;
N220 M06 T30; N220 M06 T30;
N230 G00 G95 S300 M03; N230 G00 G95 S300 M03;
N240 X6 Y0 T31; N240 X6 Y0 T31;
N250 G00 Z0; N250 G00 W0;
N260 G43 H30 W.5; N260 G43 H30 Z.5;
N270 G81 R.1 W-3 F.018; N270 G81 R.1 Z-3 F.018;

N210 Retract to saddle / auxiliary slide and stop spindle

N220 Tool number (T30), change tool

N230 Inches per revolution, speed and start spindle

N240 Position to hole location and preselect next tool (T31)

N250 Position spindle to zero

N260 Activate offset compensation 30, position spindle to .5

N270 Drill hole

TOOL CHANGE EXAMPLE (WITH RAM)

The following is an example of a typical programmed manual tool change:


N0030 G00 G55 W2=80.0 M05; Retract auxiliary slide for tool change, spindle stop
N0040 M06 T1001; Tool change to manual tool 1001
N0050 G00 B0.0; Position rotary table to zero degrees
N0060 G54 W2=30.0; Position workpiece to the machining position
N0070 G200 Z-4.0; Extend spindle to -4.0" and offset W external
N0080 G95 F.008 M03 S600 M07; IPR feed, speed, spindle & coolant on
N0090 G43 H99 W1.0; Activate tool offset & apply to W-axis
N0090 ... Continue with machining process

The following is an example of a typical programmed automatic tool change.


N0030 G00 G55 W2=80.0 M05; Retract auxiliary slide for tool change, spindle stop
N0040 M06 T5; Tool change to tool 5
N0050 G00 B0.0; Position rotary table to zero degrees
N0060 G54 W2=30.0; Position workpiece to the machining position
N0070 G200 Z-4.0; Extend spindle to -4.0" and offset W external
N0080 G95 F.008 M03 S600 M07; IPR feed, speed, spindle & coolant on
N0090 G43 H99 W1.0; Activate tool offset & apply to W axis
N0090 ... Continue with machining process

****************************************************************************************

A RETRACT CLEARANCE MOVE FOR THE AUXILIARY SLIDE, IF PRESENT, IS NOT PROVIDED
FOR BY THE TOOL EXCHANGE CYCLE. IT IS THE RESPONSIBILITY OF THE PROGRAMMER
AND/OR OPERATOR TO MAKE CERTAIN THAT THE AUXILIARY SLIDE IS RETRACTED TO
PROVIDE SUFFICIENT CLEARANCE TO PERFORM THE TOOL CHANGE.

****************************************************************************************

TOOL CHANGER OPERATION 30.40 - 5


MANUAL TOOL CHANGE

Tools may be changed manually by using the power drawbar switch. This switch may be operated to engage or
disengage a tool in the spindle under the following conditions:

• In Jog mode when spindle motion has halted.

• In the Auto and MDI modes when the cycle start lighted pushbutton is extinguished, and the spindle is not
rotating.

• When the feed hold pushbutton is illuminated and a M06 - tool change miscellaneous code has been executed
and a manual tool change message is displayed on the screen.

TO ENGAGE A TOOL IN THE SPINDLE

1. Insert the tool holder carefully into the spindle, making certain the keyways on the tool holder properly engage
the spindle drive keys.

2. Momentarily select CLAMP with the power drawbar switch, and then release the switch. The power drawbar
will automatically engage the tool securely.

****************************************************************************************

ALL TOOLS REQUIRE PROPER ORIENTATION TO BE INSERTED INTO THE SPINDLE. ONE
KEYWAY SLOT IS 1/8 INCH SHALLOWER THAN THE OTHER. EXERCISE CAUTION. DO NOT
TRY FORCING TOOLS INCORRECTLY INTO THE SPINDLE.

****************************************************************************************
Note: After manually engaging a tool in the spindle it will be necessary to perform a Tool Reference. See
the TOOL REFERENCE topic for information on this.

TO DISENGAGE A TOOL FROM THE SPINDLE

1. Hold the tool firmly by hand, or if heavy, cradle the tool in a sling.

2. Momentarily select UNCLAMP with the power drawbar switch, then release the switch. The power drawbar
will automatically disengage the tool. Use care not to drop the tool.

The power drawbar clamp (engage) or unclamp (disengage) cycle is automatic after initiated by the power drawbar
switch. The cycle will stop when the tool is engaged or disengaged.

ABORTING THE TOOL CHANGE CYCLE

The TOOL CHANGE cycle is aborted when either the RESET or the EMERGENCY STOP pushbutton is pressed.
Pressing the RESET pushbutton halts all tool change motion, and extinguishes the lighted CYCLE START
pushbutton. Pressing the EMERGENCY STOP pushbutton halts all tool change motion, and turns off the hydraulic
supply units. When aborted, the tool change mechanism must be returned to the normal starting condition by using
the Tool Changer Setup mode. This procedure is outlined in the Electrical Service Manual and should be attempted
by qualified personnel only.
Note: Pressing the EMERGENCY STOP pushbutton during preselect of the tool also requires manipulation
of the Tool Changer Setup mode to resume operation.

30.40 - 6 TOOL CHANGER OPERATION


TOOL REFERENCE

It will be required of the operator to reference one or more tools if power has been removed and then restored to the
machine or if the Control has been reinitialized.

When power has been restored, control reinitialized, abort tool change cycle, or exiting the tool exchange setup page,
the control does not know what the tool numbers are of a preselected tool and the spindle tool. The tool reference
procedure must also be performed if a tool is manually placed into the spindle.

The M60 command along with a T, E and A-codes are used to reference the tools.

• T-code is used to specify the pocket number of the tool in the spindle.

• E-code is used to specify the pocket number of the tool in the exchange arm.

• A-code is used to specify the pocket number of the attachment when a modular Universal tool is loaded.

The M60, T, E and A-codes must be the only commands programmed on the block and the M60 must be
programmed before all of the codes.

Messages will be displayed to prompt the operator to perform the required referencing. Reference the tools as
follows:

1. Select MDI mode button.

2. Press the PROG key on the keyboard until the program (MDI) is displayed in the upper LH corner of the
display page.

3. Type in the keyboard:


M60 Taaaa Eaaaa (Aaaaa);

where: M60 = Tool reference code


Taaaa = Pocket number of tool in the spindle or attachment mounted to the head.
Eaaaa = Pocket number of tool in the exchange arm.
Aaaaa = Pocket number of attachment mounted to head when a modular tool of type Universal
(type equal 99 only) is loaded in the attachment.
; = End of Block
Note: If a tool is not present in the spindle, exchange arm or attachment, the tool number is entered
as 0 (zero).

Note: Refer to the ATTACHMENTS section in this manual for a description of these capabilities.

4. Press the INSERT softkey or the INPUT key on the keyboard.

5. Press the CYCLE START pushbutton.

At the completion of the above steps, the tools in the spindle, exchange arm and/or attachment are referenced.

TOOL CHANGER OPERATION 30.40 - 7


MANUAL TOOL CHANGER MANIPULATION

The manual manipulation of the tool changer can be done through the Machine Setup mode. When this mode is
active, one can cause exchanger arm motion, swing spindle motion, matrix motion, or any other motion that occurs
during a tool change.

The proper procedures to do this are explained in the Electrical Service Manual provided with your machine.
Note: Qualified personnel should only attempt this who fully understands the operations and functions of
the machine setup mode!

****************************************************************************************

PERSONNEL USING THE MACHINE SETUP MODE MUST BE CONSTANTLY AWARE OF THE
PHYSICAL POSITION OF THE MACHINE MEMBERS AND THE MOTIONS THAT ARE ABOUT TO
TAKE PLACE AS PERSONAL INJURY OR DAMAGE TO THE MACHINE COULD RESULT.

****************************************************************************************

30.40 - 8 TOOL CHANGER OPERATION


SECTION 30.70
BALLUFF TOOL ID READER
TABLE OF CONTENTS

TITLE PAGE
GENERAL ...................................................................................................................................................................... 1

BASIC DESIGN CONCEPT ................................................................................................................................ 1

ARM MOUNTED BALLUFF HARDWARE ..................................................................................................................... 2

READ/WRITE CHIPS..................................................................................................................................................... 2

PROCEDURES .............................................................................................................................................................. 2

ADD TOOL TO MAGAZINE ................................................................................................................................ 2

REMOVE TOOL FROM MAGAZINE ................................................................................................................... 3

CANCELLING AN ADD OR REMOVE OPERATION .......................................................................................... 3

TOOL MANAGEMENT DATA ........................................................................................................................................ 4


SERIAL NUMBER ............................................................................................................................................... 4

ERROR CONDITIONS AND RECOVERY ..................................................................................................................... 4

TOOL DATA CHIP SCAN ERRORS ................................................................................................................... 5

DATA CHIP / TOOL MANAGEMENT CONFLICT & HARDWARE ERRORS...................................................... 5

SETUP AND CONFIGURATION.................................................................................................................................... 6

REPLACEMENT CHARACTERS / MEANING .................................................................................................... 6

PMC VARIABLES ............................................................................................................................................... 8


GENERAL

The Tool ID feature utilizes the Balluff System. The Balluff Tool ID Reader can incorporate a hand-held wand and a
control box with two pushbuttons (refer to FIGURE 30.70 - 1) or can be mounted on a Renishaw tool probe arm (refer
to FIGURE 30.70 - 2). The reader can read data contained on chips embedded in the tools as well as write data. If
the Balluff System is to be used on a tool, that tool MUST have a chip mounted to it (refer to FIGURE 30.70 - 3). This
applies only to spindle tools, tools that are loaded into the spindle from the chain magazine. Attachments or adaptors
will not have a data chips.

FIGURE 30.70 - 1
Tool ID Wand & Control Box

BASIC DESIGN CONCEPT

The basic design of the Balluff Tool ID System is to:

• Add a tool to a pocket in the tool magazine

• Remove a tool from a pocket in the tool magazine

There are options available that control the data when a tool is removed from the pocket. When a tool is removed,
tool data can be:

1. Removed from the Magazine List (but retained in the Tool List).
or
2. Deleted entirely from Tool Management.

Additionally the tool data stored on the chip can be updated (saved) when a tool is removed. The deleting and saving
functions are determined by settings (refer to the SETUP AND CONFIGURATION topic).

Only tools that are loaded automatically from the tool magazine can utilize the Tool ID system. Tools that are
manually loaded do not have access to the wand.

****************************************************************************************

IT IS THE RESPONSIBILITY OF THE USER TO MAKE CERTAIN THAT THE DATA STORED IN
TOOL MANAGEMENT IS CORRECT FOR EACH TOOL.

****************************************************************************************

BALLUFF TOOL ID READER 30.70 - 1


ARM MOUNTED BALLUFF HARDWARE

The Balluff Tool ID Reader can be mounted on a Renishaw tool probe arm. The following photograph shows a
typical installation on a VTC tool disk. There are two readers in this setup; one sensor (using a fixed mount) reads
the data chip on a wedgelock tool while a second sensor is mounted on a movable arm. The disk is rotated to
present the tool you wish to read and the arm is lowered into position where the chip in the modular tool is read. If
the arm is down in the extended position, you will not be able to rotate the VTC tool disk.
Arm up in clear position Arm down in read position

FIGURE 30.70 - 2
Balluff - Arm Mounted Sensor (VTC Tool Disk Sheet Metal Removed)

READ/WRITE CHIPS

The chips that data are stored on are mounted directly on


the tools. The chip is inserted into a pocket on the
flange. See FIGURE 30.70 - 3 for an example of chip
location.

The tool data is written to the chip via a device external


to the machine (i.e.; a tool presetter). The tool presetter
would be configured to measure tools and provide an
interface for the operator to enter pertinent data for the
tool; Tool Name, Tool Type, etc. A description of the
data written to the chip is given in the SETUP AND
CONFIGURATION topic.
Read/Write Chip
The wand attached to the machine can read the data on
the chip and if setup properly can write to the chip. Data
can only be written to the chip when a tool is being
removed from the magazine. FIGURE 30.70 - 3
Tool ID Chip
PROCEDURES

The following are procedures for adding tools to the magazine and removing tools from the magazine and utilizing the
Balluff Tool ID system.

ADD TOOL TO MAGAZINE

With the correct data written to the data chip on the tool, following these steps to add a tool to the machine magazine:

1. Position the magazine to the desired pocket to receive the tool.

30.70 - 2 BALLUFF TOOL ID READER


2. Press the ADD TOOL pushbutton on the control box (refer to FIGURE 30.70 - 1). The ADD TOOL pushbutton
will begin to flash, indicating the operator is to scan the tool with the wand.

3. Scan the tool. If the scan is successful, the ADD TOOL pushbutton will begin flashing at a faster rate,
indicating the tool can now be loaded into the pocket.

4. Load the tool into the pocket (follow the tool load procedure described in the Operator Instruction manual
supplied with the machine).

5. If the Load Tool scan is successful, the ADD TOOL pushbutton will momentarily stop flashing. Then both the
ADD TOOL and REMOVE TOOL pushbuttons will flash three (3) times, indicating the operation was
completed successfully.

If the Add Tool is successful, the tool data from the chip will be entered into tool management for the selected pocket.

If an error occurs, the operator may reset the alarm and press the ADD TOOL pushbutton to restart the Add Tool
sequence. A list of errors and descriptions is given later in this document.

REMOVE TOOL FROM MAGAZINE

To remove a tool from the magazine, follow these steps (there must have a properly formatted data chip):

1. Position the magazine to the desired tool to be removed.

2. Unload the tool from the pocket (follow the tool unload procedure described in the Operator Instruction manual
supplied with the machine). The REMOVE TOOL pushbutton located on the control box (refer to FIGURE
30.70 - 1) will begin to flash, indicating the operator is required to press the REMOVE TOOL pushbutton.

3. Press the REMOVE TOOL pushbutton. The REMOVE TOOL pushbutton will begin flashing at a faster rate,
indicating the operator is to scan the tool with the wand (refer to FIGURE 30.70 - 1).

4. Scan the tool. The system will verify that the tool being removed from the pocket located at the load/unload
position is the same tool that tool management believes was in that pocket. The REMOVE TOOL pushbutton
light will remain on steady until the verification is complete.

5. If the save tool data feature has been enable (refer to the SETUP AND CONFIGURATION topic earlier in this
document), the REMOVE TOOL pushbutton light will again begin to flash, indicating the operator is to scan the
tool again. The operator is to scan the tool to write the tool management data to the data chip.

6. If the Remove Tool scan is successful, the REMOVE TOOL pushbutton will momentarily stop flashing. Then
both the ADD TOOL and REMOVE TOOL pushbuttons will flash three (3) times, indicating the operation was
completed.

The tool data will then be disassociated from the pocket located at the load/unload position. If the delete tool data
feature has been enable (refer to the SETUP AND CONFIGURATION topic earlier in this document), the data will
then be deleted from tool management, otherwise the tool data will remain in the Tool List of tool management.

If an error occurs, the operator may reset the alarm and press the REMOVE TOOL pushbutton to restart the Remove
Tool sequence. A list of errors and descriptions is given later in this document.

CANCELLING AN ADD OR REMOVE OPERATION

If the operator wishes to cancel an Add or Remove Tool operation before the active operation is complete (or to
recover from an error condition), the operator can press the corresponding pushbutton for approximately two (2)
seconds. Then both the ADD TOOL and REMOVE TOOL pushbuttons will momentarily stop flashing, then both will
flash three (3) times, indicating the cancel operation was completed.

BALLUFF TOOL ID READER 30.70 - 3


TOOL MANAGEMENT DATA

The Tool Management data that is utilized by the Tool ID feature is a Serial Number. The data can be viewed on the
Tool Details screen in the appropriate column SERIAL NUM.

****************************************************************************************

IT IS THE RESPONSIBILITY OF THE USER TO MAKE CERTAIN THAT THE DATA STORED IN
TOOL MANAGEMENT IS CORRECT FOR EACH TOOL.

****************************************************************************************
Note: On the Tool Manager screen, it may be necessary for the user to scroll the
screen to the right in order to see all the columns. The default display of the
Tool List will always show the left most columns. The screen can be
scrolled by simply using the right or left arrow key to move the cursor or the
arrow softkeys can be used to move the cursor.

SERIAL NUMBER

The Serial Number is used to uniquely identify each tool. The Serial Number can be any positive number between 0
and 99999999. Serial Numbers are not used for tools that do not have a chip. This number is located in Tool
Management as shown in FIGURE 30.70 - 4.

The Tool Management database will allow multiple tools to have the same Serial Number. There are no checks
made as to duplicate Serial Numbers. However, it may be a good choice to use a unique Serial Number for each
tool.
Note: Only the numeric digits zero through nine (0-9) are allowed.

The Serial Number can be assigned to a tool by storing it on the chip and scanning the tool or by entering it directly
on the screen.

FIGURE 30.70 - 4
Tool Details

ERROR CONDITIONS AND RECOVERY

There are two (2) types of error conditions:

• Tool data chip scan errors

• Data chip / tool management conflicts and hardware issues

30.70 - 4 BALLUFF TOOL ID READER


TOOL DATA CHIP SCAN ERRORS

Data chip scan errors occur when the reader (wand) is not held stationary long enough for the data to be read or
written to the data chip. The indication of this is a repeating cycle of alternating ADD TOOL and REMOVE TOOL
lights, followed by a single flash. The error can be reset and the desired operation tried again. If the error condition
persists, then the processor and/or the data chip should be checked for problems. Below is a list of possible data
chip scan errors:

Error Description
Error reading Balluff data tag The processor was not able to successfully read the data tag in question.
Error writing Balluff data tag The processor was not able to successfully write the data tag in question.
Wand moved while reading or There is an interruption in the communications between the reader and the
writing processor.
Balluff tag access function has not The operator has about 30 seconds from the time they are prompted to
completed scan the data tag. If this does not occur, this fault will be generated.
Balluff interface failed to reset - A reset was requested by the operator and the Balluff unit did not respond.
Try again Try attempting the reset again.

DATA CHIP / TOOL MANAGEMENT CONFLICT & HARDWARE ERRORS

Conflict errors between the data chip and tool management, as well as hardware issues, are also possible. The
indication of this type of error is a repeating cycle of alternating ADD TOOL and REMOVE TOOL lights, followed by
two (2) flashes. The operator will be required to view the error on the operator station and determine the appropriate
action. Below is a list of possible conflict or hardware errors:

Error Description
Tool already defined in tool A tool with the serial number on the tag, for the tool being loaded, is
management for tool being loaded already defined in tool management.
Balluff remove tool fault - tool When unloading a tool from a pocket in the magazine, a data entry must
number on tool did not match tool exist for the pocket at the load/unload station and the identity of that tool
number in tool management (i.e. serial number), must match that scanned off of the tag on the tool.
When adding a tool to tool management, the system will generate a tool
number that is used by tool management for tracking purposes. If that
Invalid tool number assigned to
number is less than or equal to zero, this fault will be generated. In
added tool.
general, this message should only occur when there are issues with the
system software itself.
If the current load/unload station pocket is not valid (1 to magazine
Error writing - invalid pocket or
capacity), this message is generated. In general, this message should only
magazine number used
occur when there are issues with the system software itself.
Invalid tag access data provided The Balluff unit found no or invalid data on the tag
When reading/writing a data tag, the process detected a memory access
Balluff processor unit not ready
error. The processor should be checked and/or replaced.
Cable break - head not connected. The processor believes the cable between it and the reader head is broken.
Error writing - tool management The Fanuc tool management area is protected. It may be in edit mode.
area protected
Invalid tool management data The system was not able to write the tool management data provided from
used the tag.
The pocket that this tag data is being assigned to, already has a tool
Error writing - pocket is not empty
assigned to it.

BALLUFF TOOL ID READER 30.70 - 5


SETUP AND CONFIGURATION

The setup and configuration of the Balluff Tool ID system is described here. The functionality of the system is
controlled by PMC variables. The data stored on the chip is controlled by replacement characters / strings in the DAT
file for Balluff0003 module. All numbers are offsets in the data memory, in bytes.

REPLACEMENT CHARACTERS / MEANING

Parameter Data Size Data


Data Notes
number Address (bytes) Type
This is the tool number that will be called
when requesting a tool to the spindle. If
a duplicate tool number is scanned into
Tool number 1 0 4 DINT the machine, the system will add the
data in as a redundant tool.
0, 1 - 99999999
This variable defines the tool life time.
Valid values are shown below:
Tool life type 2 4 1 BYTE
0 - # of times used
1 - Time in seconds used
Current tool life of the tool.
Tool life counter 3 5 4 DINT # of times used: 0 - 99999999
Time: 0 - 3599999s
(999 hours 59 min 59 sec)
Maximum life of the tool.
Maximum tool
4 9 4 DINT # of times used: 0 - 99999999
life value
Time: 0 - 3599999s
Sets the warning that the tool is
approaching it's end of life.
Notice life value 5 13 4 DINT
# of times used: 0 - 99999999
Time: 0 - 3599999s
0: Life management is not performed
1: Tool not yet used
Tool life status 6 17 1 BYTE 2: Life remains
3: Life expired
4: Tool breakage (skip)
Nominal length of the tool.
NOTE: This value will be assigned to a
Tool length
tool length compensation number when
geometry 7 18 4 DINT
it is read into the control.
(nominal) value
Units: micrometers (e.g. 1234.123 =
1234123)
Wear offset on the tool after it has been
in use. If the user is updating this value
in the tool offset table, either manually or
Tool length automatically, the value could be written
8 22 4 DINT back to the chip and then use, if the tool
wear value
is transferred to another machine.
Units: micrometers (e.g. 1234.123 =
1234123)

30.70 - 6 BALLUFF TOOL ID READER


This is the cutter radius or diameter,
depending on the mode of the machine
Cutter (mm)
radius/diameter NOTE: This value will be assigned to a
9 26 4 DINT
geometry cutter compensation number when it is
(nominal) value read into the control.
Units: micrometers (e.g. 1234.123 =
1234123)
Wear offset on the cutter after it has
been in use. If the user is updating this
value in the tool offset table, either
Cutter manually or automatically, the value
radius/diameter 10 30 4 DINT could be written back to the chip and
wear value then use, if the tool is transferred to
another machine.
Units: micrometers (e.g. 1234.123 =
1234123)
This is a system variable that can be
used to specify a spindle speed for the
Spindle tool in question. The programmer would
11 34 4 DINT
speed (S) need to address this system variable, as
part of the program they create.

This is a system variable that can be


used to specify a feed rate for the tool in
question. The programmer would need
Feedrate (F) 12 38 4 DINT to address this system variable, as part
of the program they create.
Units: micrometers/sec (e.g. 1234.123 =
1234123)
This is a variable that is used to define
HBM tool type the type tool. It is used primarily for
13 42 4 DINT
(Custom data 1) attachments and other types of custom
tooling.
Coolant pressure
14 46 4 DINT Coolant pressure (Chip Blaster) in Bar
(Custom data 2)
Custom data 3 15 50 4 DINT Reserved (do not use)
Chip ID
Xxxxyyyyz
Chip ID number xxxx = tool number (programmed
16 54 4 DINT
(Custom data 4) number)
yyyy = sister number
z = machine number

BALLUFF TOOL ID READER 30.70 - 7


PMC VARIABLES

Below are the configuration variables for the Balluff Tool ID system. When the machine is installed, these should
already have been loaded. This information is for reference.

Variable Data Type Description


BFCON1 BOOL This configuration bit enable the wand system software
This will configure the software to delete the tool data from tool management when
removing the tool at the load/unload station. If this bit is not set, the tool data will
BFRDC1 BOOL
be disassociated from the pocket, but will remain in tool management.
Note: This should be set for all system.
This will configure the software to save that tool data back to the tag on the tool,
BFSDC1 BOOL when the tool is being removed and scanned.
Note: This should be set for all system.
Offset from the automatic exchange position to the manual load position. This is
calculated by counting the number of pocket. For example,
TMLSC1 INT If pocket 103 is at the automatic exchange position and 32 is at the manual
exchange position and the magazine is 120 pockets, then 120-103 = 17, 17+32 =
49. 49 is the value for this variable.

30.70 - 8 BALLUFF TOOL ID READER


SECTION 30.80
MAG SPINDLE LOAD MONITOR
TABLE OF CONTENTS

TITLE PAGE
GENERAL ...................................................................................................................................................................... 1

CUSTOM SCREEN ........................................................................................................................................................ 1

APPLICATION ............................................................................................................................................................... 2

PROGRAM CODES ............................................................................................................................................ 2

ENABLE / DISABLE ................................................................................................................................. 2

SETPOINTS ............................................................................................................................................. 3

REACTION .......................................................................................................................................................... 3

CUSTOM MACRO ......................................................................................................................................................... 5

SPINDLE LOAD MONITOR EXAMPLES ............................................................................................................ 6


EXAMPLE WITH SUBROUTINE .............................................................................................................. 7

EXAMPLE WITHOUT SUBROUTINE....................................................................................................... 8


GENERAL

The Spindle Load Monitoring option provides the ability to monitor machine performance in the area of horsepower
consumed and react to excessive spindle load conditions.

The load monitor filters the current spindle load, compares the filtered value to a part programmed setpoint, and
reacts with either only an operator message or an operator message and a retract move (if activated in the part
program).

CUSTOM SCREEN

The Spindle Load Monitoring option utilizes a custom screen created by MAG engineering and can be displayed via
the CUSTOM1 key on the MDI panel. The custom Spindle-Table Load Monitor screen is accessed by pressing the
SPINDLE LOAD MONITOR vertical softkey on the Main Custom Menu screen, as shown in FIGURE 30.80 - 1.

FIGURE 30.80 - 1
Main Custom Menu Screen

After pressing the SPINDLE LOAD MONITOR vertical softkey, the custom Spindle-Table Load Monitor screen
appears. See FIGURE 30.80 - 2.

MAG SPINDLE LOAD MONITOR 30.80 - 1


FIGURE 30.80 - 2
Spindle-Table Load Monitor Screen

This Custom Screen can be used to; monitor the current load conditions, view the current setpoint value, override the
setpoint value, and turn the monitor on/off.

APPLICATION

Typically, the operator / programmer will make an initial run of the part program and determine normal load
conditions. The normal load conditions can be monitored on the Spindle-Table Load Monitor screen. The macro /
subroutine <SPLM> or M-codes are entered into the part program to set trip points at an appropriate level above the
normal operating conditions. The macro / subroutine is available for setting the level from 10 to 140 percent of rated
spindle / table motor load and to set the response at the trip point. The M-codes; M181 through M194 are available
for setting the level from 10 to 140 percent of rated spindle / table motor load only. M73 or M74 activates the load
monitor; M76 deactivates the load monitor. If a retract is required, the appropriate retract command (G10.6
Xxxxx.xxxx Zzzzz.zzzz, etc.) must be included in the part program.

PROGRAM CODES

The following M-codes are used with the Spindle Load Monitoring option:

ENABLE / DISABLE

M73 Enables Spindle / Table Load Monitor

M74 Enables Monitor of Live Spindle in Turning Mode on a VTC with Turn / Mill Option

M76 Disables Spindle / Table Load Monitor

30.80 - 2 MAG SPINDLE LOAD MONITOR


SETPOINTS

The following M-codes define setpoints that are a percentage of the rated motor load for the active spindle.

M181 10 percent

M182 20 percent

M183 30 percent

M184 40 percent

M185 50 percent

M186 60 percent

M187 70 percent

M188 80 percent

M189 90 percent

M190 100 percent

M191 110 percent

M192 120 percent

M193 130 percent

M194 140 percent

REACTION

When using M-codes to establish the setpoints, the reaction to a setpoint limit violation will be the same as if the
RETRACT / RETURN key was pressed. Depending on the programmed machine operation, the reaction can be
different. Refer to the TOOL RETRACT / RETURN description in the MACHINE OPERATOR DEVICES section.

MAG SPINDLE LOAD MONITOR 30.80 - 3


THIS PAGE INTENTIONALLY LEFT BLANK

30.80 - 4 MAG SPINDLE LOAD MONITOR


CUSTOM MACRO

The following custom macro has been included to allow the programmer / operator to set the trip point and responses
from the part program. The macro gives the programmer more available options on the reaction at the trip point
violation.
%
<SPLM>; Spindle/table load monitor
(EXAMPLE: G65 <SPLM> Sxxx Ryyy);
(WHERE xxx IS THE LOAD LIMIT IN PERCENT);
(WHERE yyy IS THE RESPONSE);
(10 - Operator message only);
(20 - Feedhold immediate);
(30 - Feedhold next positioning move);
(35 - Cycle out);
(40 - Master stop immediate);
(45 - Master stop next positioning move);
(80 - Retract immediate);
(85 - Retract next positioning move);
(100 - Emergency stop immediate);
(105 - Emergency stop next positioning move);

(** CONSTANTS/ARGUMENTS **);


(R #18 = [RESPONSE]);
(S #19 = [SPINDLE LOAD LIMIT]);
IF[#19EQ#0]GOTO40;
IF[[#19LT0]OR[#19GT140]]GOTO100;
#1132=#19*10; Scale for PMC
M195; Transfer data to PMC

N40IF[#18EQ#0]GOTO80;
IF[#18EQ10]GOTO60;
IF[[#18EQ20]OR[#18EQ25]]GOTO60;
IF[[#18EQ30]OR[#18EQ35]]GOTO60;
IF[[#18EQ40]OR[#18EQ45]]GOTO60;
IF[[#18EQ80]OR[#18EQ85]]GOTO60;
IF[[#18EQ100]OR[#18EQ105]]GOTO60;
GOTO110;
N60#1133=#18;
M196; Transfer data to PMC

N80M99; Exit to called program

N100#3000=1(SPLM - SPINDLE LOAD LIMIT OUT OF RANGE);


N110#3000=1(SPLM - SPINDLE LOAD RESPONSE INVALID);
%

MAG SPINDLE LOAD MONITOR 30.80 - 5


SPINDLE LOAD MONITOR EXAMPLES

In the following examples, a VTC machine is equipped with a Table drive motor rated at 55kW(75HP) continuous
power and a Live Spindle drive motor rated at 22kW(29HP) continuous power. A rough facing operation and a rough
turning operation will be programmed to utilizing the Spindle Load Monitoring option. Also a drilling operation, in Mill
mode will monitor spindle load.

FACING

TURNING

The Spindle-Table Load Monitor screen is observed during the first cutting operation (facing) and the POWER is
noted to be at 33kW(45HP), or 60% of the rated load (33÷55=.6). The turning operation is cutting at
41.25kW(56.25HP), or 75% of the rated load (41.25÷55=.75). The drilling operation is cutting at 7.5kW(10HP).

It's been determined that the facing / turning tool and workpiece setup can handle up to 45kW(60.5HP) of cutting
load, or 81% of the rated load. The drilling operation should not exceed 9kW(12HP) or 40% of the rated load.

It's also desired that the tool retract from the cut if the limit is violated.

30.80 - 6 MAG SPINDLE LOAD MONITOR


EXAMPLE WITH SUBROUTINE
%
O7575; Program example - metric
N010 G00 G90 G71;
N020 G28 G91 Z0;
N030 G28 G91 X0;
N040 G90 M01;
N050 M6 T0606; Load 80DD tool
N060 M34; Turn mode
N070 G96 S110 G95 F.5 G54;
(POSITION FOR FACING);
N080 G00 X1020.0 Z50.0 M03;
N090 G65<SPLM> S80 R80 Set monitor at 80% load and response is to retract
N100 M73; Enable monitoring system
N110 G10.6 G91 X10.0 Z50.0; Retract
N120 G00 G90 Z8.5 M07;
N130 G01 X650.0; 1st rough cut
N140 G00 Z9.5;
N150 G00 X1020.0;
N160 G00 Z4.5;
N170 G01 X650.0; 2nd rough cut
N180 G00 Z5.5;
N190 G00 X1020.0;
N200 G00 Z.5;
N210 G01 X650.0; 3rd rough cut
N220 G00 Z1.5;
N230 G00 X1020.0;
(POSITION FOR TURNING)
N240 G00 X1000;
N250 G10.6 X1020 Z50.0; Retract
N260 M98 P4000; Call rough turn subprogram
(ROUGHING COMPLETE)
N270 G10.6; Cancel retract
N280 M76; Disable monitoring
N290 G00 Z100.0 M05 M09;
N300 G28 G91 Z0;
N310 G28 G91 X0;
N320 G90 M01;
...
... (COMPLETE FINISH FACE & TURN)
...
N750 M6 T1515; Load drill
N760 M35; Mill mode
N770 G97 S800 G95 F.3 G54;
(POSITION FOR DRILLING);
N780 G00 X800.0 C0.0 Z50.0 M03;
N790 G65<SPLM> S40 R80 Set monitor at 40% load and response is to retract
N800 M73; Enable monitoring system
N810 G10.6 Z50.0; Retract
N820 G83 R-48.0 Z-25.4; Drill hole #1
N830 C90; Drill hole #2
N840 C180; Drill hole #3
N850 C270; Drill hole #4
N860 G80;
N870 G00 Z100.0 M05 M09;
N880 G10.6; Cancel retract
N890 M76; Disable monitoring
N900 G28 G91 Z0
N910 G28 G91 X0
N920 G90;
N930 M30;
%

MAG SPINDLE LOAD MONITOR 30.80 - 7


EXAMPLE WITHOUT SUBROUTINE
%
O7575; Program example - metric
N010 G00 G90 G71;
N020 G28 G91 Z0;
N030 G28 G91 X0;
N040 G90 M01;
N050 M6 T0606; Load 80DD tool
N060 M34; Turn mode
N070 G96 S110 G95 F.5 G54;
(POSITION FOR FACING);
N080 G00 X1020.0 Z50.0 M03;
N090 M188; Monitor 80% load
N100 M73; Enable monitoring system
N110 G10.6 G91 X10.0 Z50.0; Retract
N120 G00 G90 Z8.5 M07;
N130 G01 X650.0; 1st rough cut
N140 G00 Z9.5;
N150 G00 X1020.0;
N160 G00 Z4.5;
N170 G01 X650.0; 2nd rough cut
N180 G00 Z5.5;
N190 G00 X1020.0;
N200 G00 Z.5;
N210 G01 X650.0; 3rd rough cut
N220 G00 Z1.5;
N230 G00 X1020.0;
(POSITION FOR TURNING)
N240 G00 X1000;
N250 G10.6 X1020 Z50.0; Retract
N260 M98 P4000; Call rough turn subprogram
(ROUGHING COMPLETE)
N270 G10.6; Cancel retract
N280 M76; Disable monitoring
N290 G00 Z100.0 M05 M09;
N300 G28 G91 Z0;
N310 G28 G91 X0;
N320 G90 M01;
...
... (COMPLETE FINISH FACE & TURN)
...
N750 M6 T1515; Load drill
N760 M35; Mill mode
N770 G97 S800 G95 F.3 G54;
(POSITION FOR DRILLING);
N780 G00 X800.0 C0.0 Z50.0 M03;
N790 M184; Monitor 40% load
N800 M73; Enable monitoring system
N810 G10.6 Z50.0; Retract
N820 G83 R-48.0 Z-25.4; Drill hole #1
N830 C90; Drill hole #2
N840 C180; Drill hole #3
N850 C270; Drill hole #4
N860 G80;
N870 G00 Z100.0 M05 M09;
N880 G10.6; Cancel retract
N890 M76; Disable monitoring
N900 G28 G91 Z0
N910 G28 G91 X0
N920 G90;
N930 M30;
%

30.80 - 8 MAG SPINDLE LOAD MONITOR


SECTION 30.90
iADAPT
TABLE OF CONTENTS

TITLE PAGE
GENERAL ...................................................................................................................................................................... 1

LOAD MONITORING MODE (G126 C1 OR C3) ............................................................................................................ 1

NOTES ON LOAD MONITORING ....................................................................................................................... 1

ALARM LIMIT ...................................................................................................................................................... 2

ADAPTIVE CONTROL (G126 C2 OR C3) ..................................................................................................................... 2

NOTES ON ADAPTIVE CONTROL .................................................................................................................... 2

OFF MODE (G126 C0) .................................................................................................................................................. 2

IADAPT™ CONTROLLER ALARM INDICATOR ........................................................................................................... 3

PROGRAMMING ........................................................................................................................................................... 3
G126 C W A S R ............................................................................................................................................ 3

IADAPT PART PROGRAM ERROR MESSAGES ......................................................................................................... 4


GENERAL

The iAdapt option includes two basic features, Adaptive Control and Tool Load Monitoring. These features provide
an ability to monitor machine performance in the area of horsepower consumed and perform the following:

• Adaptive Control, when enabled, will adjust the feedrate between programmed minimum and maximum values to
compensate for changes in cutting conditions (depth of cut, material hardness, etc.) maintaining the desired
cutting horsepower. This provides protection for the machine and can also be used to enhance the machine's
productivity by allowing more aggressive feeds to be programmed.

• Tool Load Monitoring is designed to react to increased load demands in a controlled manner thus protecting the
machine and tooling.

LOAD MONITORING MODE (G126 C1 OR C3)

This mode of operation allows the iAdapt unit to actively monitor load and initiate signals to the machine control and
operator when abnormal loads occur. The iAdapt controller has a few different methods of signaling the machine
control and the operator. In most installations, an illuminated pushbutton indicator will be used to signal the operator
of these abnormal load conditions.

When load monitoring is active, normal load levels being detected will be reflected by the indicator pushbutton
glowing a steady green. If the monitored loads exceed the warning limit, preset by the part program or operator, and
this continues for a preset period of time, the iAdapt controller will signal a warning condition. When a warning
condition exists, the indicator pushbutton will glow a steady yellow/orange color and a discrete output on the
controller is output.

The warning signal informs the operator and the machine that loads being monitored are exceeding normal
machining levels. It is up to the operator and machine logic to determine what, if any, corrections should be taken to
correct the condition. An example of abnormal cutting loads might exist when a tool is damaged or has become dull
during normal operation. The operator could then interrupt machining, change the active tooling and then restart the
machining process.

NOTES ON LOAD MONITORING

****************************************************************************************

LOAD MONITORING IS NOT A TOOL WEAR/BREAKAGE DETECTOR. THE WARNING SIGNAL


INDICATES ABNORMAL LOADS BEING MONITORED, BUT TAKES NO CORRECTIVE ACTION
ON ITS OWN TO RESOLVE THE CONDITION.

****************************************************************************************
The iAdapt only monitors the spindle load. It does not receive enough information to detect small changes in
machining that may occur in some tooling that has become worn or failed. Although as described above, it could be
used to detect catastrophic tool failure, many factors affect tool wear and breakage detection.

If the load drops below the warning limit, the warning signals will automatically reset themselves and the indicator
pushbutton should again glow a steady green. This allows the operator and machine control to take whatever action
they are told to perform without disturbing normal machine operation. Therefore, the warning signal indicates
abnormal loads being monitored, but takes no corrective action on its own to resolve the condition.

iADAPT 30.90 - 1
When the load being monitored exceeds the preset alarm limit for a preset period of time, the iAdapt unit will take
corrective action on its own. First, iAdapt will force 0% feedrate override to bring machining to a halt. It will also
assert a feed hold condition (if the iAdapt output is connected to the machine interface) and the indicator pushbutton
will glow a steady red.

An alarm condition is considered a serious matter. The only way to release the machine from this condition is to
reset the iAdapt controller. To release the alarm interlock, set the operator panel feedrate override switch to 0 and
press the iAdapt indicator pushbutton.

On machines that use the I/O link version of the iAdapt interface, reset the CNC by pressing the CNC’s MDI reset
pushbutton. This will assure that once the iAdapt unit has released control of the machine, machining operation will
not continue.

ALARM LIMIT

The second threshold is the alarm limit. The alarm limit is also set by the operator/programmer to a level, which is
beyond safe spindle load operation. This level may be based on the tooling, part or fixtures on the machine. When
the monitored load exceeds the alarm limit for a preset period of time, the controller will issue an alarm signal to the
operator, force feed override values to 0% and optionally signal the machine. This condition will only be cancelled by
pressing the reset button (indicator pushbutton or CNC MDI reset on I/O link).

The alarm signal indicates that loads exceeding safe limits have occurred. Be sure to bring the operator’s panel feed
override value switch to the 0% position before resetting the iAdapt alarm condition. Do not begin machining again
until the condition which generated the alarm has been resolved.

ADAPTIVE CONTROL (G126 C2 OR C3)

The Adaptive Control mode can be turned on and off using the G126 C2. and C3. commands. When Adaptive
control is enabled, adaptive control will be engaged when the spindle load exceeds the arming limit set by the part
program. The iAdapt adaptive controller will vary the feedrate override in order to maintain the load set point for the
current tool.

Both the arming limit and set point are entered as a percentage of the total spindle horsepower. The set point will
normally represent the optimum load for a specific tool and must be greater than 10% of the spindle power. For
example, if 5hp is the optimum load for a tool and the machine has a 20hp spindle, the set point load would be:

S = 5/20x100

S = 25%

NOTES ON ADAPTIVE CONTROL

The maximum feedrate override that can be programmed is 255%. Low commanded feedrates and override values
could limit the capabilities of the adaptive controller. For the feedrate intercept version, maximum commanded
feedrate is limited by the resolution of the hardwired override switch.

OFF MODE (G126 C0)

The first mode of operation is the simplest, Control Mode OFF. In the OFF mode, iAdapt is completely transparent to
your machine control system. This means that your machine tool should operate the same as it did before iAdapt
was ever installed. This mode will be used when you are not interested in load monitoring, adaptive monitoring or
data acquisition.

30.90 - 2 iADAPT
iADAPT™ CONTROLLER ALARM INDICATOR

The iAdapt™ indicator pushbutton feature provides a visual indication of the status of the iAdapt system and is also
used to reset the iAdapt alarms when pressed.

When the iAdapt Monitor or Adaptive mode is enabled, the green LED will turn on steady.
When the adaptive mode becomes active the green LED will flash at a rate of approximately
10 times per second. If during this time the spindle load exceeds the warning limit, the
indicator will change from green to yellow. If the spindle load exceeds the alarm limit, the
indicator will change to red. Specific faults are identified by the flashing sequence of the red
LED. The LED will flash approximately once per second and each specific alarm has its own
flash code, followed by a short pause. See the GE Fanuc iAdapt documentation supplied with
your machine for more information.

PROGRAMMING

A macro is used for passing commands for controlling the iAdapt modes as well as load monitor and adaptive values.
This macro is called by G126.

G126 C W A S R

REQUIRED: C Control Mode used to turn On/Off Load and/or Adaptive Monitor modes.

C0. Load & Adaptive Monitor Off


C1. Load Monitor On
C2. Adaptive Monitor On
C3. Load & Adaptive Monitor On

W Used to set the Warning limit for the tool load monitor. While the load exceeds this level, the
indicator light will turn from green to yellow.

A Used to set the Alarm limit for the tool load monitor. When this level is exceeded, a RESET
will be required and the indicator light will turn to red.

S Used to set the Spindle Load Level to be maintained by adaptive control.

S is programmed as a percentage of the total spindle horsepower. A programmed value of 30


on a 50 HP spindle would set the load level to 15 HP. Non-cutting HP loss must be allowed
for.

R used to set the Arm point where adaptive control to affect.

R is programmed as a percentage of the normal spindle load when there is no cutting plus 5%.
When this load is reached, adaptive control will start to control the feed rate.

FUNCTION: Provides a means of entering the adaptive control operating parameters to the control with all
values modal.

NOTES: Programming of decimal points is always required for the iAdapt command.

Control Mode (C) setting may be programmed with monitor limits or in a separate block following
the setting of limits.

S, W & A limit data must be programmed simultaneously in the same block.

Set Point (S), Warning (W) and Alarm (A) Limits must be set within range of 10% to 255%.

Set Point (S) must be programmed to a value less than the Warning Limit (W).

Warning Limit (W) must be set to a value less than the Alarm Limit (A).

iADAPT 30.90 - 3
Arming Point (R) limit should always be set to a value 5% higher than the normal load reading of
the running spindle without cutting load. Be aware of difference in spindle loads due to active gear
range, tooling or attachments.

Arming Point (R) must be programmed to a value less than the Set Point (S).

Arming Limit set lower than background load of spindle will result in Adaptive control taking effect
immediately, instead of waiting for cutting load to indicate safe condition for Adaptive control to
begin.

Arming Limit (R) cannot be programmed in a G126 block by itself. 3101 alarm message will result.
It is expected that the arming limit would be set to a constant value that does not require regular
change. For this reason, the arming limit is not a required value when programming G126 S, W, &
A limits. In the event that the program must set the Arming Limit, it must be included with S, W & A
settings in the G126 block.

The iAdapt commands and settings must be programmed only by use of G126 macro call for
production work. G126 macro contains error checking of the programmed block and setting values.
Hazardous conditions could result without proper error checking of data prior to cutting blocks.

G126 is the suggested G-code to be used for calling the iAdapt macro program. In the event that
existing machine logic uses G126, the assignments for iAdapt may be redefined during installation.

iADAPT PART PROGRAM ERROR MESSAGES

#3103 (MUST PROGRAM W VALUE)

Warning value missing from programmed G126 block

#3104 (W MUST BE LESS THAN A)

Warning Limit valiue must not exceed Alarm value setting

#3105 (MUST PROGRAM S VALUE)

Set Point value missing from programmed G126 block

#3106 (S MUST BE LESS THAN W)

Set Point limit must be programmed to value less than Warning limit

#3107 (S MUST BE >= TO 10)


Set Point must greater than or equal to 10%

#3108 (R MUST BE <= TO S VALUE)

Arming Point must be less than or equal to value of Set Point

#3109 (R MUST BE >= TO 2)

Arming Point must be greater than or equal to 2%

#3110 (C MUST BE >= TO 0)

#3111 (C MUST BE <= TO 3)

Control Mode must be set to value of 0, 1, 2 or 3

30.90 - 4 iADAPT
SECTION 69.10
REFERENCE OFFSETS
TABLE OF CONTENTS

TITLE PAGE
GENERAL ...................................................................................................................................................................... 1

EXTERNAL WORK COORDINATE SHIFT ......................................................................................................... 1

PART REFERENCE WORK COORDINATE SHIFT (G54 - G59 & G54.1 P1-P48) ............................................ 2

STORING WORK OFFSETS .............................................................................................................................. 3

STORE WORK OFFSETS WITH G10 ................................................................................................................ 3

STORE & MODIFY WORK OFFSETS WITH SYSTEM VARIABLES ................................................................. 4

EXAMPLES: ............................................................................................................................................. 4

INPUT / OUTPUT OF WORK COORDINATE OFFSET DATA ........................................................................... 4

OUTPUT EXAMPLE ................................................................................................................................. 4


COORDINATE SYSTEM ROTATION ............................................................................................................................ 5

SCALING (OPTION) ...................................................................................................................................................... 8

NOTES ON SCALING ......................................................................................................................................... 8

TRACKING Z AND W-AXES .......................................................................................................................................... 9

MAG TRACKING Z AND W-AXES (STANDARD).......................................................................................................... 9

SPECIAL MACROS - Z SPINDLE MACHINES ................................................................................................. 10

O9010 - G200 W/Z TRACKING CYCLE (OFFSET W) ........................................................................... 10

O9011 - G201 W/Z TRACKING CYCLE (OFFSET Z) ............................................................................ 11

SPECIAL MACROS - W SPINDLE MACHINES ................................................................................................ 12

O9010 - G200 W/Z TRACKING CYCLE (OFFSET Z) ............................................................................ 12

O9011 - G201 W/Z TRACKING CYCLE (OFFSET W) ........................................................................... 13

TRACKING SPINDLE EXTENSION - Z SPINDLE ............................................................................................ 14

APPLYING THE TOOL OFFSET ............................................................................................................ 15

MACHINING WITH Z .............................................................................................................................. 16

EXAMPLES Z/W TRACKING USING CYCLE ........................................................................................ 17

NOTES ON TRACKING CYCLES - Z SPINDLE..................................................................................... 17

TRACKING SPINDLE EXTENSION - W SPINDLE ........................................................................................... 18

APPLYING THE TOOL OFFSET ............................................................................................................ 19

MACHINING WITH W ............................................................................................................................. 20

EXAMPLES Z/W TRACKING USING CYCLE ........................................................................................ 21

NOTES ON TRACKING CYCLES - W SPINDLE ................................................................................... 21

PARALLEL AXIS TRACKING (OPTION) ..................................................................................................................... 22

G500 - SET W-AXIS AS TRACKING AXIS ....................................................................................................... 22

G501 - SET Z-AXIS AS TRACKING AXIS......................................................................................................... 22


G502 - CANCEL TRACKING AXIS ................................................................................................................... 23

G503 - MOVE NOT-TRACKING AXIS............................................................................................................... 23

TRACKING MODE IN W-AXIS ............................................................................................................... 23

TRACKING MODE IN Z-AXIS ................................................................................................................ 24

OPERATING PROCEDURES ........................................................................................................................... 24

NOT IN TRACKING MODE .................................................................................................................... 24

IN TRACKING MODE........................................................................................................................................ 24

REV 1 (10-2012)
GENERAL

This section will discuss the Work Coordinate Offset Shifts (G54, G55,...), Rotary Table Dynamic Fixture Offsets, Axis
Rotation, MAG’s tracking of Z and W-axes (standard) and Fanuc’s Parallel Axis Tracking (option).

EXTERNAL WORK COORDINATE SHIFT

The External Work Offset will always be in effect for all work coordinate shifts (G54 - G59 & G54.1P1 - P48). It is
possible to shift all of the work shifts by the value specified in the External Work Offset as they are added together.

The External Work Offset can be set by the programmer or operator. To set the External Work Offset, simply go to
the OFFSET SCREEN and select WORK. Use the ARROW keys to select the External Offset and the desired axis.
Enter the known offset amount and press the INPUT key. To modify the current values, enter the amount of change
and press +INPUT.

FIGURE 69.10 - 1
Work Offset Display
The MEASURE softkey can also be used to set the External Work Offset. It is important to note that the measure
function calculates the offset and is affected by any other offset values that may be active.

The procedure for using the MEASURE feature is as follows:

1. Manually position the axis using the JOG, INCR JOG and/or MPG modes to achieve a known relationship
between the spindle face and the workpiece. See FIGURE 69.10 - 2.
Note: Make certain that there is no tool offset active.

2. Press the OFFSET softkey.

3. Press the WORK softkey and the WORK OFFSET page will be displayed.

4. Use the ARROW keys to select the EXTERNAL OFFSET.

REFERENCE OFFSETS 69.10 - 1


5. Key in the axis letter address and the desired position.

Example: W1
Typical Spindle Origin Point
(Gage Line)

Jo-Block

Spindle

Workpiece
Face - (W0)

FIGURE 69.10 - 2
Setting External Offset

6. Press the MEASURE softkey. This will change the EXTERNAL work shift from the machine reference
position.
Note: If a Part reference was set via a G92, the number in the EXTERNAL offset may not reflect the value
from the machine reference position. To correct this, re-reference the axis (G92) to the machine
coordinate location and start this process over from step one.

With no offsets active, MDI: G92 X#5021 Y#5022 Z#5023 W#5024 B#5025

PART REFERENCE WORK COORDINATE SHIFT (G54 - G59 & G54.1 P1-P48)

One application for the use of work coordinates is the case where a rotary table is set to zero at the top and center of
rotation. Then a fixture offset such as G54, G55, etc. can be used to set the zero reference of the workpiece which
would be the distance from top and center of the table to the reference point on the workpiece.

W0 is set to the center of the rotary table

Work Headstock
W0 piece

Table The distance and sign from the center of the


table to the face of the workpiece would be
stored in the work coordinate G-code
24"
FIGURE 69.10 - 3
Setting Work Offset

In the example shown above, the center of the rotary table is set to W0. The part reference is shifted from the center
of the rotary table to the face of the part by an amount equal to that distance and sign. This amount and sign is
stored in one of the work coordinate codes (G54-G59).

Example: G56 may contain a value of W +24.0 inches.

Activating the G56 at the start of the part program would then offset the W-axis by a plus 24.0 inches from the center
of the table.

69.10 - 2 REFERENCE OFFSETS


Note: An activated work coordinate will remain active until canceled. However, the value stored in the
work coordinate will always be retained, even if the power is removed from the control.

As noted, a work coordinate stays active until canceled. A work coordinate G-code can be canceled as follows:

• By programming another work coordinate G-code (G54 - G59)

• Removing power from the control

STORING WORK OFFSETS

The G-code (G54-G59, G54.1P1-48) Work Offsets can be set by the programmer or operator. To set the G-code
Work Offsets, simply go to the OFFSET screen and select WORK. Use the UP and DOWN ARROW keys to select
the desired offset and axis. Enter the known offset amount and press the INPUT key. To modify the current values,
enter the amount of change and press +INPUT. See FIGURE 69.10 - 1.

The MEASURE softkey can also be used to set the G54-G59 & G54.1P1-48 as described earlier in this section. It is
important to note that the measure function calculates the offset from the machine coordinate and cannot be used if
offset values are stored in the External Offset as shown in the previous examples.

STORE WORK OFFSETS WITH G10

The programmable data load uses the G10 L and P-codes along with the desired axes data. The L-code is used to
specify the offset type and the P-code is used to specify the offset number to be loaded as shown below.

L2 Work Coordinate P0 External


L2 Work Coordinate P1 - P6 G54 - G59
L20 Additional Work Coordinate P1 - P48 G54.1
L21 Dynamic Fixture Offsets P1 - P8 G54.2

The following is an example of loading / modifying work offsets with the programmable data load.

Z-SPINDLE W-SPINDLE
N200 G90; N200 G90;
N210 G10 L2 P1 X12.5 Y2.5 W10; N210 G10 L2 P1 X12.5 Y2.5 Z10;
N220 G10 L20 P10 W10; N220 G10 L20 P10 Z10;
N230 G91 G10 L2 P1 W-1; N230 G91 G10 L2 P1 Z-1;

N200 Absolute mode


N210 Load values into the G54 register
N220 Load value into the G54.1 P10 register
N230 Add -1.0 to the offset in the G54 register

Programming restrictions:

• The difference between loading offsets and modifying them is the G90 or G91 codes

• G10 Laa must be on every line when loading data

REFERENCE OFFSETS 69.10 - 3


STORE & MODIFY WORK OFFSETS WITH SYSTEM VARIABLES

The work offsets can also be loaded through the part program with system variables. The system variables used
depend on the offset options purchased with your machine. Refer to the SPECIAL PROGRAMMING FUNCTIONS
section for a list of the system variables.

EXAMPLES:

The following is an example of storing work offsets with system variables.

Z-SPINDLE W-SPINDLE
N210 #5223=12.5; N210 #5224=12.5

N210 Store 12.5 offset value into the G54 spindle axis register

The following is an example of modifying work offsets with system variables.

Z-SPINDLE W-SPINDLE
N220 #5223=#5223+.012; N220 #5224=#5224+.012;

N220 Modify the G54 spindle axis register by .012

INPUT / OUTPUT OF WORK COORDINATE OFFSET DATA

Work coordinate offset data can be output from the CNC memory to a memory card and input from a
memory card to the CNC memory. This is accomplished using the PUNCH and READ softkeys while on
the OFFSET page as follows:

1. Prepare the output device.

2. Select the EDIT mode and select the OFFSET display page.

3. Press the WORK softkey to select the WORK COORDINATE OFFSETS.

4. Press the PUNCH softkey to output or READ softkey to input.

5. Type the file name that you want to input or output. If the file name is omitted, the default file
name "EXT_WKZ.TXT" is used.

6. Press the softkey EXEC.

This starts outputting or inputting the workpiece coordinate system data and OUTPUT or INPUT blinks in
the lower right part of the screen. When the read operation ends, the indication disappears. To cancel
the process, press the CANCEL softkey.

OUTPUT EXAMPLE
%
G90;
G10L2P0X0.0Y0.0V0.0Z0.0W0.0B0.0A0.0UT0.0;
G10L2P1X0.0Y0.0V0.0Z0.0W0.0B0.0A0.0UT0.0;
G10L2P2X-889.0Y177.8V0.0Z-660.046W-1385.57B0.0A0.0UT0.0;
G10L2P3X218.44Y901.7V0.0Z-660.4W-838.2B0.0A0.0UT0.0;

FIGURE 69.10 - 4
Input / Output Softkeys

69.10 - 4 REFERENCE OFFSETS


COORDINATE SYSTEM ROTATION

Coordinate System Rotation provides the means to rotate the axes of the active plane, (G17, G18 and G19) around a
center of rotation point (axis). This allows the programmer to compensate for two dimensional misalignment of the
work piece. For example, if the work piece is loaded into a fixture and the locating surface is not parallel to X and Y-
axes, axis rotation could be used to compensate for the error. When axis rotation is active, all axes commanded in
the active plane will be rotated about the programmed axis of rotation. The G68 command along with a center of
rotation point in the selected plane (X, Y Z) and an angle (R) is used to activate coordinate system rotation.

FIGURE 69.10 - 5
Planes of Rotation

REFERENCE OFFSETS 69.10 - 5


The following sketch illustrates a misaligned work piece that is tipped plus three degrees in the XY plane. The G68
command is used to compensate for the error. This example is in metric.

100

130

25
(4) M12 - 1.75 Tapped
Holes - 30 mm Deep

25

0
Point of Rotation
3° Misalignment
FIGURE 69.10 - 6
Rotation Example of Drilling Holes

Z-SPINDLE W-SPINDLE
N160 G55 G17; N160 G55 G17;
N170 G200 Z0; N170 G200 W0;
N180 G201; N180 G201;
N190 G68 X0 Y0 R3; N190 G68 X0 Y0 R3;
N200 G81 X25 Y25 R2 Z-40 F10; N200 G81 X25 Y25 R2 W-40 F10;
N210 X130; N210 X130;
N220 Y100; N220 Y100;
N230 X25; N230 X25;
N240 G80; N240 G80;
N250 G69; N250 G69;
N260 M30; N260 M30;
%
N160 Activate work offset & XY plane as center point of rotation
N170 Position spindle and offset saddle / auxiliary slide
N180 Offset spindle axis to make spindle axis equal to absolute saddle / auxiliary slide axis coordinate
N190 Rotate plane 3 degrees around spindle axis center point of rotation is set to X0 Y0
N200 Drill first hole
N210 Drill
N220 Drill
N230 Drill
N240 Cancel drill cycle
N250 Cancel coordinate system rotation
N260 End of program

69.10 - 6 REFERENCE OFFSETS


The following sketch illustrates a milled slot programmed as if parallel to the X-axis and rotated 30° in the XY plane.

Actual Slot

64.0
30°

0.0

12.70

500.00 105.00
From Machine Zero
Programmed
Slot

1150.00
From Machine Zero
0.0

FIGURE 69.10 - 7
Rotation Example of Milling Slot

Z-SPINDLE W-SPINDLE
N100 G68 X1150 Y500 R30; N100 G68 X1150 Y500 R30;
N110 G00 G42 X1172 Y506.7; N110 G00 G42 X1172 Y506.7;
N120 Z-.25; N120 W-.25;
N130 G1 X105; N130 G1 X105;
N140 G2 X105 Y493.3 I0 J-6.7; N140 G2 X105 Y493.3 I0 J-6.7;
N150 G1 X1172; N150 G1 X1172;
N160 G00 Z10; N160 G00 W10;
N170 G69; N170 G69;

N100 Activate coordinate system rotation with a 30° angle from a center point of rotation of X1150 and Y500
N110 Program slot as if it were at zero degrees
N120 Mill slot
N130 Mill slot
N140 Mill slot
N150 Mill slot
N160 Retract spindle
N170 Cancel coordinate system rotation

REFERENCE OFFSETS 69.10 - 7


SCALING (OPTION)

Scaling provides a method of scaling subsequent move commands by a programmed scale factor. The desired
scaling factor is programmed along with the desired axis(es) to be scaled. The G51 command along with a scaling
point in the selected plane (X, Y Z) and the scaling factor (Ppppp) is used to activate scaling. When scaling is active,
all commanded axes coordinates will be scaled according to the programmed scale values.

NOTES ON SCALING

• To enable the scaling feature the parameter #5401 bit 0 must be set to 1 if scaling is to be applied to each axis.
Not all axes have to have scaling applied.
• The Pp-code is the scaling factor. This scaling factor format is determined by parameter 5400 bit 7.
If set to 1 then P500 would mean 50% reduction.
If set to 0 then P50000 would mean 50% reduction.

• Parameter #5411 specifies the scaling factor for all axes if P is not programmed. With this command, the
subsequent axis moves commands, in the selected plane are scaled by the scale factor specify by Pp. The
scaling is base starting with the point specified by Xx, Yy, Zz as the scaling point.
• The G51 must be programmed only with the X, Y, Z, W, and P-codes.

• G51 is canceled by G50 or when the operator presses the RESET pushbutton.

• When both scaling and coordinate system rotation are specified, the coordinate system is rotated after scaling is
applied. In this case, scaling is for the center of rotation.

The following sketches illustrate the


effects of scaling. Depending on the 150.00
programmed scaling factor, the
feature being scaled will be made
larger or smaller.
100.00 75.00
This sketch illustrates the
programmed dimensions with no
scaling in effect; G50.

50.00

0.0

0.0

This sketch illustrates a scaling factor


of 50% with a scaling center point of
X0 and Y0:
G51 P50000 X0 Y0;

Notice that all X and Y data is scaled


75.00
by .5 which results in the
repositioning and shrinking of the 50.00
pocket. 37.50

25.00
0.0

0.0

69.10 - 8 REFERENCE OFFSETS


This sketch illustrates a scaling factor of
50% with a scaling center point at the center
of the pocket at X137.50 and Y68.75:
75.00
G51 P50000 X137.5 Y68.75;

In this case to pocket centerline stays the 100.00


37.50
same but the size of the pocket is reduced
by 50%.

50.00
0.0

0.0

TRACKING Z AND W-AXES

To help make it easier to program and follow the Z and W-axes for a part, axis offsets can be used to track the
relationship of the two. The following topics explain several different concepts of tracking.

MAG TRACKING Z AND W-AXES (STANDARD)

Two cycles are included with your machine software O9010 and O9011. These cycles are called by G-codes, G200
and G201 respectively. The G200 cycle is used to command spindle extension and at the same time, offset the
saddle / auxiliary slide axis to account for the spindle move. The G201 cycle is used to offset spindle axis to make
the spindle axis absolute equal to absolute saddle / auxiliary slide axis coordinate.

REFERENCE OFFSETS 69.10 - 9


SPECIAL MACROS - Z SPINDLE MACHINES

The listed Macros are used to perform various machine functions on a Z spindle machine as described.

O9010 - G200 W/Z TRACKING CYCLE (OFFSET W)

REQUIRED: G200 Z_ NON-MODAL

FUNCTION: The G200 cycle is used to position the Z-axis to the desired machining location and offset the W-
axis to compensate for the spindle extension from Z machine zero.

FACTS: When the G200 cycle is run, the Z-axis will position to the Z commanded machine position and the
external Z offset will be cleared.
If the G200 cycle is called without a Z command, the Z will position to zero or another value store in
the cycle.
The offset value from G200 is stored in the external W offset register.

The W offset is cancelled by a programming a G200 alone or by programming: #5204 = 0


Note: Programming a G200 alone cancels the G200 cycle and clears the W external offset.

The G200 cycle will perform the following steps:

1. Clear the Z-axis external offset.

2. Position the Z-axis to the negative programmed Z position. If Z is not programmed, position
to the default location. The default location is normally zero but can be changed by editing
the cycle.
Note: If Z0 is beyond the + travel limits due to certain auto attachment devices, #26
will have to be modified in the G200 macro to a position within the limits. For
example, if the plus end limit is -99 mm, then change #26=-100. The
programmed Z position must now be equal to or less than -99 mm or an over
travel alarm will occur.

3. Update the external W offset by the opposite sign of the actual Z machine position.

****************************************************************************************
CAUTION
IF THE Z-AXIS IS PHYSICALLY MOVED AFTER RUNNING THE G200 CYCLE, THE G200 CYCLE
MUST BE RUN AGAIN TO UPDATE THE W OFFSET PRIOR TO MACHINING.

****************************************************************************************
EXAMPLES:

N100 M06 T30; Load tool 30


N110 G200 Z-10; Extend Z-10 and offset W +10
N120 G43 H99 W.1; Active tool offset and position W to .1
N130 G81 X10 Y10 R.1 W-1.5; Drill with W

69.10 - 10 REFERENCE OFFSETS


O9011 - G201 W/Z TRACKING CYCLE (OFFSET Z)

REQUIRED: G201 NON-MODAL

FUNCTION: The G201 cycle is used to offset the Z-axis to match the W absolute position. This is used when
the Z-axis is to be used for machining.

FACTS: When the G201 cycle is run, the Z-axis absolute position will be the same as the W absolute
position.
The offset value from G201 is stored in the external Z offset register.

The external Z offset is cancelled by the following: #5203 = 0 or G200.


Do not run the G201 cycle unless the Z-axis is at the same position as commanded by the G200
cycle.

The G201 cycle will perform the following steps:

1. Check Z and W-axes position to determine if the relationship between them is correct. If the
Z-axis is not at the position established with the G200 cycle, an error (Z-axis out of position
for G201) will be generated.

2. The G201 cycle will offset the Z-axis to make the Z absolute position equal to the W
absolute position by setting the external Z offset.

****************************************************************************************
CAUTION
IF THE W-AXIS IS PHYSICALLY MOVED AFTER RUNNING THE G201 CYCLE, THE G201 CYCLE
MUST BE RUN AGAIN TO UPDATE THE W OFFSET PRIOR TO MACHINING.

****************************************************************************************
EXAMPLES:

N100 M06 T30; Load tool 30


N110 G200 Z-10; Extend Z-10 and offset W +10
N120 G43 H99 W.1; Active tool offset and position W to .1
N130 G201; Offset Z to make absolute position = to Z.1, same as W
N140 G81 X10 Y10 R.1 Z-1.5; Drill with Z

REFERENCE OFFSETS 69.10 - 11


SPECIAL MACROS - W SPINDLE MACHINES

The listed Macros are used to perform various machine functions on a W spindle machine as described.

O9010 - G200 W/Z TRACKING CYCLE (OFFSET Z)

REQUIRED: G200 W_ NON-MODAL

FUNCTION: The G200 cycle is used to position the W-axis to the desired machining location and offset the Z-
axis to compensate for the spindle extension from W machine zero.

FACTS: When the G200 cycle is run, the W-axis will position to the W commanded machine position and
the external W offset will be cleared.
If the G200 cycle is called without a W command, the W will position to zero or another value store
in the cycle.
The offset value from G200 is stored in the external Z offset register.

The Z offset is cancelled by a programming a G200 alone or by programming: #5203 = 0


Note: Programming a G200 alone cancels the G200 cycle and clears the Z external offset.

The G200 cycle will perform the following steps:

1. Clear the W-axis external offset.

2. Position the W-axis to the negative programmed W position. If W is not programmed,


position to the default location. The default location is normally zero but can be changed by
editing the cycle.
Note: If W0 is beyond the + travel limits due to certain auto attachment devices, #26
will have to be modified in the G200 macro to a position within the limits. For
example, if the plus end limit is -99 mm, then change #26=-100. The
programmed Z position must now be equal to or less than -99 mm or an over
travel alarm will occur.

3. Update the external Z offset by the opposite sign of the actual W machine position.

****************************************************************************************
CAUTION
IF THE W-AXIS IS PHYSICALLY MOVED AFTER RUNNING THE G200 CYCLE, THE G200 CYCLE
MUST BE RUN AGAIN TO UPDATE THE Z OFFSET PRIOR TO MACHINING.

****************************************************************************************
EXAMPLES:

N100 M06 T30; Load tool 30


N110 G200 W-10; Extend W-10 and offset Z +10
N120 G43 H99 Z.1; Active tool offset and position Z to .1
N130 G81 X10 Y10 R.1 Z-1.5; Drill with Z

69.10 - 12 REFERENCE OFFSETS


O9011 - G201 W/Z TRACKING CYCLE (OFFSET W)

REQUIRED: G201 NON-MODAL

FUNCTION: The G201 cycle is used to offset the W-axis to match the Z absolute position. This is used when
the W-axis is to be used for machining.

FACTS: When the G201 cycle is run, the W-axis absolute position will be the same as the Z absolute
position.
The offset value from G201 is stored in the external W offset register.

The external W offset is cancelled by the following: #5204 = 0 or G200.


Do not run the G201 cycle unless the W-axis is at the same position as commanded by the G200
cycle.

The G201 cycle will perform the following steps:

1. Check W and Z-axes position to determine if the relationship between them is correct. If the
W-axis is not at the position established with the G200 cycle, an error (W-axis out of position
for G201) will be generated.

2. The G201 cycle will offset the W-axis to make the W absolute position equal to the Z
absolute position by setting the external W offset.

****************************************************************************************
CAUTION
IF THE Z-AXIS IS PHYSICALLY MOVED AFTER RUNNING THE G201 CYCLE, THE G201 CYCLE
MUST BE RUN AGAIN TO UPDATE THE W OFFSET PRIOR TO MACHINING.

****************************************************************************************
EXAMPLES:

N100 M06 T30; Load tool 30


N110 G200 W-10; Extend W -10 and offset Z +10
N120 G43 H99 Z.1; Active tool offset and position Z to .1
N130 G201; Offset W to make absolute position = to W.1, same as Z
N140 G81 X10 Y10 R.1 W-1.5; Drill with W

REFERENCE OFFSETS 69.10 - 13


TRACKING SPINDLE EXTENSION - Z SPINDLE

One method of tracking the Z and W-axes is based on the Spindle Extension. It may be desirable to control the
actual spindle extension and then track the Z and W. This can be accomplished by using work offsets (normally the
external offset). Subprograms are supplied with your machine to help with this process. The following description will
illustrate how this can be done.
Note: All examples are metric. Z0
Machine Zero
Referring to FIGURE 69.10 - 8, the initial relationship between Z
and W machines zeros can be seen.

Without having any work or tool offsets active, these zeros are
also the part zeros (absolute). Imagine if you had commanded
both Z and W-axes to zero (0), you would have the shown
positions, but physically, this cannot be achieved.
N200 G0 Z0.0 W0.0;

Here is a representation of the Z and W-axis machine and


absolute position displays:
Machine Absolute
Z 0.000 0.000 W0
W 0.000 0.000 Machine Zero

FIGURE 69.10 - 8
Z and W Machine Reference Zeros
Z0
Referring to FIGURE 69.10 - 9, with a work offset (i.e. G55) Machine & Part Zero
containing a W-value (to make the W part zero relative to the
workpiece) activated, the machine and absolute positions are
as follows:
W800
Machine Absolute Machine
Z 0.000 0.000 Position
W 800.000 0.000 W800.0
Work Offset

W0
Part Zero

FIGURE 69.10 - 9
Work Offset Applied to W

69.10 - 14 REFERENCE OFFSETS


FIGURE 69.10 - 10 shows the spindle extension of 200 mm. In order to allow for this extension, the W-axis must be
offset +200. This value is stored in the external W offset as follows:
N200 G53 Z-200; Extend spindle -200 mm Z0
N210 #5204=200; Offset W by +200 mm spindle Machine Zero
extension, note the opposite
sign Z-200

The value can also be determined by using the Z machine


position system variable as follows:
W800.0
N210 #5204=-#5023; Offset W using present machine
Work Offset W0
position of Z with the opposite
sign Part Zero
N220 W0 W0 absolute

After loading the Z spindle extension into the external offset,


the machine and absolute positions are as follows:
Machine Absolute
Z -200.000 -200.000
W 1000.000 0.000

The above sequence can be achieved by calling the G200


cycle described later in this section. FIGURE 69.10 - 10
Work Offset Applied to W

Note: The offset in W-axis for the Z spindle extension only applies when the Z-axis remains at that
location. If the Z-axis is physically moved after the offset is applied, the offset will have to be
updated by repeating the command with the current Z position.

#5204 = -#5023

Note: The examples shown above assume the Z and W machine zero are as shown in FIGURE 69.10 - 8.

APPLYING THE TOOL OFFSET

After the spindle is extended to the desire position, the tool offset can now be applied to the W-axis as shown in
FIGURE 69.10 - 11.

Z0
Machine Zero

W1152
Machine 200.
150.
Position

W0
Part Zero

FIGURE 69.10 - 11
Spindle Extension Required

REFERENCE OFFSETS 69.10 - 15


The following example illustrates the W/Z tracking sequence when machining with W-axis:
N190 M06 T25; Load tool 25
N200 G55 M3 S500 G95 F.01; Activate work offset, set speed & feed
N210 G53 Z-200; Extend spindle 200 mm
N220 #5204=-#5023; Offset W using present machine position of Z with the opposite sign
N230 G43 H99 W2; Activate tool offset and apply to the W-axis
N240 G81 X100 Y0 R2 W-50; Drill with W-axis

After executing the N230 above, the machine and absolute positions are as follows:

Machine Absolute
Z -200.000 -200.000
W 1152.000 2.000

MACHINING WITH Z

If the machining process is to be done with the Z-axis, an offset can be applied to the Z to make the Z absolute the
same as the W absolute position. The offset is applied as an external Z offset as follows:
N10 #5203=#5023-#5004; Offset Z external offset to make Z equal to absolute W coordinate
After applying the offset, the machine and absolute positions are as follows:

Machine Absolute
Z -200.000 2.000
W 1152.000 2.000

The following example illustrates the W/Z tracking sequence when machining with Z-axis:
N190 M06 T25; Load tool 25
N200 G55 M3 S500 G95 F.01; Activate work offset; set speed & feed
N210 G53 Z-200 ; Extend spindle 200 mm
N220 #5204=-#5023; Offset W using present machine position of Z with the opposite sign
N230 G43 H99 W2; Activate tool offset and apply the W-axis
N240 #5203=#5023-#5004; Offset Z external offset to make Z equal to absolute W coordinate
N250 G81 X100 Y0 R2 Z-50; Drill with Z-axis
N260 X200; Drill
N270 G80; Cancel drill cycle
N280 #5203=0; Cancel Z external offset

The above command on N220 and N240 can be achieved by calling the G201 cycle described later in this section.
Note: The offset in Z-axis to make Z equal to absolute W coordinate only applies when the W-axis remains
at that location. If the W-axis is physically moved after the offset is applied, the offset must be
updated by repeating the command with the current W position.

#5203=#5023-#5004

Note: The examples shown above assume the Z and W machine zero are as shown in FIGURE 69.10 - 8.

69.10 - 16 REFERENCE OFFSETS


EXAMPLES Z/W TRACKING USING CYCLE

Drill with W-axis


N190 M06 T25; Load tool 25
N200 G55 M3 S500 G95 F.01; Activate work offset, set speed & feed
N210 G200 Z200; Extend spindle to -200 mm and offset W
N220 G43 H99 W2; Activate tool offset and apply the W-axis
N230 G81 X100 Y0 R2 W-50; Drill with W-axis
N240 X200; Drill
N250 G80; Cancel drill cycle
N260 G00 W50; Retract W
N270 G200; Retract Z and cancel external offsets

Drill with Z-axis


N190 M06 T25; Load tool 25
N200 G55 M3 S500 G95 F.01; Activate work offset, set speed & feed
N210 G200 Z200; Extend spindle to -200 mm and offset W
N220 G43 H99 W2; Activate tool offset and apply to the W-axis
N230 G201; Offset Z to make Z equal to absolute W coordinate
N240 G81 X100 Y0 R2 Z-50; Drill with Z-axis
N250 X200; Drill
N260 G80; Cancel drill cycle
N270 G00 W50; Retract W
N280 G200; Retract Z and cancel external offsets

NOTES ON TRACKING CYCLES - Z SPINDLE

• Do not run the G201 cycle unless the Z-axis is at the same position as initially commanded by the G200 cycle. If
the Z-axis is out of position, an alarm (Z-axis out of position for G201) will be generated.

• When the G201 cycle is run, the Z absolute reference will be made the same as the W absolute position.

• When the G200 cycle is run, the Z-axis will position to the Z commanded machine position and the Z offset
stored by G201 will be cleared.

• The offset value from G200 is stored in the external W offset register.

• The offset value from G201 is stored in the external Z offset register.
Note: If the Z-axis is physically moved after running the G200 cycle, the G200 cycle must be run again to
update the W offset prior to machining.
Note: If the W-axis is physically moved after running the G201 cycle, the G201 cycle must be run again to
update the Z offset prior to machining.

REFERENCE OFFSETS 69.10 - 17


TRACKING SPINDLE EXTENSION - W SPINDLE

One method of tracking the Z and W-axes is based on the Spindle Extension. It may be desirable to control the
actual spindle extension and then track the Z and W. This can be accomplished by using work offsets (normally the
external offset). Subprograms are supplied with your machine to help with this process. The following description will
illustrate how this can be done.
Note: All examples are metric.
W0
Referring to FIGURE 69.10 - 12, the initial relationship between Machine Zero
Z and W machines zeros can be seen.

Without having any work or tool offsets active, these zeros are
also the part zeros (absolute). Imagine if you had commanded
both Z and W-axes to zero (0), you would have the shown
positions, but physically, this cannot be achieved.
N200 G0 Z0.0 W0.0;

Here is a representation of the Z and W-axis machine and


absolute position displays:
Machine Absolute
Z 0.000 0.000
Z0
W 0.000 0.000 Machine Zero

FIGURE 69.10 - 12
Z and W Machine Reference Zeros
Referring to FIGURE 69.10 - 13, with a work offset (i.e.
G55) containing a Z-value (to make the Z part zero relative
to the workpiece) activated, the machine and absolute W0
positions are as follows: Machine & Part Zero

Machine Absolute
Z 800.000 0.000 Z800
W 0.000 0.000 Machine
Position

Z800.0
Work Offset

Z0
Part Zero

FIGURE 69.10 - 13
Work Offset Applied to Z

69.10 - 18 REFERENCE OFFSETS


FIGURE 69.10 - 14 shows the spindle extension of 200 mm. In order to allow for this extension, the Z-axis must be
offset +200. This value is stored in the external Z offset as follows:
N200 G53 W-200; Extend spindle -200 mm W0
N210 #5203=200; Offset Z by +200 mm spindle Machine Zero
extension, note the opposite
sign W-200
The value can also be determined by using the W machine
position system variable as follows:
N210 #5203=-#5024; Offset Z using present machine Z800.0
position of W with the opposite Work Offset Z0
sign Part Zero

After loading the W spindle extension into the external offset,


the machine and absolute positions are as follows:

Machine Absolute
Z 1000.000 0.000
W -200.000 -200.000

The above sequence can be achieved by calling the G200


cycle described later in this section. FIGURE 69.10 - 14
Work Offset Applied to Z

Note: The offset in Z-axis for the W spindle extension only applies when the W-axis remains at that
location. If the W-axis is physically moved after the offset is applied, the offset will have to be
updated by repeating the command with the current W position.

#5203 = -#5024

Note: The examples shown above assume the Z and W machine zero are as shown in FIGURE 69.10 - 12.

APPLYING THE TOOL OFFSET

After the spindle is extended to the desire position, the tool offset can now be applied to the Z-axis as shown in
FIGURE 69.10 - 15.
W0
Machine Zero

Z1152
Machine 200.
150.
Position

Z0
Part Zero

FIGURE 69.10 - 15
Spindle Extension Required

REFERENCE OFFSETS 69.10 - 19


The following example illustrates the W/Z tracking sequence when machining with Z-axis:
N190 M06 T25; Load tool 25
N200 G55 M3 S500 G95 F.01; Activate work offset, set speed & feed
N210 G53 W-200; Extend spindle 200 mm
N220 #5203=-#5024; Offset Z using present machine position of W with the opposite sign
N230 G43 H99 Z2; Activate tool offset and apply to the Z-axis
N240 G81 X100 Y0 R2 Z-50; Drill with Z-axis

After executing the N230 above, the machine and absolute positions are as follows:

Machine Absolute
Z 1152.000 2.000
W -200.000 -200.000

MACHINING WITH W

If the machining process is to be done with the W-axis, an offset can be applied to the W to make the W absolute the
same as the W absolute position. The offset is applied as an external W offset as follows;
N10 #5204=#5024-#5003; Offset W external offset to make W equal to absolute Z coordinate
After applying the offset, the machine and absolute positions are as follows:

Machine Absolute
Z 1152.000 2.000
W -200.000 2.000

The following example illustrates the W/Z tracking sequence when machining with W-axis:
N190 M06 T25; Load tool 25
N200 G55 M3 S500 G95 F.01; Activate work offset; set speed & feed
N210 G53 W-200; Extend spindle 200 mm
N220 #5203=-#5024; Offset Z using present machine position of W with the opposite sign
N230 G43 H99 Z2; Activate tool offset and apply the Z-axis
N240 #5204=#5024-#5003; Offset W external offset to make W equal to absolute Z coordinate
N250 G81 X100 Y0 R2 W-50; Drill with W-axis
N260 X200; Drill
N270 G80; Cancel drill cycle
N280 #5204=0; Cancel W external offset

The above command on N220 and N240 can be achieved by calling the G201 cycle described later in this section.
Note: The offset in W-axis to make W equal to absolute Z coordinate only applies when the Z-axis remains
at that location. If the Z-axis is physically moved after the offset is applied, the offset must be
updated by repeating the command with the current Z position.

#5204=#5024-#5003

Note: The examples shown above assume the Z and W machine zero are as shown in FIGURE 69.10 - 12.

69.10 - 20 REFERENCE OFFSETS


EXAMPLES Z/W TRACKING USING CYCLE

Drill with Z-axis


N190 M06 T25; Load tool 25
N200 G55 M3 S500 G95 F.01; Activate work offset, set speed & feed
N210 G200 W200; Extend spindle to -200 mm and offset Z
N220 G43 H99 Z2; Activate tool offset and apply the Z-axis
N230 G81 X100 Y0 R2 Z-50; Drill with Z-axis
N240 X200; Drill
N250 G80; Cancel drill cycle
N260 G00 Z50; Retract Z
N270 G200; Retract W and cancel external offsets

Drill with W-axis


N190 M06 T25; Load tool 25
N200 G55 M3 S500 G95 F.01; Activate work offset, set speed & feed
N210 G200 W200; Extend spindle to -200 mm and offset Z
N220 G43 H99 Z2; Activate tool offset and apply to the Z-axis
N230 G201; Offset W to make W equal to absolute Z coordinate
N240 G81 X100 Y0 R2 W-50; Drill with W-axis
N250 X200; Drill
N260 G80; Cancel drill cycle
N270 G00 Z50; Retract Z
N280 G200; Retract W and cancel external offsets

NOTES ON TRACKING CYCLES - W SPINDLE

• Do not run the G201 cycle unless the W-axis is at the same position as initially commanded by the G200 cycle.
If the W-axis is out of position, an alarm (W-axis out of position for G201) will be generated.

• When the G201 cycle is run, the W absolute reference will be made the same as the Z absolute position.

• When the G200 cycle is run, the W-axis will position to the W commanded machine position and the W offset
stored by G201 will be cleared.

• The offset value from G200 is stored in the external Z offset register.

• The offset value from G201 is stored in the external W offset register.
Note: If the W-axis is physically moved after running the G200 cycle, the G200 cycle must be run again to
update the Z offset prior to machining.
Note: If the Z-axis is physically moved after running the G201 cycle, the G201 cycle must be run again to
update the W offset prior to machining.

REFERENCE OFFSETS 69.10 - 21


PARALLEL AXIS TRACKING (OPTION)

The following specification details the operation of part program G-codes provided as a Fanuc option. The CNC
tracks W and Z-axes in both Manual and Auto/MDI mode.
Note: Refer to the Fanuc documentation for more information on parallel axis tracking.

The following four special G-codes can be used in AUTO or MDI mode.

G500 - SET W-AXIS AS TRACKING AXIS

REQUIRED: G500 Z_

FUNCTION Switches tracking axis from the Z-axis to the W-axis.

G500 moves the Z-axis to the programmed machine coordinate and sets the W-axis as the tracking
axis.

FACTS: The programmed Z is the machine coordinate, not the programmed position (absolute coordinate),
of the Z-axis.

G500 Z_ will move the Z-axis to the Z machine coordinate and set the W-axis as the tracking axis.

G500 alone will set the W-axis as the tracking axis without moving the Z-axis.

After G500 is programmed, only the W-axis can be commanded. If the Z-axis needs to be
commanded, G503 must be used.

When W-axis is in the tracking mode and Z-axis is commanded an alarm will be issued.

G500 is cancelled by programming a G502.

EXAMPLES:

N100 T06 T30; Load tool 30


N110 G01 G54 S500 G95 F.01; Activate work offset, set speed & feed
N130 G500 Z100; Extend spindle to -100mm, set W in tracking
N140 G43 H99 W2; Activate tool offset and apply the W-axis
N150 G81 X100 Y0 R2 W-50; Drill with W-axis
N160 X200; Drill
N170 G80; Cancel drill cycle
N180 G00 Z0; Retract Z
N190 G502; Cancels G500

G501 - SET Z-AXIS AS TRACKING AXIS

REQUIRED: G501 W_

FUNCTION Switches tracking axis from the W-axis to the Z-axis.

G501 moves the W-axis to the programmed machine coordinate and sets the Z-axis as the tracking
axis.

FACTS: The programmed W is the machine coordinate, not the programmed position (absolute coordinate),
of the W-axis.

G501 W_ will move the W-axis to the W machine coordinate and set the Z-axis as the tracking axis.

G501 alone will set the Z-axis as the tracking axis without moving the W-axis.

After G501 is programmed, only the Z-axis can be commanded. If the W-axis needs to be
commanded, G503 must be used.

When Z-axis is in the tracking mode and W-axis is commanded an alarm will be issued.

G501 is cancelled by programming a G502.

69.10 - 22 REFERENCE OFFSETS


EXAMPLES:

N100 T06 T30; Load tool 30


N110 G01 G54 S500 G95 F.01; Activate work offset, set speed & feed
N130 G501 W100; Moves table to -00mm, set Z in tracking
N140 G43 H99 W2; Activate tool offset and apply the W-axis
N150 G81 X100 Y0 R2 Z-50; Drill with Z-axis
N160 X200; Drill
N170 G80; Cancel drill cycle
N180 G00 W2000 ; Retract W
N190 G502; Cancels G501

G502 - CANCEL TRACKING AXIS

REQUIRED: G502

FUNCTION: G502 cancels the tracking mode so that both W and Z-axis can be freely moved in the machine
coordinates.

FACTS: After G502 is commanded, the workpiece coordinate is no longer tracked.

Machine coordinate command G53 should be used after a G502 is called.

G503 - MOVE NOT-TRACKING AXIS

REQUIRED: G503 Z_, G503 W_ or G503 W_ Z_

FUNCTION: G503 is used to move a non-tracking axis in tracking mode.

TRACKING MODE IN W-AXIS

G503 Z_ Will move the Z-axis so that the W-axis absolute coordinate will be W_.

EXAMPLE: Current absolute program position is W200.

G0 W200; Current absolute position


G503 Z250; The Z-axis will have an incremental move of 50 in the positive direction so that the W
absolute position becomes W250

G503 W_ Will move the W-axis so that the W-axis absolute coordinate will become W_.

EXAMPLE: Current absolute program position is W200.

G0 W200; Current absolute position


G503 W250; The W-axis will have an incremental move of 50 in the positive direction so that the W
absolute position becomes W250

G503 W_ Z_ Will move the Z-axis to the programmed Z machine coordinate and move the W-axis to the
programmed W_ absolute coordinate, so that the Z-axis machine coordinate will become Z_ and
the W-axis absolute coordinate will become W_.

EXAMPLE: Current absolute program position is W200 and current machine position of Z is Z-100.

G0 W200 Z-100; Current absolute position


G503 Z-150 W100; The Z-axis will move to a -150 machine coordinate and W will make an incremental move
of -50, so that the absolute position becomes W100

REFERENCE OFFSETS 69.10 - 23


TRACKING MODE IN Z-AXIS

G503 W_ Will move the W-axis so that the Z-axis absolute coordinate will become Z_.

EXAMPLE: Current absolute program position is Z100.

G0 Z100; Current absolute position


G503 W250; The W-axis will have an incremental move of 150 in the positive direction so that the Z
absolute position becomes Z250

G503 Z_ Will move the Z-axis so that the Z-axis absolute coordinate will be Z_.

EXAMPLE: Current absolute program position is Z100.

G0 Z100; Current absolute position


G503 Z250; The Z-axis will have an incremental move of 150 in the positive direction so that the Z
absolute position becomes Z250

G503 W_ Z_ Will move the W-axis to the programmed W machine coordinate and move the Z-axis to the
programmed Z_ absolute coordinate, so that the W-axis machine coordinate will become W_ and
the Z-axis absolute coordinate will become Z_.

EXAMPLE: Current absolute program position is Z200 and current machine position of Z is Z-100.

G0 G53 Z-100; Machine coordinate position to Z-100


G0 Z200; Current absolute position
G503 Z-150 W100; The Z-axis will move to a -150 machine coordinate and W will make an incremental move
of -50, so that the absolute position becomes W100

OPERATING PROCEDURES

The following procedures outline the moving of both W and Z axis in MDI or Manual Mode.

NOT IN TRACKING MODE

W or Z-axis can be freely moved when not in tracking mode.

IN TRACKING MODE

Command G503 W_ Z_ to move the W and Z-axes to a new part zero position in MDI, or make a manual move. The
absolute coordinate will be tracked in G500 or G501 is active.

69.10 - 24 REFERENCE OFFSETS


SECTION 69.20
PROGRAM DATA
TABLE OF CONTENTS

TITLE PAGE
GENERAL ...................................................................................................................................................................... 1

PROGRAMMING ........................................................................................................................................................... 1

PROGRAM FORMAT .......................................................................................................................................... 2

REV 1 (10-2012)
GENERAL

The Fanuc Control uses variable block word address which conforms to the DIN60625 Standard (this compares
closely to the Electronics Industries Association Standards RS-274D).

The DIN60625 data are the typical word address and format information. The high-level language expansion data
can be used for substitution of some of the DIN60625 commands, or for parametric subprograms, looping or
repeating and arithmetic operations. High level programming techniques can be used to calculate and/or supply the
information to a program or subprogram.

This section will explain the use and the format of the various commands most commonly used in Part Program
creation. Many more commands are available.

PROGRAMMING

Writing an effective part program for a MAG machine requires that the programmer arrange program information in
the proper sequence.

This section of the manual contains a detailed explanation of the programming codes used to represent the various
machine and control functions available with CNC controls.

Besides coding and arranging the program information in the proper sequence, it is the programmer's responsibility to
make any calculations that may be required. These calculations may require addition, subtraction, multiplication,
division and even some basic trigonometry. In these instances, the programmer should double-check each
calculation to make sure that the numbers are correct. Entering an incorrect value in the program may cause the
machine to make the wrong move that could damage the machine, injure the operator, or both. For the same
reasons, the programmer must fill out each program manuscript correctly.

Before starting to write a part program, the following information and materials should be available:

• An up-to-date blueprint of the workpiece showing the amount of stock removal

• A setup sheet or job plan showing the machine and holding methods

• A tool layout showing the tool to be used on the particular job

• Speeds and Feeds

• Programming sheets

• Miscellaneous items such as a calculator with trigonometry functions, a scale, etc.

PROGRAM DATA 69.20 - 1


PROGRAM FORMAT

There are various rules that the programmer must follow to avoid programming errors regarding data. These rules
are listed below.

1. The program starts with a % followed by the program number or program name:

%
Oaaaaaaa; Program number starts with an O followed by up to 7 digits

%
:aaaaaaa; The : can be used in place of the O

%
<PROGRAM_NAME> (COMMENT);

Program names can contain alphabetical characters (uppercase and lowercase letters), numeric characters,
and the symbols: - + _ and can be up to 32 characters long (spaces ARE NOT allowed).

The program ends with M02, M30 or M99 followed by a % which specifies the end of program file.

...
M02
%
Note: If multiple programs are contained in one file, the % is only entered at the beginning and end
of the file, not at the beginning and end of each program.

2. Only the alphabetic assigned to the machine are legal.


3. Leading zeros may be omitted. Example G01 and G1 are the same.

4. Parameter 3401, bit 0 determines if decimal points are required or not. The default is that decimal points are
not required and this bit is set to 1. However, there are some word addresses such as the P-code used for
dwells and Q-code used in G83/G87 cycles that do not allow decimal points.

5. A command consists of a letter address followed by a defined number of digit modifiers called the register.
The register format refers to the position of the decimal point in relation to the digits in the register. For
example, in a register with a three-two format (3.2), the decimal point follows the first three digits (000.00).

6. After the RESET is pressed or M02 or M30 are executed, modal commands are set to default based on
parameters 3406 - 3409. If these parameters are set to 1, the active code will not be cleared. The following
codes will default to 1: Group 8 G43-G44, Group 14 G54-G59, F, H, & D.
7. The term modal means that the control or machine will continue to execute these functions until the control is
reset or another programmed command cancels it.

8. The term non-modal refers to commands that automatically cancel after the control executes the block.

9. Uppercase characters are required for programming codes.

69.20 - 2 PROGRAM DATA


SECTION 69.30
PROGRAMMING CODES
TABLE OF CONTENTS

TITLE PAGE
GENERAL ...................................................................................................................................................................... 1

LETTER ADDRESS ....................................................................................................................................................... 2

A - ANGULAR DIMENSION ABOUT X-AXIS ...................................................................................................... 3

B - ANGULAR DIMENSION ABOUT Y-AXIS ...................................................................................................... 3

C - ANGULAR DIMENSION ABOUT Z-AXIS ...................................................................................................... 3

C - ANGULAR DIMENSION ABOUT Z-AXIS ...................................................................................................... 3

C - SPINDLE ORIENT LOCATION ..................................................................................................................... 3

D - CUTTER RADIUS COMPENSATION............................................................................................................ 4

F - FEED FUNCTION .......................................................................................................................................... 4


G - PREPARATORY FUNCTION ........................................................................................................................ 5

H - TOOL LENGTH OFFSET .............................................................................................................................. 5

I/J/K - ARC CENTER OFFSET............................................................................................................................ 6

L - LOOP COUNTER (OPTION) ......................................................................................................................... 7

L - PROGRAMMABLE DATA LOAD ................................................................................................................... 7

L - SPIRAL AND CONICAL INTERPOLATION REVOLUTIONS (OPTION)........................................................ 7

M - MISCELLANEOUS FUNCTIONS .................................................................................................................. 8

N - SEQUENCE NUMBER .................................................................................................................................. 8

O - PROGRAM NUMBER ................................................................................................................................... 9

P - SUBPROGRAM DESIGNATION ................................................................................................................. 10

P - DWELL TIME ............................................................................................................................................... 10

P - MULTI FUNCTION COMMAND ................................................................................................................... 10

Q - PECK OR RETRACT AMOUNT - CANNED CYCLES ................................................................................ 10

Q - PROGRAMMABLE COOLANT PRESSURE (OPTION) .............................................................................. 10

R - APPROACH / RETRACT FOR CANNED CYCLES ..................................................................................... 11

R - RADIUS DIMENSION FOR CIRCULAR INTERPOLATION ........................................................................ 11

R - MULTI FUNCTION COMMAND................................................................................................................... 11

S - SPINDLE SPEED FUNCTION ..................................................................................................................... 11

T - TOOL FUNCTION ........................................................................................................................................ 12

V - RADIAL AXIS DIMENSION (OPTION) ........................................................................................................ 12

W - SECONDARY MOTION DIMENSION PARALLEL TO Z ............................................................................ 12

X - PRIMARY MOTION DIMENSION ................................................................................................................ 13

X - DWELL TIME ............................................................................................................................................... 13

Y - PRIMARY MOTION DIMENSION ................................................................................................................ 13


Z - PRIMARY MOTION DIMENSION ................................................................................................................ 13

PREPARATORY FUNCTIONS .................................................................................................................................... 14

GROUP SORTED LIST ..................................................................................................................................... 14

NUMERICALLY SORTED LIST ........................................................................................................................ 16

G00 - LINEAR INTERPOLATION-POSITIONING AT RAPID TRAVERSE ....................................................... 18

G01 - LINEAR INTERPOLATION AT FEED...................................................................................................... 18

G02/G03 - CIRCULAR INTERPOLATION-CW/CCW ........................................................................................ 19

G04 - DWELL .................................................................................................................................................... 19

G05.1 - HIGH SPEED MACHINING AICC (OPTION) ....................................................................................... 20

G07.1 / G107 - CYLINDRICAL INTERPOLATION (OPTION) ........................................................................... 21

G09 - DECELERATION..................................................................................................................................... 22

G10 - PROGRAMMABLE DATA INPUT............................................................................................................ 23

G10.6 - TOOL RETRACT AND RETURN ......................................................................................................... 24

G11 - PROGRAMMABLE DATA INPUT CANCEL ............................................................................................ 25

G12.1 / G112- POLAR COORDINATE INTERPOLATION (OPTION) ............................................................... 25

G13.1 / G113 - POLAR COORDINATE INTERPOLATION CANCEL (OPTION) .............................................. 25

G15 - POLAR COORDINATE COMMAND CANCEL (OPTION) ....................................................................... 25

G16 - POLAR COORDINATE COMMAND ON (OPTION) ................................................................................ 26

G17 - XY PLANE SELECT ................................................................................................................................ 27

G18 - ZX PLANE SELECT ................................................................................................................................ 27

G19 - YZ PLANE SELECT ................................................................................................................................ 28

G20 - INCH PROGRAMMING FORMAT ........................................................................................................... 28

G21 - METRIC PROGRAMMING FORMAT ...................................................................................................... 28

G22 - STORED STROKE CHECK ON .............................................................................................................. 29

G23 - STORED STROKE CHECK OFF ............................................................................................................ 29

G27 - REFERENCE POINT RETURN CHECK ................................................................................................. 30


G28 - REFERENCE POINT RETURN............................................................................................................... 30

G29 - RETURN FROM REFERENCE POINT ................................................................................................... 31

G30 - 2ND, 3RD & 4TH REFERENCE POINT RETURN .................................................................................. 31

G30.1 - FLOATING REFERENCE POINT RETURN (OPTION)........................................................................ 32

G31 - SKIP FUNCTION (OPTION) .................................................................................................................... 32

G33 - THREADING-CONSTANT LEAD (OPTION) ........................................................................................... 33

G38 - CUTTER RADIUS COMPENSATION - VECTOR HOLD ........................................................................ 33

G39 - CUTTER RADIUS COMPENSATION - CORNER ARC .......................................................................... 34

G40 - CUTTER RADIUS COMPENSATION - CANCEL .................................................................................... 34

G41/G42 - CUTTER RADIUS COMPENSATION - LEFT, RIGHT ..................................................................... 34


G41.2/G42.2 - CUTTER RADIUS COMPENSATION FOR 5-AXIS MACHINING - LEFT, RIGHT (OPTION) ... 34

G43 - TOOL LENGTH OFFSET COMPENSATION PLUS ................................................................................ 35

G43.4 - TOOL CENTER POINT CONTROL (5-AXIS MACHINING OPTION) ................................................... 36

G44 - TOOL LENGTH OFFSET COMPENSATION MINUS.............................................................................. 37

G49 - TOOL LENGTH OFFSET COMPENSATION CANCEL........................................................................... 37

G50 - SCALING CANCEL (OPTION) ................................................................................................................ 37

G50.1 - PROGRAMMABLE MIRROR IMAGE CANCEL (OPTION) .................................................................. 37

G51 - SCALING (OPTION)................................................................................................................................ 38

G51.1 - PROGRAMMABLE MIRROR IMAGE (OPTION) .................................................................................. 39

G52 - LOCAL COORDINATE SYSTEM SHIFT ................................................................................................. 39

G53 - MACHINE COORDINATE SYSTEM ....................................................................................................... 40

G53 - STOP LOOK AHEAD .............................................................................................................................. 40

G53.1 - TOOL AXIS DIRECTION CONTROL (5-AXIS MACHINING OPTION)................................................. 40

G54 - G59 - WORK COORDINATE SYSTEMS ................................................................................................ 41

G54.1 - ADDITIONAL WORK COORDINATE SYSTEMS ................................................................................. 41

G54.2 - ROTARY TABLE DYNAMIC FIXTURE OFFSET (OPTION) ................................................................ 41

G54.4 - WORKPIECE SETTING ERROR COMPENSATION (OPTION) .......................................................... 41

G60 - SINGLE DIRECTION POSITIONING (OPTION) ..................................................................................... 42

G61 - EXACT STOP MODE .............................................................................................................................. 42

G62 - AUTOMATIC CORNER OVERRIDE (OPTION) ...................................................................................... 42

G63 - TAPPING MODE ..................................................................................................................................... 43

G64 - CUTTING MODE ..................................................................................................................................... 43

G65 - MACRO CALL ......................................................................................................................................... 43

G66 - MODAL MACRO CALL A - AFTER MOVE .............................................................................................. 43

G66.1 - MODAL MACRO CALL B - EACH BLOCK ........................................................................................... 43

G67 - MODAL MACRO CALL A/B CANCEL ..................................................................................................... 44


G68 - COORDINATE SYSTEM ROTATION (2D) ............................................................................................. 44

G68 - COORDINATE SYSTEM ROTATION (3D) (OPTION) ............................................................................ 44

G68.2 - FEATURE COORDINATE SYSTEM (5-AXIS MACHINING OPTION) ................................................. 45

G68.3 - TILTED WORKING PLANE COMMAND BY TOOL AXIS DIRECTION (5-AXIS OPTION) .................. 46

G69 - COORDINATE SYSTEM ROTATION CANCEL ...................................................................................... 47

G73 - G89 - CANNED CYCLES ........................................................................................................................ 47

G90 - ABSOLUTE DIMENSION INPUT ............................................................................................................ 47

G91 - INCREMENTAL DIMENSION INPUT ...................................................................................................... 48

G92 - PRELOAD REGISTER ............................................................................................................................ 48

G92 - MAXIMUM SPINDLE SPEED .................................................................................................................. 48

REV 1 (10-2012)
G92.1 - WORKPIECE COORDINATE SYSTEM PRESET ................................................................................ 49

G94 - INCHES (MILLIMETERS) PER MINUTE-IPM/MMPM ............................................................................. 51

G95 - INCHES (MILLIMETERS) PER REVOLUTION-IPR/MMPR .................................................................... 51

G96 - CONSTANT SURFACE SPEED (FEET / METERS PER MINUTE) (OPTION) ....................................... 52

G97 - DIRECT REVOLUTIONS PER MINUTE ................................................................................................. 52

G98 - CANNED CYCLE INITIAL LEVEL RETURN ........................................................................................... 53

G99 - CANNED CYCLE R POINT LEVEL RETURN ......................................................................................... 53

MISCELLANEOUS FUNCTIONS ................................................................................................................................. 54

M00 - PROGRAM STOP ................................................................................................................................... 55

M01 - OPTIONAL (PLANNED) STOP ............................................................................................................... 55

M02 - END OF PROGRAM ............................................................................................................................... 55

M03/M04 - SPINDLE START - CW/CCW.......................................................................................................... 56

M05 - SPINDLE STOP ...................................................................................................................................... 56

M06 - TOOL CHANGE ...................................................................................................................................... 56

M07/M08/M50/M51/M52/M54/M59 - COOLANT ON ......................................................................................... 57

M09 - COOLANT OFF ....................................................................................................................................... 58

M13/M14 - M23/M24 - CLAMP / UNCLAMP ROTARY TABLE ......................................................................... 58

M19 - SPINDLE ORIENT .................................................................................................................................. 59

M27 - POSITION V-AXIS TO HOME (OPTION) ................................................................................................ 60

M30 - END OF PROGRAM ............................................................................................................................... 60

M40 - SPINDLE SHIFT / AUTOMATIC GEAR RANGE ..................................................................................... 60

M41/M42/M43/M44 - SPINDLE SHIFT .............................................................................................................. 61

M48 - FEED AND SPEED OVERRIDE LOCKOUT CANCEL............................................................................ 61

M49 - FEED AND SPEED OVERRIDE LOCKOUT ENABLE ............................................................................ 61

M59 - PROGRAMMABLE COOLANT PRESSURE (CHIP BLASTER COOLANT SYSTEM)............................ 62

M59 - PROGRAMMABLE COOLANT PRESSURE (BÜRENER COOLANT SYSTEM) .................................... 63


M60 - TOOL REFERENCE ............................................................................................................................... 64

M61 - MACRO TO SELECT Z OR W (5-AXIS MACHINING - OPTION) ........................................................... 64

M70 - POSITION INDEXING HEAD (OPTION) ................................................................................................. 65

M77- ACTIVATE TOOL PROBE (OPTION) ...................................................................................................... 65

M78 - ACTIVATE PART PROBE (OPTION)...................................................................................................... 65

M79 - DEACTIVATE PROBE (OPTION) ........................................................................................................... 66

M98 - CALLING SUBPROGRAM ...................................................................................................................... 66

M99 - END OF SUBPROGRAM ........................................................................................................................ 66

M160 - SELECT RAM AS W-AXIS (FLOOR-TYPE RAM ONLY) ...................................................................... 67

M161 - SELECT AUXILIARY SLIDE AS W-AXIS (FLOOR-TYPE RAM ONLY) ................................................ 67


M170 - WORK ZONE AUTO SELECT (FLOOR-TYPE) .................................................................................... 67

M171- M174 - WORK ZONE AUTO OVERRIDE (FLOOR-TYPE) .................................................................... 68

M198 - CALL SUBPROGRAM FROM EXTERNAL DEVICE ............................................................................. 68

M236 - CHIP CONVEYOR FORWARD ............................................................................................................. 69

M238 - CHIP CONVEYOR STOP ..................................................................................................................... 69

M240/M242/M243 - COOLANT FAULT REACTIONS ....................................................................................... 69

CHAMFERING AND CORNER RADIUS (OPTION) .................................................................................................... 70

GENERAL NOTES ............................................................................................................................................ 70

EXAMPLE: MILL INSIDE CONTOUR .................................................................................................... 70

CANNED CYCLES....................................................................................................................................................... 71

PLANE SELECTION ......................................................................................................................................... 72

DATA FORMAT G90/91 .................................................................................................................................... 72

RETURN POINT LEVEL G98/G99 .................................................................................................................... 72

DATA FOR CANNED CYCLES ......................................................................................................................... 73

DESCRIPTION OF CANNED CYCLES ....................................................................................................................... 73

G80 - CANNED CYCLE CANCEL ..................................................................................................................... 73

G73 - HIGH SPEED PECK DRILLING CYCLE ................................................................................................. 74

G74 - LEFT HAND RIGID TAPPING CYCLE .................................................................................................... 75

G76 - BORE / ORIENT SPINDLE / MOVE OFF CENTER / RETRACT CYCLE ............................................... 76

G81 - DRILL / BORE CYCLE ............................................................................................................................ 77

G82 - DRILL / BORE / DWELL CYCLE ............................................................................................................. 78

G83 - DEEP HOLE DRILL CYCLE .................................................................................................................... 79

G84 - RIGHT HAND RIGID TAPPING CYCLE.................................................................................................. 80

G85 - REAM CYCLE ......................................................................................................................................... 81

G86 - BORE / STOPPED SPINDLE RETRACT CYCLE ................................................................................... 83

G87 - BACK BORE CYCLE............................................................................................................................... 84


G88 - DRILL / BORE / DWELL CYCLE ............................................................................................................. 86

G89 - REAM / DWELL CYCLE .......................................................................................................................... 87

REV 1 (10-2012)
GENERAL

The Fanuc Control uses variable block word address which conforms to the DIN60625 Standard (this compares
closely to the Electronics Industries Association Standards RS-274D), and also incorporates Fanuc’s high-level
language expansion.

The DIN60625 data are the typical word address and format information. The high-level language expansion data
can be used for substitution of some of the DIN60625 commands, or for parametric subprograms, looping or
repeating and arithmetic operations. High level programming techniques can be used to calculate and/or supply the
information to a program or subprogram.

This section will explain the use and the format of the various commands most commonly used in Part Program
creation. Many more commands are available.

PROGRAMMING CODES 69.30 - 1


LETTER ADDRESS

CODE DESCRIPTION MODAL


A Angular Dimension about X-Axis No
B Angular Dimension about Y-Axis No
C Angular Dimension about Z-Axis No
Spindle Orient Location No
D Cutter Radius Compensation Yes
F Feed Function Yes
G Preparatory Function Some
H Tool Length Offset Yes
I Arc Center Offset for X and B No
J Arc Center Offset for Y and A No
K Arc Center Offset for Z/W No
L Loop Counter Yes
Programmable Data Load (G10) Some
Number of Revolutions - Spiral and Conical Interpolation No
M Miscellaneous Function Some
N Sequence Number No
O Program Number Yes
P Subprogram Designation Yes
Dwell Time in Milliseconds No
Sequence Number Designation No
Parameter in Canned Cycle Yes
Programmable Data Load (G10) No
Tool Management Yes
Additional Work Shifts (G54.1) Yes
Rotary Table Dynamic Fixture Offset (G54.2) Yes
Q Peck or Retract Amount - Canned Cycles Yes
Programmable Coolant Pressure Yes
R Approach / Retract for Canned Cycles - (G80 Cycles) Yes
Radius Dimension for Circular Interpolation Yes
S Spindle Speed Function Yes
T Tool Function No
V Radial Axis Dimension - NC Contouring Head No
W Secondary Motion Dimension Parallel to Z No
W1 Secondary Motion Dimension Parallel to Z No
W2 Third Motion Dimension Parallel to Z No
W3 Fourth Motion Dimension Parallel to Z No
X Primary X Motion Dimension No
Dwell Time (Seconds or Revolutions) No
Y Primary Y Motion Dimension No
Dwell Time No
Z Primary Z Motion Dimension No
Note: Many of the letters are also used for Tool Management Data Input. Refer to the TOOL
MANAGEMENT section in this manual for more information.

Note: In the following descriptions of the various program codes, a PRACTICAL format (i.e. Z±pppp.pppp),
or an ALLOWABLE format (i.e. Paaaaa) is given, where applicable.

69.30 - 2 PROGRAMMING CODES


A - ANGULAR DIMENSION ABOUT X-AXIS
B - ANGULAR DIMENSION ABOUT Y-AXIS
C - ANGULAR DIMENSION ABOUT Z-AXIS

REQUIRED: A±ppp.ppp or B±ppp.ppp or C±ppp.ppp NON-MODAL

FUNCTION: The A, B & C command provides for programming rotary motion in degrees.

FACTS: The rotary axes commands are programmed from 0 degrees to ±360.000 degrees.

G90 (ABSOLUTE) or G91 (INCREMENTAL) apply to the rotary axes commands in their normal
fashion.

In the positioning mode (G00) and (G01), the shortest distance will determine the direction of
rotation.

To determine the ± direction of the rotary axis, view from the plus perpendicular axis:

A-axis View from +X-axis

B-axis View from +Y-axis

C-axis View from +Z-axis

See the ROTARY TABLE section for further information.


Note: The B and C-codes are also used with Tool Management to store the Tool Life State and
Accumulated Tool Life Value. Refer to the TOOL MANAGEMENT section.

C - ANGULAR DIMENSION ABOUT Z-AXIS


C - SPINDLE ORIENT LOCATION

REQUIRED: M19 Cppp NON-MODAL

FUNCTION: The C command is used with M19 (ORIENT) to program the polar angle orientation position.

The M19 C command must be executed before programming certain canned cycles. This insures
that the spindle is oriented to the correct location before and after the canned cycle.

FACTS: The C command is programmed from 0 degrees to +360 degrees.

The M19 code must be programmed before the C command.

M19 and C command must be programmed on a line by themselves.

When the C command is used with M19 (ORIENT) the direction of rotation will be in the clockwise
(M03) direction.

EXAMPLES:
90

180 0

270

This sketch of angular locations is viewed from the Z plus direction.

PROGRAMMING CODES 69.30 - 3


D - CUTTER RADIUS COMPENSATION

REQUIRED: Daaa (0-999) MODAL

FUNCTION: The D-code is used to activate the various radius compensations stored under it.

The D-code must be programmed along with the G41 or G42 code and an axis command, the tool
radius offset value stored under the number is either applied to the left (G41) or applied to the right
(G42) side of the programmed cutter path.

FACTS: The standard number of D-codes is 99. There is an option for 999 D-codes (1-999).

D0 cancels any active D-code; likewise G40 will cancel cutter compensation.

Programming any D-code will cancel any other D-code. Only one D-code will be active at a time.

Each D-code can contain only radius compensation.

EXAMPLES: For further information on D-codes, see the TOOL OFFSETS and TOOL MANAGEMENT sections.
Note: When Tool Management is utilized, the system requires the use of a single D-code. For example;
D99 is used for ALL tools when the machine is equipped with 99 offsets. The D-code used can be
changed with NC parameter; #13265.
Note: The D-code is also used with the Tool Management to store the tool radius cutter compensation
number.

F - FEED FUNCTION

REQUIRED: Fpppp.pppp (INCH) Fppppp.ppp (METRIC) MODAL

FUNCTION: The F-code is used to program feedrate depending on the active G-code.

FACTS: The F-code is used primarily to control the feed velocity, and if more than one axis is commanded
to move, it controls the Vector path velocity.

The function and the format of F-codes are influenced by various G-codes in the following manner.

CODE FUNCTION INCH METRIC

G93 F = 1/TIME Fpppp.ppp Fpppp.ppp

G94 F = IPM/MMPM Fppp.pp Fpppp.p

G95 F = IPR/MMPR Fpp.pppp Fppp.ppp

EXAMPLES: See the G-codes listed above for further information.


Note: The F-code is also used with Tool Management to store a Feedrate Value. Also refer to the TOOL
MANAGEMENT section in this manual.

69.30 - 4 PROGRAMMING CODES


G - PREPARATORY FUNCTION

REQUIRED: Gaa (0-99)

FUNCTION: The G preparatory function codes are used to establish modes of operations.

FACTS: If conflicting codes are programmed on the same line, generally the last one programmed will be
used, but not in all cases.

EXAMPLES: G00 G90 X2 G91 Z4

In this example the X2 would cause the X-axis to move to the absolute 2 position and the Z4 would
cause the Z-axis to move incrementally plus 4.

If a G-code is modal, it will remain active until canceled.

If a G-code is non-modal, it will be active only on the line it was programmed on.

The G-codes in the group 00 are not modal. They are effective only in the block in which they are
specified.

An alarm occurs when a G-code not listed is specified or when an optional G-code not defined in
the control is used.

EXAMPLES: The specific explanations of the G-codes are found later in this section.

H - TOOL LENGTH OFFSET

REQUIRED: Haaa (0-999) MODAL

FUNCTION: The H-code is used to specify the offset number.

FACTS: When programmed along with the G43 or G44 code and axis command, the length offset value
store under that number is either added to (G43) or subtracted from (G44) the programmed axis
value.

The standard number of H-codes is 99. There are options for 999 H-codes (1-999).

H00 or G49 is used to cancel the tool length offset.

EXAMPLES: For further information on H-codes, see the TOOL OFFSETS and TOOL MANAGEMENT sections.
Note: When tool Management is utilized, the system requires the use of a single H-code. For example; H99
is used for ALL tools when the machine is equipped with 99 offsets. The H-code used can be
changed with NC parameter; #13265.

Note: The H-code is also used with the Tool Management to store the tool length offset number.

PROGRAMMING CODES 69.30 - 5


I/J/K - ARC CENTER OFFSET

REQUIRED: I±pppp.pppp (INCH) I±ppppp.ppp (METRIC) NON-MODAL

J±pppp.pppp (INCH) J±ppppp.ppp (METRIC) NON-MODAL

K±pppp.pppp (INCH) K±ppppp.ppp (METRIC) NON-MODAL

FUNCTIONS: I, J and K are used to describe the location of the arc center used with (G02/G03) circular
interpolation and helical milling.

K is also used for canned cycles discussed later in this section.

FACTS I is used to enter data parallel to the X-axis.

J is used to enter data parallel to the Y and


V-axes.

K is used to enter data parallel to the W/Z-


axes.

I, J and K are the incremental distance from the


start point to the center of the arc. I, J & K are
always specified as an incremental value
irrespective of G90 and G91.

The sign of the value is the direction from the


start point to the center of the arc.

I, J and K can be omitted if the value is zero.

If I, J and K are programmed along with the R


address simultaneously, the arc specified by the
R register takes precedence and the others are
ignored.

EXAMPLES: For additional information on I/J/K-codes, refer


to CIRCULAR / HELICAL INTERPOLATION
section and the CANNED CYCLE topic later in
this section.
Note: The I-code is also used with Tool Management to store the Notice Tool Life Value. Refer to the TOOL
MANAGEMENT section.

69.30 - 6 PROGRAMMING CODES


L - LOOP COUNTER (OPTION)
L - PROGRAMMABLE DATA LOAD
L - SPIRAL AND CONICAL INTERPOLATION REVOLUTIONS (OPTION)

REQUIRED: Laaaa (0-9999)

FUNCTION: Repetitive count in subprograms, used with the programmable data (G10) load function and
number of revolution with spiral and conical interpolation.

FACTS: The L command specifies the number of repetitive calls of a subprogram. When L is not specified it
is assumed to be 1.

The maximum number of loops is 9999.

The L command also provides a means for addressing the appropriate offset or work shift when
using the optional programmable data load feature (G10).

In spiral & conical interpolation the L command is the number of revolutions. This value must be a
positive value without a decimal point. To specify four revolutions plus 90°, round the number of
revolutions up to five and specify L5.

L2 Work Coordinate P0 = External


L2 Work Coordinate P1 - P6 = G54 - G59
L10 Geometry Offset H-Code P1 - Up = Offset No.
L11 Wear Offset H-Code P1 - Up = Offset No.
L12 Geometry Offset D-Code P1 - Up = Offset No.
L13 Wear Offset D-Code P1 - Up = Offset No.
L20 Additional Work Coordinate P1 - P48 = G54.1 (option to 300)
L21 Dynamic Fixture Offsets P1 - P8 = G54.2
L50 Pitch Error N1 - Up = Parameter No.
L52 Parameter N1 - Up = Parameter No.
L75 Tool Management Data P0 - Up = Data No.
L76 Tool Management Data P0 - Up = Pot No.
L77 Tool Management Custom Data Description P0 - Up = Character No.

EXAMPLES:

SUBPROGRAMS

M98 P6003 L4; Repeat P6003 four times

PROGRAMMABLE DATA LOAD

G10 L2 P1 Z2.441; Load G54 Z offset

PROGRAMMABLE PARAMETER LOAD (machine is set to metric system)

G10 L52;
N1240 P1 R800000; Load G28 X position to 800 mm
G11;

PROGRAMMABLE PARAMETER LOAD (machine is set to inch system)

G10 L52;
N1240 P1 R314961; Load G28 X position to 31.4961"/800 mm
G11;
Note: The L-code is also used with Tool Management to store the Maximum Tool Life Value. Refer to the
TOOL MANAGEMENT section.

PROGRAMMING CODES 69.30 - 7


M - MISCELLANEOUS FUNCTIONS

REQUIRED: Maaa

FUNCTION: The M miscellaneous function codes are used to initiate various machine functions.

FACTS: Plural M-codes are standard, up to three M-codes to be on one block simultaneously.

If an M-code is modal, it will remain active until canceled.

If an M-code is non-modal, it will be active only on the line it was programmed.

EXAMPLES: A specific explanation of each M-code is found later in this section.

N - SEQUENCE NUMBER

REQUIRED: Naaaaa or Naaaaaaaa NON-MODAL

FUNCTION The N address is used to enter the sequence number.

FACTS: Any order of numbering is permitted using 0 - 99999, but a unique number with ascending order is
recommended (10, 20, 30, etc.). This allows up to nine blocks to be added to the program without
affecting the original sequence numbers.

Although the sequence number has no effect on the machining operation, numbering each block of
the program provides the operator with a variable reference for comparing the manuscript to the
machining sequence or for changing the program.

Leading zeros do not have to be programmed.

Do not duplicate sequence numbers to avoid confusion and possible errors in program execution.

Only a slash (/) block skip code may precede a sequence number.

The amount of N numbers is set by parameter #11353 bit 1. If bit 1=0, 5 digits are allowed and if
bit 1=1, 8 digits are allowed. The default is set to 5 digits.

EXAMPLES:

N10; Sequence number ten

/N10; Block skip

On sequence number ten the operator is allowed to skip this sequence by pressing the BLOCK SKIP key.

/3N20; Block skip #3

On sequence number twenty the operator is allowed to skip this sequence by turning on the optional block skip switch
number 3 and pressing the BLOCK SKIP key. This gives the program more flexibility to skip different sections of a
program.
Note: The N-code is also used with Tool Management to identify the Tool Management Data Number.
Refer to the TOOL MANAGEMENT section.

69.30 - 8 PROGRAMMING CODES


O - PROGRAM NUMBER

REQUIRED: Oaaaaaaa MODAL

FUNCTION: The letter address O designates program number.

The control uses the O command to store a part program in its memory. The program number
format is 8 digits.

The program number is used to differentiate one program from another.

OPTIONAL COMMENT: A 31 character alphanumeric field that can be used to describe the program name.

The comment is displayed on the Program Directory display page on the control by pressing the
DETAIL ON softkey. This gives the operator / programmer better understanding of the part
programs that are in the control.

The comment must be enclosed with parentheses ( ).

FACT: Program number zero is not permitted.

The colon (:) can also be used in place of the letter address O in ISO code.

If a program number is omitted, the control will regard the first sequence number in the program as
the program number.

<PART_101> Program names can also be used on the control. Program names can contain
alphabetical characters (uppercase and lowercase letters), numeric characters, and the symbols: -
+ _ and can be up to 32 characters long.

O0001 - O7999 Programs to be freely edited, canceled and registered.

O8000 - O8999 Programs that cannot be registered, canceled, or edited without changing
parameters. Set by parameter #3202 bit 0.

O9000 - O9049 Special macros that are called with (M, G, T or S-codes).

O9000 - O9999 Programs that cannot be registered, canceled, or edited without changing
parameters.

****************************************************************************************

ALWAYS KEEP THE MACHINE CUSTOM MACROS WRITE PROTECTED. THE MACHINE
CUSTOM MACROS ARE SPECIALIZED PROGRAMS WRITTEN TO PERFORM AUXILIARY
FUNCTIONS SUCH AS TOOL EXCHANGES AND PALLET EXCHANGES ETC.

****************************************************************************************
EXAMPLES:

O0006043; Program number

<PART_NUMBER_12098-998-A> Program name

PROGRAMMING CODES 69.30 - 9


P - SUBPROGRAM DESIGNATION
P - DWELL TIME
P - MULTI FUNCTION COMMAND

REQUIRED: G65, G66 or M98 and Ppppp MODAL / NON MODAL

G04 Pppppp NON MODAL

FUNCTION: The P-code is used to designate the name when calling a subprogram or macro.

The P-code is used to specify a dwell in seconds or revolutions depending if G94 or G95 is active
when programmed with the G04 command.

The P-code is used to specify an offset number when using the programmable data load feature to
load tool offset values.

The P-code is used to specify the work coordinate number when using the programmable data load
feature to load work shift values.

The P-code specifies the dwell time in milliseconds at the bottom of the hole when used with many
of the canned cycles. The relationship between the time and the specified value is the same as for
G04.

The P-code is used to specify the addition work shift number in conjunction with the G54.1
command.

The P-code is used to specify the rotary table dynamic fixture offset number in conjunction with the
G54.2 command.

FACTS: The P-code has multiple uses on the Fanuc and care must be used to insure proper use.

EXAMPLES:

N200 M98 P6003; Call subprogram P6003

N100 G94 G04 P5000; This will cause a five second dwell

For further information on P-codes, refer to Fanuc User’s manual.


Note: The P-code is also used with Tool Management to store Custom Data Number. Refer to the TOOL
MANAGEMENT section.

Q - PECK OR RETRACT AMOUNT - CANNED CYCLES


Q - PROGRAMMABLE COOLANT PRESSURE (OPTION)

REQUIRED: Q+pppp.pppp (INCH) Q+ppppp.ppp (METRIC) MODAL

M59 Q_

FUNCTION: The Q-code is used to specify each cut-in value with G73 and G83 or the shift value with G76 and
G87 cycles.

FACTS: The Q value is always specified as an incremental value.

When used with the optional programmable coolant pressure (M59), the Q address is used to
define one of the four possible coolant pressures, in BAR units.

EXAMPLES: For further information on Q-codes, refer to CANNED CYCLES later in this section and also the
M59 code description.
Note: The Q-code is also used with Tool Management to store various Tool Information data. Refer to the
TOOL MANAGEMENT section.

69.30 - 10 PROGRAMMING CODES


R - APPROACH / RETRACT FOR CANNED CYCLES
R - RADIUS DIMENSION FOR CIRCULAR INTERPOLATION
R - MULTI FUNCTION COMMAND

REQUIRED: R+pppp.pppp (INCH) R+ppppp.ppp (METRIC) MODAL

FUNCTION: The R-code is used by the G80 cycles normally as the approach and retract point. The retract
position is determined by whether G98 or G99 is active. When used with canned cycles, the R
value is an absolute value when G90 is active and incremental when G91 is active.

The R-code can be used in conjunction with the coordinate system rotation (G68) to specify the
rotation angle of the shape.

The R-codes can also be used to program an arc radius when using circular interpolation.

FACTS: The R-code has multiple uses on the Fanuc control and care must be used to insure proper use.

EXAMPLES: For additional information on R-codes, refer to CANNED CYCLES later in this section.
Note: The R-code is also used with Tool Management to store various Tool Information data. Refer to the
TOOL MANAGEMENT section.

S - SPINDLE SPEED FUNCTION

REQUIRED: G96 Sppppp (INCH) Sppppp (METRIC) MODAL

G97 Sppppp (INCH) Sppppp (METRIC)

FUNCTION: The S-code is used to program spindle speed directly in RPM. See note below.

FACTS: If the SPEED % OVERRIDE pot is active, it will influence the RPM.

EXAMPLES:

N100 S150; Run the spindle to at 150 RPM when M03 or M04 is active
Note: The S-code is also used in the constant surface feed mode (G96), when used with the NC Contouring
Head. For more information see the CONTOURING HEAD section.
Note: The S-code is also used with Tool Management to store Spindle Speed. Refer to the TOOL
MANAGEMENT section.

PROGRAMMING CODES 69.30 - 11


T - TOOL FUNCTION

REQUIRED: Taaaaaaaa NON-MODAL

FUNCTION: The T-code is used to select the desired tool from the matrix on an automatic tool changer.

FACTS: The T-code will preselect the next tool from the matrix. This should be programmed on a line prior
to the tool change line.

The tool change is initiated by the M06 command.

The allowable number of digits for the T-code is set up in parameter #3032. This default is setup to
8 numbers.

The T-code may be programmed on a line containing other data to preselect a tool.

The T-code is also used to pick up and exchange attachments.

The T-code represents the tool group number.

EXAMPLES: For additional information on T-codes see the TOOL CHANGER and TOOL MANAGEMENT
sections.
Note: The T-code is also used with Tool Management to store a Tool Group Number and a Magazine
Pocket Number. Refer to the TOOL MANAGEMENT section.

V - RADIAL AXIS DIMENSION (OPTION)

REQUIRED: V±pppp.pppp (INCH) V±ppppp.ppp (METRIC) NON-MODAL

FUNCTION: The V-axis command is used to command motion of the radial slide of a NC Contouring Head /
CBS Bar.

FACTS: The V-axis command is only allowed when the NC Contouring Head / CBS Bar are attached to the
machine.

At this time the V command is used with the CH8, CH16, CH26, CH36 Contouring Heads and the
CBS Boring Bars.

EXAMPLE: For additional information on the V-axis, refer to the CONTOURING HEADS section.

W - SECONDARY MOTION DIMENSION PARALLEL TO Z

REQUIRED: W±pppp.pppp (INCH) W±ppppp.ppp (METRIC) NON-MODAL

FUNCTION: The W-axis command is used to program motion of the machine component assigned as the W-
axis, which is parallel to the Z-axis.
Note: For floor-type machines refer to the COORDINATE SYSTEMS and WORK ZONES
sections for more information on the W-axis.

EXAMPLE:

N100 G00 G90 W10.0; This will position the W-axis to 10


N110 G00 G91 W10.0; This will increment the W-axis 10
N120 G00 G90 W[5*SIN[30]]; This will position the W-axis to 2.5

69.30 - 12 PROGRAMMING CODES


X - PRIMARY MOTION DIMENSION
X - DWELL TIME

REQUIRED: X±pppp.pppp (INCH) X±ppppp.ppp (METRIC) NON-MODAL

FUNCTION: The X command is used to program table / column motion commands along the X-axis defined by
the current coordinate system.

The X-code is used to specify a dwell in seconds or revolutions depending if G94 or G95 is active
when programmed with the G04 command.

FACTS: The X-axis controls table or column motion along the horizontal axis.

EXAMPLES:

N100 G00 G90 X10; This will position the X-axis to 10


N110 G00 G91 X10; This will increment the X-axis 10
N120 G00 G90 X[5*SIN[30]]; This will position the X-axis to 2.5
N130 G94 G04 X5; This will cause a five second dwell
N140 G95 G04 X5; This will cause a five revolution dwell

Y - PRIMARY MOTION DIMENSION

REQUIRED: Y±pppp.pppp (INCH) Y±ppppp.ppp (METRIC) NON-MODAL

FUNCTION: The Y command is used to program headstock motion commands along the Y-axis as defined by
the current coordinate system.

FACTS: The Y-axis controls headstock motion along the vertical axis.

EXAMPLES:

N100 G00 G90 Y10; This will position the Y-axis to 10


N110 G00 G91 Y10; This will increment the Y-axis 10
N120 G00 G90 Y[5*SIN[30]]; This will position the Y-axis to 2.5

Z - PRIMARY MOTION DIMENSION

REQUIRED: Z±pppp.pppp (INCH) Z±ppppp.ppp (METRIC) NON-MODAL

FUNCTION: The Z command is used to program motion of the machine component assigned as the Z-axis
which perpendicular to the X & Y-axes.
Note: See the COORDINATE SYSTEMS section for more information.

EXAMPLES:

N100 G00 G90 Z1; This will position the Z-axis to 1


N110 G00 G91 Z1; This will increment the Z-axis 1
N120 G00 G90 Z[5*SIN[30]]; This will position the Z-axis to 2.5

PROGRAMMING CODES 69.30 - 13


PREPARATORY FUNCTIONS

The preparatory function codes are used to establish modes of operation. There are two lists, one is listed by group,
and the other is in numerical order. In any group, one G-code will cancel the other. The asterisk (*) indicates the
default code when power is applied to the control.

If a G-code is specified, though its associated option is not provided, alarm PS010 will occur.

Multiple G-codes may be programmed on a block. However, only one (1) G-code from groups 1 thru 4 may be
programmed on a single block. One (1) G-code from each of the other groups may also be programmed on the line.

If a line containing conflicting G-codes, such as G00 G01 is encountered, the last one read will control, but not in all
cases. Example, G90 and G91 can both be programmed on the same line.

GROUP SORTED LIST


Code Group No. Description Modal Standard/Option
G04 00 Dwell No Standard
G05.1 00 High Speed Machining Yes Option
G07.1 00 Cylindrical Interpolation Yes Option
G107 00 Cylindrical Interpolation Yes Option
G09 00 Deceleration No Standard
G10 00 Programmable Data Input Some Standard
G10.6 00 Tool Retract and Return Yes Standard
G11 00 Programmable Data Input Cancel Yes Standard
G27 00 Reference Point Return Check No Standard
G28 00 Reference Point Return No Standard
G29 00 Return from Reference Point No Standard
nd rd th
G30 00 2 , 3 & 4 Reference Point Return No Standard
G30.1 00 Floating Reference Point Return No Option
G31 00 Skip Function No Option
G38 00 Cutter Radius Compensation - Vector Hold No Standard
G39 00 Cutter Radius Compensation - Corner Arc No Standard
G52 00 Local Coordinate System Shift Yes Standard
G53 00 Machine Coordinate System No Standard
G53 00 Stop Look Ahead No Standard
G53.1 00 Tool Axis Direction Control Yes Option
G60 00 or 01 Single Direction Positioning Yes Standard
G65 00 Macro Call No Standard
G92 00 Preload Register No Standard
G92 00 Maximum Spindle Speed Yes Option
G92.1 00 Workpiece coordinate System Preset Yes Standard
G00 01 Linear Interpolation Positioning at Rapid Yes Standard
G01* 01 Linear Interpolation at Feed Yes Standard
G02 01 Circular Interpolation - CW Arc Yes Standard
G03 01 Circular Interpolation - CCW Arc Yes Standard
G33 01 Constant Lead Threading Yes Option
G60 00 or 01 Single Direction Positioning Yes Option
G17* 02 XY Plane Select Yes Standard
G18 02 ZX Plane Select Yes Standard
G19 02 YZ Plane Select Yes Standard
G90* 03 Absolute Dimension Input Yes Standard
G91 03 Incremental Dimension Input Yes Standard
G22 04 Stored Stroke Check On Yes Standard
G23 04 Stored Stroke Check Off Yes Standard
G93 05 Inverse Time Feedrate (Velocity / Distance) Yes Standard
G94 05 Inches (Millimeters) Per Minute Yes Standard
G95* 05 Inches (Millimeters) Per Revolution Yes Standard

69.30 - 14 PROGRAMMING CODES


Code Group No. Description Modal Standard/Option
G20 06 Inch Programming Format Yes Standard
G21 06 Metric Programming Format Yes Standard
G40* 07 Cutter Radius Compensation - Cancel Yes Standard
G41 07 Cutter Radius Compensation - Left Yes Standard
G41.2 07 Cutter Radius Compensation - Left - 5-axis Yes Option
G42 07 Cutter Radius Compensation - Right Yes Standard
G42.2 07 Cutter Radius Compensation - Right - 5-axis Yes Option
G43 08 Tool Length Offset Compensation Plus Yes Standard
G43.4 08 Tool Center Point Control - 5-axis Yes Option
G44 08 Tool Length Compensation Minus Yes Standard
G49 08 Tool Length Compensation Cancel Yes Standard
G73 09 Deep Hole Drill Cycle Yes Standard
G74 09 Counter Hand Tapping Cycle Yes Standard
G76 09 Bore, Dwell, Orient, Off Center, Retract Cycle Yes Standard
G80* 09 Canned Cycle Cancel Yes Standard
G81 09 Drill Cycle Yes Standard
G82 09 Drill Cycle with Dwell Yes Standard
G83 09 Peck Drill Cycle Yes Standard
G84 09 Tap Cycle Yes Standard
G85 09 Ream Cycle Yes Standard
G86 09 Bore, Stop Spindle, Retract Cycle Yes Standard
G87 09 Back Bore Cycle Yes Standard
G88 09 Bore, Manual Cycle Yes Standard
G89 09 Ream Dwell Cycle Yes Standard
G98* 10 Canned Cycle Initial Level Return Yes Standard
G99 10 Canned Cycle R Point Level Return Yes Standard
G50 11 Scaling Cancel Yes Option
G51 11 Scaling Yes Option
G66 12 Modal Macro Call A - After Move Yes Standard
G66.1 12 Modal Macro Call B - Each Block Yes Standard
G67* 12 Modal Macro Call A/B Cancel Yes Standard
G96 13 Constant Surface Speed Yes Option
G97* 13 Direct Revolutions Per Minute Yes Standard
G54* 14 Work Coordinate System 1 Selection Yes Standard
G54.1 14 Additional Work Coordinate Systems Yes Standard
G55 14 Work Coordinate System 2 Selection Yes Standard
G56 14 Work Coordinate System 3 Selection Yes Standard
G57 14 Work Coordinate System 4 Selection Yes Standard
G58 14 Work Coordinate System 5 Selection Yes Standard
G59 14 Work Coordinate System 6 Selection Yes Standard
G61 15 Exact Stop Mode Yes Standard
G62 15 Automatic Corner Override Yes Option
G63 15 Tapping Mode Yes Standard
G64* 15 Cutting Mode Yes Standard
G68 16 Coordinate System Rotation (2D) Yes Standard
G68 16 Coordinate System Rotation (3D) Yes Option
G68.2 16 Tilted Working Plane Command Yes Option
G68.3 16 Tilted Working Plane Command by Tool Axis Direction Yes Option
G69* 16 Coordinate System Rotation Cancel Yes Standard
G15 17 Polar Coordinate Command Cancel Yes Option
G16 17 Polar Coordinate Command Yes Option
G50.1* 22 Programmable Mirror Image Cancel Yes Option
G51.1 22 Programmable Mirror Image Yes Option

PROGRAMMING CODES 69.30 - 15


Code Group No. Description Modal Standard/Option
G54.2 23 Rotary Table Dynamic Fixture Offsets Yes Option
G12.1 26 Polar Coordinate Interpolation Yes Option
G112 26 Polar Coordinate Interpolation Yes Option
G13.1* 26 Polar Coordinate Interpolation Cancel Yes Option
G113* 26 Polar Coordinate Interpolation Cancel Yes Option
G54.4 33 Workpiece Setting Error Compensation Yes Option

NUMERICALLY SORTED LIST


Code Group No. Description Modal Standard/Option
G00 01 Linear Interpolation Positioning at Rapid Yes Standard
G01* 01 Linear Interpolation at Feed Yes Standard
G02 01 Circular Interpolation - CW Arc Yes Standard
G03 01 Circular Interpolation - CCW Arc Yes Standard
G04 00 Dwell No Standard
G05.1 00 High Speed Machining Yes Option
G07.1 00 Cylindrical Interpolation Yes Option
G09 00 Deceleration No Standard
G10 00 Programmable Data Input Some Standard
G10.6 00 Tool Retract and Return Yes Standard
G11 00 Programmable Data Input Cancel Yes Standard
G12.1 26 Polar Coordinate Interpolation Yes Option
G13.1* 26 Polar Coordinate Interpolation Cancel Yes Option
G15 17 Polar Coordinate Command Cancel Yes Option
G16 17 Polar Coordinate Command Yes Option
G17* 02 XY Plane Select Yes Standard
G18 02 ZX Plane Select Yes Standard
G19 02 YZ Plane Select Yes Standard
G20 06 Inch Programming Format Yes Standard
G21 06 Metric Programming Format Yes Standard
G22 04 Stored Stroke Check On Yes Standard
G23 04 Stored Stroke Check Off Yes Standard
G27 00 Reference Point Return Check No Standard
G28 00 Reference Point Return No Standard
G29 00 Return from Reference Point No Standard
nd rd th
G30 00 2 , 3 & 4 Reference Point Return No Standard
G30.1 00 Floating Reference Point Return No Option
G31 00 Skip Function No Option
G33 01 Threading Constant Lead Yes Option
G38 00 Cutter Radius Compensation - Vector Hold No Standard
G39 00 Cutter Radius Compensation - Corner Arc No Standard
G40* 07 Cutter Radius Compensation - Cancel Yes Standard
G41 07 Cutter Radius Compensation - Left Yes Standard
G41.2 07 Cutter Radius Compensation - Left - 5-axis Yes Option
G42 07 Cutter Radius Compensation - Right Yes Standard
G42.2 07 Cutter Radius Compensation - Right - 5-axis Yes Option
G43 08 Tool Length Compensation Plus Yes Standard
G43.4 08 Tool Center Point Control - 5-axis Yes Option
G44 08 Tool Length Compensation Minus Yes Standard
G49 08 Tool Length Compensation Cancel Yes Standard
G50 11 Scaling Cancel Yes Option
G50.1* 22 Programmable Mirror Image Cancel Yes Option
G51 11 Scaling Yes Option
G51.1 22 Programmable Mirror Image Yes Option
G52 00 Local Coordinate System Shift Yes Standard
G53 00 Machine Coordinate System No Standard
G53 00 Stop Look Ahead No Standard
G53.1 00 Tool Axis Direction Control Yes Option
G54* 14 Work Coordinate System 1 Selection Yes Standard

69.30 - 16 PROGRAMMING CODES


Code Group No. Description Modal Standard/Option
G54.1 14 Additional Work Coordinate Systems Yes Standard
G54.2 23 Rotary Table Dynamic Fixture Offsets Yes Option
G54.4 33 Workpiece Setting Error Compensation Yes Option
G55 14 Work Coordinate System 2 Selection Yes Standard
G56 14 Work Coordinate System 3 Selection Yes Standard
G57 14 Work Coordinate System 4 Selection Yes Standard
G58 14 Work Coordinate System 5 Selection Yes Standard
G58 14 Work Coordinate System 5 Selection Yes Standard
G59 14 Work Coordinate System 6 Selection Yes Standard
G60 00 or 01 Single Direction Positioning Yes Option
G61 15 Exact Stop Mode Yes Standard
G62 15 Automatic Corner Override Yes Option
G63 15 Tapping Mode Yes Standard
G64* 15 Cutting Mode Yes Standard
G65 00 Macro Call No Standard
G66 12 Modal Macro Call A - After Move Yes Standard
G66.1 12 Modal Macro Call B - Each Block Yes Standard
G67* 12 Modal Macro Call A/B Cancel Yes Standard
G68 16 Coordinate System Rotation (2D) Yes Standard
G68 16 Coordinate System Rotation (3D) Yes Option
G68.2 16 Tilted Working Plane Yes Option
G68.3 16 Tilted Working Plane Command by Tool Axis Direction Yes Option
G69* 16 Coordinate System Rotation Cancel Yes Standard
G73 09 Deep Hole Drill Cycle Yes Standard
G74 09 Counter Hand Tapping Cycle Yes Standard
G76 09 Bore, Dwell, Orient, Off Center, Retract Cycle Yes Standard
G80* 09 Canned Cycle Cancel Yes Standard
G81 09 Drill Cycle Yes Standard
G82 09 Drill Cycle with Dwell Yes Standard
G83 09 Peck Drill Cycle Yes Standard
G84 09 Tap Cycle Yes Standard
G85 09 Ream Cycle Yes Standard
G86 09 Bore, Stop Spindle, Retract Cycle Yes Standard
G87 09 Back Bore Cycle Yes Standard
G88 09 Bore, Manual Cycle Yes Standard
G89 09 Ream Dwell Cycle Yes Standard
G90* 03 Absolute Dimension Input Yes Standard
G91 03 Incremental Dimension Input Yes Standard
G92 00 Preload Register No Standard
G92 00 Maximum Spindle Speed Yes Option
G92.1 00 Workpiece coordinate System Preset Yes Standard
G93 05 Inverse Time Feedrate (Velocity/Distance) Yes Option
G94* 05 Inches (Millimeters) Per Minute Yes Standard
G95 05 Inches (Millimeters) Per Revolution Yes Standard
G96 13 Constant Surface Speed Yes Option
G97* 13 Direct Revolutions Per Minute Yes Standard
G98* 10 Canned Cycle Initial Level Return Yes Standard
G99 10 Canned Cycle R Point Level Return Yes Standard
G107 00 Cylindrical Interpolation Yes Option
G112 26 Polar Coordinate Interpolation Yes Option
G113 26 Polar Coordinate Interpolation Cancel Yes Option

PROGRAMMING CODES 69.30 - 17


G00 - LINEAR INTERPOLATION-POSITIONING AT RAPID TRAVERSE

REQUIRED: G00 MODAL

Axis and Coordinate - Absolute mode

Axis, Direction and Distance - Incremental mode

FUNCTION: G00 provides a non-cutting linear positioning mode for a single axis or multiple axes to
simultaneously position to the commanded endpoint at the machine rapid traverse rate.

FACTS: G00 causes an automatic acceleration to traverse rate and a corresponding deceleration (G09) to
the commanded endpoint.

The machine operator may vary the rapid traverse velocity via the FEED % OVERRIDE control.

When multiple axes are positioned using G00, the resultant vector path velocity will be greater than
the single axis rapid traverse rate with each axis being limited to no more than the rapid traverse
rate.

PARAMETER: The rapid traverse feedrate is set in parameter #1420. There can be different rapid traverse
feedrates set for each axes. Do not exceed the maximum traverse rate designed for each axes, or
severe damage could occur to the machine.

EXAMPLES:

N100 G00 X10.0 Y1.0;

This is a typical example of using G00 with multiple axes from one location to another.

G01 - LINEAR INTERPOLATION AT FEED

REQUIRED: G01 MODAL

Axis and Coordinate - Absolute mode

Axis, Direction and Distance - Incremental mode

FUNCTION: G01 is used to command straight line motion for a single axis or multiple axes at the programmed
feedrate to the endpoint with all axes arriving simultaneously.
FACTS: A single axis command will cause motion parallel to the machine axis commanded. The feedrate of
the rotary axis is commanded in degrees / minute.

A multiple axes command will yield a sloped vectorial path. Each axis will start, move, and arrive at
the same time.

The velocity of the axis (axes) will be controlled by the programmed feedrate, and if allowed, be
dependent on the position of the FEED % OVERRIDE control.

Deceleration at the endpoint is not automatically provided but may be programmed with a G09.

Corner rounding will occur when G09 is not used due to servo lag. See G09 for more details.

G01 mode is normally the default state at power on. The default G00/G01 is selected through the
parameter listed below.

PARAMETER: Parameter #3402 bit 0, is used to set the power up default: 0 = G00 / 1 = G01.

69.30 - 18 PROGRAMMING CODES


G02/G03 - CIRCULAR INTERPOLATION-CW/CCW

REQUIRED: G02/G03 MODAL

Axis and Coordinate -Absolute mode

Axis, Direction and Distance - Incremental mode

Arc Center Offsets

FUNCTION: G02/G03 allow the programming of two axes causing coordinated motion which will move the tool
along a circular path at the programmed feedrate.

FACTS: Arc direction conforms to EIA standards and is determined by viewing from the positive
perpendicular axis.

All facts concerning velocity and deceleration apply here as they do for G01.

Full 360 degree arcs may be programmed with one line of data.

The control will not attempt to execute a mathematically incorrect arc. A master stop and fault will
occur.

EXAMPLES: For additional information on circular interpolation, refer to the CIRCULAR / HELICAL
INTERPOLATION section and the Fanuc User’s manual.

G04 - DWELL

REQUIRED: G04, P or X Address, Time or Revolutions NON-MODAL

FUNCTION: G04 provides a means of temporarily interrupting axes motion for the specified time or number of
spindle revolutions.

FACTS: The P or X address is used to program the duration of dwell.

Whether the dwell is counted out in time or revolutions is dependent on the active G-code.

• G93 and G94 = Time in Seconds

• G95 = Spindle Revolutions

Dwell will be counted out after all axes have stopped.

The range of duration for X is from .1 to 999.9.


The range of duration for P is from .001 to 999.999 (P in milliseconds).

The feedrate, active prior to the dwell, will be reinstated following the dwell.

G04 can be commanded in G94 or G95 modes; however this can be changed by the parameter
listed below.

PARAMETER: Parameter #3405 bit 1 is used to set the default and is normally set to 1. If dwell is desired to
always be performed by time, irrespective of G94 and G95, the bit is set to 0. If the dwell is to be
revolution (G95) or time (G94), set bit to 1.

EXAMPLES:

N100 G94 G04 X4; Will cause a 4 second dwell


N110 G95 G04 X4; Will cause a 4 revolution dwell
N120 G94 G04 P4000; Will cause a 4 second dwell
N130 G95 G04 P4000; Will cause a 4 revolution dwell

PROGRAMMING CODES 69.30 - 19


G05.1 - HIGH SPEED MACHINING AICC (OPTION)
REQUIRED: G5.1 Qp Raa MODAL
FUNCTION: The AICC I and AICC II option provides for High Speed / High Precision machining. This function
enables suppression of servo delays that occur at high feedrates. Look-ahead acceleration /
deceleration before interpolation with AICC I is enabled for up to 30 blocks. AICC II is enabled for
up to 200 blocks.
FACTS: AICC is activated by programming a G5.1 Q1 R# (# = 1 - 10). The R variable is the level that the
customer must choose, R1 being highest priority to velocity to R10 being highest priority to
precision. Any level between 1 and 10 can be programmed depending on the part and the
requirements.

Programming a G5.1 Q0 turns OFF the AICC option.

All NC parameters have been adjusted by MAG at our facility to maximize machine velocity and
accuracy within our performance parameters and specifications. The customer should not need to
adjust any velocity or position accuracy parameters.

The programmer must turn OFF the AICC option before the next R level can be programmed.

N100 G5.1 Q1 R1;


N110 G1 F100 X500;
N120 G5.1 Q0;
N130 G5.1 Q1 R5;
N140 G1 F100 Y400;
N150 G1 F100 X-300;
N160 G5.1 Q0;

AICC will flash in the lower right corner of the SYSTEM page when the high speed machining
option is activated.

The AICC option MUST be turned OFF after use with a G5.1 Q0.

The current level of AICC can be viewed on the following screen (use PAGE UP and DOWN to
change the axis):

OFFSET SETING pushbutton -> SETING softkey -> PR-LEV softkey

The following G-codes must be active before turning ON AICC:


G-code(s) Description
G00 Point to Point Positioning
G01 Linear Interpolation
G02 Circular Interpolation (CW)
G03 Circular Interpolation (CCW)
G13.1 Polar Coordinate Interpolation Cancel Mode
G15 Polar Coordinate Command Cancel
G40 Cutter Radius Compensation Cancel
G49 Cutter Length Compensation Cancel
G50 Scaling Cancel
G50.1 Programmable Mirror Image Cancel
G64 Cutting Mode
G67 Macro Mode Call A/B Cancel
G69 Coordinate System Rotation Cancel
G80 Canned Cycle Cancel
G94 Inches (MM) per Minute Feedrate
G97 Direct RPM

If one of these conditions is not satisfied, a PS5111 alarm occurs.

69.30 - 20 PROGRAMMING CODES


G07.1 / G107 - CYLINDRICAL INTERPOLATION (OPTION)

REQUIRED: G07.1 Bpppp.pppp (INCH) Bppppp.ppp (METRIC) MODAL

G107 Bpppp.pppp (INCH) Bppppp.ppp (METRIC)

FUNCTION: The Cylindrical Interpolation mode allows the programmer to program the B-rotary axis as a linear
axis which simplifies the programming of contours around the outside diameter of the workpiece.
This would involve simultaneous movements of the B-rotary axis and the Y-axis.

FACTS: G07.1 is used to activate the Cylindrical Interpolation mode or to cancel the Cylindrical Interpolation
mode.

Cylindrical interpolation cannot be specified in the positioning mode (G00). Linear Interpolation
(G01) mode must be active prior to activating cylindrical interpolation mode.

A plane select must be defined for the linear and rotary axis pair.

Rapid traverse positioning is not allowed with cylindrical interpolation mode active.

Only one rotary axis can be set for cylindrical interpolation. Two or more rotary axes cannot be
specified with G07.1.

In the cylindrical interpolation mode, canned cycles G73 through G89 cannot be specified.

G52 (local work shift), G54 through G59 (work shift), G92 (part reference) cannot be performed in
the cylindrical interpolation mode.

Tool offsets must be activated before entering the G07.1 mode. No offset changes are allowed
while in G07.1 mode.

To activate cylindrical interpolation, G07.1 and a B-code are commanded on the same block
without any other data. The B is the radius from the center of the table to the surface at which all
calculations are based.

Before enabling the cylindrical interpolation mode, it is recommended to position the B-axis to zero
and activate the correct plane select (G17, G18, or G19).

Cutter compensation must be started and canceled while in the cylindrical interpolation mode.

To deactivate cylindrical interpolation the G07.1 B0 are commanded on the same block without any
other data.

Before any positioning moves can be performed, cylindrical interpolation must be canceled. If an
attempt is made to program these moves while cylindrical interpolation is active an alarm will be
generated.

EXAMPLES: For further discussion on cylindrical interpolation and examples involving G7.1, see the
CYLINDRICAL INTERPOLATION and ROTARY TABLE PROGRAMMING EXAMPLES sections.

PROGRAMMING CODES 69.30 - 21


G09 - DECELERATION

REQUIRED: G09 NON-MODAL

FUNCTION: G09 is used to decelerate all axis motion to zero velocity at the end of the move.

FACTS: Machine motion will lag the actual commanded motion by some amount during contouring (G01,
G02, G03, etc.). This lag is sometimes referred to as following error. When G09 is not active, the
lag can cause an apparent corner rounding effect when the tool path is other than tangential from
line to line. This lag is a function of axis velocity and is exponential in nature.

Therefore, on non-tangential contouring moves, if the exact tool radius is desired, G09 will be
required. This causes the axis to decelerate to zero velocity momentarily before beginning the next
contouring move. Most of the time, there turns out to be no real need for G09, due to its negligible
effect at normal finishing feedrates.

This command is the same as G61, except that G09 is not modal.

G09 is entered automatically during G00 moves.

The deceleration should not be used as a dwell; the actual time that the axis (axes) is stopped
takes only milliseconds.

If a relatively smooth continuous tool path is to be followed, G09 will not be necessary.

69.30 - 22 PROGRAMMING CODES


G10 - PROGRAMMABLE DATA INPUT

REQUIRED: G10 L_ P_ X_ Y_ Z_ B_ W_ W1=_ W2=_R_ MODAL / NON-MODAL

FUNCTION: G10 provides the programmer with the ability to enter data into Tool Offset Memory, Work
Coordinate System.

This command can also be used to input offset values one at a time from a program by specifying
this command successively instead of inputting these values one at a time from MDI keyboard.

FACTS: G10 is modal when used for tool management and parameter load.

G10 is non-modal when used to load tool offset and work coordinate shifts.

In the case were G10 is modal, G11 is used to cancel G10.

When the G10 is commanded in absolute mode (G90), the command offset amount becomes the
new tool offset.

When the G10 is commanded in incremental mode (G91), the current offset amount plus the
commanded offset amount is the new tool offset amount.

L2 Work Coordinate P0 = External


L2 Work Coordinate P1 - P6 = G54 - G59
L10 Geometry Offset H-Code P1 - Up = Offset No.
L11 Wear Offset H-Code P1 - Up = Offset No.
L12 Geometry Offset D-Code P1 - Up = Offset No.
L13 Wear Offset D-Code P1 - Up = Offset No.
L20 Additional Work Coordinate P1 - P48 = G54.1
L21 Dynamic Fixture Offsets P1 - P8 = G54.2
L50 Pitch Error N1 - Up = Parameter No. (Modal)
L52 Parameter N1 - Up = Parameter No. (Modal)
L75 Tool Management Data P0 - Up = Data No. (Modal)
L76 Tool Management Data P0 - Up = Pot No. (Modal)
L77 Tool Management Data P0 - Up = Pot No. (Modal)

EXAMPLES: The following are examples of loading / modifying work offsets.


N200 G90; Absolute mode
N210 G10 L2 P1 X12.5 Y2.5 W10; Load X12.5 Y2.5 W10 values into the G54 register
N220 G10 L20 P10 W10; Load W10 value into the G54.1 P10 register
N230 G91 G10 L2 P1 W-1; Add -1.0 to the W offset in the G54 register

The following is an example of loading G30, reference point return values into parameter #1241

N300 G10 L52 Turn on programmable data input for parameter input
N310 N1241 P1 R200000 Load axis 1 value of 20.0”
N320 N1241 P2 R300000 Load axis 2 value of 20.0”
N330 N1241 P3 R40000 Load axis 3 value of 4.0”
N340 G11 Cancel programmable data input

PROGRAMMING CODES 69.30 - 23


G10.6 - TOOL RETRACT AND RETURN

REQUIRED: G10.6 X_ Y_ Z_ W_ W1=_ W2=_ MODAL

FUNCTION: This feature allows the tool to be automatically retracted during program execution. After executing
the Tool Retract, the control will remember up to ten manual moves. The tool can then be
automatically returned to the retract point in the reverse order and then returned to the interruption
point to continue automatic operation. The Tool Retract / Return moves are done at the Dry Run
feedrate.

When the TOOL RETRACT / RETURN pushbutton is pressed, the tool will retract from the
workpiece to the programmed amount in the G10.6 command line. The Tool Retract / Return
moves are done at the Dry Run feedrate.
Note: The Tool Retract and Return function can also be initiated by the optional Adaptive
Horsepower Monitor (i Adapt) feature. See the Fanuc i Adapt documentation
supplied with your machine.

FACTS: The retract amount is saved as modal data until it is changed or canceled.

The G10.6 command is canceled by commanding G10.6 with no axis data (G10.6).

The G10.6 command is only used when the control is in memory mode.

If G10.6 is not active (G10.6 with no axis command), pressing the TOOL RETRACT / RETURN
pushbutton will cause a Feed Hold. At this time the manual mode, (JOG / MPG / INCR) can be
selected and up to ten moves will be remembered. To return to the point of interruption, select
MEMORY mode and press the TOOL RETRACT / RETURN pushbutton. This will cause the tool to
return to the point of interruption by moving the axes in the reverse order. To continue automatic
operation, press CYCLE START.

If G10.6 is active, (G10.6 programmed with an axis command), pressing the TOOL RETRACT /
RETURN pushbutton will cause the programmed axes to move to the commanded location and
Feed Hold. At this time the manual mode, (JOG / MPG / INCR) can be selected and up to ten
moves will be remembered. To return to the retract point, select MEMORY mode and press the
TOOL RETRACT / RETURN pushbutton. This will cause the tool to return to the retract point by
moving the axes in the reverse order. To return to the point of interruption and continue automatic
operation, press CYCLE START.

When the TOOL RETRACT / RETURN pushbutton is pressed while executing a canned cycle (not
including G74/G84 Rigid Tapping cycles), the cycle will retract as if the cycle was completed and
FEED HOLD. Pressing CYCLE START will repeat the cycle at the same location. G10.6 is
ignored during the execution of canned cycles.

When the TOOL RETRACT / RETURN pushbutton is pressed while executing a rigid tapping cycle
(G74/G84), the spindle will reverse and the cycle will retract as if the cycle was completed and
Reset. Returning to the cycle is not possible. G10.6 is ignored during the execution of canned
cycles.

PARAMETER: The feedrate at which the tool retracts and returns is set in the Parameter #1410; this is the Dry
Run feedrate.

EXAMPLES:

N100 G10.6 G90 W1; This would move the tool tip to the absolute position of W1
N110 G10.6 G91 Z1; This would move the tool an incremental amount of Z1
N120 G10.6; This will cancel any programmed retract / return

69.30 - 24 PROGRAMMING CODES


G11 - PROGRAMMABLE DATA INPUT CANCEL

REQUIRED: G11 MODAL

FUNCTION: This code is used to cancel Programmable Data Input G10 when used for any modal data input.

This command is not required when loading tool offset or work shifts, because G10 is not modal
when used for those functions.

FACTS: The G11 code must be programmed on a line by itself.

G12.1 / G112- POLAR COORDINATE INTERPOLATION (OPTION)

REQUIRED: G12.1 or G112 MODAL

FUNCTION: The Polar Interpolation Mode allows the programmer to program a rotary axis as a linear axis. This
function would typically be used with a right angle attachment and machining of contours on the top
of a part. This would involve simultaneous movements of the B and one of the W-axes (W, W1 or
W2).

FACTS: The G12.1 code must be programmed on a line by itself.

When the control reads this code, it assumes that the rotary axis is at the zero position regardless
of where the programmer previously positioned the rotary axis.

All feedrates are programmed in IPM (G94) mode when polar interpolation is active.

EXAMPLES: For additional information on Polar Interpolation see the Fanuc Programming manuals.

G13.1 / G113 - POLAR COORDINATE INTERPOLATION CANCEL (OPTION)

REQUIRED: G13.1 or G113 MODAL

FUNCTION: Cancel G12.1 Polar Interpolation.

FACTS: The G13.1 code must be programmed on a line by itself.

EXAMPLES: For additional information on Polar Interpolation see the Fanuc Programming manuals.

G15 - POLAR COORDINATE COMMAND CANCEL (OPTION)

REQUIRED: G15 MODAL

FUNCTION: This code is used to cancel G16 and return to normal programming mode.

PROGRAMMING CODES 69.30 - 25


G16 - POLAR COORDINATE COMMAND ON (OPTION)

REQUIRED: G16 MODAL

FUNCTION: This code is used to select the polar coordinate command system where the end point is
programmed with a radius and an angle.

FACTS: The plane select must be set before going in the polar coordinate system.

The command radius is the first axis of the selected plane, and angle is the second axis.

The zero point for the coordinate system becomes the center point for the polar coordinate
commands. The local work shift (G52) command could be used to change the part zero points if
desired. Y
Both the radius and the angle can be specified in
either absolute or incremental commands (G90
or G91).
150°
The plus direction of the angle is
counterclockwise of the selected plane first axis
plus direction, and the minus direction is
clockwise. 10 30°

The following commands are not regarded as X


polar coordinate commands even if specified
with an axis address in the G16 mode: G04,
G10, G22, G51, G52, G53, G68 and G92.

EXAMPLES: When the X and Y plane is selected, command


radius with the X letter address and the angle
with the Y letter address. 270°

PROGRAM G90: Both radius and angle absolute.

N90 G52 X20 Y5; Set center point origin for polar coordinate
N100 G90 G16; Absolute mode, activate polar coordinate command
N110 G81 X10 Y30 Z-3.5 R.5 F.018; Drilling cycle, position X to 8.66 and Y to 5.00, rapid Z to .5,
drill to Z-3.5 at .018 IPR, retract to clearance plane
N120 Y150; Position to X-8.66 and Y5.00 and drill
N130 Y270; Position to X0 and Y10.00 and drill
N140 G80 G15; Cancel drill cycle & polar coordinate command
PROGRAM G91: Radius is absolute and the angle incremental.

N190 G52 X20 Y5; Set center point origin for polar coordinate
N200 G90 G16; Absolute mode, activate polar coordinate command
N110 G81 X10 Y30 Z-3.5 R.5 F.018; Drilling cycle, position X to 8.66 and Y to 5.00, rapid Z to .5,
drill to Z-3.5 at .018 IPR, retract to clearance plane
N220 G91 Y120; Increment angle 120 - position to X-8.66 and Y5.00 and drill
N230 Y120; Increment angle 120 - position to X0 0 and Y10.00 and drill
N240 G80 G90 G15; Cancel drill cycle & polar coordinate command

69.30 - 26 PROGRAMMING CODES


G17 - XY PLANE SELECT

REQUIRED: G17 MODAL

FUNCTION: G17 plane select (XY Plane) is used to specify where two axis circular interpolation and cutter
radius compensation is to be applied. G17 also defines the drilling axis when using canned cycles.

FACTS: The control will assume G17 (XY Plane) at power on. G17 is the default.

G17 specifies only X and Y can be used for circular interpolation.

G17 specifies the cutter radius compensation be applied in the X and Y-axes.

G17 specifies the Z or W-axis as the drilling axis (Perpendicular to X & Y).

G18 - ZX PLANE SELECT

REQUIRED: G18 MODAL

FUNCTION: G18 plane select (ZX Plane or WX Plane) is used to specify where two-axis circular interpolation
and cutter radius compensation is to be applied. G18 also defines the drilling axis when using
canned cycles.

The G18 is programmed along with the necessary associated commands for contouring a circle, or
an arc of a circle, in the ZX Plane or WX Plane.

FACTS: When the G18 is specified on the same block as the Z and X letter address, the Z and X can be
used for circular interpolation.

When the G18 is specified on the same block as the W and X letter address, the W and X can be
used for circular interpolation.

The control will assume G17 (XY Plane) at power on.

G18 specifies the cutter radius compensation be applied in the Z and X-axes or W and X-axes

G18 specifies the Y-axis as the drilling axis for the ZX Plane or WX Plane.

EXAMPLES:

N100 G18 G91 W0 X0; Define W & X-axes as the G18 plane axes
N110 G90;

PROGRAMMING CODES 69.30 - 27


G19 - YZ PLANE SELECT

REQUIRED: G19 MODAL

FUNCTION: G19 plane select (YZ Plane or YW) Plane is used to specify where two axis circular interpolation
and cutter radius compensation is to be applied. G19 also defines the drilling axis when using
canned cycles.

The G19 is programmed along with the necessary associated commands for contouring a circle, or
an arc of a circle, in the (YZ Plane) or (YW Plane).

FACTS: When the G19 is specified on the same block as the Z and Y letter address, the Z and Y can be
used for circular interpolation. This is the default.

When the G19 is specified on the same block as the W and Y letter address, the W and Y can be
used for circular interpolation.

The control will assume G17 (XY Plane) at power on.

G19 specifies the cutter radius compensation be applied in the Z and Y-axes or W and Y-axes.

G19 specifies the X-axis as the drilling axis for the YZ Plane or YW Plane.

EXAMPLES:

N100 G19 G91 Y0 W0; Define Y & W-axes as the G19 plane axes
N110 G90;

N100 G19 G91 V0 W0; Define V & W-axes as the G19 plane axes - contouring head
N110 G90;

G20 - INCH PROGRAMMING FORMAT


G21 - METRIC PROGRAMMING FORMAT

REQUIRED: G20 or G21 MODAL

FUNCTION: G20 allows the programmer to enter inch units for all programmable data. G21 allows the
programmer to enter metric units for all programmable data.

FACTS: G20/G21 code must be specified in an independent block before setting the coordinate system at
the beginning of the program.

The default programming format is assumed to be the same as before power off. For example: If
G21 was last programmed before power was turned off, then G21 will be active when power is
resumed.

The axes must be referenced after switching the inch / metric mode. This can be done by
restarting the control.

The following values are changed after inch / metric conversion:

• Feedrate commanded by F-code

• Positional command

• Workpiece origin offset values

• Tool compensation values

• Unit of scale for manual pulse generator

• Movement distance in incremental feed

• Some parameters

G20 and G21 must not be interchanged within the program.

69.30 - 28 PROGRAMMING CODES


G22 - STORED STROKE CHECK ON

REQUIRED: G22 X_ Y_ Z_ I_ J_ K_ MODAL

FUNCTION: Stored stroke check 2.

• The inside area is specified by parameters as the forbidden area.

Stored stroke check 3.

• The designation of the forbidden outside area can be specified by parameters or program.

X,Y,Z

I,J,K

FACTS: G22 must be specified on a single block with only codes pertaining to the stored stroke check
function, i.e. X, Y, Z, I, J, K.

I, J, and K values must always be less than X, Y, and Z.

Values by parameters or by X, Y, Z, I, J, K are set according to the machine coordinate system


where the reference position is assumed to be 0. The values programmed in are converted to the
least command input form and placed in their respective parameters.

A G22 command is used to inhibit the tool from entering the forbidden area. The G23 command is
used to allow the tool to enter the forbidden area.

When a tool enters a forbidden area and an alarm is generated, the tool must be removed in the
same direction that it entered the forbidden area.

Stored stroke check before move is setup up with a parameter setting. Before starting a move the
end point is checked according to the present position and the commanded position. If the tool is
going to invade the forbidden area, the machine is stopped right after the move starts and an alarm
is displayed. Refer to parameter #1301 bit 7. If bit 1=0 stored check before move is not performed.
If bit1=1 stored check before move is performed.

G23 - STORED STROKE CHECK OFF

REQUIRED: G23 MODAL

FUNCTION: This code is used to cancel Stored Stroke Check 2 and 3.

FACTS: G23 must be specified on a single block by itself. If axis commands are programmed on this block
the axes will not move.

PROGRAMMING CODES 69.30 - 29


G27 - REFERENCE POINT RETURN CHECK

REQUIRED: G27 X_ Y_ Z_ B_ W_ W1=_ W2=_ NON-MODAL

FUNCTION: This code is used to confirm whether or not the tool has reached the reference point.

This command positions the tool at rapid traverse rate to the machine coordinate specified. If the
location reached by the G27 command is the reference position, the next block is executed.
However, if the position reached by the tool is not the reference position, an alarm is displayed.

FACTS: The axes locations must be the same as the G28 end point. To find the machine reference location
used by the G27 command, use the G28 command and record each of the machine coordinate
axis position.

PARAMETER: The Reference Point return positions are defined as metric machine coordinate values in parameter
#1240.

G28 - REFERENCE POINT RETURN

REQUIRED: G28 X_ Y_ Z_ B_ W_ W1=_ W2=_ NON-MODAL

FUNCTION: The G28 block is used to position the tool to the intermediate point of all specified axes at the rapid
traverse rate, and then move the tool to the reference point at the rapid traverse rate.

FACTS: The G28 moves are done at the Rapid Traverse Feedrate.

If tool compensation is active during the G28 move:

• Tool compensation is active at the intermediate point.

• Tool compensation is cancelled at the reference point position. However, the previously active
G, D and H-codes remain displayed.

In single block mode, the axes will cycle out at the intermediate position and at the reference point.

The axes move can be commanded in absolute (G90) mode or incremental (G91) mode.

PARAMETER: The Reference Point return positions are defined as metric machine coordinate values in parameter
#1240. Refer to the INTRODUCTION section for typical position information.

EXAMPLES:

N10 G28 G91 W0 Z0; Position the W and Z-axes directly to the reference point
N20 G90 G28 W22 Z1; Position the W and Z-axes to the intermediate point; W22 Z1 in the absolute part
coordinate system, then to the reference point
N20 G90 G28 W1=22 Z1; Position the W1 and Z-axes to the intermediate point; W1=22 Z1 in the absolute
part coordinate system, then to the reference point

The machine reference positions are normally as follows:

X-axis Center of table

Y-axis Top of table

Z-axis Retract position

W-axis Retract position

For further information and examples, refer to the REFERENCE OFFSETS sections.

69.30 - 30 PROGRAMMING CODES


G29 - RETURN FROM REFERENCE POINT

REQUIRED: G29 X_ Y_ Z_ B_ W_ W1=_ W2=_ NON-MODAL

FUNCTION: This command is used to move the tool to the specified position through an intermediate point for
the specified axis. This command is used following a G28 or G30 command.

FACTS: In an incremental command, the incremental distance from the intermediate point must be
specified.

The cutter radius compensation and tool offset will be canceled when executing this command and
must be reinstated if required. However the previously active G, D and H-codes remain displayed.

EXAMPLES:

N100 G28 X1 Y1 Z1;


N150 G29 X2 Y2 Z2; Machine Home
Position
The sketch to the right illustrates
the use of the G28 and G29
commands used in conjunction
with each other. In order for the X1 Y1 Z1
G29 command to function
properly, the G29 command must
be in the next block following the
G28 command block.
X2 Y2 Z2
Start

G30 - 2ND, 3RD & 4TH REFERENCE POINT RETURN

REQUIRED: G30 P_ X_ Y_ Z_ W_ B_ NON-MODAL

FUNCTION: The G30 block is used to position the specified axes to a programmed intermediate point and then
move to a stored 2nd, 3rd, or 4th reference point. This G30 command is the same as a G28
command except the tool moves to the 2nd, 3rd, or 4th reference positions determine by the P
address where P is equal to 2, 3 or 4.

FACTS: The G30 moves are done at the Rapid Traverse Feedrate.

If tool compensation is active during the G30 move:

• Tool compensation is active at the intermediate point.

• Tool compensation is cancelled at the reference point position. However, the previously active
G, D and H-codes remain displayed.

In single block mode, the axes will cycle out at the intermediate position and at the reference point.

The 2nd, 3rd and 4th reference positions are set by parameters 1241 - 1243.

The axes move can be commanded in either absolute (G90) mode, incremental (G91) mode or a
combination of both.

EXAMPLES:

N10 G30 G91 P2 W0 Z0; Position the W and Z-axes directly to the 2nd reference point defined in system
parameter #1241
N20 G30 G90 P3 W22 Z1; Position the W & Z-axes to the intermediate point of W22 Z1 in the absolute part
coordinate system, then to the 3rd reference point defined in system parameter
#1242

PROGRAMMING CODES 69.30 - 31


G30.1 - FLOATING REFERENCE POINT RETURN (OPTION)

REQUIRED: G30.1 X_ Y_ Z_ B_ W_ W1=_ W2=_ NON-MODAL

FUNCTION: A floating reference point is a position on the machine tool, and serves as a reference point for
machine tool operation.

FACTS: The advantages of using G30.1 is that it is easy to program clear positions in cutting cycles and
these positions can be changed by the operator.

The floating reference point is not a fix location and can be moved as required by the operator.
This floating reference point becomes a machine coordinate positioned memorized in the control
when the operator presses the softkey SETFRP on the current position display screen.

This function is available after power is turned on and the machine is referenced. The floating
reference point is not lost when the control is powered down.

The tool can move through a commanded point by programming an X, Y, Z, W, W1= and/or W2=
axes command on the G30.1 line. The move can be performed in either absolute (G90) or
incremental (G91) modes.

All moves are performed at a rapid traverse feedrate.

The cutter radius compensation and tool offset will be canceled when executing this command and
must be reinstated if required. However, the previously active G, D and H-codes remain displayed.

G31 - SKIP FUNCTION (OPTION)

REQUIRED: G31 X_ Y_ Z_ B_ W_ W2=_ NON-MODAL

FUNCTION: This command is for tool and part probing.

Input of the skip signal during execution of this command interrupts the rest of the block and
executes the next block. This saves the current position when the trip signal is detected.

FACTS: G31 is a non-modal command, effective only in the block concerned.

EXAMPLES: Renishaw probing cycles are used for all probing and are explained in the Renishaw Probing
manual supplied with your machine.

69.30 - 32 PROGRAMMING CODES


G33 - THREADING-CONSTANT LEAD (OPTION)

REQUIRED: G33 MODAL

Axis and Coordinate - Absolute mode

Distance and Direction - Incremental mode

FUNCTION: G33 is used in conjunction with the optional NC Contouring Heads and provides a constant lead
thread cutting mode for single axis or double axes moves at the programmed thread lead to the
commanded endpoint.

FACTS: The threading block consists of the G33 command along with the end point and the thread lead.
The thread lead is the distance between threads and is programmed with the F-code. The thread
lead is normally programmed as feed per revolution (G95) but can also be programmed in the feed
per minute mode.

Feedrate and spindle speed overrides are locked at 100% during threading.

The feed hold function is ineffective while threading. If the FEED HOLD button is pressed during
threading, the tool will stop after a block not specifying threading is executed as if the SINGLE
BLOCK button were pushed.

When threading is executed in the single block status, the tool stops after execution of the first
block not specifying threading.

Constant surface speed control (G96) is not recommended while threading.

A movement block preceding the threading block must not specify chamfering or corner radius.

Thread cycle retract function is ineffective to G33.

EXAMPLES:

N130 G00 X0 Y0;


N140 G91 G19 V0 W0; Define V & W-axes for G19 plane
N150 G90 W.3;
N160 G97 G95 M03 S150;
N170 G00 V 4.97 W.277 M07; Thread cut position
N180 G33 W-2.125 F.125; Thread cut
N190 G00 V4.5; Retract from thread cut
N200 G00 W.3;

For additional information on threading, see the Fanuc User’s manual

G38 - CUTTER RADIUS COMPENSATION - VECTOR HOLD

REQUIRED: G38 NON-MODAL

FUNCTION: The G38 vector hold allows the programmer to hold the radius offset for the programmed path, but
cancels the look ahead for the intersection of the next block.

FACTS: G38 is used to activate a vector hold.

G38 can only be used while G00 or G01 modes are active.

EXAMPLES: For examples involving G38, see the TOOL OFFSETS section.

PROGRAMMING CODES 69.30 - 33


G39 - CUTTER RADIUS COMPENSATION - CORNER ARC

REQUIRED: G39 NON-MODAL

FUNCTION: Corner arc mode enables corners to be generated as a circular interpolation move by the amount
of the radius compensation at the corner. G41 or G42 must be specified before the G39 is
commanded so the arc direction is determined.

FACTS: The G39 command should not be used when taking rough cuts, because the feedrate around the
corner may exceed the maximum feedrate for the cutter.

EXAMPLES: For examples involving G39, see the TOOL OFFSETS section.

G40 - CUTTER RADIUS COMPENSATION - CANCEL

REQUIRED: G40 MODAL

FUNCTION: Is used to cancel cutter radius compensation left G41 and cutter radius compensation right G42.

FACTS: A ramp off block is used to turn off the cutter compensation feature. The ramp off block contains
the G40 command. At the beginning of the ramp off block compensation is in affect, at the end
point of the ramp off block, all of the compensation is removed.

Arc commands (G02, G03) are not allowed on the same line as the G40 or D00. An alarm is
generated and the tool stops.

EXAMPLES: For examples involving G40, see the TOOL OFFSETS section.

G41/G42 - CUTTER RADIUS COMPENSATION - LEFT, RIGHT

REQUIRED: G41/G42 MODAL

FUNCTION: G41/G42 provides cutter radius compensation left G41 and cutter radius compensation right G42
looking from the tool in the direction of travel.

FACTS: Cutter radius compensation amounts are stored as RADIUS values on the tool offset page.

Either plus (oversize) or minus (undersize) values may be used up to a maximum of ±9999.9999"
(999.9 mm).

G41/G42 values are applied prior to the feed move perpendicular to the programmed path.

Do not specify G41 while in the G41 mode. If you do, compensation is not the same as usual. The
same rule applies to G42; don't specify G42 while in the G42 mode.

EXAMPLES: For examples involving G41/G42, see the TOOL OFFSETS section.

G41.2/G42.2 - CUTTER RADIUS COMPENSATION FOR 5-AXIS MACHINING - LEFT, RIGHT (OPTION)

REQUIRED: G41.2/G42.2 MODAL

FUNCTION: G41.2/G42.2 provides cutter compensation for 5-axis machining. Cutter compensation left G41.2
and cutter radius compensation right G42.2 looking from the tool in the direction of travel.

FACTS: Cutter radius compensation amounts are stored as RADIUS values on the tool offset page.

Either plus (oversize) or minus (undersize) values may be used up to a maximum of ±9999.9999"
(999.9 mm).

G41.2/G42.2 values are applied prior to the feed move perpendicular to the programmed path.

EXAMPLES: For further information on G41.2/G42.2, refer to the Fanuc User’s manual.

69.30 - 34 PROGRAMMING CODES


G43 - TOOL LENGTH OFFSET COMPENSATION PLUS

REQUIRED: G43 Hh, Axis and Coordinate MODAL

FUNCTION: This code is used to apply the tool length offset to the programmed axis in the plus direction.

FACTS: This is the most common of the G43 and G44 commands used.

When this command is used it will move the axis to programmed position plus the amount of the
tool offset stored in memory and activated by the H-code.

Programming another offset changes the current offset. Programming a G49 or H0 cancels the
current offset code. The RESET pushbutton does not normally cancel tool offsets, see parameter
#5003 bit 6.

When canceling an offset, the axis will move without the offset applied. Be sure there is sufficient
clearance for the axis to move after canceling the tool offset.

When G53, G28, G30 or G30.1 is programmed with tool offsets active, the tool offset vectors are
canceled and must be reactivated by programming an H-code. However, the previously active G
and H-codes remain displayed.

EXAMPLES: For examples involving G43, see the TOOL OFFSETS section.

PROGRAMMING CODES 69.30 - 35


G43.4 - TOOL CENTER POINT CONTROL (5-AXIS MACHINING OPTION)

REQUIRED: G43.4 Hh, Axis and Coordinate MODAL

FUNCTION: This code is used to apply Tool Center Point Control on machines equipped with 2 rotary axes.
With G43.4 active, any rotary axes rotation will cause X, Y and Z/W motion to keep the tool position
relative to the workpiece reference.

FACTS: The Z/W-axis is selected with the M61 command where M61Z1 selects Z motion and M61W1
selects W motion.

When M61 is executed, the machine position of the other axis is stored in a parameter and
becomes the stationary axis. 5-axis commands are based on the stationary axis being at this
location. Therefore, if the stationary axis is moved, the M61 must be commanded prior to issuing
additional 5-axes commands.

When G43.4 is commanded it will move the axis to programmed position plus the amount of the
tool offset stored in memory and activated by the H-code.

While performing compensation for the rotary axes, the CNC controls the control points so that the
tool center point moves along a straight line with respect to the table (workpiece). The end of the
tool center point comes to the point specified on the programming coordinate system.

G00 is not allowed while Tool Center Point Control is active.

G49 cancels Tool Center Point Control. The RESET pushbutton does not normally cancel tool
offsets; see parameter #5003 bit 6.

When cancelling an offset, the axis will move without the offset applied. Be sure there is sufficient
clearance for the axis to move after canceling the tool offset.

For more information on G43.4, refer to the Fanuc User’s manual for further information.

EXAMPLES: Mill part while rotating A & B-axes.

N100 G90 G49 F200;


N110 M61 Z1; Select Z-axis
N120 G01 A0 X0 B0; Position to center
N130 G43.4 H20 W35 X0 Y0; Activate tool center point control with H20 active
N140 G01 B10 A10 X200; Position to start point X, Y, Z, A and B-axes will move
N150 A-10 B-10 X-200 F10; Cut surface X, Y, Z, A and B-axes will move
N160 A0 B0 X0; Feed to center
N170 G49; Cancel tool center point control

69.30 - 36 PROGRAMMING CODES


G44 - TOOL LENGTH OFFSET COMPENSATION MINUS

REQUIRED: G44 Hh, Axis and Coordinate MODAL

FUNCTION: This code is used to apply the tool length offset to the programmed axis in the minus direction.

FACTS: When this command is used, it will move the axis to programmed position minus the amount of the
tool offset stored in memory and activated by the H-code. This command would be used when a
Right-Angle attachment is being used, and the tool is oriented in the X+ or Y+ direction.

Programming another offset changes the current offset. Programming a G49 or H0 cancels the
current offset code. The RESET pushbutton does not normally cancel tool offsets, see parameter
#5003 bit 6.

When canceling an offset, the axis will move without the offset applied. Be sure there is sufficient
clearance for the axis to move after canceling the tool offset.

When G53, G28, G30 or G30.1 is programmed with tool offsets active, the tool offset vectors are
canceled and must be reactivated by programming an H-code. However, the previously active G
and H-codes remain displayed.

EXAMPLES: For examples involving G44, see the TOOL OFFSETS section.

G49 - TOOL LENGTH OFFSET COMPENSATION CANCEL

REQUIRED: G49 MODAL

FUNCTION: This code is used to cancel the G43 and G44 commands.

FACTS: When this command is used it will move the axis to programmed position without the tool offset
value. Care should be taken to ensure that a clearance point has been programmed on the H00 or
G49 block. This should be used at program end.

G49 must be used at the end of a program. M30 does not cancel tool length offset compensation.

EXAMPLES: For examples involving G43, see the TOOL OFFSETS section.

G50 - SCALING CANCEL (OPTION)

REQUIRED: G50 MODAL

FUNCTION: G50 is used to cancel scaling mode.

EXAMPLES: Please refer to the Fanuc User’s manual for further information.

G50.1 - PROGRAMMABLE MIRROR IMAGE CANCEL (OPTION)


REQUIRED: G50.1 X_ Y_ Z_ W_ MODAL

FUNCTION: G50.1 is used to cancel mirror image mode for the axis specified.

FACTS: The value specified in this command does not matter.

The first move command after G50.1 must be specified with an absolute value.

G50.1 must not be specified in the G68 or G51 mode.

EXAMPLES:

N201 G50.1 X0; Cancel mirror image for the X-axis only

PROGRAMMING CODES 69.30 - 37


G51 - SCALING (OPTION)

REQUIRED: G51 X_ Y_ Z_ B_ W_ W1=_ W2=_ P_ MODAL

FUNCTION: G51 is used to enter the scaling mode where the following commands are scaled by the amount
programmed by Pp or set in parameter #5411.

FACTS: With this command the subsequent moves commands are scaled by the scale factor specify by Pp,
starting with the point specified by Xx, Yy, Zz as the scaling point.

The G51 must be programmed only with the X, Y, Z, W, and P-codes.

G51 is canceled by G50 or when the operator presses the RESET pushbutton.

When both scaling and coordinate system rotation are specified, the coordinate system is rotated
after scaling is applied. In this case, scaling is for the center of rotation.

PARAMETER: To enable the scaling feature the parameter #5401 must be set to 1, if scaling is to be applied to
each axis. Not all axes have to have scaling applied.

The P_ code is the Scaling factor. This scaling factor is determined parameter #5400 bit 7. If set
to 1 then P500 would mean 50 % reduction. If set to 0 then P50000 would mean 50 % reduction.

Parameter #5411 specifies the scaling factor for all axes if P is not programmed.

EXAMPLES:

N100 G51 X0 Y0 P50000; Set scaling amount to 50%


N110 G01 X5; X-axis move to 2.5
N120 G00 Y10; Y-axis move to 5.0
N130 G01 X-5; X-axis moves to -2.5
N140 G50; Cancel scaling
N150 G00 Y-10; Y-axis move to -10

Also refer to the REFERENCE OFFSETS section and the Fanuc User’s manual for further
information.

69.30 - 38 PROGRAMMING CODES


G51.1 - PROGRAMMABLE MIRROR IMAGE (OPTION)

REQUIRED: G51.1 X_ Y_ Z_ W_ MODAL

FUNCTION: When this command is specified, the mirror image of the programmed figure can be produced with
respect to a programmed axis of symmetry.

FACTS: The axes command determines the mirrored axes and the value specifies the point of symmetry.
The point of symmetry is the point where the figure is mirrored.

When a mirror image of a single axis of the active plane is activated, the following is produced:

• Circular commands, the direction of rotation is reversed.

• Cutter compensation, the direction of offset is reversed.

• Coordinate system rotation, the direction of rotation is reversed.

The first move command after G51.1 must be specified with an absolute value.

G51.1 must not be specified in the G68 or G51 mode.

If the programmable mirror image is specified and the mirror image is also selected by a CNC
setting page, the programmable mirror image function is executed first.

Please refer to the Fanuc User’s manual for further information.

EXAMPLES: XY Symmetry Point

N10 G00 X11 Y11;


N15 M98 P6600; Cut pocket
N20 G51.1 X10; Mirror X-axis N25 N15
N25 M98 P6600; Cut pocket
N30 G51.1 Y10; Mirror X & Y-axis
N35 M98 P6600; Cut pocket
N40 G50.1 X10; Cancel X mirror N35 N45
10
N45 M98 P6600; Cut pocket
N50 G50.1 Y10; Cancel Y mirror
0

10

G52 - LOCAL COORDINATE SYSTEM SHIFT

REQUIRED: G52 X_ Y_ Z_ B_ W_ W1=_ W2=_ MODAL

FUNCTION: When this command is specified, the absolute coordinate system is shifted by the amount specified
in the axis value.

FACTS: Axis offset may be used with each axis available on the machine.

Axis offsets themselves never cause any machine motion, but will cause the absolute display to
change.

Axis offsets are modal and remain in effect until canceled or changed.

When the machine start is pressed the G52 is cleared.

EXAMPLES: For examples involving G52, see the REFERENCE OFFSETS section.

PROGRAMMING CODES 69.30 - 39


G53 - MACHINE COORDINATE SYSTEM
G53 - STOP LOOK AHEAD

REQUIRED: G53 X_ Y_ Z_ B_ A_ W_ W1=_ W2=_ NON-MODAL

G53

FUNCTION: When this command is specified, the machine will move using the machine coordinate system.
The cutter radius compensation and tool length offset will not be applied.

FACTS: G53 can only be an absolute (G90) and are done at the rapid traverse feedrate.

When G53 is programmed with tool offsets active, the tool offset vectors are canceled and must be
reactivated by programming an H-code. However, the previously active G and H-codes remain
displayed.

The machine zero point is generally different from the reference position for reference position
returns.

The control can look ahead one or several blocks depending on options. This can cause problems
when storing variables. The G53 programmed alone can be used to prevent looking ahead. See
the example below.

N100 #2=5;
N110 #3=5*#2;
N120 G53;
N130 G00 X[#3] Y[#2];

On line N130, when the control reads #2 and #3, it will not position correctly unless G53 is
programmed between the calculated values and the position commanded. This is because the
control is looking ahead. This G53 is referred to as a suppression of multi buffer.

EXAMPLES: For further discussion and examples involving G53, see the REFERENCE OFFSETS section.

G53.1 - TOOL AXIS DIRECTION CONTROL (5-AXIS MACHINING OPTION)

REQUIRED: G53.1 X_ Y_ Z_ NON-MODAL

FUNCTION: G53.1 is used with the G68.2 Tilted Working Plane (5-axes machining) feature and automatically
specifies the +Z direction of the feature coordinate system as the tool axis direction.

FACTS: G53.1 must be specified in a block after the block that contains G68.2. An alarm occurs if G53.1 is
specified without G68.2 being specified in a preceding block.

G53.1 must be specified in a block in which there is no other command.

The rotary axis moves at the maximum rapid traverse feedrate in the case of rapid traverse and at
the specified feedrate in the case of cutting feed.

With G53.1 active, the rotary axes will automatically rotate to make Z-axis perpendicular to the
plane defined with G68.2.

EXAMPLES: For more information on G53.1 see G68.2 later in this section and also the Fanuc User’s manual.

69.30 - 40 PROGRAMMING CODES


G54 - G59 - WORK COORDINATE SYSTEMS
G54.1 - ADDITIONAL WORK COORDINATE SYSTEMS
G54.2 - ROTARY TABLE DYNAMIC FIXTURE OFFSET (OPTION)
G54.4 - WORKPIECE SETTING ERROR COMPENSATION (OPTION)

REQUIRED: G54 - G59 or G54.1 Pp or G54.2 Pp or G54.4 Pp MODAL

FUNCTION: These codes are used to shift the work coordinate reference point.

FACTS: Six work coordinate systems can be set with the standard work shifts.

Only one work coordinate shift (G54 - G59) can be active at a time.

The external work shift will effect and add to any work shift that is active.

If the part reference was set using the G92 or PRESET softkey, the work coordinate shift will be
from this location.

There are 48 additional work shifts using G54.1 in conjunction with the P-code (G54.1P1 - P48).
An option is available to increase the standard 48 to 300.

To program the additional work shifts the G54.1 is used in conjunction with the P letter address to
specify what offset to active. Example: G54.1 P1, G54.1 P2, … G54.1 P48

To program dynamic fixture offsets the G54.2 is used in conjunction with the P letter address to
specify what offset to active. There are eight dynamic offsets available, (G54.2 P1, G54.2 P2, …,
G54.2 P8).

To program workpiece setting error compensation the G54.4 is used in conjunction with the P letter
address to specify what offset is active. There are seven workpiece setting error offsets available,
(G54.4 P1, G54.4 P2, …, G54.4 P7).

G54 is the default at power up and RESET.

G54.1 will be cancelled by any other offset or power off.

G54.2 P0 cancels any G54.2 command.

G54.4 P0 cancels any G54.4 command.

EXAMPLES: For further discussion and examples involving G54 - G59, see the REFERENCE OFFSETS
section.

For further information on Dynamic Fixture Offsets and Workpiece Setting Error Compensation,
refer to the ROTARY TABLE section and/or Fanuc User’s manual.

PROGRAMMING CODES 69.30 - 41


G60 - SINGLE DIRECTION POSITIONING (OPTION)

REQUIRED: G60 X_ Y_ Z_ B_ W_ W1=_ W2=_ MODAL

FUNCTION: The G60 is used for accurate positioning by doing final approach from only one direction. This
eliminates backlash if present.

The G60 is used in place of the G00 command.


Overrun
Start
Point

Start
Temporary
Point
Stop
End
Point

The overrun and positioning direction are set by the parameter #5440. When the tool direction is
the same as the overrun direction the tool will still stop before the end point.

FACTS: The G60 command has no effect on the Z-axis in canned cycles. Also single positioning does not
apply to the shift amount in the G76 and G87 cycles.

No single direction positioning will be performed on an axis that is not set by the parameters.

When an axis is commanded to move to the present position, the single direction positioning is not
performed.

The direction set by the parameter is not effected by mirror image.

G60 can be set as Modal or Non-modal by parameter #5431 Bit 0; 0 = non-modal and 1 = modal.

G61 - EXACT STOP MODE


REQUIRED: G61 MODAL

FUNCTION: When G61 is commanded, deceleration is applied to the end point of each cutting block and in-
position is performed per block thereafter.
G61 is used to decelerate all axes motion to zero velocity at the end of every move.

G61 is the same as G09 except the G61 is modal.

FACTS: G61 is active until G64 (cutting mode) or G62 (automatic corner override) is commanded.

G62 - AUTOMATIC CORNER OVERRIDE (OPTION)

REQUIRED: G62 MODAL

FUNCTION: G62 when used with cutter radius compensation will override (adjust) the programmed feedrate at
each corner.

If cutting is made at the programmed feedrate without override on inside corners and the cutter
radius compensation in effect, the cutter may be overloaded during the accelerated feed in the
corners.

If exact stop is required in the G62 mode, program a G09 (decelerate to zero) on the G62 line.

FACTS: G62 is active until G64 (cutting mode) or G61 (exact stop mode) is commanded.

69.30 - 42 PROGRAMMING CODES


G63 - TAPPING MODE

REQUIRED: G63 MODAL

FUNCTION: This code is used while in the tapping mode or whenever the feed override is to be locked out at
100% and the feed hold is to be deactivate.

Cutting feed does not decelerate at the end of the block to transfer to the next block.

FACTS: G63 is active until G61 (exact stop mode), G62 (automatic corner override) or G64 (cutting mode)
is commanded.

This code is not required for the G74 or G84 tapping cycles described later in this section, because
the control will automatically lock the feed override to 100% and deactivate the FEEDHOLD.

G64 - CUTTING MODE

REQUIRED: G64 MODAL

FUNCTION: When G64 is commanded, deceleration at the end point of each block thereafter is not performed
and cutting goes on to the next block.

FACTS: G64 is active until G62 (automatic corner override) or G61 (exact stop mode) is commanded.

G64 is default at power up, RESET, M02, and M30.

G65 - MACRO CALL

REQUIRED: G65 Ppppppppp or G65<PART101> NON-MODAL

FUNCTION: G65 is a method of calling a macro program and transferring variables to the subroutine being
called.

FACTS: G65 must be specified before arguments in the G65 block.

EXAMPLES: Further information and examples containing macro calls are discussed later in this section; also
refer to the Fanuc User’s manual.

G66 - MODAL MACRO CALL A - AFTER MOVE


G66.1 - MODAL MACRO CALL B - EACH BLOCK

REQUIRED: G66 Ppppppppp or G66<SUB101> MODAL

G66.1 Ppppppppp or G66.1< SUB101>

FUNCTION: While in the G66 mode, each time a move command is executed the specified custom macro body
is called. This function is useful when drilling cycles are programmed as custom macro bodies.

While in the G66.1 mode, each block is executed unconditionally. All addresses except G, L, N, O,
and P are used as arguments and pass values to parameters the same as G65.

FACTS: This is canceled by G67.

EXAMPLES: Further information and examples containing macro calls are discussed later in this section; also
refer to the Fanuc User’s manual.

PROGRAMMING CODES 69.30 - 43


G67 - MODAL MACRO CALL A/B CANCEL

REQUIRED: G67 MODAL

FUNCTION: This code cancels the modal macro call commands in G66 and G66.1.

EXAMPLES: Further information and examples containing macro calls are discussed later in this section; also
refer to the Fanuc User’s manual.

G68 - COORDINATE SYSTEM ROTATION (2D)


G68 - COORDINATE SYSTEM ROTATION (3D) (OPTION)

REQUIRED: G68 X_ Y_ Z_ R_ MODAL

OPTIONAL: G68 X_Y_Z_I_J_K_R_

FUNCTION: G68 is used to enter the coordinate system rotation mode where move commands on the following
blocks are rotated by the programmed angle. By using this command it is possible to rotate the
machining on a workpiece by some angle.

FACTS: Two-dimensional and three-dimensional rotation use identical G-codes. A G-code specified with I,
J & K is processed as the command for three-dimensional coordinate system rotation. A G-code
not specified with I, J & K is processed as the command for two-dimensional coordinate system
rotation.

The plane of rotation depends on the plane (G17, G18, G19) selected when G68 is designated.
The G17, G18, or G19 may not be designated in the same block as G68.

When using the G68 command, the block must specify a two axis point in the selected plane which
represents the center of rotation.

G68 is canceled by G69 or the RESET pushbutton.

PARAMETER: The R-code must also be programmed on the G68 block and it specifies the rotational amount.
When the R is plus the rotation will be in a counter clockwise direction. The R-code can be
absolute or incremental. This depends on parameter #5400 bit 0. If this equals 0 then R will
always be absolute. If parameter #5400 bit 0 equals 1, then G90 and G91 will affect the R value
(default).

Parameter #5410 is used to specify the angle of rotation if R is not programmed.

EXAMPLES:

N100 G68 X10 Y10 R30; Rotate plane 30 degrees from X10 Y10
...
... Machining blocks
... Y
N330 G69; Cancel G68

Also refer to the REFERENCE OFFSETS


section and the Fanuc User’s manual for
further information.

30º

X
Rotation Center
Rotation center
X10 Y10
X10 Y10

69.30 - 44 PROGRAMMING CODES


G68.2 - FEATURE COORDINATE SYSTEM (5-AXIS MACHINING OPTION)

REQUIRED: G68.2 X_ Y_ Z_ I_ J_ K_ MODAL

FUNCTION: The G68.2 is used with the Tilted Working Plane feature where the machining surface is not
perpendicular to the Z-axis. The G68.2 command causes the programming coordinate system to
switch to the feature coordinate system.

FACTS: The feature coordinate system is defined with the G68.2 command as follows:

• X, Y, Z Origin of the Feature coordinate system

• I, J, K Euler's angle for determining the orientation of the feature coordinate system

When G68.2 is active, all machining commands are rotated, (parallel to the defined angle) based
on the feature coordinate system until G69 is commanded.

With G53.1 active, the rotary axes will automatically rotate the rotary axes to make Z-axis
perpendicular to the feature coordinate system plane defined with G68.2.

G53.1 must be specified in a block after the block that contains G68.2. An alarm occurs if G53.1 is
specified without G68.2 being specified in a preceding block.

G53.1 must be specified in a block in which there is no other command.

M61 specifies weather Z or W-axis motion will occur because of the G68.2 and G53.1 commands,
M61 Z1 specifies Z and M61 W1 specifies W.

When M61 is executed, the machine position of the other axis is stored in a parameter and
becomes the stationary axis. 5-axis commands are based on the stationary axis being at this
location. Therefore if the stationary axis is moved, the M61 must be commanded prior to issuing
additional 5-axes commands.

Also refer to the Fanuc User’s manual for further information.

EXAMPLES:
Tool Motion
Without G53.1 without G53.1
N100 G90 G40 G49 F18;
N110 M61 Z1; Feature
N120 A0 B0 X0 Y0; Coordinate
N130 G68.2 X0 Y0 Z0 I-45 J-45 K0; Z+
System
N140 G01 Y20;
G68.2
N150 G01...;
N160 G01...;
N170 G69;

With G53.1
Tool Motion
N100 G90 G40 G49 F18; with G53.1
N110 M61 Z1;
N120 A0 B0 X0 Y0;
N130 G68.2 X0 Y0 Z0 I-45 J-45 K0;
N140 G53.1;
N150 G01 Y20; Z+
N160 G01...;
N170 G01...;
N180 G69;

PROGRAMMING CODES 69.30 - 45


G68.3 - TILTED WORKING PLANE COMMAND BY TOOL AXIS DIRECTION (5-AXIS OPTION)

REQUIRED: G68.3 X_ Y_ Z_ R_ MODAL

FUNCTION: G68.3 defines a coordinate system about the tool tip and tool orientation when activated. This can
automatically generate a feature coordinate system that is normal to the tool direction.

FACTS: When G68.3 is specified in a block, the coordinate system for programming is changed to a feature
coordinate system. All commands after G68.3 is programmed are regarded as commands in the
feature coordinate system until cancelled.

The feature coordinate system is defined with the G68.3 command as follows:

• X, Y, Z Origin of the feature coordinate system using the absolute command. When one or
two of these are omitted an alarm will be issued. When none of these are specified at
all, the position when G68.3 is specified will be the origin

• R Angular displacement about the Z-axis in the feature coordinate system. The default
is 0°. Angular displacement R is positive when a rotation is made counterclockwise
viewed in the +Z-axis direction of the feature coordinate system.

With G68.3, a feature coordinate system with the tool axis direction being the +Z-axis direction can
be created. The tool axis direction means the tool axis direction based on the rotation axis position
reached by automatic operation or manual operation.

After the tool axis direction is changed in G68.3 mode, a new feature coordinate system where the
tool axis direction is the +Z-axis direction can be specified again by programming another G68.3.

The guidance screen, included with this option, for tilted working plane command is a function for
creating a tilted working plane command block by entering tilted working plane data on the CNC
screen. With this function a complicated tilted working plane command block can be created
easily. The guidance screen function can be enabled by setting parameter #11304 bit 1=1

The G68.3 command can be specified during tool length compensation.

Tilted working plane and tool center point control can be used at the same time.

G68.3 is cancelled by G69.


Note: Do not specify G68.3 during workpiece setting error compensation. An alarm
PS0437 will be issued.

Also refer to the Fanuc User’s manual for further information.


EXAMPLE:
G54.4 P1 Activate workpiece setting error comp
G43.4 H9 Activate tool center point command
G0 X3.5 Y7.25 Z16.0 A-1.75 B10.75 Position to R plane with G43.4 & G54.4 active
G49 Cancel tool center point mode
G54.4 P0 Cancel workpiece setting error comp mode
G68.3 Activate tool axis direction G68.3; this will offset all axes to zero
and will set the Z as the tool axis based on the current A-axis
position
G81 R0 Z-1.1 Call canned cycle; the Z-axis position is currently zero so R0 will
not cause motion. The Z command is from the start position so
allow for the clearance distance
G00 Z3 Retract Z
G69 Cancel tilted working plane direction

69.30 - 46 PROGRAMMING CODES


G69 - COORDINATE SYSTEM ROTATION CANCEL

REQUIRED: G69 MODAL

FUNCTION: G69 is used to cancel G68, G68.2 and G68.3 modes.

EXAMPLES: Please refer to the Fanuc User’s manual for further information.

G73 - G89 - CANNED CYCLES

REQUIRED: G7x or G8x Codes MODAL

Axis and Coordinate - Absolute mode

Axis, Direction and Distance - Incremental mode

Special word addresses

FUNCTION: The G7x or G8x series cycles offer the programmer a number of predetermined events to do
repetitive jobs on the machine such as drill, tap, and bore, by using axis commands and special
letter address codes I, K, P, Q, and R.

LIST: G73 Deep Hole Drill


G74 Counter Tapping Cycle
G76 Bore, Dwell, Orient, Move off Center, Retract
G80 Canned Cycle Cancel
G81 Drill / Bore
G82 Drill / Bore - Dwell
G83 Peck Drill Cycle
G84 Tap cycle
G85 Ream
G86 Bore, Stop Spindle, Retract
G87 Back Bore
G88 Bore, Manual Retract
G89 Ream - Dwell

EXAMPLES:

N110 G8_ X Y R Z W Q P K

For additional information on canned cycles see CANNED CYCLES later in this section.

G90 - ABSOLUTE DIMENSION INPUT

REQUIRED: G90 MODAL

FUNCTION: G90 commands all axes coordinates to be measured from the part reference zero.

FACTS: G90 is the initialized state at power on.

G90 may be combined with other data or programmed by itself.

If incremental dimension input (G91) has been activated, G90 must be programmed to cancel the
incremental mode when it is desired to return to absolute.

Absolute programming format is normally the assumed state following power on. The default
absolute / incremental is selected through machine parameter.

EXAMPLES: Absolute programming not only eliminates the calculations for each move, but also allows the
programmer to trace the exact location of each tool throughout the program. The presence of a
positive or negative value in the X or Y register indicates the position of the tool in relation to the
spindle centerline and the Z should relate the tool to the locating surface of the part.

PROGRAMMING CODES 69.30 - 47


G91 - INCREMENTAL DIMENSION INPUT

REQUIRED: G91 MODAL

FUNCTION: G91 commands all axes dimensions to be measured incrementally from the last programmed
position.

FACTS: G91 must be programmed, if desired.

G91 may be combined with other data or programmed by itself.

G91 is canceled by G90.

When the G91 command is in effect, the control interprets the X, Y, and Z registers as the distance
the machine has to travel to complete the programmed move. To program a move, the
programmer must calculate the distance the machine moves in each axis and enter the distance in
the appropriate register. A minus (-) or plus (+) sign indicates the direction of machine travel.
Note: G90 and G91 can be combined in the same block. Care should be used when
combining these codes.

G92 - PRELOAD REGISTER


G92 - MAXIMUM SPINDLE SPEED

REQUIRED: G92, Axis and coordinate NON-MODAL

G92 Spppp

FUNCTION: G92 gives the programmer a tool for loading values into various registers from the part program.

FACTS: G92 can be used to reference an axis (axes) to the value programmed with the letter address(es).

The values entered with the axes command become the absolute position of the axes after the G92
block is executed and changes the Screen displays for the Absolute positions.

Only the axes programmed on the G92 line will be altered.

G92 will not cause axis motion.

G92 Spppp is also used in conjunction with CH Heads and Feed-out Bars to set a maximum
allowable RPM constraint while in the G96 Constant Surface Speed mode. This constraint should
be entered prior to calling for a G96 the first time in a program. If the G92 is not entered, the
maximum spindle speed in the selected range will be used.

The maximum allowable RPM constraint is canceled by G92 S0 or G92 with an S value equal to
the Maximum speed of the machine.

EXAMPLES:

N100 G92 Z-5.0; Reference the Z-axis absolute position to 5


N110 G92 S200; Set maximum RPM to 200

For additional information on G92, refer to REFERENCE OFFSETS and CONTOURING HEADS
sections.

69.30 - 48 PROGRAMMING CODES


G92.1 - WORKPIECE COORDINATE SYSTEM PRESET

REQUIRED: G92.1, Axis and coordinate NON-MODAL

FUNCTION: G92.1 presets a workpiece coordinate system shifted manually or automatically.

FACTS: The workpiece coordinate system preset function clears a workpiece coordinate system previously
shifted by manual intervention, i.e., Manual Handle Interrupt, local shift (G52), machine lock and
G92. The coordinate system is shifted from the machine zero point by a workpiece origin offset
value. This feature has no effect on the active work offsets.

There are two methods for using the workpiece coordinate system preset function:

Programmed command method:

G92.1 X0 Y0 Z0 Clear offsets

MDI operations method:

On the absolute position display screen, relative position display screen, and overall position
display screen. The WK COORD is use to initiate the feature.

Note: When using G92.1, cancel compensation modes; tool radius, tool nose radius, tool
length and tool offset. If G92.1 is executed without canceling, compensation will
automatically be cancelled.

PROGRAMMING CODES 69.30 - 49


G93 - INVERSE TIME FEEDRATE (OPTION)

REQUIRED: G93 Fpppp.pp (INCH) Fpppp.pp (METRIC) MODAL

FUNCTION: When G93 is active, the F-code is interpreted as inverse time. Inverse time feedrate is a tool
provided primarily to allow programming a feedrate, when the control does not have enough
information to calculate in G94 or G95.

FACTS: The F-code is the inverse of the time required (1/Time) to move the programmed distance. It is
calculated by dividing the desired velocity by the total vector distance (Velocity / Distance).

In the G01/G02/G03 linear mode, the feedrate F is calculated as follows:


PATH FEEDRATE (IPM/MMPM)
F = -----------------------------------------------
PATH DISTANCE (IN/MM)

It is recommended that a G93 be programmed on the same line as the F-code to avoid confusion
as to the active feedrate mode.

In G93 mode, the F-code is regarded as non-modal therefore, each block must contain a feedrate
command when G93 is active.

G93 is canceled by G94 and G95.

When F0 is commanded in G93 mode, the feedrate becomes the maximum cutting feedrate.

When changing feedrate modes, a new feedrate is required with the G94 or G95.

If dwell (G04) is programmed with G93 active, it will count out in time.

EXAMPLES: Single axis linear

N10 G1 G93 G91 X4 F2.5; 10 IPM / 4 IN. MOVE = F2.5

Single axis rotary

N10 G1 G93 G91 B50 F1.15; 10 IPM / [10" RADIUS x 50°/57.2958°] = F1.15
Note: (57.2958°=1 radian)

Collinear axis

N10 G1 G93 G91 W4 Z3 F2.5; 10 IPM / 4 IN. MOVE = F2.5

Multiple axis linear

N10 G1 G93 G91 X3 Y4 F2; 10 IPM / SQRT[32 + 42] = F2

Multiple axes linear / rotary

N10 G1 G93 G91 B14.324 Y2.5 F2.83; 10 IPM / SQRT[2.52 + 2.52] = F2.83

The above example is milling a 45° angle with the B and Y-axis at a 10" radius moving 2.5 in Y-axis
and 2.5 in B-axis.

B angular move = 2.5" x 360° / [2 x PI x 10"] = 14.324.

69.30 - 50 PROGRAMMING CODES


G94 - INCHES (MILLIMETERS) PER MINUTE-IPM/MMPM

REQUIRED: G94 Fpppp.pp (INCH) Fpppp.p (METRIC) MODAL

FUNCTION: When G94 is active, the F-code is interpreted as inches (millimeters) per minute feedrate.

FACTS: G94 is canceled by G95.

It is recommended that a G94 be programmed on the same line as the F-code to avoid confusion
as to the active feedrate mode.

When changing feedrate modes, a new feedrate is required with the G95.

If dwell (G04) is programmed with G94 active, it will count out in time.

IPR programming format is normally the assumed state following power on. The default IPM/IPR is
selected through machine parameter.

EXAMPLES:

N100 G01 G20 G94 X10.0 F20; Move to X10 at 20 IPM

If the programmer uses the IPM for a cutting operation, the F register may be reprogrammed each
time the spindle RPM changes in order to maintain a constant chip load on the tool. (The chip load
is directly related to the feedrate expressed in inches per revolution.) The following formula shows
how to convert inches per revolution into inches per minute for a given RPM.

FORMULA EXAMPLE

IPM = IPR * RPM 6 IPM = .012 IPR * 500 RPM


Note: The operator will normally have the ability to override the programmed feedrate.

G95 - INCHES (MILLIMETERS) PER REVOLUTION-IPR/MMPR

REQUIRED: G95 Fpp.pppp (INCH) Fppp.ppp (METRIC) MODAL

FUNCTION: When G95 is active the F-code is interpreted as inches (millimeters) per revolution feedrate.

FACTS: G95 is canceled by G94.

It is recommended that a G95 be programmed on the same line as the F-code to avoid confusion
as to the active feedrate mode.

When changing feedrate modes, a new feedrate is required with the G94.
If dwell (G04) is programmed with G95 active, it will count out in revolutions.

The range of entries in G95 is .0001 to 99.9999 inch or .001 to 999.999 mm.

EXAMPLES:

N100 G01 G95 X10.0 F.02; Move to X10 at .020 IPR of the spindle

The advantage of using Inches per Revolution Programming is that the programmer does not have
to calculate a new feedrate to maintain a constant chip load whenever the spindle RPM changes.
Note: The operator will normally have the ability to override the programmed feedrate.

PROGRAMMING CODES 69.30 - 51


G96 - CONSTANT SURFACE SPEED (FEET / METERS PER MINUTE) (OPTION)

REQUIRED: G96 Saaaa (INCH) Saaa.a (METRIC) MODAL

FUNCTION: G96 provides constant SFM/SMM operation allowing direct programming of the desired SFM/SMM
with the S letter address using a 4.0 (aaaa) INCH and 3.1 (aaa.a) METRIC format.

FACTS: G96 is only used in conjunction with the NC Contouring Heads and Control Boring System option.

The control automatically adjusts the SFM/SMM reference by the amount of tool, fixture, radius,
and/or axis offset entered parallel to the V-axis. This insures correct SFM/SMM at the tool point.

When moving in toward the center of the tool, the RPM will only be updated until either the
machine's maximum RPM is reached, or the maximum RPM constraint (G92 Saaaa) is reached.

When either limit is reached, the spindle operation will be straight RPM.

SFM/SMM operation will again function once the tool position causes the control to calculate a
RPM less than either of the limits.

G96 is cancelled by; G97, RESET, M02 or M30.

In the G96 mode, it is best to select a gear range to prevent the spindle from shifting at the end of a
machining block.

EXAMPLES: Inch Mode

N100 M42; Select range 2


N110 G92 S350; Set maximum RPM to 350
N120 G96 S400; Set speed to 400 surface feet per minute
N130 G01 V4 G95 F.012; Move to V4.0 at .012 IPR of the spindle
Note: The operator will normally have the ability to override the programmed speed.

G97 - DIRECT REVOLUTIONS PER MINUTE

REQUIRED: G97 Saaaa.a MODAL

FUNCTION: G97 provides direct RPM operation allowing the desired RPM to be programmed as an S value
using a 4.1 (aaaa.a) format for INCH or METRIC.

FACTS: G97 is the assumed state at power up.

Spindle RPM is entered directly as an S value.

RPM is infinitely variable within the machine's capability.

Spindle speeds are dependent on the machine's spindle diameter.

G97 is cancelled by G96.

EXAMPLES:
N100 G97 S150; Set speed to 150 RPM
Note: The operator will normally have the ability to override the programmed RPM.

69.30 - 52 PROGRAMMING CODES


G98 - CANNED CYCLE INITIAL LEVEL RETURN

REQUIRED: G98 MODAL

FUNCTION: When in the G98 mode, the tool will return to the initial level after executing a canned cycle.

FACTS: Initial level is the position of the cycling axis prior to executing the canned cycle.

G98 is the default at power up, RESET, M02, and M30.

G99 cancels a G98.

EXAMPLES: For further information on G98, see CANNED CYCLES later in this section.

G99 - CANNED CYCLE R POINT LEVEL RETURN

REQUIRED: G99 MODAL

FUNCTION: When in the G99 mode, the tool will return to the R point level after executing a canned cycle.

FACTS: R is the approach / retract point of the G80 canned cycles.

G99 is cancelled by; G98, RESET, M02, or M30.

EXAMPLES: For further information on G99, see CANNED CYCLES later in this section.

PROGRAMMING CODES 69.30 - 53


MISCELLANEOUS FUNCTIONS

The miscellaneous function is a two or possibly three digit entry preceded by the letter address M. The following M-
codes are listed in their numerical sequence.
Note: With plural M-codes, up to 3 M-codes can be programmed on one line, unless otherwise specified.

CODE DESCRIPTION MODAL STD./OPT.


M00 Programmed Stop No Standard
M01 Optional (Planned) Stop No Standard
M02 End of Program No Standard
M03 Spindle Start - CW (Right) Yes Standard
M04 Spindle Start - CCW (Left) Yes Standard
M05 Spindle Stop Yes standard
M06 Tool Change No Standard
M07 Coolant On - Flood through Spindle Yes Standard
M08 Coolant On - Flood through Nozzle Yes Standard
M09 Coolant Off Yes Standard
M13/M23 Clamp Rotary Table Yes Standard
M14/M24 Unclamp Rotary Table Yes Standard
M19 Spindle Orient No Standard
M27 Position V-Axis to Home No Optional
M30 End of Program No Standard
M40 Speed Range Auto Shift Yes Standard
M41 Speed Range 1 Yes Standard
M42 Speed Range 2 Yes Standard
M43 Speed Range 3 Yes Standard
M44 Speed Range 4 Yes Standard
M48 Feed and Speed Override Lockout Cancel Yes Standard
M49 Feed and Speed Override Lockout Enable Yes Standard
M50 Coolant On - Air through Spindle Yes Optional
M51 Coolant On - Air through Nozzle Yes Optional
M52 Coolant On - Flood Coolant High Pressure through Spindle Yes Optional
M54 Coolant On - Part Wash Yes Optional
M59 Programmable Coolant Pressure (Chip Blaster Coolant System) Yes Optional
M59 Programmable Coolant Pressure (Bürener Coolant System) Yes Optional
M60 Tool Reference No Standard
M61 Macro to Select Z/W (5-Axis Machining) No Optional
M70 Position Indexing Head No Optional
M77 Activate Tool Probe Yes Optional
M78 Activate Part Probe Yes Optional
M79 Deactivate Probes Yes Optional
M98 Calling Subroutine No Standard
M99 End of Subroutine No Standard
M160 Select Ram as W-Axis (Floor-Type Ram Only) No Optional
M161 Select Auxiliary Slide as W-Axis (Floor-Type Ram Only) No Optional
M170 Work Zone Auto Select (Floor-Type) No Optional
M171 Work Zone Auto - Zone 1 (Floor-Type) No Optional
M172 Work Zone Auto - Zone 2 (Floor-Type) No Optional
M173 Work Zone Auto - Zone 3 (Floor-Type) No Optional
M174 Work Zone Auto - Zone 4 (Floor-Type) No Optional
M198 Calling Subroutine from External Device No Standard
M236 Chip Conveyor Forward Yes Optional
M238 Chip Conveyor Stop Yes Optional
M240 Coolant Fault Reaction - Feed Hold Fault No Optional
M242 Coolant Fault Reaction - No Reaction No Optional
M243 Coolant Fault Reaction - Cycle Out at End of next G0 Block No Optional

69.30 - 54 PROGRAMMING CODES


M00 - PROGRAM STOP

REQUIRED: M00 NON-MODAL

FUNCTION: M00 stops automatic operation after completing all other commands on that line.

FACTS: All modal information is retained.

It will be necessary for the operator to push the CYCLE START pushbutton to continue with the
program.

Feed motion will be decelerated to zero and the spindle will be stopped, but these registers will not
be canceled.

M00 must not be programmed with any other M-codes.

EXAMPLES:

N100 M00;
N110 (LOAD TOOL); By programming the M00 before the comment, the comment will remain on the screen so
the operator can see it after the program stops

M01 - OPTIONAL (PLANNED) STOP

REQUIRED: M01 NON-MODAL

FUNCTION: M01 stops automatic operation, as M00 does, when the Optional Program Stop LED is lit.

FACTS: Optional Program Stop LED must be lit for M01 to take effect.

All modal information is retained.

It will be necessary for the operator to push the CYCLE START pushbutton to continue with the
program.

Feed motion will be decelerated to zero and the spindle will be stopped, but these registers will not
be canceled.

M01 must not be programmed with any other M-codes.

M02 - END OF PROGRAM

REQUIRED: M02 NON-MODAL

FUNCTION: M02 is used to indicate the completion of the program.

FACTS: The M02 code will be executed after the completion of all other commands on the same block.

All modal data are cleared and initial conditions are reset.

The program line pointer is set to the first effective sequence number.

M02 must not be programmed with any other M-codes.

PROGRAMMING CODES 69.30 - 55


M03/M04 - SPINDLE START - CW/CCW

REQUIRED: M03/M04, RPM MODAL

FUNCTION: M03/M04 is used to start the spindle in the direction specified before any motion will occur.

FACTS: M03 (CW-Right) will cause a clockwise spindle rotation as viewed from the headstock. The M03
direction will turn a right hand tap into the part.

M04 (CCW-Left) will cause a counterclockwise spindle rotation as viewed from the headstock. The
M04 direction will turn a left hand tap into the part.

M03 and M04 on the same line are conflicting and the last one read will control.

Spindle rotation is temporarily halted during the execution of a M00 or M01. However, when the
cycle is restarted, spindle rotation is again active.

M03 or M04 are modal and will be canceled by M02, M04 or M03, M05, M30 and RESET.

M05 - SPINDLE STOP

REQUIRED: M05 MODAL

FUNCTION: M05 is used to stop the spindle during execution of the part program.

FACTS: The spindle will be stopped after all other commands have been executed.

M05 will cancel M03/M04 and cause the coolant flow to stop.

M06 - TOOL CHANGE

REQUIRED: M06 Tpppp NON-MODAL

OPTIONAL: M06 Tpppp Apppp

M06 Tpppp Cp

FUNCTION: M06 is used to initiate a tool change cycle.

The T-code is the Tool Number or Tool Group Number defined in tool management.

The A-code is optional and is used to specify an attachment number for universal tooling.

The C-code is optional and is used to initiate an index of the multi position stop block attachment.
Refer to the ATTACHMENTS OPERATION for more information.
FACTS: On machines with automatic tool changers, M06 programmed along with a T-code (tool number
from the magazine) will transfer a tool from the magazine to the spindle. During the transfer a
previously used tool that is in the spindle will be returned to the magazine location where it came
from.

On machines without automatic tool changers, M06 programmed along with a T-code will stop the
spindle, turn off the coolant, and position the X, Y Z and W-axes to the manual tool change
position. A feedhold will occur and a message prompting the operator to manually change tools is
displayed.

The M06, T-code and the optional A or C-code must be the only commands programmed on the
block and the M06 must be programmed before the T, A & C-codes.

EXAMPLES: For additional information on M06 and other codes related to tool changing, see the TOOL
CHANGER and TOOL MANAGEMENT sections. Also see the ATTACHMENT section for
information on attachment changing and modular tooling.

69.30 - 56 PROGRAMMING CODES


M07/M08/M50/M51/M52/M54/M59 - COOLANT ON

REQUIRED: M07/M08/M50/M51/M52/M54 MODAL

FUNCTION: M07 is used to turn on the flood coolant through the spindle.

M08 is used to turn on the flood coolant through the nozzle.

M50 is used to turn on the air through the spindle (see Warning below) (Option).

M51 is used to turn on the air through the nozzle (Option).

M52 is used to turn on the flood coolant high pressure through the spindle (Option).

M54 is used to turn on the part wash (Option).

M59 is used for programmable coolant pressure (Option).

FACTS: Coolant is canceled by M02, M09, M30, and RESET.

The coolant tank has two warning levels, Pre-warning and Low-warming.

When the tank level reaches Pre-warning level, the control will cycle out on the next G00 block. If
the control has not cycled out on a G00 block before the timer has timed out, then the control will
cycle out at the end of the current block.

When the tank level reaches Low-warning, the tank is considered empty and the coolant pump is
turned off and the machine is placed in a feed hold condition. Once the coolant level has returned
above the Pre-warning level, the operator messages will disappear and coolant will be allowed
again. At this point the operator may:

• Restart coolant by selecting the COOLANT AUTO, COOLANT NOZZLE or COOLANT


SPINDLE pushbuttons, depending on the mode they were in before the inhibit.

• Restart the axes by selecting the CYCLE START pushbutton.


Note: On machines built prior to 2008, coolant will be on only when the spindle is
running. With the spindle stopped, coolant will be off. However, the coolant on
command is retained and when the spindle is restarted, coolant will again flow.

The COOL AUTO key must be on to allow coolant flow.

If the machine is equipped with the optional manual coolant pressure control pot,
the coolant is turned on with the M07 command. Adjustments can then be made
by rotating the knob; clockwise direction increases the coolant flow and
counterclockwise decreases flow.

Programmable coolant pressure M59 is discussed later in the section.

******************************************************************************

THESE MACHINES ARE NOT MECHANICALLY EQUIPPED FOR CONTINUOUS AIR-


THROUGH-SPINDLE WHILE THE SPINDLE IS ROTATING. AIR CAN BE RUN WHILE
THE SPINDLE IS NOT ROTATING OR FOR VERY SHORT DURATIONS WHILE
ROTATING.

******************************************************************************

PROGRAMMING CODES 69.30 - 57


M09 - COOLANT OFF

REQUIRED: M09 MODAL

FUNCTION: M09 cancels coolant flow.

FACTS: M09 will turn off the coolant after the other commands in the line have been executed.

M13/M14 - M23/M24 - CLAMP / UNCLAMP ROTARY TABLE

REQUIRED: M13/M14 MODAL

or

M23/M24

FUNCTION: M13 will clamp the rotary table.

M14 will unclamp the rotary table and select the contouring mode.

M23 will clamp the detachable auxiliary rotary table or tilt spindle.

M24 will unclamp the detachable auxiliary rotary table or tilt spindle and select the contouring
mode.

FACTS: CONTOURING TABLES


M13-CLAMP will clamp the rotary table. M13 is canceled by M14, M02, M30 and Reset. No rotary
table motion is allowed while the table is clamped. If the table is clamped, M14 must be
programmed on the block prior to the next B command to allow rotation.

M14-UNCLAMP will unclamp the rotary table. M14 is the default at M02, M30 and Reset.

M23 (Clamp) / M24 (Unclamp) are used for auxiliary contouring rotary tables and function the same
as M13 and M14.

POSITIONING TYPE TABLES

The M-codes, M13 / M14 and M23 / M24 are not used for positioning tables.

When the table is setup as a positioning table, the table is automatically unclamped when motion is
commanded, (either Auto or manual) and automatically clamp when the table is in position.

EXAMPLES: See the ROTARY TABLE section for more information.

69.30 - 58 PROGRAMMING CODES


M19 - SPINDLE ORIENT

REQUIRED: M19 Caaa.a (Standard Uni-directional Orient Mode) NON-MODAL


M19 Caaa,a Faaa Aa Ia (Positioning Mode) Option

FUNCTION: M19 is used to orient the spindle to zero degree position or to a programmable angular position
when used with a Caaa.a command.

FACTS: The spindle should be stopped prior to calling an M19 cycle. 90

M19 programmed without a C command will cause rotation to C0. The


direction of rotation will be in the shortest path.

M19 programmed with an A or I command will cause rotation in the 0


Positioning Mode. This feature will allow for direction incremental and
absolute positioning of the spindle and defined feedrates.

M19 Caaa.a Faaa Aa Ia

Where:

Caaa.a Position or offset in degrees. When no Caaa.a is specified, the spindle will be oriented to
zero.

Faaa Feedrate in RPM, if no feedrate is specified, then the feedrate defaults to the normal orient
rate.

Aa Absolute positioning, direction specification.

A1 = CW direction A2 = CCW direction

Ia Increment positioning, directional specification

I1 = CW direction I2 = CCW direction

Negative position commands will be considered invalid.

Position mode commands will leave the spindle in a servo locked state after the position command
is complete. The servo locked state is released under the following circumstances:

• Spindle jog mode


• Spindle run mode (M3/M4)
• Spindle shift
• Rigid tapping mode

The F, A and I commands are not modal.

The M19 must be programmed before the C command and M19 Caaa.a must be programmed on a
line by itself.

This M19 C command must be executed before programming certain canned cycles. This insures
that the spindle will orient to the correct location before and after the canned cycle.

The spindle must be referenced before calling for a position command. Referencing the spindle is
accomplished using the standard orient command (M19 Caaa.a). Failure to do this will generate a
fault message.
EXAMPLES:

N100 M19 C0; Rotate the spindle to zero degrees


N110 M19 C45.5 F2 A2; Spindle will rotate at 2 RPM to 45.5 degrees in the CCW direction
N120 M19 C90.3 F3 I1; Spindle will rotate at 3 RPM, 90.3 degrees in the CW direction
N130 M19 C15 F3 I2; Spindle will rotate at 3 RPM, 15 degrees in the CCW direction
N140 M19 C25 F4; Spindle will rotate in a parameter defined direction at 4 RPM to 25 degrees

PROGRAMMING CODES 69.30 - 59


M27 - POSITION V-AXIS TO HOME (OPTION)

REQUIRED: G00 G90 M27 NON-MODAL

FUNCTION: M27 is used to position the V-axis to the home position.

FACTS: When executing a M27, G90 (absolute dimension input) must be active.

M27 is only allowed when a NC Contouring Head is attached.

M27 will position the V-axis to the minimum travel of the contouring head.

EXAMPLES: For additional information on M27 see the CONTOURING HEADS section.

M30 - END OF PROGRAM

REQUIRED: M30 NON-MODAL

FUNCTION: M30 is used to indicate that the end of data for a program has been reached. M30 functions same
as M02.

FACTS: The M30 code will be executed after the completion of all other commands in the block in which it is
programmed.

All modal data are cleared and initial conditions are reset.

The program line pointer is set to the first effective sequence number.

M30 must not be programmed with any other M-codes.

M40 - SPINDLE SHIFT / AUTOMATIC GEAR RANGE

REQUIRED: M40 MODAL

FUNCTION: M40 is used to allow the control to automatically shift to the proper gear range based on the spindle
speed programmed (S command).

FACTS: M40 is the control power-on default.

The horizontal machines can be equipped with a 2 or 4 gear ranges. Selection of the gear range
can also be accomplished with M41 - M44.

M40 cancels M41, M42, M43 and M44.

See MACHINE DESCRIPTION section for available speed ranges.

EXAMPLE:

N10 M06 T1; Load tool


N20 G43 H1; Activate offsets
N30 M3 M40 S1250; Command 1250 RPM speed, auto shift into gear

69.30 - 60 PROGRAMMING CODES


M41/M42/M43/M44 - SPINDLE SHIFT

REQUIRED: M41/M42/M43/M44 MODAL

FUNCTION: M41 is used to shift the spindle into gear range 1.

M42 is used to shift the spindle into gear range 2.

M43 is used to shift the spindle into gear range 3.

M44 is used to shift the spindle into gear range 4.

FACTS: The horizontal machines can be equipped with a 2 or 4 gear ranges. Selection of the gear range is
accomplished with M41 - M44.

M40 cancels M41, M42, M43 and M44.

See MACHINE DESCRIPTION section for available speed ranges.

EXAMPLE:

N10 M06 T1; Load tool


N20 G43 H1; Activate offsets
N30 M3 M42 S800; Command 800 RPM speed, force gear range #2

M48 - FEED AND SPEED OVERRIDE LOCKOUT CANCEL

REQUIRED: M48 MODAL

FUNCTION: M48 enables the FEED and SPEED % OVERRIDE controls.

FACTS: M48 is the normal power on state and doesn't need to be programmed unless M49 was previously
active.

M48 cancels M49.

EXAMPLE:

N1000 G00 Z-15 ; Position to depth


N1010 G01 X250 M49 ; Feed to position at 100% feed and speed
N1020 G00 Z10 M48; Retract Z and cancel feed / speed lock-out

M49 - FEED AND SPEED OVERRIDE LOCKOUT ENABLE

REQUIRED: M49 MODAL

FUNCTION: M49 disables the FEED and SPEED % OVERRIDE controls.

FACTS: M49 must be programmed if it desired.

M49 will lock the FEED and SPEED % OVERRIDE controls at 100 percent assuring the
programmed feed, speed, and designated traverse rate will prevail.

M49 is canceled by M48, M02 and M30, or pressing the RESET key.

EXAMPLE:

N1000 G00 Z-15 ; Position to depth


N1010 G01 X250 M49 ; Feed to position at 100% feed and speed
N1020 G00 Z10 M48; Retract Z and cancel feed / speed lock-out

PROGRAMMING CODES 69.30 - 61


M59 - PROGRAMMABLE COOLANT PRESSURE (CHIP BLASTER COOLANT SYSTEM)

REQUIRED: M59 Qaa MODAL

FUNCTION: M59 is used to turn on the variable pressure through the spindle coolant. This feature is Optional.

FACTS: M59 is canceled by M02, M07, M09, M30, M52 and RESET.

This feature allows for 4 programmable pressure settings: 20, 35, 52, and 70 Bar.

The Qaa variable is used to select the desired pressure command (Bar).

When tool management is used, the desired pressure can be entered directly into the tool
management table COOL PRES (BAR) field on a per tool basis. If the Qaa variable is not
programmed with the M59, the value in tool management will be used. If the Qaa variable is
programmed with the M59, this value will override the tool management value, but will not alter the
value.

For information on loading data into the Tool Management table, see the TOOL MANAGEMENT
section.
Note: The Chip BLASTER coolant system is used on newer model machines.

69.30 - 62 PROGRAMMING CODES


M59 - PROGRAMMABLE COOLANT PRESSURE (BÜRENER COOLANT SYSTEM)

REQUIRED: M59 Qaaa S1 MODAL

FUNCTION: M59 is used to turn on the variable pressure through the spindle coolant. This feature is Optional.

FACTS: M59 is canceled by M02, M07, M09, M30, M50 and RESET.

Qaaa Is the desired pressure command (Bar).

S1 Programming an S1 will cause any previously stored pressure to be overwritten.

There are three modes of operation for this command:

1. M59 only

When an M59 is issue without a pressure command, variable pressure coolant will be activated for
the tool in the spindle with the pressure previously defined for that tool. This data is stored in the
D-data table. If no information is defined, an alarm message will be generated and the command
will not be processed.

2. M59 Qaaa

If a pressure command is issued with the M59, this will be used in place of (override) the data in the
coolant command table. The system will determine the correct drive voltage needed to attain the
desired pressure. This data will not be saved in the coolant command table.

3. M59 Qaaa S1

When a pressure command and a save request are issued with the M59, the system will determine
the correct drive voltage needed to attain the desired pressure. This information will then be saved
in the coolant command table (D-data). The data will be saved even if the tool number and
command have been registered in the coolant command table. This operation can be used to
override an existing pressure command for a tool.

Once mode of operation 3 has been done for a tool, the operator / programmer should issue just
M59 commands for the tool in question, until another pressure is desired for that tool or another
tool is place in the pocket. Each time operation 2 or 3 is issued, the system must learn the correct
drive voltage command, which can require 5+ seconds. Issuing an M59 only for a tool where the
drive voltage command has been determined, will result in the system issuing the drive voltage
command without the learning operation.

With Tool Management, variable pressure coolant data will be based on tool numbers defined in
the tool management tables and the operator / programmer will be able to change that data directly
in the tables. The operator / programmer can enter a pressure command directly into the tool
management table's COOL PRES (BAR) field. When that tool is loaded into the spindle and
variable pressure coolant called for using an M59, the system will determine the correct drive
voltage if it has not already been determined. That data will be stored in the coolant command
table. The next time the tool is called for with variable pressure coolant, the drive voltage
command will not need to be learned.

The pressure command defined in tool management can be overridden by issuing an: M59 Qxxx
S1. This will force the system to learn this new pressure for this instance of the variable pressure
coolant call. The new value will be written into the COOL PRES (BAR) field in the tool
management table.

For information on loading data into the Tool Management, see the TOOL MANAGEMENT section.
Note: The Bürener coolant system was used on older model machines.

PROGRAMMING CODES 69.30 - 63


M60 - TOOL REFERENCE

REQUIRED: M60 Taaaa Eaaaa Aaaaa NON-MODAL

FUNCTION: M60 is used to reference the tool(s) / attachment in the spindle and exchange arm.

FACTS: The active tool in the spindle and the preselected tool in the exchange arm must be referenced
when power is lost to the control or when exiting the Tool Exchange Setup Page.

Also, if a tool is manually placed into the spindle, M60 is used to reference the tool.

Messages will be displayed to prompt the operator to perform the required referencing.

Taaaa is used to specify the pocket number of the tool in the spindle.

Eaaaa is used to specify the pocket number of the tool in the exchange arm.

Aaaaa is used to specify the pocket number of an attachment mounted to a head when a modular
tool type Universal is loaded in the attachment.

The M60, T, E and A-codes must be the only commands programmed on the block and the M60
must be programmed before the T, E and A-codes.

This command is not used in the part program, but rather and operator MDI function after the
control is powered up or when coming out of setup mode.

EXAMPLES:

N100 M60 T1 E22; Reference spindle tool = 1 and preselect tool = 22

For additional information on other codes related to Tool Reference, see the TOOL CHANGER and
TOOL MANAGEMENT sections.

M61 - MACRO TO SELECT Z OR W (5-AXIS MACHINING - OPTION)

REQUIRED: M61 Z1 or W1 NON-MODAL

FUNCTION: M61 is a special macro used to select the Z or W-axis that is to be used for 5-axis machining
commands and record the location of the other axis.

FACTS: M61 is used in conjunction with the following 5-axis machining commands:

G43.4 Tool Center Point Control

G41.2 Cutter Radius Compensation 5-Axis Machining Left


G42.2 Cutter Radius Compensation 5-Axis Machining Right

G68.2 Tilted Working Plane

M61 Z1 selects the Z-axis and M61 W1 selects the W-axis.

When M61 is executed, the machine position of the other axis is stored in a parameter and
becomes the stationary axis. 5-axis commands are based on the stationary axis being at this
location. Therefore if the stationary axis is moved, the M61 must be commanded prior to issuing
additional 5-axes commands.

M61 has no effect on normal machining operation.

M61 defaults to the Z-axis at RESET.

Also refer to the Fanuc User’s manual for further information on 5-axis machining.

69.30 - 64 PROGRAMMING CODES


M70 - POSITION INDEXING HEAD (OPTION)

REQUIRED: M70 Aaaa.a

OPTIONAL: M70 Ca

FUNCTION: The M70 cycle is used to index the optional Right Angle Head.

FACTS: The value programmed with the A address can range from 0 to 359.9 degrees.

The zero (0) degree position is with the Attachment Spindle vertical and pointing down. Degrees
increase in the Clockwise direction, viewed from the head out towards the machine table (looking in
the Z- direction).

The Right Angle Head can be indexed in predefined degree increments (typically 5 degrees). The
cycle will index the head to the nearest 5 degree increment position commanded with the A
address (see examples). The head will index to Position taking the shortest distance.

The M70 C command is used to initiate an index (1-4) of the multi position stop block attachment.
Refer to the ATTACHMENTS OPERATION for more information.

EXAMPLE:
180°
N200 M70 A0; Index head to 0 degree position
N500 M70 A30; Index head to 30 degree position
N600 M70 A46; Index head to 45 degree position 90° 270°
N700 M70 A78; Index head to 80 degree position
M800 M70 C1; Orient attachment to position 1
Note: Degree position as viewed from +Z direction. 0°

M77- ACTIVATE TOOL PROBE (OPTION)

REQUIRED: M77 MODAL

FUNCTION: M77 will activate the probing hardware set 2.

FACTS: M77 is used to turn on the Tool Probe.

M77 will have top priority and take place at the beginning of the line.

EXAMPLES: Renishaw probing cycles are used for all probing and are explained in the Renishaw Probing
manual supplied with your machine.

M78 - ACTIVATE PART PROBE (OPTION)

REQUIRED: M78 MODAL

FUNCTION: M78 will activate the probing hardware set 1.

FACTS: M78 is used to turn on the Part Probe.

M78 will have top priority and take place at the beginning of the line.

When M78 is executed, the probe will be active for 2 minute and 14 seconds unless the probe is
tripped.

The spindle must be oriented to C0 before commanding the M78.

EXAMPLES: Renishaw probing cycles are used for all probing and are explained in the Renishaw Probing
manual supplied with your machine.

PROGRAMMING CODES 69.30 - 65


M79 - DEACTIVATE PROBE (OPTION)

REQUIRED: M79 MODAL

FUNCTION: M79 is used by the programmer to turn off the probes and deactivate M77 and M78 when they are
not in use.

FACTS: M79 will take place at the beginning of the line and has top priority.

M79 will remove probe protection with the control unable to detect a probe trip.

EXAMPLES: Renishaw probing cycles are used for all probing and are explained in the Renishaw Probing
manual supplied with your machine.

M98 - CALLING SUBPROGRAM

REQUIRED: M98 Ppppp or M98 <PART1> NON - MODAL

FUNCTION: This code is used to call a subprogram from a main program.

M98 is only used to call a program; it cannot pass information to the subprogram such as variables.

M98 must not be programmed with any other M-codes.

EXAMPLES: For additional information on M98, refer to the SPECIAL PROGRAMMING FUNCTIONS section.

M99 - END OF SUBPROGRAM

REQUIRED: M99 NON-MODAL

FUNCTION: The M99 code indicates the end of the subprogram is reached. When the M99 is executed, the
subprogram will return to the main program.

If the M99 and P command are executed in the main program, the control goes to the sequence
number designated by P.

M99 must not be programmed with any other M-codes.

EXAMPLES: The following example illustrates the use of M99 in a main program. This example could be used
to take a spring pass for a threading cut.

N200 G00 G91 Z.3;


N210 G00 X7;
N220 G01 Z-.39 F.03 G95;
N230 G00 X8;
N240 M01;
/N250 M99 P0200;
N260 G0 Z10 M02;

On line 250 the M99 is calling a repeat to line 200. The control will repeat line 200 through line 250
until the BLOCK SKIP pushbutton is turned on.
Note: If no P command is programmed behind the M99, the control will start at the
beginning of the program.

69.30 - 66 PROGRAMMING CODES


M160 - SELECT RAM AS W-AXIS (FLOOR-TYPE RAM ONLY)

REQUIRED: M160 MODAL

FUNCTION: On floor-type machines with a ram this M-code is used on machines equipped with multiple W-axes
(auxiliary slides). M160 selects the Ram as the W-axis and the Auxiliary Slides as the W2-axis.

FACTS: While the Ram is selected as the W-axis, the Auxiliary Slide of the active zone is programmed as
W2.

M160 is canceled by M161.

M160 is the default at RESET, M30 and M02.

M160 must be programmed on a block by itself.

EXAMPLES: For examples and more information on W-axis designation, see the WORK ZONE section.

M161 - SELECT AUXILIARY SLIDE AS W-AXIS (FLOOR-TYPE RAM ONLY)

REQUIRED: M161 MODAL

FUNCTION: On floor-type machines with a ram this M-code is used on machines equipped with multiple W-axes
(auxiliary slides). M161 selects the Auxiliary Slides as the W-axis and the Ram as the W1-axis.

FACTS: While the Auxiliary Slide is selected as the W-axis, the Ram is programmed as W1.

M161 is canceled by M160, RESET, M30 and M02.

M161 must be programmed on a block by itself.

EXAMPLES: For examples and more information on W-axis designation, see the WORK ZONE section.

M170 - WORK ZONE AUTO SELECT (FLOOR-TYPE)

REQUIRED: M170 MODAL

FUNCTION: M170 activates the Work Zone auto select feature.

On floor-type machines with M170 active, the active Work Zone will be automatically selected by
the X-axis location. When the X-axis is positioned onto another Work Zone, the previous work
zone will remain active until the X-axis is stopped.

FACTS: M170 is the control power-on default.

When the machine is positioned into another Work Zone, the previous work zone will remain active
until all axes are stopped.

M170 cancels M171 through M174.

M170 must be programmed on a block by itself.

W2/B or W/B commands are used to command the auxiliary slide and rotary table in the active
zone. The axis designation is switched when a new zone becomes active.

EXAMPLE: For additional information on Work Zones, see the WORK ZONE section.

PROGRAMMING CODES 69.30 - 67


M171- M174 - WORK ZONE AUTO OVERRIDE (FLOOR-TYPE)

REQUIRED: M171 - M174 MODAL

FUNCTION: These M-codes are used on machines equipped with multiple Work Zones. They allow the user to
select the desire work zone independent of machine position.

FACTS: M171 Activate zone 1

M172 Activate zone 2

M173 Activate zone 3

M174 Activate zone 4

If a zone is inhibited and a zone activate M-code is issued, a message and feedhold will be
generated. The operator will need to release the inhibit and then the feedhold to continue.

M-code zone activation will allow the machine to move (and stop) through other zones without
activating them.

M171 - M174 are canceled by M170 (Auto Select) and by activating another zone.

M171 - M174 must be programmed on a block by itself.

EXAMPLE: For additional information on Work Zones see the WORK ZONES section.

M198 - CALL SUBPROGRAM FROM EXTERNAL DEVICE

REQUIRED: M198 Paaaaaaaa NON - MODAL

FUNCTION: This code allows large programs to be run from an external device (drip feed). M198 is
commanded in the main program to call the subprogram from the Input / Output device.
Instructions for setting the Input / Output device are given in the PART PROGRAM OPERATIONS
section of this manual (SETTING THE DEFAULT DEVICE topic). The programs to be called must
be stored in this device.

The I/O Channel device must be defined as device #4 on the SETTING screen:

The program file names must use the following format: Oaaaaaaa (8 digit program names are
used). The file names are the same as the program number.

The Subprogram format is as follows:


%{LF};
O12345678 (COMMENT) {LF};
...
M99 {LF};
%

EXAMPLES: For additional information on M198, refer to the PART PROGRAM OPERATIONS section.

69.30 - 68 PROGRAMMING CODES


M236 - CHIP CONVEYOR FORWARD

REQUIRED: M236 MODAL

FUNCTION: M236 turns on the chip conveyor in a forward motion.

FACTS: M236 is canceled by M238.

The MANUAL / AUTO selector switch on the chip conveyor must be in the AUTO mode.

M238 - CHIP CONVEYOR STOP

REQUIRED: M238 MODAL

FUNCTION: M238 turns off the chip conveyor.

FACTS: M238 should be programmed after the use of M236.

The MANUAL / AUTO selector switch on the chip conveyor must be in the AUTO mode.

M240/M242/M243 - COOLANT FAULT REACTIONS

REQUIRED: M240/M242/M243 MODAL

FUNCTION: M240 - Force an immediate feedhold

M242 - No reaction

M243 - Cycle out at end of next G0 block

FACTS: These M-codes allow the user to control the reaction to a no coolant condition.

The default reaction to coolant faults can be set in a PMC constant; CLDRC2. This PMC constant
will have a default setting of zero (0) from the factory.

Refer to the MAG Electrical Service manual provided with your machine regarding changing PMC
Constants.

PROGRAMMING CODES 69.30 - 69


CHAMFERING AND CORNER RADIUS (OPTION)

Chamfering and corner radius blocks can be automatically inserted between two G01 and/or G02/G03 contouring
blocks. Chamfering is commanded by inserting a C command at the end of the first block. The C represents the
distance from the corner point to the beginning and ending points. Corner radius is commanded by inserting an R
command on a first block. The R represents the desired corner radius. The following illustrates the programming
requirements for chamfering and corner radius.

GENERAL NOTES

The following apply to programming the chamfering and corner radius feature.

The C and R commands are entered at the end of the block and are separated by a comma: G1 X10, R.5.

Chamfering and corner radius are performed by the axes in the selected plane (G17, G18 or G19). The plane select
cannot be change while commanding chamfering and corner radius.

The block following the chamfering and corner radius command must contain a linear or circular interpolation (G01,
G02 or G03) move in the selected plane.

The move command must be longer than the specified chamfer distance.

The angle between two linear blocks and the tangent between a linear and circular block must be greater than 1
degree.

The following G-code cannot be used in a block that contains Chamfering and Radius:

• All Group-00 G-codes except G04 and G68

Please refer to the Fanuc User’s manual for further information.

EXAMPLE: MILL INSIDE CONTOUR

.5 Chamfer
.5 Chamfer

N100 G00 X-3.5 Y-3 G42; Position to clearance point


N110 G00 Z-1; Position to Z depth
N120 G01 Y-2 F10; Feed to start point
N130 G01 X-3 Y0, C.5; Feed to chamfer intersection & cut chamfer
N140 G01 X-1.5, R.3; Feed to .3 radius tangent point & cut radius
N150 G02 X1.5 Y0 R1.5, R.3; Cut 1.5 radius arc to .3 radius tangent point & cut radius
N160 G01 X3, C.5; Feed to chamfer intersection & cut chamfer
N170 G01 X3.5 Y-2; Feed to end point
N180 G01 Y-3; Feed to clear part

69.30 - 70 PROGRAMMING CODES


CANNED CYCLES

The canned cycle codes G73 - G89 provides a simplified method of programming axis motion to accomplish
repetitive operations, such as drilling, tapping and boring. The following is a listing and description of each code.
G73 High Speed Peck Drilling Cycle
G74 Left Hand Tapping Cycle
G76 Fine Bore / Move Off Center / Retract Cycle
G80 Canned Cycle Cancel
G81 Drill / Bore Cycle
G82 Drill / Bore / Dwell Cycle
G83 Peck Drilling Deep Hole Cycle
G84 Right Hand Tapping Cycle
G85 Ream Cycle
G86 Bore / Stopped Spindle Retract Cycle
G87 Boring Cycle / Back Boring Cycle
G88 Boring Cycle
G89 Ream / Dwell Cycle

REQUIRED: The proper G7x or G8x code to accomplish the desired result.

Axis or axes are commanded to position to the hole location at the rapid traverse rate.

R data is used to position the drilling axis to a clearance location off the piece and may also be
used for the retract position.

Command to position the drilling axis to depth. Specifies the distance from the R to the bottom of
the hole in incremental mode (G91) or the position of the bottom of the hole in absolute mode
(G90).

The F entry is used to program the feedrate and is used for the thread lead required for the tapping
cycles.

OPTIONAL: Q data is a variable used in some cycles. Q specifies the cutting amount for the G73 and G83
cycles and is the shift amount for the G76 and G87. The Q value is always incremental. For the
first cut, the Q value is from the R point.

P data is used to program the dwell on some cycles. The P data functions the same as the G04
code.
A K entry specifies the number of times to repeat the canned cycle. The K is typically only used
when incremental programming is used, otherwise the same hole would be machined.

When K equals 0, the drilling data is only stored and no drilling is performed. For example:

N100 G81 R.1 Z-2 K0; Store modal data only - don’t drill
N110 X10 Y10; Drill first hole

PARAMETERS: The following parameters apply to the G7x or G8x cycles. These parameters can be set while in
the MDI mode through the system page.
5114 Retract value for G73 High Speed Peck cycle.
5115 Return clearance for G83 Peck cycle.
5148 Tool Retraction Direction for G76 & G87 cycles.
Default Setting: Axis 1(X) = 2(+Y), Axis 2(Y) = -1(X-), Axis 4(Z) = 2(Y+), Axis 5(W) = 2(Y+)

PROGRAMMING CODES 69.30 - 71


PLANE SELECTION

The canned cycles have a variable drilling axis, which allows drilling with the Z or W-axes, and when using right angle
attachments, the X and Y-axes. The drill axis is the axis perpendicular to the selected plane and is determined by the
G17 through G19 plane select codes. G17 through G19 may be specified on any blocks before the G73 through G89
blocks and do not have to be programmed on the same blocks as the G73 through G89 blocks.

Off-Center Axis
Plane Program Code Drilling Axis
G76 & G87 Only

X/Y G17 Z or W Y+

Z/X G18 Y X-

Y/Z G19 X Y+

DATA FORMAT G90/91

The canned cycles can be performed in absolute (G90) or incremental (G91) modes.

In absolute mode the hole location and drilling axis moves are based on the part zero locations. In incremental mode
the hole location, R data and drilling axis moves are incremental. The drill depth is an incremental move from the R
plane.

Depth Depth
R Position
(N120) (N120) R Position
(N120) (N120)

Hole Position Hole Position


(N100) (N100)
Z0 Z0
Z-1.75 Z-1.75
Initial Level Initial Level
(N110) (N110)

N100 G90 G0 X0 Y10 N100 G90 G0 X0 Y10


N110 Z2.5 N110 Z2.5
N120 G81 G98 R.1 Z-2.0 N120 G91 G81 G98 R-2.4 Z-2.1

RETURN POINT LEVEL G98/G99


When in the G98 mode, the tool will return to the initial level after executing the canned cycle. G98 is the default at
power up, RESET, M02, and M30.

When in the G99 mode, the tool will return to the R plane position after the executing the canned cycle.

Depth Depth
R Position R Position

Initial Level Initial Level

G98 Initial Level Return G99 R Level Return

69.30 - 72 PROGRAMMING CODES


DATA FOR CANNED CYCLES

The G7x and G8x code and drilling axis commands, which include R, P, Q, F data and the drilling axis depth
command, are modal and do not need to be repeated on each hole. These data are retained unless changed or until
the canned cycle is canceled (G80). The feedrate is retained even if the canned cycle is canceled.

When the RESET is pressed, the canned cycle modal data are cleared.

The spindle must be started using the M03 or M04 function before the canned cycles are specified.

When canned cycles are performed in single block mode, the control can generate a FEEDHOLD as many as three
times for one hole. The number of times the control goes into FEEDHOLD depends on the canned cycle used.

When tool lengths are specified (G43 or G44) on the same line as the canned cycle, the tool positions to the R point.

DESCRIPTION OF CANNED CYCLES

Following is a description of each G7x and G8x series code and sketches to illustrate the tool motion caused by the
various commands.

G80 - CANNED CYCLE CANCEL

The G80 code can be used in a block immediately following an automatic canned cycle operation to cancel the
canned cycle preparatory code; this includes G73 through G89. Axis commands programmed along with the G80
code will position at rapid traverse. Programming a G00 or G01 code will also cancel a Canned Cycle.
Note: When the rigid tapping canned cycle is cancelled, the S value used for rigid tapping is also cleared
(as if S0 is specified). Accordingly, the S command specified for rigid tapping cannot be used in a
subsequent part of the program after the cancellation of the rigid tapping canned cycle. After
canceling the rigid tapping canned cycle, specify a new S command as required.

PROGRAMMING CODES 69.30 - 73


G73 - HIGH SPEED PECK DRILLING CYCLE

The G73 code, when programmed along with the appropriate codes, will position to the hole location, approach the
workpiece to a clearance point, feed the Q depth increment, retracting the amount in parameter #5114 and then
repeating this process until the program depth is reached. The following is an example of a typical G73 cycle and the
sequence of motions that occur when machining with the Z or W-axes (G17 active).

EXAMPLE1:

N100 G99 G73 X5 Y5 R.1 Z-2 Q.5;


X and Y
SEQUENCE OF OPERATION Position

STEP 1. Rapid to X Y

STEP 2. Rapid to R
Rapid to R
STEP 3. Feed Q increment Q

Feed to Q
STEP 4. Retract amount in parameter #5114

STEP 5. Repeat 3 and 4 until Z depth is reached


Retract
amount in
STEP 6. Rapid to R due to G99
#5114
EXAMPLE G73 WITH G18 ACTIVE Q

The following is an example of a typical G73 cycle with a G18 plane Feed to Q
select active and the sequence of motion that will occur when
machining with the Y-axis (right angle head).
Retract
EXAMPLE2: amount in
#5114
N100 G99 G18 G73 X3 W5 R.1 Y-2 Q.5;

SEQUENCE OF OPERATION
Feed to Z
STEP 1. Rapid to X W

STEP 2. Rapid to R

STEP 3. Feed Q increment Rapid to R

STEP 4. Retract amount in parameter #5114

STEP 5. Repeat 3 and 4 until Y depth is reached

STEP 6. Rapid to R due to G99

69.30 - 74 PROGRAMMING CODES


G74 - LEFT HAND RIGID TAPPING CYCLE

The G74 code, when programmed along with the appropriate information, will position to the hole location, approach
the workpiece to a clearance point, feed to depth, reverse the spindle, feed back to the clearance point, and rapid to
the retract point. The following is an example of a typical G74 cycle and the sequence of motions that occur when
machining with the Z or W-axes. The F value represents 13 threads per inch.
EXAMPLES:

N100 M42 G95; 2-speed head


X and Y
N110 G99 G74 X5 Y5 R.25 Z-2 F.0769 S300 M4 Optional (P); Position
Note: On machines with a 2-speed head a M42 must to be
programmed prior to the tapping cycle being called and the
S-code (speed) must be programmed on the G74 line.
Rapid to R
SEQUENCE OF OPERATION

STEP 1. Rapid to X Y
Feed to Z
STEP 2. Rapid to R (minimum of 2 threads from the surface) Reverse Spindle

STEP 3. Feed to Z/W at .0769 IPR (F value)

STEP 4. Reverse spindle and feed to R due to G99 at .0769 IPR


Feed to R
STEP 5. Return spindle to initial rotation

The R data must be a minimum of 2 threads from the surface to allow the
axis to achieve the proper feedrate.

G80 cancels the active S-code and must be restated.


When tapping the thread lead must be programmed as an F. For inch threads, the F is calculated by dividing 1 by
the number of threads per inch when in the G95 mode.

G74 rigid tapping cycle allows the use of solid tool holders.

During the G74 rigid tapping cycle, the feedrate override is ignored and the cycle does not stop when FEEDHOLD is
pressed until the tap returns to the R plane or Initial level.

When the TOOL RETRACT / RETURN pushbutton is pressed while executing a rigid tapping cycle, the spindle will
reverse and the cycle will retract as if the cycle was completed and a RESET will occur. Returning to the cycle is not
possible.

The programmed spindle speed must be below the maximum tapping speed in the selected range. The Range / M-
codes and maximum spindle speeds for the 2-speed and 4-speed headstocks are listed below.

HMC PT / RT / MC FT FTR
2 4 2 4 2 4 Speed Head
High Live
Standard Speed Speed Speed Speed Speed 37 / 56 kW 75 kW
Torque Spindle
Head Head Head Head Head 50 / 75 hp 100 hp
RANGE1 / M41 389 257 259 259 68 258 68 99 114 190
RANGE2 / M42 1693 1367 999 1038 170 1033 173 499 234 438
RANGE3 / M43 N/A N/A N/A N/A 437 N/A 445 N/A 359 N/A
RANGE4 / M44 N/A N/A N/A N/A 1285 N/A 1114 N/A 1275 1715

An error is generated if the programmed spindle speed exceeds the maximum tapping RPM in the selected range.
The S-code (speed) must be programmed on the G74 line on 2 speed heads.

Tapping is not allowed in range 1 of the 4-speed headstock. An error will be generated.

The M40 Auto Shift command must be programmed after the tapping operation is complete.

PROGRAMMING CODES 69.30 - 75


G76 - BORE / ORIENT SPINDLE / MOVE OFF CENTER / RETRACT CYCLE

Prior to programming the G76 code, the tool must be oriented opposite the retract direction. This is done by using
the spindle orient (M19) and the orient position (C). The G76 code, when programmed along with the appropriate
information, will position to the hole location, approach the workpiece to a clearance point, feed to depth, orient
spindle, move off center the amount specified by Q (the direction is specified by parameter #5148), rapid to the
retract point and return to center. The following is an example of a typical G76 cycle and the sequence of motions
that will occur when machining with the Z or W-axes.
Position
EXAMPLES: to X and Y

N100 M19 C270;


N110 G99 G76 X5 Y5 R.1 Q.030 W-2 M3;

SEQUENCE OF OPERATION Rapid to R

STEP 1. Orient spindle to C270° (Default to last spindle orient position)

STEP 2. Rapid to X Y

STEP 3. Rapid to R

STEP 4. Feed to Z/W


Feed to Z
STEP 5. Orient spindle

STEP 6. Rapid Y off center Q distance (set by parameter #5148)

STEP 7. Rapid to R due to G99


Orient Spindle
STEP 8. Return to center Move Off Center
Q Distance

Rapid to R
Return to Center

****************************************************************************************

WHEN USING THIS CYCLE, THE APPROPRIATE C ORIENT VALUE MUST BE PROGRAMMED TO
INSURE THE TOOL ORIENTS OPPOSITE THE DEFAULT OFF CENTER MOTION.

G17 = Y-AXIS MOTION


G18 = -X-AXIS MOTION
G19 = Y-AXIS MOTION

****************************************************************************************

69.30 - 76 PROGRAMMING CODES


G81 - DRILL / BORE CYCLE

The G81 code, when programmed along with the appropriate information, will position to the hole location, approach
the workpiece to a clearance point, feed to depth, and retract the tool to a clearance point. The following is an
example of a typical G81 cycle and the sequence of motions that occur when machining with the Z or W-axes.

EXAMPLES:

N100 G98 G81 X5 Y5 R.1 Z-2;

SEQUENCE OF OPERATION X and Y


Position
STEP 1. Rapid to X Y

STEP 2. Rapid to R

STEP 3. Feed to Z/W

STEP 4. Rapid to initial level due to G98


Rapid to R
EXAMPLE G81 WITH G18 ACTIVE

The following is an example of a typical G81 cycle with a G18


plane select active and the sequence of motion that will occur
when machining with the Y-axis. Feed to Z

EXAMPLE:

N100 G98 G18 G81 X3 W5 R.1 Y-2;

SEQUENCE OF OPERATION
Rapid to
Initial Level
STEP 1. Rapid to X W
STEP 2. Rapid to R

STEP 3. Feed to Y

STEP 4. Rapid to initial level due to G98

PROGRAMMING CODES 69.30 - 77


G82 - DRILL / BORE / DWELL CYCLE

The G82 code, when programmed along with the appropriate information, will position to the hole location, approach
the workpiece to a clearance point, feed to depth, dwell and retract the tool to a clearance point. The dwell is
programmable the same as programming the G04. The advantage of this cycle is that it maintains the depth of
precise holes. The following is an example of a typical G82 cycle and the sequence of motion that will occur when
machining with the Z or W-axes.

EXAMPLES:

N100 G99 G82 X5 Y5 R.1 Z-2 P2000; X and Y


Position
SEQUENCE OF OPERATION

STEP 1. Rapid to X Y

STEP 2. Rapid to R

STEP 3. Feed to Z/W Rapid to R

STEP 4. Dwell = 2 seconds

STEP 5. Rapid to R due to G99

Feed to Z
and Dwell

Rapid to R

69.30 - 78 PROGRAMMING CODES


G83 - DEEP HOLE DRILL CYCLE

The G83 code, when programmed along with the appropriate information, will position to the hole location, approach
the workpiece to a clearance point, feed to the depth programmed by the Q incremental value, each time retracting
and returning to previous depth plus the value in parameter #5115. This value can be changed at any time while the
control is in MDI mode. The following is an example of a typical G83 cycle and the sequence of motions that occur
when machining with the Z or W-axes.

EXAMPLES:
X and Y
N100 G99 G83 X5 Y5 R.1 Z-6 Q1; Position

SEQUENCE OF OPERATION

STEP 1. Rapid to X
Rapid to R
Q
STEP 2. Rapid to R
Feed to Q
STEP 3. Feed to Q increment

STEP 4. Rapid to R
Rapid to R
STEP 5. Rapid to previous depth + parameter #5115
Rapid
STEP 6. Feed to Q increment amount in
#5115
STEP 7. Rapid to R Q

STEP 8. Repeat 5 through 7 until Z depth is reached


Feed to Q
STEP 9. Rapid to R due to G99

Rapid to R

Rapid
amount in
#5115

Feed to Z

Rapid to R

PROGRAMMING CODES 69.30 - 79


G84 - RIGHT HAND RIGID TAPPING CYCLE

The G84 code, when programmed along with the appropriate information, will position to the hole location, approach
the workpiece to a clearance point, feed to depth, reverse the spindle, feed back to the clearance point, and rapid to
the retract point. The following is an example of a typical G84 cycle and the sequence of motions that occur when
machining with the Z or W-axes. The F value represents 13 threads per inch.
EXAMPLES:
X and Y
N100 M42 G95; 2-Speed head Position
G99 G84 X5 Y5 R.25 Z-2 F.0769 S300 M3 Optional (P);

SEQUENCE OF OPERATION

STEP 1. Rapid to X Y Rapid to R

STEP 2. Rapid to R (minimum of 2 threads from the surface)

STEP 3. Feed to Z/W at .0769 IPR (F value) Feed to Z


Reverse Spindle
STEP 4. Reverse spindle and feed to R due to G99 at .0769 IPR

STEP 5. Return spindle to initial rotation


Note: The R data must be a minimum of 2 threads from the surface Feed to R
to allow the axis to achieve the proper feedrate.

G80 cancels the active S-code and must be restated.

When tapping the thread lead must be programmed as an F. The F is calculated by dividing 1 by the number of
threads per inch when in the G95 mode.

G84 rigid tapping cycle allows the use of solid tool holders.

During the G84 rigid tapping cycle, the feedrate override is ignored and the cycle does not stop when FEEDHOLD is
pressed until the tap returns to the R plane or Initial level.

When the TOOL RETRACT / RETURN pushbutton is pressed while executing a rigid tapping cycle, the spindle will
reverse and the cycle will retract as if the cycle was completed and a RESET will occur. Returning to the cycle is not
possible.

The programmed spindle speed must be below the maximum tapping speed in the selected range. The Range / M-
codes and maximum spindle speeds for the 2-speed and 4-speed headstocks are listed below.

HMC PT / RT / MC FT FTR
2 4 2 4 2 4 Speed Head
High Live
Standard Speed Speed Speed Speed Speed 37 / 56 kW 75 kW
Torque Spindle
Head Head Head Head Head 50 / 75 hp 100 hp
RANGE1 / M41 389 257 259 259 68 258 68 99 114 190
RANGE2 / M42 1693 1367 999 1038 170 1033 173 499 234 438
RANGE3 / M43 N/A N/A N/A N/A 437 N/A 445 N/A 359 N/A
RANGE4 / M44 N/A N/A N/A N/A 1285 N/A 1114 N/A 1275 1715

An error is generated if the programmed spindle speed exceeds the maximum tapping RPM in the selected range.
The Speed must be programmed in the G84 line on 2 speed heads.

Tapping is not allowed in range 1 of the 4-speed headstock and an error is generated.

The M40 Auto Shift command must be programmed after the tapping operation is complete.

69.30 - 80 PROGRAMMING CODES


G85 - REAM CYCLE

The G85 code, when programmed along with the appropriate information, will position to the hole location, approach
the workpiece to a clearance point, feed to depth, feed back to the clearance point and rapid to the retract point. The
following is an example of a typical G85 cycle and the sequence of motions that occur when machining with the Z or
W-axes.

EXAMPLES:

N100 G98 G85 X5 Y5 R.1 Z-2; X and Y


Position
SEQUENCE OF OPERATION

STEP 1. Rapid to X Y

STEP 2. Rapid to R

STEP 3. Feed to Z/W

STEP 4. Feed to R

STEP 5. Rapid to Initial Level due to G98


Rapid to R

Feed to Z

Feed to R

Rapid to
Initial Level

PROGRAMMING CODES 69.30 - 81


THIS PAGE INTENTIONALLY LEFT BLANK

69.30 - 82 PROGRAMMING CODES


G86 - BORE / STOPPED SPINDLE RETRACT CYCLE

The G86 code, when programmed along with the appropriate information, will position to the hole location, approach
the workpiece to a clearance point, feed to depth, stop the spindle and rapid to the retract point. The following is an
example of a typical G86 cycle and the sequence of motions that occur when machining with the Z or W-axes.

EXAMPLES:

N100 G99 G86 X5 Y5 R.1 W-2;


X and Y
SEQUENCE OF OPERATION Position

STEP 1. Rapid to X Y

STEP 2. Rapid to R

STEP 3. Feed to Z/W, Stop spindle

STEP 4. Rapid to R due to G99

Rapid to R

Feed to Z
Stop Spindle

Rapid to R

PROGRAMMING CODES 69.30 - 83


G87 - BACK BORE CYCLE

Prior to programming the G87 code, the tool must be oriented opposite the retract direction. This can be done by
using the spindle orient (M19) and the orient position (C). The G87 code, when programmed along with the
appropriate information, will position to the hole location, orient the spindle, move off center the amount specified by
Q (the direction is specified by parameter #5148), rapid through the bore, move on center, feed to depth, stop
spindle, rapid to R, orient spindle, rapid to the initial level retract point, and return to center. The following is an
example of a typical G87 cycle and the sequence of motions that occur when machining with the Z or W-axes.
Note: Spindle orient rotation is always clockwise.

EXAMPLES:

N100 M19 C270;


N110 G98 G87 X5 Y5 R-8 W-6 Q.6 M3 Optional (P);

SEQUENCE OF OPERATION

STEP 1. Orient spindle to C270°

STEP 2. Rapid to X Y

STEP 3 Rapid Y off center Q distance (Set by parameter #5148)

STEP 4. Rapid to R

STEP 5. Return to center and start spindle

STEP 6. Feed to Z/W & stop spindle

STEP 7. Rapid to R

STEP 8. Orient spindle (same as step 1)

STEP 9. Rapid Y off center ±Q distance

STEP 10. Rapid to the initial level due to G98

STEP 11. Return to center

****************************************************************************************

THE G99 R PLANE RETURN MUST NOT BE USED WITH THE G87 CYCLE. THE TOOL WILL NOT
WITHDRAW FROM THE WORKPIECE.

****************************************************************************************

****************************************************************************************

WHEN USING THIS CYCLE, THE APPROPRIATE 'C ORIENT' VALUE MUST BE PROGRAMMED
TO INSURE THE TOOL ORIENTS OPPOSITE THE DEFAULT OFF CENTER MOTION:

G17 = Y-AXIS MOTION


G18 = -X-AXIS MOTION
G19 = Y-AXIS MOTION

****************************************************************************************

69.30 - 84 PROGRAMMING CODES


X and Y to Position Return to R
at the Initial Level,
Orient Spindle
Move off Center Q

Rapid to R
Orient Spindle to C Degrees
Move off Center Q Distance

Move Back On Center

Rapid to Initial Level

Return to Center

Feed to Z Depth

PROGRAMMING CODES 69.30 - 85


G88 - DRILL / BORE / DWELL CYCLE

The G88 code, when programmed along with the appropriate information, will position to the hole location, approach
the workpiece to a clearance point, feed to depth, at the completion of the boring cycle, dwells, then the spindle
stops. After the spindle stops the FEEDHOLD will come on. The operator must select JOG mode, manually move
any axes, select MEMORY mode, then press CYCLE START. This allows the operator to retract the tool from the Z
end point to a tool clearance point. The following is an example of a typical G88 cycle and the sequence of motions
that occur when machining with the Z or W-axes.

EXAMPLES:

N100 G88 X5 Y5 R.1 P2000 Z-2;


X and Y
Position
SEQUENCE OF OPERATION

STEP 1. Rapid to X Y

STEP 2. Rapid to R

STEP 3. Feed to Z/W


Rapid to R
STEP 4. Dwell, the FEEDHOLD

STEP 5. Operator selects JOG mode

STEP 6. Operator manually retracts tool. Feed to Z


Dwell
STEP 7. Operator selects MEMORY mode Stop Spindle

STEP 8. Operator presses CYCLE START

STEP 9. Rapid to R position


Note: It does not matter if G98 or G99 is programmed, Manually Move
W/Z to R Point
because after the operator manually moves the by Hand
tool and press CYCLE START the tool will move
back to the initial level.

69.30 - 86 PROGRAMMING CODES


G89 - REAM / DWELL CYCLE

The G89 code, when programmed along with the appropriate information, will position to the hole location, approach
the workpiece to a clearance point, feed to depth, dwell, feed back to the clearance point and rapid to the retract
point. The following is an example of a typical G89 cycle and the sequence of motions that occur when machining
with the Z or W-axes.

The G89 cycle is exactly the same as the G85 cycle except for the dwell at the bottom of the hole.

EXAMPLES:

N100 G98 G89 X5 Y5 R.1 Z-2 P2000;


X and Y
SEQUENCE OF OPERATION Position

STEP 1. Rapid to X Y

STEP 2. Rapid to R

STEP 3. Feed to Z/W

STEP 4. Dwell

STEP 5. Feed to R

STEP 6. Rapid to initial level due to G98 Rapid to R

Feed to Z
Dwell

Feed to R

Rapid to
Initial Level

PROGRAMMING CODES 69.30 - 87


SECTION 69.40
SPECIAL PROGRAMMING FUNCTIONS
TABLE OF CONTENTS

TITLE PAGE
GENERAL ...................................................................................................................................................................... 1

MACROS ....................................................................................................................................................................... 1

MACRO / SUBPROGRAM CALLS ......................................................................................................................... 1

G65 - SIMPLE MACRO CALL ......................................................................................................................... 2

M98 - SUBPROGRAM CALL ........................................................................................................................... 2

M99 - MACRO / SUBPROGRAM END ............................................................................................................ 2

NOTES ON MACROS / SUBPROGRAMS ...................................................................................................... 2

MACRO MODAL CALL A - G66 ...................................................................................................................... 3

MACRO MODAL CALL B - G66.1 ................................................................................................................... 3


MACRO MODAL CALL A/B CANCEL - G67.................................................................................................... 4

MACRO CALL USING G & M-CODES ............................................................................................................ 4

VARIABLES ................................................................................................................................................................... 5

LOCAL VARIABLES - #1 - #33 ............................................................................................................................... 6

COMMON VARIABLES - #100 - #199 AND #500 - #999 ....................................................................................... 7

COMMON VARIABLES RESERVED FOR SPECIAL FEATURES .................................................................. 8

RESET VOLATILE COMMON VARIABLES #100 - #199 ................................................................................ 8

WRITE PROTECT COMMON VARIABLES..................................................................................................... 8

NAMING A COMMON VARIABLE ................................................................................................................... 8

ENTER / CLEAR MACRO VARIABLE DATA .................................................................................................. 9

ENTERING MACRO VARIABLE DATA VIA MACRO VARIABLE DISPLAY PAGE ........................................ 9

CLEAR MACRO VARIABLE DATA ................................................................................................................. 9

OUTPUT / INPUT MACRO VARIABLE DATA ................................................................................................. 9

SYSTEM VARIABLES .......................................................................................................................................... 10

TOOL OFFSET VARIABLES - #2001 - #13999 .................................................................................................... 11

ALARM - #3000 .................................................................................................................................................... 11

CLOCK #3001 - #3002 ......................................................................................................................................... 11

AUTO OPERATION CONTROL VARIABLES - #3003 - #3004 ............................................................................ 12

SETTING (HANDY) VARIABLE - #3005 ............................................................................................................... 13

STOP WITH OPERATOR MESSAGE - #3006 ..................................................................................................... 13

MIRROR IMAGE VARIABLE - #3007 ................................................................................................................... 13

STATUS DURING RESTART OF A PROGRAM VARIABLE - #3008................................................................... 13

TIME & DATE VARIABLES #3011 - #3012........................................................................................................... 13

PARTS COUNT VARIABLES - #3901 - #3902 (OPTION) .................................................................................... 14


TOOL COMPENSATION MEMORY VARIABLE - #3980 ..................................................................................... 14

MAIN PROGRAM NUMBER VARIABLE - #4000 ................................................................................................. 14

MODAL DATA VARIABLES #4001 - #4120 .......................................................................................................... 14

AXIS DESIGNATIONS .......................................................................................................................................... 17

AXIS POSITION VARIABLES - #5001 - #5089..................................................................................................... 17

WORK COORDINATE SHIFT VARIABLES - #5201 - #5329................................................................................ 19

ADDITIONAL WORK COORDINATE SHIFT VARIABLES - #7001 - #19989 ....................................................... 20

ROTARY TABLE DYNAMIC FIXTURE OFFSET VARIABLES - #5521 - #5669 ................................................... 21

INDEXED VARIABLES ................................................................................................................................................ 21

EXAMPLE ............................................................................................................................................................. 21

MATHEMATICS ........................................................................................................................................................... 22

SPECIAL FUNCTIONS ......................................................................................................................................... 22

DECISION MAKING / BRANCHING ............................................................................................................................ 24

IF STATEMENT (IF) ............................................................................................................................................. 24

GOTO STATEMENT ............................................................................................................................................. 25

EXAMPLE OF IF AND GOTO ............................................................................................................................... 25

WHILE / DO STATEMENT.................................................................................................................................... 26

EXTERNAL OUTPUT COMMANDS ............................................................................................................................ 27

OUTPUT DESTINATION ...................................................................................................................................... 27

NOTES ON EXTERNAL OUTPUT COMMANDS: ................................................................................................ 28

EXAMPLE EXTERNAL OUTPUT ......................................................................................................................... 28

REV 1 (10-2012)
GENERAL

Parametric programming is referred to as Custom Marco. Custom Macro extends the standard G-code part
programming language to include the features of an easy-to-use, yet powerful computer programming language,
enabling the part programmer to improve productivity by developing tools and subprograms that are specific to part
geometries.

Custom Macro provides a variety of user and system variables, arithmetic and logical operations and conditional
branches that add functionality and flexibility to part programs.

MACROS

In general, macros or subprograms are called from a main program and are normally used to perform special
functions or to reduce programming time and effort.

The Fanuc Control offers the M98, G65, and G66 subprogram calls.

SIMPLE MACRO CALL G65 is a method of calling a macro program and transferring variables to the
subroutine being called. It is convenient to use variables in a subroutine. They also
provide a great deal of versatility.

MODAL CALL A G66 is a method of activating a modal call subprogram that is executed each time a
move command is programmed. G66 is canceled by G67. This function is useful
when drilling cycles are programmed as custom subprograms.

MODAL CALL B G66.1 is a method of activating a modal call subprogram that is unconditionally
executed on each block. All addresses except G, L, N, O, and P are used as
arguments and pass values to parameters the same as G65. G66.1 is canceled by
G67.

SUBPROGRAM CALL M98 is a method of calling certain designated programs without transferring any
variables.

MODAL CALL A/B CANCEL G67 cancels the modal macro call commands in G66 and G66.1.

MACRO / SUBPROGRAM CALLS

The most significant point on macros verses subprograms is that variables can be used in the custom macro body.
Operations can be performed on variables and actual values can be assigned to the variables in the custom macro
instructions. That is, programs can be made using variables for data that might change or be unknown.

Similar work pieces can be programmed using custom variable macro programs. The programmer writes one custom
macro program and only needs to assign the actual values for each piece. Reprogramming is not required for every
part, just change the variables.

Macros / subprograms can be nested together where more than one subprogram can be active at one time. Program
A can call subprogram B, which can call subprogram C, and so on. The control allows for ten (10) levels of
subprograms to be nested. When the custom macro feature is used, subprograms and macro call can be nested up
to a total of fifteen (15) levels.

When attempting to use macros / subprograms more than a couple of levels deep, a plan, flow chart, etc. will
probably be helpful.

SPECIAL PROGRAMMING FUNCTIONS 69.40 - 1


G65 - SIMPLE MACRO CALL

G65 Ppppp Laaaa A B C or G65 <pppp> Laaaa A B C Main Program Simple Macro
Ppppp Specifies the Subprogram Number N10 -- --- -; O6666; Program number
N20 -- --- -; N901 G91; Incremental mode
<pppp> Specifies the Subprogram Name
N30 -- --- -; N902 X-#1; X feed move -#1 value
Laaaa Specifies the number of times a subprogram N40 G65 P6666 A3; N902 X#1; X feed move-#1 value
will be executed. If L is omitted, the N50 -- --- -; N903 G90; Absolute mode
subprogram is executed once. N904 M99; End of sub return to
N60 - - - - - - ;
ABC Addresses (local variables) to pass values (see main program
LOCAL VARIABLES in this section for more N70 M30 - - - - ;
information)

M98 - SUBPROGRAM CALL

M98 Ppppp Laaaa or M98 <pppp> Laaaa

Ppppp Specifies the subprogram number

<pppp> Specifies the subprogram file name

Laaaa Specifies the number of times a subprogram will be executed. If L is omitted, the subprogram is executed
once.

Main Program Subprogram


N10 -- --- - O9999 - - - - - -
N20 -- --- - N901 - - - - - -
N30 -- --- - N902 - - - - - -
N40 M98 P9999 N902 - - - - - -
N50 -- --- - N903 - - - - - -
N60 -- --- - N904 M99
N70 M30 --- -

M99 - MACRO / SUBPROGRAM END


M99 is used to end all types of sub programs (M98, G65 or G66). The M99 is always the last line of a sub program,
but may be used in the middle of a sub program.

NOTES ON MACROS / SUBPROGRAMS

G65 must be specified before the macro / subprogram being called.

A series of blocks may be stored as a macro / subprogram. The subprogram can then be called up from the part
program and executed from 1 to 9999 times. The macro / subprogram must already be in memory when the part
program calls it up.

A macro / subprogram begins with a program name or number and ends with an M99.

After a macro / subprogram has been executed the main program continues at the point where it left off.
Note: If a program is intended to be used as a macro / subprogram, an end of program (M02/M30) should
not be used, but rather an M99.

69.40 - 2 SPECIAL PROGRAMMING FUNCTIONS


MACRO MODAL CALL A - G66

Each time a move command is executed, the specified subroutine is called. The line in which the G66 is
commanded, passes variable data to the specified macro to be run when axes motion is programmed on the
following blocks. Variable data is only passed on the G66 line and is retained until canceled. G66 is canceled by
G67. The same method of passing values to variable used with G65 applies to G66.

EXAMPLE: Drill holes with modal call G66.

N210 G66 P8000 A.1 B-1; Macro O8000 is called and data is passed, #1=.1, #2=-1
The macro is not executed on this block
N220 G00 X2; The machine will move to X2 and then execute program O8000
N230 G00 X5; The machine will move to X5 and then execute program O8000
N240 G67; Cancel the G66 macro modal call

Program O8000

%
N10 G00 Z#1; Position Z-axis to #1
N20 G01 Z#2; Feed Z to #2
N30 G00 Z#1; Position Z to #1
N40 M99;
%

This function can be used similar to a drill cycle as shown in PROGRAM CODES section.

MACRO MODAL CALL B - G66.1

While in the G66.1 mode, the specified macro will be called unconditionally on each block. This function can be used
similar to a drill cycle as shown above. The variables are passed in the following manner.

On the G66.1 block:

• Addresses specified as arguments and variables are the same as for G65 simple calls

On blocks following a G66.1 block in which a call is performed

• Addresses G, P, and L can also be used as arguments

• Address G corresponds to #10

• Address L to #12

• Address P to #16
• The restrictions on the input format of normal NC commands are put on the data. For example: G1000.
P0.12 L-4 cannot be specified.

• When multiple G-codes are specified, only the last G-code is used as an argument

• O, file name, N-codes and G-codes not in group 00 are passed to the next and subsequent blocks
Note: In a block in which only an O number, file name, sequence number, EOB, macro statement, or M99
command is specified, a macro is not called for each block.

Note: In each block, when an address other than O, file name, or N is specified, it is assumed to be an NC
command and a macro is called for each block. When N is specified following an address other than
O, file name, or N, it is used as an argument. In this case, N corresponds to variable #14 and the
number of decimal places is 0.

Note: If M99 is specified in a block in which a macro is called, it is executed after the call is performed.

The arguments must be passed on each block and are not retained. G66.1 is canceled by G67.

SPECIAL PROGRAMMING FUNCTIONS 69.40 - 3


EXAMPLES: Interchange Y and X-axis with modal call G66.1.

N210 G66.1 P102 X0 Y5; Y will position to 0 and X will position to 5


N220 X2; Y will position to 2
N230 X4; Y will position to 4
N240 G67; Cancel the G66.1 macro modal call

Macro 102

%
O0102;
N10 X#25 Y#24 Z#26 ; Interchange X and Y-axes
N20 M99;
%

Refer to the Fanuc User’s manual for more detailed information the Macro calls.

MACRO MODAL CALL A/B CANCEL - G67

G67 cancels the modal macro call commands in G66 and G66.1.

MACRO CALL USING G & M-CODES

It is possible to set up parameters to create G-code or M-codes to call a macro program. The macro program can
then be called in the same fashion as a simple call macro. The following table list corresponding parameter numbers
with program numbers.

G-code M-code
Parameter Program Parameter Program
number number number number
6050 O9010 6080 O9020
6051 O9011 6081 O9021
6052 O9012 6082 O9022
6053 O9013 6083 O9023
6054 O9014 6084 O9024
6055 O9015 6085 O9025
6056 O9016 6086 O9026
6057 O9017 6087 O9027
6058 O9018 6088 O9028
6059 O9019 6089 O9029
TABLE 69.40 - 1
G & M-code Macro Call Numbers
Note: When establishing G & M-codes for macros make sure to verify which parameters and program
numbers have been used by MAG.
Note: There are additional parameters settings available for calling macro and subroutine programs. Refer
to the Fanuc parameter manuals for more information.

69.40 - 4 SPECIAL PROGRAMMING FUNCTIONS


VARIABLES

Variables can be used in macros or subprograms instead of numerical data. The user can assign any value to a
variable which will allow custom macros to become much more flexible than the conventional subprogram.

Variables supply a means of entering values allowing for greater flexibility to be built into routines and programs
enhancing their utility and power. Variables can be thought of as a place to temporarily store a number for later use
in the program or to pass that number (argument) to another program.

There are three types of variables, Local, Common and System.

Variable Type of
Function
Number Variable

Always This variable is always null (empty). No value can be assigned to this
#0
Empty (Null) variable (including 0).

Local Variables can only be used within a macro to hold data such as
Local results of operations. When the power is turned off, local variables are
#1 - #33
Variable initialized to null (empty). When a macro is called, arguments are assigned
to local variables.

Common variables can be shared among different macro programs. These


#100 - #199 Common variables can be used to store numbers or perform mathematics. When the
#500 - #999 Variables power is turned off, variables #100 to #199 are initialized to null (empty).
Variables #500 to #999 hold data even when the power is turned off.

#1000 and System System variables are used to read and write a variety of CNC data items
Higher Variables such as the current position and tool compensation values.

TABLE 69.40 - 2
Types of Variables
Note: Program numbers, sequence numbers, and optional block skip numbers cannot be referenced using
macro variables.

SPECIAL PROGRAMMING FUNCTIONS 69.40 - 5


LOCAL VARIABLES - #1 - #33

Local variables are used to pass information to a macro program at the time it is called in the part program. Each
level of a program (main program and subprogram) is allowed up to 33 local variables. Local variables are assigned
#1 - #33. Each local variable number is assigned a specific letter. The variables are LOCAL to the macro program
that is called.

When the macro moves to the next level, a new set of 33 local variables are available for that level. When the macro
return (M99) is reached, the local variables in the preceding level are set back to the same condition as when they
were stored.

To store a value into a variable, the following type of command is used: Address of
Variable in
#5=34 or G65 P800 J34 the Argument
Macro
Assignment
Values can also be passed to local variables through the G65 command.
A #1
For example, a simple macro call in a program may look like this: B #2
C #3
G65 P9101 X11.0 Z22.0 A100.0 B200.0;
D #7
G65 = Calls a macro program E #8
P9101 = Calls macro program O9101 F #9
X11.0 = The value of 11.0 is moved into local variable #24 H #11
Z22.0 = the value of 22.0 is moved into local variable #26 I #4
A100.0 = The value of 100.0 is moved into local variable #1 J #5
B200.0 = the value of 200.0 is moved into local variable #2 K #6
When the G65 line executes, program O9101 is called and the X, Z, A & B data is M #13
moved into the local variables. Program O9101 will use the local variables to Q #17
perform its operation, by referencing the local variable numbers. R #18
S #19
All local variables are cleared every time a M02, M30, M99 is programmed or a
T #20
RESET is pressed.
U #21
The chart to the right shows the correlation between the letter address and the V #22
variable number. W #23
The letters G, N, P, O and L cannot be used. G is for calling up macros, N is for X #24
sequence number, P is the macro number being called, O is the program number Y #25
and L is used for looping. Z #26

Whenever I, J, and K are used, they must be in alphabetical order.

The value of a variable which has not been defined is called vacant. Variable #0 is used for variables that are always
vacant.

The following is a small example of the vacant variable and how it can be used:

• If #26 is vacant and G00 X100 Z#26 is programmed, then X would rapid to X100 and Z would not move at all.

• If #26 equals zero and G00 X100 Z#26 is programmed, then X would rapid to X100 and Z would move to Z0.

• If #7 is vacant and #8 = #7 is programmed, then #8 would be vacant.

• If #6 is vacant and #3=#6*10 is programmed, then #3 would be vacant.

69.40 - 6 SPECIAL PROGRAMMING FUNCTIONS


Another method of passing value is using I, J and K repeatedly. The following table illustrates this method:

Variable Variable Variable


Address Address Address
Number Number Number
A #1 K3 #12 J7 #23
B #2 I4 #13 K7 #24
C #3 J4 #14 I8 #25
I1 #4 K4 #15 J8 #26
J1 #5 I5 #16 K8 #27
K1 #6 J5 #17 I9 #28
I2 #7 K5 #18 J9 #29
J2 #8 I6 #19 K9 #30
K2 #9 J6 #20 I10 #31
I3 #10 K6 #21 J10 #32
J3 #11 I7 #22 K10 #33

• I, J and K must be used in alphabetical order

• A, B & C is used once and I, J, & K are used up to ten times

COMMON VARIABLES - #100 - #199 AND #500 - #999

Common variables can be used throughout subprograms and main programs and are shared by all macros. Values
can be enter through the part program or loaded using the INPUT softkey on the Custom Macro display page as
shown here. The Custom Macro display page is part of the offset display.

A common variable is not assigned any special order and can be used freely.
Note: Care must be taken when using #100 to #199 and #500 to #999 variables because some are reserved
for special features and options. See MACRO VARIABLES RESERVED FOR SPECIAL FEATURES.

Macro programs can transfer data between themselves by using common variables. Data can be calculated using
local variables and then saved in a common variable for the next macro being called.

FIGURE 69.40 - 1
Custom Macro Page

SPECIAL PROGRAMMING FUNCTIONS 69.40 - 7


COMMON VARIABLES RESERVED FOR SPECIAL FEATURES

The following table lists the macro variables reserved for special features. These variables can be used for other
purposes but they will be overwritten by the probe cycles.

Part Probe
#135 - #149 Probed results
#500 - #517 Basic data without vector calibration Standard part probe feature
#518 - #521 Multi-stylus data - K1 and K11 Standard part probe feature
#522 - #525 Multi-stylus data - K2 and K12 Standard part probe feature
#534 - #541 Vector multi-stylus data - K11 Optional vector multi-stylus
#542 - #549 Vector multi-stylus data - K12 Optional vector multi-stylus
Tool Probe
#550 - #562 Basic Index configurable
Reserved For MAG Use
#570 Pallet number on machine equipped with pallets
#571 - #579 Various applications
Non-Contact Tool Probe
#610 - #620 Basic Standard laser feature
TABLE 69.40 - 3
Reserved Common Variables

RESET VOLATILE COMMON VARIABLES #100 - #199

Common variables #100 - #199 are normally reset to vacant when the RESET pushbutton is pressed. This can be
changed by setting bit 6 of parameter #6001 where 0 = reset and 1 = retain. Care should be taken when changing
this parameter so that it does not affect any other features on the machine.

WRITE PROTECT COMMON VARIABLES

Common variables (#500 to #999) can be protected (set to READ only) by setting variable numbers in parameter
#6031 and #6032. This protection is enabled for input by MDI on the macro screen and enable for write operation by
a macro program. If the NC program specifies WRITE operation in the set range, an alarm PS0116 is issued.

NAMING A COMMON VARIABLE

Using the SETVN function it is possible to name, with up to eight characters, Common Variables #500 - #549. The
name is retained in system memory when power is cycled.

SETVN 510[TOOL_NO.]; This will assign the name TOOL_NO. to #510


[#TOOL_NO.]=10; Sets #510 to 10

Multiple variables may also be set at once by entering them together.

SETVN 510[TOOL_NO,WORK_NO,COUNTER1,COUNTER2]

The results would be:

Variable Name
#510 #TOOL_NO
#511 #WORK_NO
#512 #COUNTER1
#513 #COUNTER2

69.40 - 8 SPECIAL PROGRAMMING FUNCTIONS


ENTER / CLEAR MACRO VARIABLE DATA

The macro variable values may be entered and cleared through the macro variable page.

ENTERING MACRO VARIABLE DATA VIA MACRO VARIABLE DISPLAY PAGE

1. Press the OFFSET / SETTING key and the MACRO vertical softkey to display the macro variable
page.

2. Select the desired macro variable by entering the number and pressing the NO. SRH softkey or
use the ARROW keys to move the cursor to the desired variable.

3. Enter the desired value and press the INPUT softkey or press the INPUT key on the keyboard.

CLEAR MACRO VARIABLE DATA

1. Select the desired macro variable by entering the number and pressing the NO. SRH softkey or
use the ARROW keys to move the cursor to the desired variable.

2. Press the INPUT softkey with no value entered.

OUTPUT / INPUT MACRO VARIABLE DATA

Custom macro variable data can be OUTPUT from the CNC memory to a memory card and INPUT from a memory
card to the CNC memory. The custom macro variable data are output as floating point of IEEE 64bit data.
Therefore, the value of data cannot be viewed directly as decimal number.

The number and the value of the macro variable in decimal number can also be output by setting bit 0 of parameter
#6019 to = 1. The decimal code is output after the M02 % as shown in the following example.

Output / Input is accomplished using the F INPUT and F OUTPUT softkeys while on the OFFSET page as follows:

1. Prepare the output device.

2. Select the EDIT mode and select the


OFFSET display page. OUTPUT EXAMPLE 1 OUTPUT EXAMPLE 2
Parameter #6019, bit 0=0 Parameter #6019, bit 0=1
3. Press the MACRO softkey to select the work
coordinate offsets. % %
G10L85P500(3FE0083126E978D5) G10L85P500(3FE0083126E978D5)
4. Press the F OUTPUT softkey to output or F G10L85P501(40063645A1CAC088) G10L85P501(40063645A1CAC088)
INPUT softkey to input. G10L85P502(3FD4D6A161E4F766) G10L85P502(3FD4D6A161E4F766)
G10L85P503(0000000000000000) G10L85P503(0000000000000000)
5. Type the file name that you want to output. G10L85P504(0000000000000000) G10L85P504(0000000000000000)
If the file name is omitted, the default file G10L85P505(3FB93DD97F62B6AE) G10L85P505(3FB93DD97F62B6AE)
name "MACRO.TXT" is used. ... G10L85P500(0.501)
M02 G10L85P501(2.7765)
6. Press the EXEC softkey. % G10L85P502(0.3256)
G10L85P503(0.0)
This starts outputting or inputting the Custom G10L85P504(0.0)
macro variable data and OUTPUT or INPUT blinks G10L85P505(0.0986)
in the lower right part of the screen. When the read ...
operation ends, the indication disappears. To M02
%
cancel the process, press the CANCEL softkey.

SPECIAL PROGRAMMING FUNCTIONS 69.40 - 9


SYSTEM VARIABLES

System variables are assigned #1000 and up. These variables allow the reading of CNC display information.
Depending on the information, some system variables can be written to. Everything that is visible on the CNC
screens can be accessed in a macro program using system variables. The following is a list of variables that could
be used in a main program or subprogram.

Variable Variable
Variable Description Variable Description
Number Number
#0 Always Null (Empty) #4201 - #4330 Modal information (now executing block)
#1000 - #1035 DI for macro (I/O Interface) #4502 - #4530 Modal information (interrupted block)
#1100 - #1135 DO for macro (I/O Interface) #5001 - #5015 Block end point position
#2000 - #2800 Tool offset value #5021 - #5035 Machine coordinate
#10001 - #13999 Tool offset value #5041 - #5046 Work coordinate
#3000 Alarm #5061 - #5066 Skip signal position
#3001 - #3002 Clock #5081 - #5100 Tool offset value
#3003 - #3004 Automatic operation control #5101 - #5106 Servo deviation value
#3005 Read/write setting data #5201 - #5206 Work coordinate (external)
#3006 Program stop w/op. message #5221 - #5226 Work coordinate (G54)
#3007 Mirror image #5241 - #5246 Work coordinate (G55)
#3008 Restarting/not restarting a program #5261 - #5266 Work coordinate (G56)
#3011 - #3012 Time variables #5281 - #5286 Work coordinate (G57)
#3100 Always Null (Empty) #5301 - #5306 Work coordinate (G58)
Circular constant
#3101 #5321 - #5326 Work coordinate (G59)
π = 3.14159265358979323846
Base of natural logarithm
#3102 #5421 - #5440 Skip position
e = 2.71828182845904523536
#3901 - #3902 Parts count variables #5501 - #5680 Rotary table dynamic fixture offset value
#4000 Active program number #7001 - #7955 Additional work shifts (G54.1 P1-P48)
Modal information
#4001 - #4130 #14001 - #19981 Additional work shifts (G54.1 P1-P300)
(previously read block)
TABLE 69.40 - 4
System Variables
Note: System variables can be specified using an assigned name instead of its variable number. Refer to
the Fanuc User’s manual for more detailed information on system variables.

69.40 - 10 SPECIAL PROGRAMMING FUNCTIONS


TOOL OFFSET VARIABLES - #2001 - #13999

The offset table can also be loaded through a part program using system variables. The last two digits of the system
variable pertain to the offset assignment where wear offset 3 is loaded by #2003.

Tool Compensation Memory C


H-Code D-Code
Offset
Wear Geometry Wear Geometry
Number
Variable Number Variable Number Variable Number Variable Number
1 #2001 or #10001 #2201 or #11001 #12001 #13001
2 #2002 or #10002 #2202 or #11002 #12002 #13002

200 #2200 or #10200 #2400 or #11200 #12200 #13200

400 #10400 #11400 #12400 #13400

999 #10999 #11999 #12999 #13999


TABLE 69.40 - 5
Tool Offset Variables

ALARM - #3000

An alarm message can be generated from a program using variable #3000. When the program block is read the
alarm is displayed on the CNC alarm massage screen and automatic operation is stopped. The alarm is cleared by
pressing the RESET key.

Variable Number Variable Name Function


#3000 [#_ALM] Macro Alarm

#3000 = n (60 CHARACTER MESSAGE)

(n) is the number value 1-200 used to reference the alarm. 3000 is added to the number (n) for display.

An alarm message can be 60 characters long.

The RESET pushbutton must be pressed to clear the message and alarm.
Note: Parameter #6008 bit 1 (MCA) can be changed to modify the alarm number scheme. If bit 1 is set (=1),
the alarm numbers can be from 1 to 4095 and 3000 is not added to the number.
Note: Parameter #3111 bit 7 (NPA) is used to control the message display. If bit 7 is not set (=0), the
control will automatically change to the message display screen when an alarm is issued. If bit 7 is
set (=1), the current display screen is retained. However, the alarm indicator will blink.

CLOCK #3001 - #3002

Clock times can be determined by reading the values of the system variables #3001 and #3002. Times can be preset
by assigning values to the system variables.

Variable Variable Unit At The Time Of


Counting
Number Name Time Power - On
#3001 [#_CLOCK1] 1 millisecond Reset to 0 Always
#3002 [#_CLOCK2] 1 hour Same as at the time of power-off While STL signal is on

SPECIAL PROGRAMMING FUNCTIONS 69.40 - 11


The following example can be used to store the cycle time to run a part program. The time is output in tenths of an
hour.

O0110 (DEMO PROGRAM RUN TIME);


N10 #610 = #3001 (START OF PROGRAM); Store the preset time in milliseconds in #610
N20 G00 W25; Retract saddle or auxiliary slide for tool change
N30 M6 T1; Tool change to tool number one
N40 (MACHINE PART); Machine part complete
N550 #611 = #3001 (END OF PROGRAM); Store the preset time in milliseconds in #611
N560 #612 = [[[#611- #610]/1000]/60]; Calculate the time in minutes and store in #612
N570 M30; End of program

AUTO OPERATION CONTROL VARIABLES - #3003 - #3004

When performing certain types of machining, it becomes necessary to lock out certain machine functions. The
functions that can be locked out are Single Block, Feed Hold, Feedrate Override and the Exact Stop Check. There
are two variables that control this lock out function and they are #3003 and #3004.

The default state of these two variables is 0. These variables will always be reset back to zero when the RESET is
pressed or a M02 or M30 are executed.

Variable #3003 can be used to disable or enable the Single Block function and also the Auxiliary Completion signal,
FIN, from the PMC. If variable #3003=1 or 3 Single Block function will be ineffective. The auxiliary completion signal
is used to confirm any M, S or T code commands encountered in the program. If variable #3003=2 or 3 the CNC
does not wait for the FIN signal, it will continue processing the program.

#3003 Single Block Stop Auxiliary End Signal


0 Enabled Waiting
1 Disabled Waiting
2 Enabled Not Waiting
3 Disabled Not Waiting

Variable #3004 can be used to disable or enable the Feed Hold, Feedrate Override and Exact Stop Check functions.

If #3004=1, 3, 5 or 7 the Feedhold key on the operator panel will be ineffective. When FEEDHOLD is pressed, the
key illuminates but the machine does not stop until the first block when the Feedhold is enabled again. When
FEEDHOLD is held down, the control works as if it is in single block mode (without single block activated). However,
it will not perform in this manner if single block operation has been disabled by the variable #3003.

If #3004=2, 3, 6 or 7 the Feed Rate Override switch is disabled. An override of 100% will be applied during this time,
regardless of the setting on the machine operator panel switch.

If #3004=4, 5, 6 or 7 the Exact Stop Check function, which is activated by G09 or G61 will be disabled. The exact
stop check function performs a position check at the end point of the movement block to confirm the exact position is
reached. This improves accuracy but also caused the program cycle time to be increased.

#3004 Feedhold Feedrate Override Exact Stop Check


0 Enabled Enabled Enabled
1 Disabled Enabled Enabled
2 Enabled Disabled Enabled
3 Disabled Disabled Enabled
4 Enabled Enabled Disabled
5 Disabled Enabled Disabled
6 Enabled Disabled Disabled
7 Disabled Disabled Disabled

69.40 - 12 SPECIAL PROGRAMMING FUNCTIONS


SETTING (HANDY) VARIABLE - #3005
The setting control variable reflects the condition of the SETTING parameter screen. The Bit value is the data that is
read. Reading and making changes to this variable is more complex than others, because this is a binary setting.

Variable Number Variable Name Function


#3005 [#_SETDT] Read / Write Setting Data

STOP WITH OPERATOR MESSAGE - #3006


An operator message can be generated from a program using variable #3006. When the program block is read the
message is displayed on the CNC message screen and automatic operation is stopped. Press the CYCLE START
key to resume the program.

Variable Number Variable Name Function


#3006 [#_MSGSTP] Stop with message

#3006 = n (60 CHARACTER MESSAGE)

(n) is the number value 1-999 used to reference the operator message.

An operator message can be 60 characters long.

The advantage of using the #3006 STOP WITH MESSAGE is that the operator does not have to push the RESET
pushbutton before pressing CYCLE START.
Note: Parameter #3111 bit 7 (NPA) is used to control the message display. If bit 7 is not set (=0), the
control will automatically change to the message display screen when an alarm is issued. If bit 7 is
set (=1), the current display screen is retained. However, the alarm indicator will blink.

MIRROR IMAGE VARIABLE - #3007


Mirror Image allows you to create left and right parts using the same program. Variable #3007 reflects the setting of
these parameters. This variable can be read, but not written to. This is a bit parameter, so the values are read in
binary. It would be possible to check if Mirror Image is ON or OFF depending on the value of this parameter.

Variable Number Variable Name Function


#3007 [#_MRIMG] Macro Alarm
STATUS DURING RESTART OF A PROGRAM VARIABLE - #3008
Whether a program is restarting can be determined by reading #3008.

Variable Number Variable Name Function


#3008=0 [#_PRSTR] Program is not restarting
#3008=1 [#_PRSTR Program is restarting
TIME & DATE VARIABLES #3011 - #3012
These system variables can be used to log the year, month, day, hour, minutes and seconds.

#3011 is used to read the year, month & day information. The data is in a decimal format, the first four digits are the
year, the next two digits are the month, and the last two digits are the day. #3012 is used to read the hour, minute &
second information. The data is in a decimal format, the first two digits are the hour in 24 hour clock format, the next
two digits are in the minutes and the last two digits are the seconds.

Variable Number Variable Name Function


#3011 [#_DATE] Year, month, day
#3012 [#_TIME] Hour, minute, second
Example: 1994, 7, 21 PM: 1:05:35
#3011 = 20120721;
#3012 = 130535;

SPECIAL PROGRAMMING FUNCTIONS 69.40 - 13


PARTS COUNT VARIABLES - #3901 - #3902 (OPTION)

The number of completed machined parts, as well as the target number of parts required, can be read and written
through variables #3901 & #3902.

Variable Number Variable Name Function


#3901 [#_PRTSA] Number of machines parts (completed)
#3902 [#_PTRSN] Number of required parts (target)

Note: Do not use negative numbers.

TOOL COMPENSATION MEMORY VARIABLE - #3980

This variable can be used to read the tool compensation memory information.

Variable Number Variable Name Function


#3980 [#_OFSMEM] Tool compensation memory information

MAIN PROGRAM NUMBER VARIABLE - #4000


This variable can be used to read the active main program number

Variable Number Variable Name Function


#4000 [#_MAINO] Main program number

Example:

O5432; Main Program


#4000 = 5432;

MODAL DATA VARIABLES #4001 - #4120

TABLE 69.40 - 6 shows the system variable that will allow a subroutine to read what information is current in the
control at the present moment. When using G-codes in a macro program, it may be required to return the G-code
group to its original setting when the program is done. The original settings can be saved to a common variable; then
restored at the end of the macro program. There are three groups of modal variables for monitoring the previous,
current & interrupted modal status:

• #4001 - #4130 is modal data from before the block currently being read

• #4201 - #4330 is modal data from the block currently being executed

• #4401 - #4530 is modal data from the block interrupted by an interruption type custom macro
Note: Since the CNC reads the block that is ahead of the block currently being executed by the program,
the block being retrieved is normally different from the currently being executed. The previous
block indicates the block that is before the block being retrieved.
EXAMPLE

O1234;
N10 G00 X200 Y200;
N20 G01 X1000 Y1000 F10;
...
...
N50 G00 X500 Y500;
N60 #1 = #4001;

Assume that the CNC is currently executing N20. If the CNC retrieved and processed the blocks up to N60 as shown
in the example, the current block is N20 and the previous block is N50. Therefore, group 1 modal data in the running
block is G01 and group 1 modal data in the previous block is G00.
When N60 #1 = #4201, #1 = 1
When N60 #1 = #4001, #1 = 0

69.40 - 14 SPECIAL PROGRAMMING FUNCTIONS


Modal Information
Previous Block Current Block Interrupted Block
Variable Variable Variable Variable Variable Variable Function Group
Number Name Number Name Number Name
G00, G01, G02, G03, G33 (i.e.
#4001 #4201 #4401 1
0,1,2,3,33)
#4002 #4202 #4402 G17, G18, G19 2
#4003 #4203 #4403 G90, G91 3
#4004 #4204 #4404 G22, G23 4
#4005 #4205 #4405 G93, G94, G95 5
#4006 #4206 #4406 G20/G21 6
#4007 #4207 #4407 G40, G41, G42 7
#4008 #4208 #4408 G43, G44, G49 8
G73, G74, G76, G80, G81, G82,
#4009 #4209 #4409 G83, G84, G84.2, G84.3, G85, 9
[#_BUFG[n]] [#_ACTG[n]] [#_INTG[n]]
G86, G87, G88, G89
#4010 #4210 #4410 G98, G99 10
#4011 #4211 #4411 G50, G51 11
#4012 #4212 #4412 G66, G66.1, G67 12
#4013 #4213 #4413 G96, G97 13
#4014 #4214 #4414 G54, G55, G56, G57, G58, G59 14
#4015 #4215 #4415 G61, G62, G63, G64 15
#4016 #4216 #4416 G68, G69 16
#4017 #4217 #4417 G15, G16 17
#4018 #4218 #4418 G50.1, G51.1 22
#4026 #4226 #4426 G12.1, G13.1 26
#4102 [#_BUFB] #4302 [#_ACTB] #4502 [#_INTB] B-code
#4107 [#_BUFD] #4307 [#_ACTD] #4507 [#_INTD] D-code
#4108 [#_BUFE] #4308 [#_ACTE] #4508 [#_INTE] E-code
#4109 [#_BUFF] #4309 [#_ACTF] #4509 [#_INTF] F-code
#4111 [#_BUFH] #4311 [#_ACTH] #4511 [#_INTH] H-code
#4113 [#_BUFM] #4313 [#_ACTM] #4513 [#_INTM] M-code
#4114 [#_BUFN] #4314 [#_ACTN] #4514 [#_INTN] Sequence Number
#4115 [#_BUFO] #4315 [#_ACTO] #4515 [#_INTO] Program Number
#4119 [#_BUFS] #4319 [#_ACTS] #4519 [#_INTS] S-code
#4120 [#_BUFT] #4320 [#_ACTT] #4520 [#_INTT] T-code
#4130 [#_BUFWZP] #4330 [#_ACTVZP] #4530 [#_INTWZP]] Additional Work Shifts (G54.1)
TABLE 69.40 - 6
Modal Data Variables

n = represents the G-code number

Refer to the FIGURE 69.40 - 2 for CNC screen location of modal data variables.

SPECIAL PROGRAMMING FUNCTIONS 69.40 - 15


#4115 #4114

#4011

#4009 #4113

#4001

#4109
#4006

#4119

#4008
#4120

FIGURE 69.40 - 2
Modal Data Variables

The following example displays the saving of modal data at the beginning of a sub program.

N20 G00 Z.10; Rapids into position near the workpiece


N30 M98 P8000 L50; Calls sub program 8000 and repeats 50 times
N40 X4.5; Rapids back to starting X

O8000 (SUB PROGRAM); O8000 is the sub program number


N10 #100=#4001; Save modal data for group 1 in #100, this would be a G00 command
N20 G01 G91 Z-.1 F.012; Feed the Z-axis -.10 at .012 per revolution
N30 G#100 G90; Restores G00 command from stored value in #100
N40 M99; End sub program

69.40 - 16 SPECIAL PROGRAMMING FUNCTIONS


AXIS DESIGNATIONS

****************************************************************************************

THE AXIS DESIGNATIONS HAVE CHANGED FROM PAST MAG CONTROLS. ANY REFERENCE
OR PROGRAMMING TO THESE SYSTEM VARIABLES WILL NEED TO BE REVIEWED AND
MODIFIED TO ACCOUNT FOR THESE CHANGES.

****************************************************************************************
The following list is the typical axis designation on the PT, RT, MC, HMC, FT & FTR machines.

Axis Number PT, RT & MC HMC FT FTR


1 X X X X
2 Y Y Y Y
3 Z Z Z Z
4 W W W1 (auxiliary slide 1) W1 (ram)
5 B B B1 (auxiliary slide 1) B1 (auxiliary slide 1)
6 A or C A or C W2 (auxiliary slide 2) W2 (auxiliary slide 1)
7 V V V V
8 B2 (auxiliary slide 2) B2 (auxiliary slide 2)
9 W3 (auxiliary slide 2)
TABLE 69.40 - 7
Axis Designations

These axis designation numbers are used to read the following position and offset variables.

AXIS POSITION VARIABLES - #5001 - #5089

The absolute, machine, distance to go, and the probe trip points can be read using the system variables listed in
TABLE 69.40 - 8. These variables access position information from within a program. The machine, absolute and
distance to go readout correspond to the variables shown in example FIGURE 69.40 - 3. Some of these system
variables include the tool offsets and others do not.

#5041

#5045

#5021 #5001

#5025 #5004

FIGURE 69.40 - 3
Example of Axis Variables

SPECIAL PROGRAMMING FUNCTIONS 69.40 - 17


Reading
Variable Variable Position Coordinate Tool Offset
Meaning In During
Number Name Information System Active
Movement
#5001 Block End Coordinate Axis 1
#5002 Block End Coordinate Axis 2
#5003 Block End Coordinate Axis 3
#5004 Block End Coordinate Axis 4
Total offset
#5005 [#_ABSIO[n]] Block End Coordinate Axis 5 Distance to go Absolute Enabled
amount active
#5006 Block End Coordinate Axis 6
#5007 Block End Coordinate Axis 7
#5008 Block End Coordinate Axis 8
#5009 Block End Coordinate Axis 9
#5021 Present Coordinate Axis 1

[#_ABSMT[n]] Current position Machine No offsets Disabled

#5029 Present Coordinate Axis 9


#5041 Present Coordinate Axis 1

[#_ABSOT[n]] Current position Workpiece No offsets Disabled

#5049 Present Coordinate Axis 9


#5061 Skip Signal Position Axis 1

[#_ABSKP[n]] Probe trip position Workpiece No offsets Enabled

#5066 Skip Signal Position Axis 6


#5081 Tool Offset Value Axis 1
Total offset
[#_TOFS[n]] Tool length offset N/A Disabled
amount active
#5089 Tool Offset Value Axis 9
TABLE 69.40 - 8
Axis Position Variables

n = represents the axis number


Note: Refer to TABLE 69.40 - 7 for the correct axis designation on MAG machines.

Tool Offset

Absolute
Part
Zero
Machine

Work Offset

Machine Zero

FIGURE 69.40 - 4
Coordinate Systems

69.40 - 18 SPECIAL PROGRAMMING FUNCTIONS


WORK COORDINATE SHIFT VARIABLES - #5201 - #5329

Work coordinate system shift amounts can be stored by using these system variables. These work coordinate
system shifts can also be modified, and the current work coordinate can be read by using these system variables.

Variable Variable Work Coordinate


Meaning
Number Name System
#5201 External Coordinate Shift Axis 1
#5202 External Coordinate Shift Axis 2
#5203 External Coordinate Shift Axis 3
#5204 External Coordinate Shift Axis 4 Common to all
#5205 [#_WZCMN[n]] External Coordinate Shift Axis 5 work coordinate
#5206 External Coordinate Shift Axis 6 systems
#5207 External Coordinate Shift Axis 7
#5208 External Coordinate Shift Axis 8
#5209 External Coordinate Shift Axis 9
#5221 Work Coordinate Shift Axis 1

[#_WZG54[n]] G54

#5229 Work Coordinate Shift Axis 9


#5241 Work Coordinate Shift Axis 1

[#_WZG55[n]] G55

#5249 Work Coordinate Shift Axis 9


#5261 Work Coordinate Shift Axis 1

[#_WZG56[n]] G56

#5269 Work Coordinate Shift Axis 9


#5281 Work Coordinate Shift Axis 1

[#_WZG57[n]] G57

#5289 Work Coordinate Shift Axis 9


#5301 Work Coordinate Shift Axis 1

[#_WZG58[n]] G58

#5309 Work Coordinate Shift Axis 9


#5321 Work Coordinate Shift Axis 1

[#_WZG59[n]] G59
#5329 Work Coordinate Shift Axis 9
TABLE 69.40 - 9
Work Coordinate Shift Variables

n = represents the axis number


Note: Refer to TABLE 69.40 - 7 for the correct axis designation on MAG machines.

SPECIAL PROGRAMMING FUNCTIONS 69.40 - 19


ADDITIONAL WORK COORDINATE SHIFT VARIABLES - #7001 - #19989

The following chart shows the system variables for the additional work coordinate shifts. They function the same as
the G54 through G59, but load into the additional offsets.

Additional Work Coordinate Shifts


Work Coordinate
Variable Number Variable Name Meaning
System
System variable numbers = 7000 + ([coordinate system number -1] *20) + axis number
#7001 or #14001 Work Coordinate Shift Axis 1
#7002 or #14002 Work Coordinate Shift Axis 2
#7003 or #14003 Work Coordinate Shift Axis 3
#7004 or #14004 Work Coordinate Shift Axis 4
#7005 or #14005 [#_WZP1[n]] Work Coordinate Shift Axis 5 G54.1 P1 - P48
#7006 or #14006 Work Coordinate Shift Axis 6
#7007 or #14007 Work Coordinate Shift Axis 7
#7008 or #14008 Work Coordinate Shift Axis 8
#7009 or #14009 Work Coordinate Shift Axis 9
System variable numbers = 14000 + ([coordinate system number -1] *20) + axis number
#14961 or #19981 Work Coordinate Shift Axis 1
#14962 or #19982 Work Coordinate Shift Axis 2
#14963 or #19983 Work Coordinate Shift Axis 3
#14964 or #19984 Work Coordinate Shift Axis 4
#14965 or #19985 [#_WZP300[n]] Work Coordinate Shift Axis 5 G54.1 P49 - P300
#14966 or #19986 Work Coordinate Shift Axis 6
#14967 or #19987 Work Coordinate Shift Axis 7
#14968 or #19988 Work Coordinate Shift Axis 8
#14969 or #19989 Work Coordinate Shift Axis 9
TABLE 69.40 - 10
Additional Work Coordinate Shift Variables

n = represents the axis number


Note: Refer to TABLE 69.40 - 7 for the correct axis designation on MAG machines.

69.40 - 20 SPECIAL PROGRAMMING FUNCTIONS


ROTARY TABLE DYNAMIC FIXTURE OFFSET VARIABLES - #5521 - #5669

The following chart shows the system variables used for the rotary table dynamic fixture offsets.

Work Coordinate
Variable Number Variable Name Meaning
System
#5521 Rotary Table Dynamic Fixture Offset Axis 1
#5522 Rotary Table Dynamic Fixture Offset Axis 2
#5523 Rotary Table Dynamic Fixture Offset Axis 3
#5524 Rotary Table Dynamic Fixture Offset Axis 4
#5525 [#_FOFS1[n]] Rotary Table Dynamic Fixture Offset Axis 5 G54.2 P1
#5526 Rotary Table Dynamic Fixture Offset Axis 6
#5527 Rotary Table Dynamic Fixture Offset Axis 7
#5528 Rotary Table Dynamic Fixture Offset Axis 8
#5529 Rotary Table Dynamic Fixture Offset Axis 9
System variable numbers = 5500 + (coordinate system number *20) + axis number
#5661 Rotary Table Dynamic Fixture Offset Axis 1
#5662 Rotary Table Dynamic Fixture Offset Axis 2
#5663 Rotary Table Dynamic Fixture Offset Axis 3
#5664 Rotary Table Dynamic Fixture Offset Axis 4
#5665 [#_FOFS8[n]] Rotary Table Dynamic Fixture Offset Axis 5 G54.2 P8
#5666 Rotary Table Dynamic Fixture Offset Axis 6
#5667 Rotary Table Dynamic Fixture Offset Axis 7
#5668 Rotary Table Dynamic Fixture Offset Axis 8
#5669 Rotary Table Dynamic Fixture Offset Axis 9
TABLE 69.40 - 11
Rotary Table Dynamic Fixture Offset Variables

n = represents the axis number


Note: Refer to TABLE 69.40 - 7 for the correct axis designation on MAG machines.

INDEXED VARIABLES

This feature allows the programmer to specify which variable is used based on the value of another variable. An
indexed variable is programmed using a format as follows: #[#i] where 'i' is the variable number. If #1 = 5 and #[#1]
is programmed, the result will be the value of #5.

The following are samples of various methods used to assign values to variable label numbers.
#1=5; Equates #1 to 5

#5=55; Equates #5 to 55

#3=#[#1]+50; Equates #3 to 105

#[#3]=#[#1]+#1; Equates #105 to 60

#106=#3 + #1; Equates #106 to 110

EXAMPLE

The following example program can be used to clear out macro variables using index variables.

O8123 (CLEAR VARIABLES);


N10 #1=620; The 620 could be changed to start at any variable
N20 #[#1]=#0; Set the starting variable to vacant
N30 #1=#1+1; Add 1 to variable #1
N40 IF[#1LT650]GOTO20; If #1 is less the maximum variable number, then go to N20
N50 M99; End of subprogram

SPECIAL PROGRAMMING FUNCTIONS 69.40 - 21


MATHEMATICS

The Fanuc Control allows the construction of mathematical equations in the part program. This enhances the tools
available to the part programmer and can be used to solve a variety of problems.

The following characters are used to do Math Operations:

Math Operators
ASCII
Characters Functions
+ Addition
- Subtraction
* Multiplication
/ Division
= Equals
[] Set Precedence

Multiplication and division take precedence over addition or subtraction with the order of solution from left to right.

Parentheses are not allowed within mathematical equations. This is due to their meaning elsewhere in the system.

Square brackets ' [ ] ' must be used to serve the normal function of parentheses in mathematical equations.

When brackets are used, the contents of the innermost set are evaluated first, followed by the next outward set and
so on. The contents within each set follow the same precedence as described earlier.

The results of a mathematical operation can be assigned to any letter address or parameter.

EXAMPLE:

N50 G00 X[#1 + 1] Z[#10-1];

Here X has been assigned the value of variable one plus 1 and Z has been assigned the value of variable ten minus
1.

The following illustrates various combinations:

#1=5+7; Equates #1 to 12
#2=[#1+2]/2; Equates #2 to 7
#2=#1+2/2; Equates #2 to 13, Note the difference without brackets
#3=1+6/3/2; Equates #3 to 2, Note the order of division
#3=1+6/[3/2]; Equates #3 to 5, Note the order of division with brackets

SPECIAL FUNCTIONS

Special functions are available on the Fanuc Control that enhances the mathematical capability even further. The
following chart lists these special functions.

69.40 - 22 SPECIAL PROGRAMMING FUNCTIONS


The argument [ARG] of a special function must be enclosed in the bracket [ ].

Special Functions
Functions Results
ABS[ARG] Absolute Value of Argument
ADP[ARG] Decimal Point Addition
SQRT[ARG] Square Root of Argument
SIN[ARG] Sine of Argument
COS[ARG] Cosine of Argument
TAN[ARG] Tangent of Argument
ASIN[ARG] Arc Sine of Argument
ACOS[ARG] Arc Cosine of Argument
ATAN[ARG] Arc Tangent of Argument
ATAN[ARG1/ARG2] Arc Tangent of Argument1÷ Argument2
ROUND[ARG] Rounding Off of Argument
FIX[ARG] Discard Fractions less than 1
FUP[ARG] Add 1 for Fractions less than 1
DPRNT Print Command
POPEN Opens Printer Port
PCLOS Closes Printer Port

ABS returns the absolute or positive value of the argument ABS [-10] = 10.

The ADP adds a decimal point to the argument passed into a subprogram. Sometimes decimal points have been
omitted when passing arguments in the G65 line. This command will add the decimal point to the argument value.

SQRT returns the square root of the argument. It is only allowed to operate on a positive number. Negative
arguments will result in a programming error.

SIN, COS, and TAN returns the appropriate value for the programmed angle which is degrees.

ASIN and ACOS will operate on values from -1 to +1 returning the angles in degrees derived from these values. Any
argument outside of this band width (-1 to +1) will cause a programming error.

ATAN operates on any number returning angles from -90 to +90 degrees.

ROUND will round the argument up to the next whole number if .5 or more and down if less than .5. However, if used
in an address command, the argument is rounded to the least input increment of the address. If #1 is 1.234567 and
G01 X ROUND[#1] is programmed, X1.2346 is the end point.
EXAMPLES:

O1000 (ARITHMETIC COMMANDS);


N100 #1=ROUND[-45.345]; #1 Equals -45.0
N110 #2=SIN[30]; #2 Equals .5
N120 #3=SQRT[36]; #3 Equals 6.0
N130 #4=ATAN[2/6]; #4 Equals 18.434948°
N140 #5=ASIN[.342021]; #5 Equals 20.0°
N150 #6=ABS[#1]; #6 Equals 45.0
N160 #7=COS[15]; #7 Equals .96593
N170 #8=FIX[23.684]; #8 Equals 23.0
N180 #9=FUP[23.3]; #9 Equals 24.0
N190 #10=TAN[45]; #10 Equals 1.0
N200 #11=ROUND[25.6]; #11 Equals 26.0
N210 #14=ADP[30]; #14 Equals 30.0

SPECIAL PROGRAMMING FUNCTIONS 69.40 - 23


DECISION MAKING / BRANCHING

The Fanuc Control has decision making capability which can be used to direct program flow. IF, THEN, GOTO and
WHILE / DO are the commands which are used. These commands, when used with other commands, make the
Fanuc Control very powerful.

IF STATEMENT (IF)

IF allows for a comparison of two expressions. Using this feature the programmer can make decisions in the part
program based on whether the IF statement is true or false.

There are six allowable comparisons and they are listed below.

IF Comparison
Code Meaning
EQ Equal To
NE Not Equal To
GT Greater Than
LT Less Than
GE Greater Than or Equal To
LE Less Than or Equal To

When the IF comparison is TRUE, information following the IF is allowed to execute. Information before the IF is
always executed.

When the IF comparison is FALSE, the control never sees the information following the comparison, or in other
words, an EOB is inserted following the comparison.

IF statements may not be nested within one another, but they may be integrated or nested with other programmable
information and subject to the above rules.

IF comparisons may contain a simple comparison or complex equations. A complex equation is where the result of
one equation is compared to the result of a second equation.

The IF statement may contain multiple comparisons by performing the AND / OR function.

The comparison must be enclosed with [ ].

The following illustrate the types of IF statements:

IF[Comparison]GOTO

N50 IF[#1LT.020]GOTO120; If value of variable #1 is less than .020, go to line 120. If variable #1 is
equal to or greater than .020, the GOTO command will not be executed and the
program will go to the next line

IF[Comparison]THEN

N100 IF[#1EQ#2]THEN#3=0; If the values of #1 and #2 are the same, 0 is assigned to #3

N200 IF[[#1EQ#2]AND[#3EQ#4]]THEN#5=0; If the values of #1 and #2 are the equal and #3 and #4 are
equal, 0 is assigned to #5

N300 IF[[#1EQ#2]OR[#3EQ#4]]THEN#5=0; If the values of #1 and #2 are the equal or #3 and #4 are equal,
0 is assigned to #5

69.40 - 24 SPECIAL PROGRAMMING FUNCTIONS


GOTO STATEMENT

GOTO allows the programmer to conditionally or unconditionally transfer execution of the program to another portion
of the program.

GOTO is used with a sequence number. The sequence number indicates the destination to which execution is
moved.

Example:

N50 GOTO100; Moves the execution point to N100

No other data is allowed after the GOTO command in the same block.

All data programmed before a GOTO command will be executed prior to the GOTO.

An error is generated if the sequence number used with the GOTO does not exist.

GOTO can be used to branch either forward or backward in the part program, but branching is limited to the current
program level.

****************************************************************************************

DO NOT SPECIFY MULTIPLE BLOCKS WITH THE SAME SEQUENCE NUMBER IN A SINGLE
PROGRAM. IT IS VERY DANGEROUS TO SPECIFY THE SEQUENCE NUMBER OF THE BRANCH
DESTINATION BEFORE AND AFTER THE GOTO STATEMENT. THE DESTINATION CHANGES
ACCORDING TO THE VALUES OF THE PARAMETERS AS SHOWN BELOW:

****************************************************************************************

When Parameter #6000 bit 1 or bit 4 are set to 1 When Parameter #6000 bit 1 and bit 4 are set to 0

Branch to sequence before the GOTO Branch to sequence after the GOTO

EXAMPLE OF IF AND GOTO

The following example illustrates various methods of using IF and GOTO. These are only sample lines and are not
meant to do anything meaningful.
N60 #2=80; Set the value of local variable #2 to 80
N70 G00 X12 GOTO100; Traverse to X12, then go to line 100
N80 IF[#1LT#2]GOTO150; If variable #1 is less than variable #2, then go to line 150
if false, do the next block
N90 IF[#1LT#3]GOTO50; If variable #1 is less than variable #3, then go to line 50
(branch backward), if false, do the next block
N100 GOTO#2; Go to the value in parameter #2. The value in #2 was set to
80 in line 60, so line 100 will go to line 80
N110 IF[ABS[#5062-#2]GT[.001*#146]]GOTO70; If the absolute value of #5062 minus the value in #2 is
greater than .001 times the value in #146, then go to line 70

SPECIAL PROGRAMMING FUNCTIONS 69.40 - 25


WHILE / DO STATEMENT

WHILE / DO allows the programmer to repeat a sequence of events until the conditional statement is met. When the
condition is met, the control will move on to the next block after the END.

WHILE / DO and the END conditional expression must be used as a pair as shown below. The DO1 label must have
an END1 to match.

N40 WHILE[#34LT#20]DO1;
N50 ...;
N60 END1;

Only numbers 1, 2 and 3 can be used as labels, DO1, DO2, DO3. When a number out of this range is used an alarm
126 will occur. The same identification number can be used many times. In the example below WHILE / DO 1 is
used twice, but note they are corresponding to each other. This example would function ok, but to simplify
programming use different number DO numbers.

N10 WHILE[3LT#4]DO1;
N20 ...;
N30 END1;
N40 ...;
N50 WHILE[3NE#1]DO1;
N60 ...;
N70 END1;

WHILE / DO statements can be nested up to three levels. In this example WHILE / DO2 is nested inside WHILE /
DO1 and WHILE / DO3 is nested inside WHILE / DO2.

N10 WHILE[#4LE#9]DO1;
N20 ...;
N30 WHILE[#12GE#45]DO2;
N40 ...;
N50 WHILE[#102GT#101]DO3;
N60 ...;
N70 END3;
N80 ...;
N90 END2;
N100 ...;
N110 END1;

Custom macro bodies or subprograms can be called from inside a WHILE / DO range. Inside the subprograms
WHILE / DOs can be nested three more times. The example below calls 3 different subprograms from inside the
WHILE / DO.
N10 WHILE[#1LE#2]DO1;
N20 ...;
N30 G65 P8020;
N40 ...;
N50 G66 P9023;
N60 ...;
N70 G67;
N80 ...;
N90 M98 P9002;
N100 ...;
N110 END1;

69.40 - 26 SPECIAL PROGRAMMING FUNCTIONS


EXTERNAL OUTPUT COMMANDS

The following information discusses the outputting of data to an external device such as a printer or memory card
(hard drive, floppy or memory stick). The default input / output device is set by the I/O CHANNEL setting data. See
the PART PROGRAM OPERATIONS section for procedure to set the default device.

The following commands are used to output data:

POPEN The POPEN command establishes a connection to an external input / output device. It must be specified
before a sequence of data output commands. When the POPEN command is executed, and the I/O
CHANNEL is set equal to 4, a file is created on the assigned device. The CNC outputs a DC2 control
code.
PCLOS The PCLOS command releases a connection to an external input / output device. Specify this command
when all data output commands have terminated. DC4 control code is output from the CNC.

BPRNT The BPRNT command outputs characters and variable values in binary. See the Fanuc manual for
information on BPRNT.

DPRNT The DPRNT command is used to format a line of data to be output. The following can be specified:

• Letters (A to Z)

• Numbers (0 to 9)

• Characters ( - , + , = , / , . , : , _ , @ , & , < , > , ? )

• Values stored in Macro & System Variables (i.e. #1, #100, #5041)
Note: The output of variables MUST always include a "digit format".

• Special character (*) - indicates a space

Format: DPRNT[a #b[mn]]

Where a = any allowed character


#b = variable
m = allowable number of digits to the left of the decimal point (digit format)
n = allowable number of digits to the right of the decimal point (digit format)
Note: m+n must equal less than 15.
[] = outputs nothing, but will generate a blank line

OUTPUT DESTINATION

The destination of the data output with the External Output Commands depends on the setting made with the I/O
CHANNEL setting (NC parameter #0020).

If the setting is equal to 0 or 1, the device is the RS-232 serial port and if a printer is connected to this port, the data is
printed to the paper.

If the setting is equal to 4 (Memory Card), the device is defined by the default Input / Output setting. This device
could be a floppy disk, a USB drive or a folder on the CNC control. In this case the data is output to a file. The file is
created when the POPEN command is executed.

OUTPUT FILE NAME

The name of the file created depends on the version of software in the machine. Earlier versions of software (i.e.
G101, G111) will have the file named; MCR_PRNT.TXT created. Once this file is created, it must be deleted in order
to perform another POPEN.

SPECIAL PROGRAMMING FUNCTIONS 69.40 - 27


Newer versions of software (i.e. G103, G113 and later) will have the file named; PRNT0001.DAT created. In
addition; it is possible to configure an NC parameter so that subsequent files can be created. This eliminates the
problem of trying to overwrite an already existing file, which is not allowed. If NC parameter #6019, bit 3 (OFN) is set
(=1), then only one file can be used (PRNT0001.DAT). If the parameter is NOT set (=0), then each time the POPEN
command is executed, a new file is created. The file name for subsequent file is incremented. For example;
PRNT0001.DAT, PRNT0002.DAT, PRNT0003.DAT, etc. Up to PRNT9999.DATA
Note: The easiest method to determine if you have the filename incrementing feature is to look at
parameter #6019. If the OFN parameter exists, you have this feature.

NOTES ON EXTERNAL OUTPUT COMMANDS:

• Once an open command is specified, it does not need to be specified again except after a close command
(PCLOS) is specified.

• Be sure to specify open commands and close commands in pairs. Specify the close command at the end of the
program. Do not specify a close command if no open command has been specified.

• When a reset is performed (RESET pushbutton, M02 or M30) while commands are being output by a data output
command, output is stopped and subsequent data is erased. Therefore, when a reset is performed by a code
such as M30 at the end of a program, that is performing data output, specify a close command prior to the M30.
This will ensure all data is sent.

• If the I/O CHANNEL is set to #4 on the SETTINGS screen (as shown below), the defined Input / Output and the
device is a hard drive, floppy drive, flash card or USB drive, a file will be created on that device.
• When power is turned off and back on, output will restart with PRNT0001.DAT filename.

• If PRNTxxxx.DAT files already exist on the Memory Card, PS1973 Alarm will occur.

The file is named; MCR_PRNT.TXT. This file is created


when the POPEN command is executed. The file is a
simple text file.

Each DPRNT command will be written to the file


(appended) until the PCLOS command is executed.
Once the PCLOS command is executed, the file is
unavailable for opening. If another POPEN command is
executed and the MCR_PRNT.TXT file already exists on
the device, the alarm; PS1973 FILE ALREADY EXIST
will occur.

EXAMPLE EXTERNAL OUTPUT

N1010 POPEN; Open file for output


N1020 DPRNT[-----------------------------------------];
N1030 DPRNT[******DATE:**#3011[80]******];
N1040 DPRNT[****X*#105[43]******CHANGE**#110[13]];
N1050 DPRNT[****Z*#101[43]******CHANGE**#111[13]];
N1060 DPRNT[] (BLANK LINE);
N1070 DPRNT[-----------------------------------------];
N1080 PCLOS; Close file

EXAMPLE OF RESULTS
-----------------------------------------
DATE: 20120328
X - 101.350 CHANGE .012
Z 252.033 CHANGE .005

-----------------------------------------

69.40 - 28 SPECIAL PROGRAMMING FUNCTIONS


SECTION 69.50
CIRCULAR / HELICAL / CONICAL INTERPOLATION
TABLE OF CONTENTS

TITLE PAGE
CIRCULAR INTERPOLATION ....................................................................................................................................... 1

G02 OR G03 ARC DIRECTION .......................................................................................................................... 1

ARC ENDPOINT DATA X, Y, Z, W ..................................................................................................................... 1

ARC CENTER OFFSETS, R, I, J, K .................................................................................................................... 2

CIRCULAR INTERPOLATION EXAMPLES ........................................................................................................ 2

HELICAL INTERPOLATION .......................................................................................................................................... 3

HELICAL INTERPOLATION EXAMPLES ........................................................................................................... 3

CONICAL INTERPOLATION ......................................................................................................................................... 3


CIRCULAR INTERPOLATION

Circular interpolation allows the programming of arc generation. A full 360 degree arc can be programmed on one
single block. The following data is required when programming circular interpolation, the direction of the arc, G02 -
G03, axis data for the endpoint of the arc, and the arc center offsets.

G02 OR G03 ARC DIRECTION

Either a G02 or G03 is used command the direction of the arc, clockwise or counterclockwise.

G02 = clockwise

G03 = counterclockwise

The direction is determined by observing from the plus perpendicular axis.

G17 (X/Y) Plane View from Plus (+) Z-axis

G18 (Z/X) Plane View from Plus (+) Y-axis

G19 (Y/Z) Plane View from Plus (+) X-axis

ARC ENDPOINT DATA X, Y, Z, W

G90 In the Absolute mode, a two axis absolute command must be programmed on each block containing a G02
or G03. These data determines the end point of the circular move relative to the piece part zero. These
data must correspond to the plane selected; G17(X &Y), G18 (Z & X) and G19 (Y & Z).

G91 In the Incremental mode, a two axis incremental command must be programmed on each block containing a
G02 or G03. This data determine the end point of the circular move as the incremental distances from the
start point. This data must correspond to the plane selected; G17(X &Y), G18 (Z & X) and G19 (Y & Z).

When programming circular interpolation with an axis other than X, Y or Z a new plane must be defined to include the
desired axes. The following is a list of common plane configurations:
G17 BY, G18 WX or AX, G19 YW or VW

The plane can be defined prior to the circular command or on the same block.
G91 G18 W0 X0; Define G18 as W X plane
G90 G02 X5 W0 R3.5;

See the ROTARY TABLE and CONTOURING HEADS sections for more information on programming circular
interpolation using rotary axes and V-axis.

CIRCULAR / HELICAL / CONICAL INTERPOLATION 69.50 - 1


ARC CENTER OFFSETS, R, I, J, K

R Is used for machining arcs up to 360° in one block of tape, but cannot generate a full 360° circle on one block.
The R value is positive when machining an arc of 180° or less and negative when machining an arc over 180°.

The R value is the shortest distance between the center of the cutter and the center of the arc.

I,J,K The arc center offset commands must accompany the corresponding axis data on each block. The arc center
offset are the same for absolute (G90) and incremental (G91) modes. These data represents the signed
distances from the starting point on the arc to the center of the arc.

• I data represents the incremental distance in the X-axis.

• J data represents the incremental distance in the Y-axis.

• K data represents the incremental distance in the Z/W-axis.


I+ I- K+ K- J+ J-

J- J- I- I- K- K-

J+ J+ I+ I+ K+ K+

I+ I- K+ K- J+ J-

Y+ X+ Z/ W

G1 7 G1 8 G1 9

X+ Z/ W Y+

FIGURE 69.50 - 1
Plane Select Arc Centers

The following rules apply to circular interpolation.

• When programming from the center of the cutter, all axes data are calculated from the center of the cutter,
therefore allowances must be made in the programmed feedrate for the radius of the cutter. When cutting on a
circular path, the actual feed rate at the center of the cutter is greater or less than at the outside of the cutter
depending if an OD or ID is being cut. The following formula should be use to calculate the proper feedrate:

PROGRAMMED FEEDRATE = DESIRED FEEDRATE X PROGRAMMED RADIUS ÷ PART RADIUS

• The programmed end point must be on the programmed arc. The control will mathematically check the
programmed data before executing a circular command. If the end point is not on the programmed arc within the
default limit (typically .020 mm/.0008"), a fault will occur and the block of data will not be executed.

CIRCULAR INTERPOLATION EXAMPLES

For examples on Circular Interpolation refer to PROGRAMMING EXAMPLES section.

69.50 - 2 CIRCULAR / HELICAL / CONICAL INTERPOLATION


HELICAL INTERPOLATION

Helical Interpolation allows the programming of a third axis linear move with a 2-axis G02 or G03 circular move. This
command can be made using either of the three plane selects, G17, G18, or G19. The plane selected will determine
which axis will be the linear move. The following information is used with a G17 plane select.

1. G02 or G03 Circular command

2. X and Y End points of circular command

3. I and J (or R) Arc center offsets

4. W or Z Linear command

The above information will be contained in one block. The G02 or G03, X and Y, I and J, (or R) is the standard
format used for all circular commands. The W or Z is the end point of the third axis move. W or Z can be a
incremental distance (G91) or absolute dimension (G90). The I and J data are non-modal and must be programmed
on each block. Corresponding commands would be used for Helical Interpolation in the G18 and G19 planes.

HELICAL INTERPOLATION EXAMPLES

Refer to PROGRAMMING EXAMPLES section for examples on Helical Interpolation.

CONICAL INTERPOLATION

Conical Interpolation is Helical Interpolation with a radial offset added to the circular interpolation axes. The result is
a cone shape to the bore. This can be used to mill a large chamfer or to mill a tapered bore. On a machine equipped
with a Contouring Head or a CBS Bar, this can be used to perform the roughing of a contoured feature.

CIRCULAR / HELICAL / CONICAL INTERPOLATION 69.50 - 3


SECTION 69.99
PROGRAMMING EXAMPLES
TABLE OF CONTENTS

TITLE PAGE
PROGRAM CODE EXAMPLES ..................................................................................................................................... 1

EXAMPLE 69.99A: DRILL AND TAP 8 HOLES - LINE BY LINE........................................................................ 1

EXAMPLE 69.99B: DRILL AND TAP 8 HOLES USING SUBPROGRAM .......................................................... 4

EXAMPLE 69.99C: DRILL AND TAP 8 HOLES USING CUSTOM MACRO ...................................................... 6

CUSTOM MACRO BC .............................................................................................................................. 6

MAIN PROGRAM 69.99C......................................................................................................................... 7

EXAMPLE 69.99D: MILL BORE USING CUSTOM MACRO .............................................................................. 8

CALLING PROGRAM ............................................................................................................................... 9

CIRCULAR INTERPOLATION EXAMPLES ................................................................................................................. 10


EXAMPLE 69.99E: MILL BORE (G90) ............................................................................................................. 10

EXAMPLE 69.99F: MILL BORE (G91) ............................................................................................................. 12

EXAMPLE 69.99G: MILL PROFILE (TOOL CENTER) ..................................................................................... 14

EXAMPLE 69.99H: MILL PROFILE (TOOL EDGE) ......................................................................................... 16

HELICAL INTERPOLATION EXAMPLES .................................................................................................................... 18

EXAMPLE 69.99I: MILL RAMP ........................................................................................................................ 18

EXAMPLE 69.99J: THREAD MILL ................................................................................................................... 19

EXAMPLE 69.99K: THREAD MILL WITH HOB TYPE CUTTER ...................................................................... 20

REV 1 (10-2012)
PROGRAM CODE EXAMPLES

The following pages contain examples of programs and subprograms that may be helpful in developing special
routines for your machine.
EXAMPLE 69.99A: DRILL AND TAP 8 HOLES - LINE BY LINE

11.0”

8 holes, equally spaced


12” Blot Circle Diameter
.875” drill, 2.5” deep
1.00 - 8 tap, 1.8” deep

11.0”

Z SPINDLE W SPINDLE
% %
<EXAMPLE6999A> (WITHOUT SUB EXAMPLE); <EXAMPLE6999A> (WITHOUT SUB EXAMPLE);
N0010 G00 G55 W45 T1; N0010 G00 G55 Z45 T1;
N0020 M6 T1; N0020 M6 T1;
N0030 G00 G95 S200 F.015 M03 T2; N0030 G00 G95 S200 F.015 M03 T2;
N0040 G200 Z-6; N0040 G200 W-6;
N0050 G43 H1 W2; N0050 G43 H1 Z2;
N0060 G81 X11 Y17 R.1 W-2.8 M7; N0060 G81 X11 Y17 R.1 Z-2.8 M7;
N0070 X15.2426 Y15.2426; N0070 X15.2426 Y15.2426;
N0080 X17 Y11; N0080 X17 Y11;
N0090 X15.2426 Y6.7574; N0090 X15.2426 Y6.7574;
N0100 X11 Y5; N0100 X11 Y5;
N0110 X6.7574 Y6.7574; N0110 X6.7574 Y6.7574;
N0120 X5 Y11; N0120 X5 Y11;
N0130 X6.7574 Y15.2426; N0130 X6.7574 Y15.2426;
N0140 G80 M09 M05; N0140 G80 M09 M05;
N0150 G00 W25; N0150 G00 Z25;
N0160 M6 T2; N0160 M6 T2;
N0170 G00 G95 S175 M03 M42; N0170 G00 G95 S175 M03 M42;
N0180 G200 Z-6; N0180 G200 W-6;
N0190 G43 H2 W2; N0190 G43 H2 Z2;
N0200 G84 X11 Y17 R.25 W-2.3 F.125; N0200 G84 X11 Y17 R.25 Z-2.3 F.125;
N0210 X15.2426 Y15.2426; N0210 X15.2426 Y15.2426;
N0220 X17 Y11; N0220 X17 Y11;
N0230 X15.2426 Y6.7574; N0230 X15.2426 Y6.7574;
N0240 X11 Y5; N0240 X11 Y5;
N0250 X6.7574 Y6.7574; N0250 X6.7574 Y6.7574;
N0260 X5 Y11; N0260 X5 Y11;
N0270 X6.7574 Y15.2426; N0270 X6.7574 Y15.2426;
N0280 G80 M05; N0280 G80 M05;
N0290 G200; N0290 G200;
N0300 G00 W45; N0300 G00 Z45;
N0310 M30; N0310 M30;
% %

PROGRAMMING EXAMPLES 69.99 - 1


THIS PAGE IS INTENTIONALLY BLANK

69.99 - 2 PROGRAMMING EXAMPLES


DESCRIPTION OF 6999A
N0010 Retract saddle / auxiliary slide for tool change
N0020 Tool change
N0030 Feed, speed, spindle, preselect tool
N0040 Extend spindle and offset saddle / auxiliary slide
N0050 Activate tool offset & apply to saddle / auxiliary slide axis
N0060 Drill first hole, coolant on
N0070 Drill hole
N0080 Drill hole
N0090 Drill hole
N0100 Drill hole
N0110 Drill hole
N0120 Drill hole
N0130 Drill hole
N0140 Cancel drill cycle
N0150 Retract saddle / auxiliary slide for tool change
N0160 Tool change
N0170 Feed, speed, spindle on and select range 2
N0180 Extend spindle & apply to saddle / auxiliary axis
N0190 Activate tool offset & apply to saddle / auxiliary axis
N0200 Tap first hole
N0210 Tap hole
N0220 Tap hole
N0230 Tap hole
N0240 Tap hole
N0250 Tap hole
N0260 Tap hole
N0270 Tap hole
N0280 Cancel drill cycle
N0290 Retract spindle and cancel saddle / auxiliary slide offset
N0300 Retract saddle / auxiliary slide
N0310 End of program

PROGRAMMING EXAMPLES 69.99 - 3


EXAMPLE 69.99B: DRILL AND TAP 8 HOLES USING SUBPROGRAM

11.0”

8 holes, equally spaced


12” Blot Circle Diameter
.875” drill, 2.5” deep
1.00 - 8 tap, 1.8” deep

11.0”

Z SPINDLE W SPINDLE

% %
<EXAMPLE6999B> (SUB EXAMPLE); <EXAMPLE6999B> (SUB EXAMPLE);
N0010 G00 G55 W45 T1; N0010 G00 G55 Z45 T1;
N0020 M6 T1; N0020 M6 T1;
N0030 G00 G95 S200 F.015 M03 T2; N0030 G00 G95 S200 F.015 M03 T2;
N0040 G200 Z-6; N0040 G200 W-6;
N0050 G43 H1 W2; N0050 G43 H1 Z2;
N0060 G81 R.1 W-2.8 K0 M7; N0060 G81 R.1 Z-2.8 K0 M7;
N0070 M98 <HOLES>; N0070 M98 <HOLES>;
N0080 G80 M09 M05; N0080 G80 M09 M05;
N0090 G00 W25; N0090 G00 Z25;
N0100 M6 T2; N0100 M6 T2;
N0110 G00 G95 S175 M03 M42; N0110 G00 G95 S175 M03 M42;
N0120 G200 Z-6; N0120 G200 W-6;
N0130 G43 H2 W2; N0130 G43 H2 Z2;
N0140 G84 R.25 W-2.3 F.125 K0; N0140 G84 R.25 Z-2.3 F.125 K0;
N0150 M98 <HOLES>; N0150 M98 <HOLES>;
N0160 G80 M05; N0160 G80 M05;
N0170 G200; N0170 G200;
N0180 G00 W45; N0180 G00 Z45;
N0190 M30; N0190 M30;
% %

%
<HOLES>; Subprogram - the following lines consist of the 8 hole locations
N10 X11 Y17;
N20 X15.2426 Y15.2426;
N30 X17 Y 11;
N40 X15.2426 Y6.7574;
N50 X11 Y5;
N60 X6.7574 Y6.7574;
N70 X5 Y11;
N80 X6.7574 Y15.2426;
N90 M99; End of subprogram
%

69.99 - 4 PROGRAMMING EXAMPLES


DESCRIPTION
N0010 Retract saddle / auxiliary slide for tool change
N0020 Tool change
N0030 Feed, speed, spindle & coolant on, preselect tool
N0040 Extend spindle and offset saddle / auxiliary slide
N0050 Activate tool offset & apply to saddle / auxiliary slide axis
N0060 Activate drill cycle with no motion, coolant on
N0070 Drill 8 holes by calling subroutine, <HOLES>
N0080 Cancel drill cycle
N0090 Retract saddle / auxiliary slide for tool change
N0100 Tool change
N0110 Feed, speed, spindle on and select range 2
N0120 Extend spindle and offset saddle / auxiliary slide
N0130 Activate tool offset & apply to saddle / auxiliary slide axis
N0140 Activate tap cycle with no motion
N0150 Tap 8 holes by calling subroutine, <HOLES>
N0160 Cancel drill cycle
N0170 Retract spindle and cancel saddle / auxiliary slide offset
N0180 Retract saddle / auxiliary slide
N0190 End of program

PROGRAMMING EXAMPLES 69.99 - 5


EXAMPLE 69.99C: DRILL AND TAP 8 HOLES USING CUSTOM MACRO

11.0”

8 holes, equally spaced


12” Blot Circle Diameter
.875” drill, 2.5” deep
1.00 - 8 tap, 1.8” deep

11.0”

CUSTOM MACRO BC

This program is a macro called BC (Bolt Circle), which will be used as a Global Subroutine. This macro is used for
drilling equally spaced circular hole patterns. It has 13 variables that could be passed when the macro is called.

%
<BC> (BOLT CIRLE); Macro name
(A = #1 = STARTING ANGLE OF FIRST HOLE);
(B = #2 = NUMBER OF HOLES TO BE MACHINED);
(C = #3 = TYPE OF CANNED CYCLE, EXAMPLE G76, G81, G82, G83, G84, G85 ETC.);
(D = #7 = DIAMETER OF BOLT CIRCLE);
(F = #9 = FEEDRATE OR PITCH FOR TAPPING);
(H = #11 = NUMBER OF HOLES IN PATTERN);
(Q = #17 = INCREMENTAL AMOUNT USED ON SOME CYCLES);
(R = #18 = APPROACH POSITION);
(S = #19 = RPM FOR TAPPING - 2 SPEED HEAD);
(X = #24 = X CENTER COORDINATE OF BOLT CIRCLE);
(Y = #25 = Y CENTER COORDINATE OF BOLT CIRCLE);
(Z = #26 = Z-AXIS DEPTH OF HOLE – CANNOT BE USED WITH W);
(W = #23 = W-AXIS DEPTH OF HOLE – CANNOT BE USED WITH Z);
(EXAMPLE - G65 <BC> X11 Y11 A90 H8 C81 D12 F.015 R.1 W-2.8);
N10 IF[#2EQ#0]THEN#2=#11; If B is not programmed, default to H value
N20 IF[[#23NE#0]AND[#26NE#0]]GOTO9000; Only Z or W can be programmed
N30 G#3X[#24+[[#7/2]*COS[#1]]]Y[#25+[[#7/2]*SIN[#1]]]R#18Z#26W#23Q#17F#9S#19;
Call cycle defined by #3 & pass cycle code
N40 #1=#1+360/#11; Calculates the angle for the next hole
N50 #2=#2-1; Count down the number of holes
N60 IF[#2GT0]GOTO30; Repeat until all holes are complete
N70 G80; Cancel cycle
N80 GOTO9999; Jump to end
N9000 #3000=1(ERROR-BOTH Z AND W CANNOT BE PROGRAMMED);
N9999 M99;
%

69.99 - 6 PROGRAMMING EXAMPLES


MAIN PROGRAM 69.99C
Z SPINDLE W SPINDLE
% %
<EXAMPLE6999C> (Main Program); <EXAMPLE6999C> (Main Program);
N010 G00 G55 W45 T1; N010 G00 G55 Z45 T1;
N020 M6 T1; N020 M6 T1;
N030 G00 G95 S200 F.015 M03 M7 T2; N030 G00 G95 S200 F.015 M03 M7 T2;
N040 G200 Z-6; N040 G200 W-6;
N050 G43 H1 W2; N050 G43 H1 Z2;
N060 G65 <BC> X11 Y11 A90 H8 C81 D12 F.015 R.1 W-2.8; N060 G65 <BC> X11 Y11 A90 H8 C81 D12 F.015
R.1 Z-2.8;
N070 G00 W25 M09 M05; N070 G00 Z25 M09 M05;
N080 M6 T2; N080 M6 T2;
N090 G00 G95 S175 M03 M42; N090 G00 G95 S175 M03 M42;
N100 G200 Z-6; N100 G200 W-6;
N110 G43 H2 W2; N110 G43 H2 Z2;
N120 G65 <BC> X11 Y11 A90 H8 C84 D12 F.125 R.250 W-2.3; N120 G65 <BC> X11 Y11 A90 H8 C84 D12 F.125
R.250 Z-2.3;
N130 G200; N130 G200;
N140 G00 W45 M05; N140 G00 Z45 M05;
N150 M30; N150 M30;
% %
N010 Retract saddle / auxiliary slide for tool change
N020 Tool change
N030 Feed, speed, spindle coolant on, preselect tool
N040 Extend spindle and offset saddle / auxiliary slide
N050 Activate tool offset & apply to saddle / auxiliary slide
N060 Call BC macro to drill
N070 Retract saddle / auxiliary slide for tool change
N080 Tool change
N090 Feed, speed, spindle on and select range 2
N100 Extend spindle and offset saddle / auxiliary slide
N110 Activate tool offset & apply to saddle / auxiliary slide
N120 Call BC macro to tap
N130 Retract spindle and cancel saddle / auxiliary slide offset
N140 Retract saddle / auxiliary slide
N150 End of program
This example is an illustration of using variables in a custom macro. The macro BC will drill any equally space
circular hole pattern when the proper values are passed to the parameters. Ten variables can be passed when the
macro is called. Description of call line variables:

Letter Function Block N60 Block N120


A Starting angle of first hole 90 90
B Number of holes to be machined
C Type of canned cycle, example G76, G81, G82, G83, G84, G85 ETC. 81 84
D Diameter of bolt circle 12 12
F Feedrate or pitch for tapping .015 .125
H Number of holes in pattern 8 8
Q Incremental amount used on some cycles
R Approach position .1 .25
S Rpm for tapping - 2 speed head
X X center coordinate of bolt circle 11 11
Y Y center coordinate of bolt circle 11 11
Z Z-axis depth of hole - cannot be used with W
W W-axis depth of hole - cannot be used with Z -2.8 -2.3

PROGRAMMING EXAMPLES 69.99 - 7


EXAMPLE 69.99D: MILL BORE USING CUSTOM MACRO

This program is a macro called MB, which will be used as a Global Subroutine. This macro can be used for milling a
bore or C'bore. A number of variables will be passed when the macro is called.
Note: This macro starts at the X and Y center, feeds to the calculated start point to apply cutter radius
compensation and arcs into the full circle. After the full circle move, the cutter arcs out to the X and
Y start point and retracts the Z or W.

Finish Diameter “S”

Cutter Diameter “C”


Rough Diameter “R”

Center “X & Y”

Start Point X#24 Y#31

Direction “A”

%
<MB> (MILL BORES Z OR W AXIS POSITIONING); Macro name
(A = #1 = CUTTING DIRECTION 2=G02/3=G03);
(C = #3 = CUTTER DIAMETER SIZE);
(D = #7 = RADIUS COMP OFFSET---DEFAULTS TO ACTIVE H-CODE);
(F = #9 = FEEDRATE---DEFAULTS TO ACTIVE FEEDRATE);
(R = #18 = ROUGH DIAMETER SIZE);
(S = #19 = FINISH DIAMETER SIZE);
(W = #23 = BORE DEPTH COORDINATE - CANNOT BE USED WITH Z);
(X = #24 = X LOCATION BORE CENTER COORDINATE);
(Y = #25 = Y LOCATION BORE CENTER COORDINATE);
(Z = #26 = BORE DEPTH COORDINATE - CANNOT BE USED WITH W);
(EXAMPLE - G65 <MB> A2 C1.5 D1 S4.0 R3.0 W-1 X10 Y10);
N10 IF[#9EQ#0]THEN#9=#4109; Default to active feedrate if vacant
N20 IF[#7EQ#0]THEN#7=#4111; Set to D-code to active H-code if vacant
N30 IF[#4003EQ91]GOTO9000; Check for incremental
N40 IF[#1LT2]GOTO9001; Check A value - must be 2 or 3
N50 IF[#1GT3]GOTO9001; Check A value - must be 2 or 3
N60 IF[#3GT#18]GOTO9002; Check for cutter clearance
N70 IF[[#23NE#0]AND[#26NE#0]]GOTO9003; Only Z or W can be programmed
N80 #30=#5005; Store W-axis start point
N90 #33=#5004; Store Z-axis start point (HMC #5003)
N100 #31=#25-[#18-#3]/2; Calculate X and Y start point
N110 #32=#25-[#19-#3]/2; Calculate X and Y end point
N120 G42D#7; Cutter radius comp right
N130 IF[#1NE3]GOTO150; If not G3 - jump G41
N140 G41D#7; Cutter radius comp left
N150 G00X#24Y#25; Position to center of bore
N160 G00W#23Z#26; Position to Z or W depth
N170 G01X#24Y#31F[#9*10]; Feed to start point at feed x 10
N180 G#1X#24Y#32I0J[[#32-#31]/2]F#9; Circular move to finish diameter
N190 X#24Y#32I0J[#25-#32]; Full circle move
N200 X#24Y#31I0J[[#31-#32]/2]; Circular move to start point
N210 G00 W#30 Z#33; Position to Z or W start point
N220 G40; Cancel radius compensation
N230 GOTO9999; GOTO end

69.99 - 8 PROGRAMMING EXAMPLES


N9000 #3000=1(ERROR-INCREMENTAL NOT ALLOWED);
N9001 #3000=2(ERROR-INCORRECT A-CODE PROGRAMMED);
N9002 #3000=3(ERROR-NO CLEARANCE FOR CUTTER);
N9003 #3000=4(ERROR-BOTH Z AND W CANNOT BE PROGRAMMED);
N9999 M99;
%

This example is an illustration of using variables in a subroutine. The Global Subroutine MB will mill circular
interpolate a bore / C’bore when the proper values are passed to the variables. Ten variables can be passed when
the subroutine is called.

CALLING PROGRAM

Z SPINDLE W SPINDLE

% %
<EXAMPLE6999D> (MAIN PROGRAM); <EXAMPLE6999D> (MAIN PROGRAM);
N10 G00 G55 W45 T1; N10 G00 G55 Z45 T1;
N20 M6 T1; N20 M6 T1;
N30 G00 G95 S200 F.015 M03 M7 T2; N30 G00 G95 S200 F.015 M03 M7 T2;
N40 G200 Z6; N40 G200 W-6;
N50 G43 H1 W2; N50 G43 H1 Z2;
N60 G65 <MB> A2 C1.5 D1 S4 R3 X12 Y16 W-1; N60 G65 <MB> A2 C1.5 D1 S4 R3 X12 Y16 Z-1;
N70 G200; N70 G200;
N80 G00 W45; N80 G00 Z45;
N90 M30; N90 M30;
% %

N10 Retract saddle / auxiliary slide for tool change


N20 Tool change
N30 Feed, speed, spindle, coolant on, preselect tool
N40 Extend spindle and offset saddle / auxiliary slide axis
N50 Activate tool offset & apply to saddle / auxiliary slide axis
N60 Call subroutine <MB> pass values
N70 Retract spindle and cancel saddle / auxiliary slide offset
N80 Retract saddle / auxiliary slide
N90 End of program

Description of call line variables

Block
Letter Function
N60
A Cutting direction (2 = G02 / 3 = G03) 2
C Cutter diameter size 1.5
D Radius compensation offset 1
R Rough diameter size 3.0
S Finish diameter size 4.0
X X location bore center coordinate 12.
Y Y location bore center coordinate 16.
Z Bore depth coordinate - cannot be used with W
W Bore depth coordinate - cannot be used with Z -1.0

PROGRAMMING EXAMPLES 69.99 - 9


CIRCULAR INTERPOLATION EXAMPLES

The following are examples of various circular commands.

EXAMPLE 69.99E: MILL BORE (G90)

The following example is a method of milling an inside diameter. A series of three circular moves should be made.
This method is programmed to tool center.

10.00 Dia. Bore

Y0
Position 1

Position 4
2.00 Dia. Cutter

2.00 Radius
X0 Position 2 & 3

1. An entrance arc that is tangent to the full circle.

2. A full circle arc that will cut the desired diameter.

3. An exit arc that will leave the cut tangent to the full circle path.

Mill 10.00" diameter bore using 2.00" diameter cutter 1.50" deep

Z SPINDLE W SPINDLE

% %
<EXAMPLE 6999E> (MILL BORE 1); <EXAMPLE 6999E> (MILL BORE 1);
N10 G00 W25 T1; N10 G00 Z25 T1;
N20 M6 T1; N20 M6 T1;
N30 G95 X2 Y-2 Z0 F.04 S500 G42 D1; N30 G95 X2 Y-2 W0 F.04 S500 G42 D1;
N40 G43 H1 W1; N40 G43 H1 Z1;
N50 G00 W-1.5; N50 G00 Z-1.5;
N60 G02 G90 X0 Y-4 I-2 J0 M3 F[.04*2/3]; N60 G02 G90 X0 Y-4 I-2 J0 M3 F[.04*2/3];
N70 X0 Y-4 I0 J4 F.04; N70 X0 Y-4 I0 J4 F.04;
N80 X-2 Y-2 I0 J2; N80 X-2 Y-2 I0 J2;
N90 G00 W25; N90 G00 Z25;
N100 M02; N100 M02;
% %

69.99 - 10 PROGRAMMING EXAMPLES


EXPLANATION OF CIRCULAR BLOCKS
N10 Retract saddle / auxiliary slide and preselect T1
N20 Tool change
N30 Position X, Y & Z, set speed & feed
N40 Activate offsets and position saddle / auxiliary slide
N50 Position saddle / auxiliary slide to depth
N60 Circular mill clockwise (G02), (X0 Y-4) is the endpoint of the circular command Position 2. (I-2 J0) are the
arc center offsets - i.e. the distance from the start point on the arc, (Position 1), to the center of arc.
Feedrate adjusted on this arc.
N70 Circular mill clockwise (G02), (X0 Y-4) is the endpoint of the circular command Position 3. (I0 J4) are the
arc center offsets, i.e. distance to center coordinate of the 4.00 arc. Full feedrate entered.
N80 Circular mill clockwise (G02), (X-2 Y-2) is the endpoint of the circular command Position 4. (I0 J2) are the
arc center offsets, i.e. the distances from the start point on the arc, (Position 3), to the center of the arc.
N90 Retract saddle / auxiliary slide for clearance
N100 End of program

PROGRAMMING EXAMPLES 69.99 - 11


EXAMPLE 69.99F: MILL BORE (G91)

The following example is the same as Example 69.99E only in this example the circular command will be done
incrementally (G91). This method is programmed to tool center.

10.00 Dia. Bore

Y0
Position 1

Position 4
2.00 Dia. Cutter

2.00 Radius
X0 Position 2 & 3

Mill 10.00" diameter bore using 2.00" diameter cutter 1.5" deep

Z SPINDLE W SPINDLE

% %
<EXAMPLE 6999F> (MILL BORE 2); <EXAMPLE 6999F> (MILL BORE 2);
N10 G00 W25 T1; N10 G00 Z25 T1;
N20 M6 T1; N20 M6 T1;
N30 G95 X2 Y-2 Z0 F.04 S500 G42 D1; N30 G95 X2 Y-2 W0 F.04 S500 G42 D1;
N40 G43 H1 W1; N40 G43 H1 Z1;
N50 G00 W-1.5; N50 G00 Z-1.5;
N60 G02 G91 X-2 Y-2 I-2 J0 F[.04*2/3]; N60 G02 G91 X-2 Y-2 I-2 J0 F[.04*2/3];
N70 X0 Y0 I0 J4 F.040; N70 X0 Y0 I0 J4 F.040;
N80 X-2 Y2 I0 J2; N80 X-2 Y2 I0 J2;
N90 G00 G90 W25; N90 G00 G90 Z25
N100 M02; N100 M02;
% %

69.99 - 12 PROGRAMMING EXAMPLES


EXPLANATION OF CIRCULAR BLOCKS
N10 Retract saddle / auxiliary slide & preselect T1
N20 Tool change
N30 Position X, Y & Z, set speed & feed
N40 Activate offsets and position saddle / auxiliary slide
N50 Position saddle / auxiliary slide to depth
N60 Circular mill clockwise (G02), Set control to the incremental mode (G91). (X-2 Y-2) is the incremental
distance to the endpoint of the circular command Position 2. (I-2 J0) are the arc center offsets - i.e. the
distance from the start point on the arc, (Position 1), to the center of arc. Feedrate adjusted on this arc.
N70 Circular mill clockwise (G02), (X0 Y0) is the incremental distance to the endpoint of the circular command
Position 3. (I0 J4) are the arc center offsets, i.e. the distance from the start point on the arc, (Position 2), to
the center of the arc. Full feedrate entered.
N80 Circular mill clockwise (G02), (X-2 Y2) is the incremental distance to the endpoint of the circular command
Position 4. (I0 J2) are the arc center offsets, i.e. the distances from the start point on the arc, (Position 3), to
the center of the arc.
N90 Retract saddle / auxiliary slide for clearance
N100 End of program

PROGRAMMING EXAMPLES 69.99 - 13


EXAMPLE 69.99G: MILL PROFILE (TOOL CENTER)

The following example is mill outside corners and adjusting the feedrate on the corners. This method is programmed
to tool center.

Mill outside of piece using a 2.00 diameter cutter

Z SPINDLE W SPINDLE

% %
<EXAMPLE 6999G> (ARC 1); <EXAMPLE 6999G> (ARC 1);
N10 G00 W25 T2; N10 G00 Z25 T2;
N20 M6 T2; N20 M6 T2;
N30 G95 X1 Y-1 Z0 F.04 S600 G42 D2; N30 G95 X1 Y-1 W0 F.04 S600 G42 D2;
N40 G43 H2 W1; N40 G43 H2 Z1;
N50 G00 W-1.5 M3; N50 G00 Z-1.5 M3;
N60 G01 Y8; N60 G01 Y8;
N70 G03 X-2 Y11 I-3 J0 F[.04*3/2]; N70 G03 X-2 Y11 I-3 J0 F[.04*3/2];
N80 G01 X-6 F.04; N80 G01 X-6 F.04;
N90 G03 X-9 Y8 I0 J-3 F[.04*3/2]; N90 G03 X-9 Y8 I0 J-3 F[.04*3/2];
N100 G01 Y2 F.04; N100 G01 Y2 F.04;
N110 G03 X-6 Y-1 I3 J0 F[.04*3/2]; N110 G03 X-6 Y-1 I3 J0 F[.04*3/2];
N120 G01 X-2 F.04; N120 G01 X-2 F.04;
N130 G03 X1 Y2 I0 J3 F[.04*3/2]; N130 G03 X1 Y2 I0 J3 F[.04*3/2];
N140 G02 X2 Y3 I1 J0 F.04; N140 G02 X2 Y3 I1 J0 F.04;
N150 G00 W25; N150 G00 Z25;
N160 M2; N160 M2;
% %
Note: Adjusting the feedrate for a finish cut is ok, but should not be done when taking a rough cut. The
chip load may exceed the cutters capacity when taking a full width of cuts.

69.99 - 14 PROGRAMMING EXAMPLES


EXPLANATION OF CIRCULAR BLOCKS
N10 Retract saddle / auxiliary slide and preselect tool
N20 Tool change
N30 Position X, Y & W/Z, set speed & feed
N40 Activate offset and position saddle / auxiliary slide
N50 Position saddle / auxiliary slide to depth
N60 Position 2
N70 Circular mill counterclockwise (G03) to the endpoint of the circular command (X-2 Y11) - Position 3. (I-3 J0)
are the arc center offsets i.e. the incremental distance from the start point to the center of the arc. Adjust the
feedrate to allow for the cutter radius.
N80 Position 4
N90 Circular mill counterclockwise (G03) to the endpoint of the circular command (X-9 Y8) - Position 5. (I0 J-3)
are the arc center offsets i.e. the incremental distance from the start point to the center of the arc. Adjust the
feedrate to allow for the cutter radius.
N100 Position 6
N110 Circular mill counterclockwise (G03) to the endpoint of the circular command (X-6 Y-1) - Position 7. (I3 J0)
are the arc center offsets i.e. the incremental distance from the start point to the center of the arc. Adjust the
feedrate to allow for the cutter radius.
N120 Position 8
N130 Circular mill counterclockwise (G03) to the endpoint of the circular command (X1 Y2) - Position 9. (I0 J3)
are the arc center offsets - i.e. the incremental distance from the start point to the center of the arc. Adjust
the feedrate to allow for the cutter radius.
N140 Circular mill clockwise (G02) to the endpoint of the circular command (X2 Y3) - Position 10. (I1 J0) are the
arc center offsets - i.e. the incremental distance from the start point to the center of the arc, returning the
feedrate to original value.
N150 Retract saddle / auxiliary slide for clearance
N160 End of program

PROGRAMMING EXAMPLES 69.99 - 15


EXAMPLE 69.99H: MILL PROFILE (TOOL EDGE)

The following example is part edge programming using R to define the arc center. The 1.0" actual tool radius is
entered in tool offset D2.

Mill outside of piece using a 2.00 diameter cutter

Z SPINDLE W SPINDLE

% %
<EXAMPLE 6999H> (ARC 3); <EXAMPLE 6999H> (ARC 3);
N10 G00 W25 T2; N10 G00 Z25 T2;
N20 M6 T2; N20 M6 T2;
N30 G95 X0 Y-1 Z0 F.04 S600 G42 D2; N30 G95 X0 Y-1 W0 F.04 S600 G42 D2;
N40 G43 H2 W1; N40 G43 H2 Z1;
N50 G00 W-1.5 M3; N50 G00 Z-1.5 M3;
N60 G01 Y8; N60 G01 Y8;
N70 G03 X-2 Y10 R2 G62; N70 G03 X-2 Y10 R2 G62;
N80 G01 X-6 G64; N80 G01 X-6 G64;
N90 G03 X-8 Y8 R2 G62; N90 G03 X-8 Y8 R2 G62;
N100 G01 Y2 G64; N100 G01 Y2 G64;
N110 G03 X-6 Y0 R2 G62; N110 G03 X-6 Y0 R2 G62;
N120 G01 X-2 G64; N120 G01 X-2 G64;
N130 G03 X0 Y2 R2 G62; N130 G03 X0 Y2 R2 G62;
N140 G02 X2 Y2 R1; N140 G02 X2 Y2 R1;
N150 G00 W25; N150 G00 Z25;
N160 M2; N160 M2;
% %
Note: The tool offset for D2 must be set to 1.00 inch.

Note: G62 is an optional feature for adjusting the feed rate on corners. If this option is not purchased, the
previous example shows how to adjust the feed rate.

69.99 - 16 PROGRAMMING EXAMPLES


EXPLANATION OF CIRCULAR BLOCKS
N10 Retract saddle / auxiliary slide and preselect tool
N20 Tool change
N30 Position X, Y & W/Z, set speed & feed
N40 Activate offsets and position saddle / auxiliary slide
N50 Position saddle / auxiliary slide to depth
N60 Position 2
N70 Circular mill counterclockwise (G03) to the endpoint of the circular command, (X-2 Y10) - Position 3. (R2) is
the arc radius. The feedrate will be automatically adjusted to allow for the cutter radius. Adjust the feed rate
to allow for the cutter radius (G62).
N80 Position 4
N90 Circular mill counterclockwise (G03) to the endpoint of the circular command, (X-8 Y8) - Position 5. (R2) is
the arc radius. The feedrate will be automatically adjusted to allow for the cutter radius. Adjust the feed rate
to allow for the cutter radius (G62).
N100 Position 6
N110 Circular mill counterclockwise (G03) to the endpoint of the circular command, (X-6 Y0) - Position 7. (R2) is
the arc radius. The feedrate will be automatically adjusted to allow for the cutter radius. Adjust the feed rate
to allow for the cutter radius (G62).
N120 Position 8
N130 Circular mill counterclockwise (G03) to the endpoint of the circular command, (X0 Y2) - Position 9. (R2) is
the arc radius. The feedrate will be automatically adjusted to allow for the cutter radius. Adjust the feed rate
to allow for the cutter radius (G62).
N140 Circular mill clockwise (G02) to the endpoint of the circular command, (X2 Y4) - Position 10. (R1) is the arc
center offsets - i.e. the incremental distance from the start point to the center of the arc.
N150 Retract saddle / auxiliary slide to clearance
N160 End of program

PROGRAMMING EXAMPLES 69.99 - 17


HELICAL INTERPOLATION EXAMPLES

EXAMPLE 69.99I: MILL RAMP

The following is a basic example of using a third axis (W or Z) move while machining an arc (Helical Interpolation). A
1.00 diameter ball nose end mill will be used to cut a 1.00 wide slot 1.00 deep at the start point and .500 deep at the
end point. This example is programmed to tool center.
Position 2
(End)

15.0

1.00 Dia. Cutter

0.0 Position 1
15.00 (Start)
0.0

0.0

.50”
1.0

Mill 1.00" ramped slot for 90 degrees

Z SPINDLE W SPINDLE

% %
<EXAMPLE 6999I> (MILL 1.00 WIDE SLOT); <EXAMPLE 6999I> (MILL 1.00 WIDE SLOT);
N10 G00 W25 T1; N10 G00 Z25 T1;
N20 M6 T1; N20 M6 T1;
N30 G95 X15 Y0 Z0 F.02 S270; N30 G95 X15 Y0 W0 F.02 S270;
N40 G43 H1 W1; N40 G43 H1 Z1;
N50 G01 W-1.0 M3; N50 G01 Z-1.0 M3;
N60 G03 X0 Y15 I-15 J0 W-.5; N60 G03 X0 Y15 I-15 J0 Z-.5;
N70 G01 W.1; N70 G01 Z.1;
N80 G00 W25 M2; N80 G00 Z25 M2;
% %

N10 Retract saddle / auxiliary slide and preselect tool


N20 Tool change
N30 Position X, Y & W/Z, set speed and feed
N40 Activate offsets and position saddle / auxiliary slide
N50 Feed saddle / auxiliary slide to depth and start spindle
N60 Circular mill to end point, feed third axis saddle / auxiliary slide to .500 depth
N70 Feed saddle / auxiliary slide to .1 clearance plane
N80 Retract saddle / auxiliary slide, end of program

69.99 - 18 PROGRAMMING EXAMPLES


EXAMPLE 69.99J: THREAD MILL

The most widely used example of Helical Interpolation is thread milling. A form cutter is used to suit the particular
thread being cut. The thread is produced by programming a series of circular moves and feeding the W or Z-axis one
thread lead per 360 degree circle. The following is an example of milling threads (programmed to the tool center):

8.00-16 Thread

4.00" Dia.
Cutter

Start
9.0 Position

0.0
9.0
1.625 0.0

Mill 8.000 - 16 thread using 4.00" diameter cutter


Z SPINDLE W SPINDLE

% %
<EXAMPLE 6999J> (MILL THREAD); <EXAMPLE 6999J> (MILL THREAD);
N10 G00 W25 T30; N10 G00 Z25 T30;
N20 M06 T30; N20 M06 T30;
N30 G95 X9 Y7 Z0 F.08 S70 G42 D30; N30 G95 X9 Y7 W0 F.08 S70 G42 D30;
N40 G43 H1 W.1; N40 G43 H1 Z.1;
N50 G01 W.06 M3; N50 G01 Z.06 M3;
N60 M98 P8000 L30; N60 M98 P8000 L30;
N70 G00 G90 X9 Y9 G40; N70 G00 G90 X9 Y9 G40;
N80 G00 W25 M02; N80 G00 Z25 M02;
% %

N10 Retract saddle / auxiliary slide, preselect tool


N20 Tool change
N30 Position X, Y and W/Z, set feed and speed
N40 Activate offsets and position to .1 clearance plane
N50 Feed saddle / auxiliary slide to start depth
N60 Call subprogram 8000, repeat 30 times. This will cause 30 circular moves and cut 30 threads
N70 Position to bore center, set to absolute mode, cancel cutter comp
N80 Retract saddle / auxiliary slide, end of program

EXPLANATION OF EXAMPLE O8000 SUBPROGRAM


% %
O8000; O8000;
N10 G91 G02 X0 Y0 I0 J2 W-.0625; N10 G91 G02 X0 Y0 I0 J2 Z-.0625;
N20 M99; N20 M99;
% %

N10 Set control to incremental mode (G91), circular interpolation clockwise (G02), standard circular data (X, Y, I,
J), increment saddle / auxiliary slide -.0625 (one thread lead)
N20 End of subprogram

PROGRAMMING EXAMPLES 69.99 - 19


EXAMPLE 69.99K: THREAD MILL WITH HOB TYPE CUTTER

When milling threads with a hob type cutter, which will cut a number of threads with one pass, a series of three
consecutive circular moves should be made; entrance, full circle, and exit. The cutter may enter, and exit the cut in
lead; however this is not necessary for 60° V threads. Mill 8.000 - 16 thread using 2.00" diameter cutter

THREAD HOB MILLING INFORMATION SHEET

1. Thread diameter 8.0000

2. Thread pitch (1 ÷ number of threads) .0625

3. Cutter diameter 2.0000

4. Full circle radius ((thread diameter - cutter diameter) ÷ 2) 3.0000

5. Radius entrance path 1.5000

6. Radius entrance path & full circle radius (radius entrance path ÷ full circle radius) .5000

7. W/Z linear movement entrance (thread pitch x ratio ÷ (360 ÷ 90)) .0078 (.0625*.5/4)

The following is a description of the above information sheet.

1. Thread diameter is the size of the thread.

2. Thread pitch is 1 divided by the threads per inch (for inch threads).

3. Cutter diameter is the pitch diameter of the milling cutter.

4. Full circle radius is the radius of the cutter path while machining the thread diameter (thread diameter minus
Cutter Diameter divided by 2).

5. Radius entrance path is preferably a convenient number at a clearance position.

6. Ratio entrance path and full circle path is the ratio of the two circles. Divide the radius of the entrance by the
full circle radius.

7. W/Z linear movement. Multiply the thread pitch by the ratio then divide by 4 (for the 90° entrance arc).

69.99 - 20 PROGRAMMING EXAMPLES


The following is an example of milling threads with a hob-type cutter (programmed to the tool center):

8.0-16 Thread

Y0
Position 1

Position 4
2.0" Dia. Cutter

1.5" Arc-in Radius


X0 Position 2 & 3

Z SPINDLE W SPINDLE

% %
<EXAMPLE 6999K> (THREAD G90); <EXAMPLE 6999K> (THREAD G90);
N10 G00 G90 W25 T30; N10 G00 G90 Z25 T30;
N20 (LOAD 2.00 THREAD MILLING CUTTER); N20 (LOAD 2.00 THREAD MILLING CUTTER);
N30 (MILL 8.000 - 16 THREAD 1.25 DEEP); N30 (MILL 8.000 - 16 THREAD 1.25 DEEP);
N40 M6 T30; N40 M6 T30;
N50 G95 X1.5 Y-1.5 Z0 F.05 S88 G42 D30; N50 G95 X1.5 Y-1.5 W0 F.05 S88 G42 D30;
N60 G43 H30 W1; N60 G43 H30 Z1;
N70 G00 W-1.25; N70 G00 Z-1.25;
N80 G02 X0 Y-3 W-1.2577 I-1.5 J0 M03; N80 G02 X0 Y-3 Z-1.2577 I-1.5 J0 M03;
N90 X0 Y-3 W-1.3202 I0 J3; N90 X0 Y-3 Z-1.3202 I0 J3;
N100 X-1.5 Y-1.5 W-1.3279 I0 J1.5; N100 X-1.5 Y-1.5 Z-1.3279 I0 J1.5;
N110 G00 X0 Y0 G40 M05; N110 G00 X0 Y0 G40 M05;
N120 G00 W25; N120 G00 Z25;
N130 M02; N130 M02;
% %

N10 Retract saddle / auxiliary slide and preselect tool


N20 Comment
N30 Comment
N40 Tool change
N50 Position X, Y and W/Z to position, set speed and feed. Position to start point - Position 1, which is
determined by the entrance radius of 1.00. Activate G42 cutter radius compensation right with D30
programmed.
N60 Activate offsets and position saddle / auxiliary slide
N70 Position saddle / auxiliary slide to depth
N80 The circular command G02 clockwise. The X, Y, I and J are programmed for the entrance arc, - Position 2.
The W/Z command is the start point of -1.25 plus the W/Z linear movement of the entrance move -.0077 = -
1.2577.
N90 The X, Y, I, and J are programmed for the full circle - Position 3. The W/Z command is the start point of -
1.2577 plus the lead of the thread -.0625 = 1.3202.
N100 The X, Y, I, and J are programmed for the exit arc - Position 4. The W/Z command is the start point of -
1.3202 plus the W/Z linear movement of the exit move -.0077 (same as entrance move) = -1.3279.
N110 Position to bore center, cancel cutter comp, stop spindle
N120 Retract saddle / auxiliary slide to clearance
N130 End of program

PROGRAMMING EXAMPLES 69.99 - 21


SECTION 71.10
HAND HELD UNIT
TABLE OF CONTENTS
TITLE PAGE
DESCRIPTION............................................................................................................................................................... 1

KEYPAD FUNCTIONALITY ........................................................................................................................................... 1

AXIS / SPINDLE SELECTION ............................................................................................................................ 1

AXIS JOG MODE SELECTION ........................................................................................................................... 1

JOG INCREMENT / MPG MODE SELECTION .................................................................................................. 2

INCREMENT SIZE SELECTION ......................................................................................................................... 2

JOG AND RAPID TRAVERSE SELECTION ....................................................................................................... 2

REFERENCE (HOME) MODE SELECTION ....................................................................................................... 2

MEMORY MODE SELECTION ........................................................................................................................... 2


CYCLE START SELECTION .............................................................................................................................. 2

CYCLE STOP (FEEDHOLD) SELECTION ......................................................................................................... 3

SINGLE BLOCK SELECTION ............................................................................................................................. 3

DRY RUN SELECTION....................................................................................................................................... 3

SPINDLE OVERRIDE INCREMENT / DECREMENT SELECTION .................................................................... 3

SPINDLE STOP SELECTION ............................................................................................................................. 3

SPINDLE START SELECTION ........................................................................................................................... 3

MESSAGE BUTTON ........................................................................................................................................... 3

RESET SELECTION ........................................................................................................................................... 3

FUNCTION BUTTON .......................................................................................................................................... 4

LED INDICATORS .............................................................................................................................................. 4

LED DISPLAY ..................................................................................................................................................... 4

SELECTOR SWITCHES ..................................................................................................................................... 4

EMERGENCY STOP BUTTON ........................................................................................................................... 4


DESCRIPTION

The Fanuc handheld unit provides manual and automatic operation with the following features.

Emergency stop button

2 lines x 16
characters
LCD

Single
LED

Operation
ON / OFF
switch

Input key Override


with LED switch
x 20

Manual
Pulse
generator

FIGURE 71.10 - 1
Remote Station

KEYPAD FUNCTIONALITY

AXIS / SPINDLE SELECTION

XYZ Axes / spindles may be selected for manual operations, as well as, position display. The position is
displayed in the current unit of measure (inch or mm) and is the absolute position. To select an axis,
456 continually depress the button until the desired axis is displayed on the LCD unit.

AXIS JOG MODE SELECTION

This button is used to select JOG mode.

JOG

HAND HELD UNIT 71.10 - 1


JOG INCREMENT / MPG MODE SELECTION

This button selects the JOG Increment and MPG modes. When this mode is selected the operator
may select an increment size using the x n button described below.

HANDLE Note: When this mode is selected, the manual pulse generator is active for the selected
axis.

INCREMENT SIZE SELECTION

This button is used to selection the increment size of incremental jog or MPG operations. 4
increment sizes are available in JOG and incremental JOG (least command increment x1, x10,
X n x100, and x1000). 3 increment sizes are available for MPG (least command increment x1, x10 and
x100). Continually selecting the button will cycle through the increment size selections.

JOG AND RAPID TRAVERSE SELECTION

The JOG PLUS and MINUS buttons are used for continuous or incremental jogging of an axis. The
rapid traverse in conjunction with the plus or minus buttons will cause the selected axis to move in a
+ manual rapid traverse rate.

-
REFERENCE (HOME) MODE SELECTION

This button is used to select the axis reference or HOME mode.

REF

MEMORY MODE SELECTION

This button selects the memory mode.

MEM

CYCLE START SELECTION

This button is used to re-start a program that is in feedhold. Programs in MDI or Memory can only
be started from the main operator station. Once the program is started, the operator must put the
axes in feedhold and stop the spindle using the spindle stop button. The remote hand held unit can
CYCLE SRT then be enabled and the part program re-started using the CYCLE START button. This interlock is
meant to prevent an operator from inadvertently pressing the cycle start button and starting a
program.

71.10 - 2 HAND HELD UNIT


CYCLE STOP (FEEDHOLD) SELECTION

The CYCLE STOP or FEEDHOLD button is used to put axes in feedhold during automatic (Memory,
MDI or DNC) operation. Canceling cycle stop is achieved by pressing the CYCLE START button.
CYCLE STP

SINGLE BLOCK SELECTION

This button selects and deselects single block mode.

SINGLE BK

DRY RUN SELECTION

This button selects and deselects dry run mode.

DRY RUN

SPINDLE OVERRIDE INCREMENT / DECREMENT SELECTION

These buttons are used to increment and decrement the spindle speed override.

SPDLE INC

SPDLE DEC

SPINDLE STOP SELECTION

This button is used to stop a spindle that has been start using an M3 or M4 command.

SPDLE STP

SPINDLE START SELECTION

This button is used to re-start a spindle, which was stopped using the spindle stop button. An M3 or
M4 command must be active to re-start the spindle.
SPDLE SRT

MESSAGE BUTTON

The light associated with this button is used to indicate when an operator message is active. The
? button itself has no functionality.
MESSAGE

RESET SELECTION

This button acts just like the RESET button on the main MDI panel and can be used to reset alarm
condition and active programs among other things.

HAND HELD UNIT 71.10 - 3


FUNCTION BUTTON

This button currently has not functionality.


F1
FUNCTION

LED INDICATORS

N1234 X 5432.0000
O5555 F 1234 CNC Alarm

Power On

Diagnostic
LED Servo Ready

LED DISPLAY

The LED display unit shows the following information:

• 4 digit program number

• 4 digit sequence number

• Currently selected axis (absolute) position

• Feedrate

• Increment selection size (when in Increment / MPG mode)

SELECTOR SWITCHES

• Handheld unit On / Off selector switch. The handheld unit can only be enabled when the axes and spindle are
stopped.

• Feedrate override selection

EMERGENCY STOP BUTTON

This button provides a method for emergency stopping the machine.

71.10 - 4 HAND HELD UNIT


SECTION 72.10
CAMERA SETUP
TABLE OF CONTENTS
TITLE PAGE
INTRODUCTION............................................................................................................................................................ 1

SYSTEM ........................................................................................................................................................................ 2

CAMERA COMPONENTS .................................................................................................................................. 3

SETUP PROCEDURE ................................................................................................................................................... 5

ON-SCREEN DISPLAY....................................................................................................................................... 7
INTRODUCTION

The camera on your machine is a Costar SI-C400N or a Hitachi KP-D20B color CCD camera. Vendor documentation
was supplied with your machine. The purpose of this section is to provide an abbreviated setup procedure to aid you
in adjusting your system for a crisp and focused display on your monitor. The dimensions and settings listed in the
following setup were obtained on a test system in our factory. Your final dimensions and settings should be close to
what is listed but can vary from system to system. Therefore use our settings as a guide but adjust your system as
needed to obtain the best picture on your monitor.

FTR VTC

FIGURE 72.10 - 1
Camera

The camera is mounted to the headstock of your machine in a similar fashion to that shown in FIGURE 72.10 - 1.

CAMERA SETUP 72.10 -1


SYSTEM

The complete system consists of:

• Camera mounted in protective canister

• Monitor

• Control Console

FIGURE 72.10 - 2
System Components

72.10 -2 CAMERA SETUP


CAMERA COMPONENTS

The main components, shown in FIGURE 72.10 - 3 & FIGURE 72.10 - 4, of the camera system consist of:

• Camera

• C-Mount Adapter

• Spacer (may not be used)

• Camera Lens

Camera

C-Mount

Spacer

FIGURE 72.10 - 3
Camera Components

CAMERA SETUP 72.10 -3


Mounting
Flange

FIGURE 72.10 - 4
Camera Lens

72.10 -4 CAMERA SETUP


SETUP PROCEDURE

1. Remove protective canister (FIGURE 72.10 - 5) to access the camera and perform the setup procedure. It is
advisable to thoroughly clean the outside of canister prior to disassembly.

FIGURE 72.10 - 5
Camera Canister

2. Remove the two ¼-20 screws that mount the camera and lens to the enclosure arm.

3. If the 5 mm spacer (FIGURE 72.10 - 3) is installed it should be removed at this time.


4. Remove the camera lens.

5. Loosen two set screws on the C-Mount adapter.

6. Adjust the C-Mount adapter to obtain a dimension of .256” as shown in FIGURE 72.10 - 6.

7. Tighten two set screws on the C-Mount adapter.

8. Reattach the camera lens to the camera/adapter assembly.

9. Minor tweaking may be needed to ensure mount hole orientation on the camera body and camera lens with
respect to the enclosure mount arm.

10. Attach camera and lens to enclosure arm with two ¼-20 screws.

11. Access the On-Screen display using the buttons on the back of the camera body (FIGURE 72.10 - 7).

12. Navigate to the AGC setting; for button functions see FIGURE 72.10 - 8.

13. Set the AGC to 16dB.

14. Exit setup.

15. Test camera zoom, focus and clarity using the control console.

16. Make minor adjustments as needed.

17. Install canister when complete.

****************************************************************************************

SECURE CANISTER TIGHT ENOUGH TO PREVENT COOLANT INVASION BUT NOT SO TIGHT
AS TO BREAK GLASS.

****************************************************************************************

CAMERA SETUP 72.10 -5


Adjust to
.256”

FIGURE 72.10 - 6
C-Mount Dimension

72.10 -6 CAMERA SETUP


ON-SCREEN DISPLAY

To access the on screen displays for the system use the buttons on the back panel of the camera body. For button
locations see FIGURE 72.10 - 7. For button function see FIGURE 72.10 - 8.

Power indicator
Lights up when the camera is
S-VIDEO connector
powered. Output connector for separated Y/C
video signal.
Connect to the S-VIDEO input
connector of video monitor. See
page 18
Video output connector
BNC connector that outputs a
composite video signal.

Lens connector
When using an auto-iris lens,
Setup buttons connect the lens cable to this
When using setting up and connector. See page 18.
adjusting the camera with reference
to the on-screen menu.
See page 7.

FIGURE 72.10 - 7
Camera Back Panel

CAMERA SETUP 72.10 -7


MENU SYSTEM
GENERAL The camera settings and adjustments can be
The menu system can activate all the features and options changed to accommodate usage conditions.
of the camers. When connected to a monitor, convenient on-
The menus are superimposed on the image displayed on screen menus facilitate checking and changing the
the screen. The commands can open other menus, toggle
settings and adjustments.
options or change variable parameters.
Brief help lines are often presented on the screen
below the list of commands.
The complete set of current parameters is saved,
and will be loaded each time the camera is turned
on and until the next time the setup is changed.
The setting menus are illustrated on the next page.

Up button: Shift the cursor upwards.


Down button: Shift the cursor downwards.
Left button: Shift the cursor toward the left.
Right button: Shift the cursor toward the right.
Set button: To display the main menu or check the
setting and proceed to the next item.

FIGURE 72.10 - 8
Setup Button Functions

72.10 -8 CAMERA SETUP


SECTION 72.20
MAG CUSTOM SCREENS
TABLE OF CONTENTS
TITLE PAGE
GENERAL ...................................................................................................................................................................... 1

MAIN CUSTOM SCREEN ................................................................................................................................... 1

MANUAL FUNCTIONS........................................................................................................................................ 2

TOOL EXCHANGE ARM .......................................................................................................................... 3

TOOL EXCHANGE MAGAZINE ............................................................................................................... 3

SPINDLE PRELOAD ................................................................................................................................ 4

AUTO LATCH PLATE............................................................................................................................... 5

RIGHT ANGLE POWER INDEXING ATTACHMENT ............................................................................... 6

THERMAL GROWTH ............................................................................................................................... 7


PALLET RETENTION............................................................................................................................... 7

PALLET SHUTTLE ................................................................................................................................... 8

SHUTTLE DOORS ................................................................................................................................... 8

SETTINGS .......................................................................................................................................................... 9

ACTIVE DATA ................................................................................................................................................... 10

HELP ................................................................................................................................................................. 11

MCODE INFO ......................................................................................................................................... 11

GCODE INFO ......................................................................................................................................... 12

I ADAPT ............................................................................................................................................................ 13
GENERAL

The Custom Screens are used to provide information and operation specific to MAG machines. The latest version of
Custom Screens is produced using Fanuc Picture.

This section will give a description of these screens as they pertain to the HBM series machines. The Custom
Screens can be displayed by pressing the CUSTOM1 key on the MDI panel.

The Fanuc Picture version of the Custom Screens is described here.

MAIN CUSTOM SCREEN

From the Main Screen access to five (5) custom areas is possible (refer to FIGURE 72.20 - 1):

• Manual Functions

• Settings

• Active Data

• Help

• iAdapt

FIGURE 72.20 - 1
Custom Menu Page

A description of the areas follows.

MAG CUSTOM SCREENS 72.20-1


MANUAL FUNCTIONS

The Manual Functions area provides screens to perform manual operations and setup of several components (refer
to FIGURE 72.20 - 2). These functions also provide information on the state of the machine. Examples of some of
the machine components include (but are not limited to):

• Tool Exchange Setup & Diagnosis

• Spindle Preload

• Auto Latch Plate Setup & Diagnosis

• Axis Connect / Disconnect

• Thermal Growth

• Pallet Retention Setup & Diagnosis

FIGURE 72.20 - 2
Manual Function Screen

More detailed information regarding the use of the Manual Functions can be found in the Electrical Maintenance
manual provided with your machine.

72.20-2 MAG CUSTOM SCREENS


TOOL EXCHANGE ARM

FIGURE 72.20 - 3
Tool Exchange Arm Screen

TOOL EXCHANGE MAGAZINE

FIGURE 72.20 - 4
Tool Exchange Magazine Screen

MAG CUSTOM SCREENS 72.20-3


SPINDLE PRELOAD

This screen displays diagnostic information related to the spindle preload system. Use of the Override Enable
function requires that the INTERLOCK OVERRIDE button be pressed while at User Level 1. Use of this screen is
limited to qualified personnel.

FIGURE 72.20 - 5
Spindle Preload Screen

72.20-4 MAG CUSTOM SCREENS


AUTO LATCH PLATE

On machines equipped with an optional Automatic Latchplate, manual functions for loading and unloading
attachments are performed from this screen.

FIGURE 72.20 - 6
Auto Latch Plate Screen

FIGURE 72.20 - 6 shows an example of what the screen could look like when the ALP CONTROL softkey is pressed
on the Custom Menu (main) screen.

The current status of the latchplate (clamped or unclamped) is displayed, as well as the Attachment ID. The
Attachment ID is a value that is set by the machine PLC to indicate which attachment is currently loaded to the
latchplate (this is derived from a series of proximity switches). As an example; a value of seven (7), as shown in
FIGURE 72.20 - 6, indicates that the Cover Plate is loaded. A value of one (1) would indicate that the Right Angle
Head is loaded.

Refer to the ATTACHMENTS section in this manual for this procedure.

MAG CUSTOM SCREENS 72.20-5


RIGHT ANGLE POWER INDEXING ATTACHMENT

On machines equipped with an optional Right Angle Attachment, manual functions for loading and unloading
attachments are performed from this screen.

FIGURE 72.20 - 7
Attachment Indexer Custom Screen

The current status of the right angle attachment (locked or unlocked) is displayed. Refer to the ATTACHMENTS
section in this manual for more information on the right angle attachment.

72.20-6 MAG CUSTOM SCREENS


THERMAL GROWTH

FIGURE 72.20 - 8
Thermal Growth Screen

PALLET RETENTION

FIGURE 72.20 - 9
Pallet Retention Screen

MAG CUSTOM SCREENS 72.20-7


PALLET SHUTTLE

In addition to displaying the digital I/O, chain and/or rotary position of the shuttle, the exchange position and current
table position are displayed for setup and confirmation purposes.

FIGURE 72.20 - 10
Pallet Shuttle 1 Screen
SHUTTLE DOORS

In cases where only the left door is used, the right door information can be disregarded.

FIGURE 72.20 - 11
Shuttle Doors Screen

72.20-8 MAG CUSTOM SCREENS


SETTINGS

The Settings vertical softkey provides a screen that displays the 9 Block Skip option and Mirror Image Status. See
FIGURE 72.20 - 12.

FIGURE 72.20 - 12
Settings Screen

MAG CUSTOM SCREENS 72.20-9


ACTIVE DATA

This screen currently supports three functions:

• Active M-code display. Up to 9 active M-code can be displayed at one time.

• Machine Lock ON/OFF (configurable). Enabling/Disabling of machine lock can be configured in one of two
ways: M-code activation (D150.1 = 0); when an M-10 is programmed, machine control will enter machine lock
and remain in this mode until the machine enters Emergency stop. Active Data screen activation (D150.1=1);
using the softkey on the screen, Machine Lock can be toggled ON and OFF. As with the M-code activation
method, when the control is placed in an Emergency stop condition, Machine Lock will also be canceled.

• 9 block skip (optional). Selection of any of the 9 block skip selections can be toggled on and off as shown in
FIGURE 72.20 - 12.

FIGURE 72.20 - 13
Active Data Screen

72.20-10 MAG CUSTOM SCREENS


HELP

The Help area provides access to screens for a description of the following:

• Mcodes Info

• Gcodes Info

These screens provide a quick reference of all M-codes available for this series of machine and all G-codes
supported in the control. Note that several of the M and G-code may not be available, if the feature that they support
was either not purchased with your machine or is unavailable. Below is an example of the M and G-code help
screens.
Note: The PAGE DOWN and PAGE UP keys can be used to scroll the screens.

MCODE INFO

A brief description of M-codes used on the machines is given on these screens. See FIGURE 72.20 - 14.

FIGURE 72.20 - 14
M-Codes Screen
Note: Use the Next Page horizontal softkey to scroll through the screens.

MAG CUSTOM SCREENS 72.20-11


GCODE INFO

A brief description of G-codes used on the HBM machines is given on these screens. See FIGURE 72.20 - 15.

FIGURE 72.20 - 15
G-Codes Screen
Note: Use the Next Page horizontal softkey to scroll through the screens.

72.20-12 MAG CUSTOM SCREENS


i ADAPT

The i Adapt option includes two basic features, Adaptive Control and Tool Load Monitoring. These features provide
an ability to monitor machine performance in the area of horsepower consumed.

Refer to the iADAPT section for more information.

FIGURE 72.20 - 16
iAdapt Screen

MAG CUSTOM SCREENS 72.20-13


SECTION 80.10
COOLANT
TABLE OF CONTENTS

TITLE PAGE
GENERAL ...................................................................................................................................................................... 1

COOLANT FAULT MONITORING ................................................................................................................................. 1

COOLANT FAULT REACTIONS ......................................................................................................................... 1

ALWAYS CYCLE OUT AFTER NEXT G00 BLOCK ................................................................................. 1

ALWAYS NO REACTION ......................................................................................................................... 2

COOLANT TANK LEVEL .......................................................................................................................... 2

CONTROL DEVICES ..................................................................................................................................................... 2

WASH WAND KEY (OPTION) ............................................................................................................................ 2

COOL AUTO KEY ............................................................................................................................................... 3


COOL NZZL KEY ................................................................................................................................................ 3

COOL SPDL KEY ................................................................................................................................................ 3

STANDARD FEATURES ............................................................................................................................................... 3

FLOOD COOLANT .............................................................................................................................................. 3

M08 - FLOOD COOLANT ON .................................................................................................................. 4

M09 - ALL COOLANT / AIR OFF .............................................................................................................. 4

SPINDLE COOLANT ........................................................................................................................................... 4

M07 - SPINDLE COOLANT ON................................................................................................................ 4

NOZZLE AIR ....................................................................................................................................................... 4

M51 - AIR THRU NOZZLES ..................................................................................................................... 4

M09 - ALL COOLANT / AIR OFF .............................................................................................................. 4

OPTIONAL FEATURES ................................................................................................................................................. 5

FLOOD COOLANT .............................................................................................................................................. 5

M08 - FLOOD COOLANT ON .................................................................................................................. 5

M09 - ALL COOLANT / AIR OFF .............................................................................................................. 5

SPINDLE COOLANT ........................................................................................................................................... 5

M07 - SPINDLE COOLANT LOW PRESSURE ON .................................................................................. 5

M52 - SPINDLE COOLANT HIGH PRESSURE ON ................................................................................. 5

M59 - PROGRAMMABLE COOLANT PRESSURE .................................................................................. 6

COOLANT PRESSURE DISPLAY PAGE ................................................................................................. 6

M09 - ALL COOLANT / AIR OFF .............................................................................................................. 6

SPINDLE AIR ...................................................................................................................................................... 6

M50 - AIR THRU SPINDLE ...................................................................................................................... 7

M09 - ALL COOLANT / AIR OFF .............................................................................................................. 7


HIGH PRESSURE COOLANT ADJUST CONTROL DEVICE (OPTION) ............................................................ 7

M07/M52 - SPINDLE COOLANT .............................................................................................................. 7

M09 - ALL COOLANT / AIR OFF .............................................................................................................. 7

PART WASH ....................................................................................................................................................... 7

M54 - PART WASH .................................................................................................................................. 7

M09 - ALL COOLANT / AIR OFF .............................................................................................................. 7

OPERATOR WASH WAND................................................................................................................................. 8

MIST COLLECTOR ............................................................................................................................................. 8

COOLANT SKIMMER ......................................................................................................................................... 8

FILTRATION .................................................................................................................................................................. 8

OPTION............................................................................................................................................................... 8

REV 1 (10-2012)
GENERAL

All HBM series machines are equipped with a coolant system, unless otherwise specified. The following information
will describe the standard coolant capabilities and available options.

COOLANT FAULT MONITORING

Faults generated by the coolant unit are monitored by the machine software. Possible faults include overloads, dirty
filters and coolant levels. The machine software is designed to allow some control over machine reaction to these
faults. There are currently three (3) different reactions:

• Immediate Feedhold Reaction

• No Reaction

• Cycle Out After Next G00 Reaction

These reactions can be set via an M-code. However, there are several faults that will have a predefined reaction.
Note: Refer to the Electrical Maintenance manual supplied with your machine for more information.

COOLANT FAULT REACTIONS

As stated, there are three (3) possible reactions to many coolant faults and these can be determined by programming
an M-code. The following table (TABLE 80.10 - 1) lists these reactions and settings.

M-Code Description
M240 Immediate Feedhold Reaction
M242 No Reaction
M243 Cycle Out After Next G00 Block Reaction

TABLE 80.10 - 1
Coolant Reactions

As stated earlier, there are several faults that will have a predefined reaction. These are described in the following
topics:

ALWAYS CYCLE OUT AFTER NEXT G00 BLOCK

The reaction to the following faults will always be Cycle Out After Next G00 Block (M243) and cannot be over-ridden:

• Coolant tank low limit

• Coolant filter A1 and A2 dirty

• Coolant single filter unit dirty

• Coolant post filter dirty

• Coolant return pump O/L trip

• Coolant dirty tank overflow

• Coolant tank level overflow

COOLANT 80.10 - 1
ALWAYS NO REACTION

The reaction to the following faults will always be No Reaction (M242) and cannot be over-ridden:

• Coolant filter A1 dirty

• Coolant filter A2 dirty

• Coolant operator wash wand overload

COOLANT TANK LEVEL

The level of the coolant in the tank is monitored by the machine software. There are two warning levels, Pre-warning
and Low-warning.

When the tank level reaches Pre-warning level, only an operator message is displayed to indicate the Pre-warning.

When the tank level reaches Low-warning, the tank is considered empty. The coolant pump will shut off, the control
will display a message and the program will cycle out on the next G00 block. Once the coolant level has returned
above the Pre-warning level, the operator message will disappear and coolant will be allowed again. At this point the
operator can take these steps:

1. Restart coolant by selecting the COOL AUTO, COOL NZZL or COOL SPDL keys, depending on the active mode
prior to the cycle out.

2. Restart the axes by selecting the FEED START key.

CONTROL DEVICES

The machine control panel will have several keys that pertain to the coolant system. As shown in FIGURE 80.10 - 1,
the following keys may be provided.

WASH WAND KEY (OPTION)

The WASH WAND key is used to manually turn on and off the optional Part Wash and Wash Wand coolant. This key
can be turned on and off at anytime.

Coolant Keys

FIGURE 80.10 - 1
Machine Control Panel

80.10 - 2 COOLANT
COOL AUTO KEY

The COOL AUTO key will enable (turn on) automatic control of the machine coolant, by M-code. When a coolant M-
code is executed and COOL AUTO is not enabled; the light located above the key will blink and a message is
displayed indicating that a coolant request was made. The operator should either enable COOL AUTO or press
CYCLE START to continue the program without coolant. The COOL AUTO key can be enabled at any time after this.
This key can be turned on and off at any time.

COOL NZZL KEY

Pressing the COOL NZZL key is used to manually turn on and off the coolant through the nozzles on the coolant
manifold located on the machine headstock. The flood coolant M-code is not required. This key can be turned on
and off at any time.

COOL SPDL KEY

Pressing the COOL SPDL key is used to manually turn on and off the coolant through the spindle. The coolant thru
the spindle M-code is not required. This key can be turned on and off at any time.

STANDARD FEATURES

The following describes the standard coolant system features.

FLOOD COOLANT

Machine
Headstock

Coolant
Manifold

FIGURE 80.10 - 2
Coolant Flood Manifold

Flood coolant via a manifold mounted on the machine headstock (FIGURE 80.10 - 2) is a standard feature. The flood
coolant can be enabled in AUTO and MDI modes via the M08 command and the COOL AUTO key - on, or manually
in any mode, by enabling the COOL NZZL key.

The flow of coolant from each nozzle can be controlled by valves locate on the nozzles and each nozzle can be
adjusted to direct the coolant to the desired location.

The standard flood coolant specifications are: 16 bar / 232 psi of pressure and 38 lpm / 10 gpm of volume.

COOLANT 80.10 - 3
M08 - FLOOD COOLANT ON

The M08 M-code is used to turn on the flood coolant through the nozzles (see FIGURE 80.10 - 2). This command is
modal and can be programmed on a block separately or with other typical program data (i.e. with other M-codes,
spindle or axis commands, etc.), but not with advanced program commands (subprogram call, parameter setting,
etc.). The coolant flow will remain on until M08 is cancelled or if the COOL AUTO key is disabled.

M08 is cancelled by M02, M05, M09, M30 or pressing the RESET key on the control panel.

M09 - ALL COOLANT / AIR OFF

The M09 M-code is used to cancel (turn off) any programmed coolant or air-on command.

SPINDLE COOLANT

All machines are equipped with the spindle coolant (coolant-thru-tool). The standard spindle coolant specifications
are: 16 bar / 232 psi of pressure and 38 lpm / 10 gpm of volume. To utilize this feature, the tooling (tool holder,
retention knob, etc.) must be designed to support coolant-thru-tool (FIGURE 80.10 - 3).

FIGURE 80.10 - 3
Spindle Coolant

The spindle coolant feature can be enabled in AUTO and MDI modes via the M07 command and the COOL AUTO
key - on or can be activated manually in any mode by enabling the COOL SPDL key.

M07 - SPINDLE COOLANT ON

The M07 M-code is used to turn on the coolant through the spindle. This command is modal and can be
programmed on a block separately or with other typical program data (i.e. with other M-codes, spindle or axis
commands, etc.), but not with advanced program commands (subprogram call, parameter setting, etc.). The coolant
flow will remain on until M07 is cancelled or if the COOL AUTO key is disabled.

M07 is cancelled by M02, M05, M09, M30 or pressing the RESET key on the control panel.

NOZZLE AIR

Air via a manifold mounted on the machine headstock (FIGURE 80.10 - 2) is a standard feature. The air can only be
enabled in AUTO and MDI modes via the M51 command and the COOL AUTO key - on.

The standard air pressure will be the same as the shop pressure supplied to the machine (typically 5.5-7 bar / 80-100
psi).

M51 - AIR THRU NOZZLES

The M51 M-code is used to turn on the air through the same nozzles as the coolant (see FIGURE 80.10 - 2). This
command is modal and can be programmed on a block separately or with other typical program data (i.e. with other
M-codes, spindle or axis commands, etc.), but not with advanced program commands (subprogram call, parameter
setting, etc.). The air flow will remain on until M51 is cancelled or if the COOL AUTO key is disabled.

M09 - ALL COOLANT / AIR OFF

The M09 M-code is used to cancel (turn off) any programmed coolant or air-on command.

80.10 - 4 COOLANT
OPTIONAL FEATURES

The HBM series machines may be equipped with the optional High Pressure Coolant Systems. The following
describes the possible coolant system features.

FLOOD COOLANT

The optional flood coolant through the nozzles specifications are: 20 bar / 290 psi of pressure and 42 lpm / 11 gpm of
volume.

The flood coolant can be enabled in AUTO and MDI modes via the M08 command and the COOL AUTO key - on, or
manually in any mode, by enabling the COOL NZZL key.

The flow of coolant from each nozzle can be controlled by valves locate on the nozzles and each nozzle can be
adjusted to direct the coolant to the desired location.

M08 - FLOOD COOLANT ON

The M08 M-code is used to turn on the flood coolant through the nozzles (see FIGURE 80.10 - 2). This command is
modal and can be programmed on a block separately or with other typical program data (i.e. with other M-codes,
spindle or axis commands, etc.), but not with advanced program commands (subprogram call, parameter setting,
etc.). The coolant flow will remain on until M08 is cancelled or if the COOL AUTO key is disabled.

M08 is cancelled by M02, M05, M09, M30 or pressing the RESET key on the control panel.

M09 - ALL COOLANT / AIR OFF

The M09 M-code is used to cancel (turn off) any programmed coolant or air-ON command.

SPINDLE COOLANT

The coolant pressure on the optional high pressure coolant thru the spindle can be controlled, as described below.
To utilize this feature, the tooling (tool holder, retention knob, etc.) must be designed to support coolant-thru-tool
(FIGURE 80.10 - 3).

The spindle coolant feature can be enabled in AUTO and MDI modes via the M07 and M52 commands and the
COOL AUTO key - on, or low pressure can be activated manually in any mode, by enabling the COOL SPDL key.

The four (4) programmable coolant pressures thru the spindle are controlled by the M59 and a Q-code or by a Tool
Management entry.

M07 - SPINDLE COOLANT LOW PRESSURE ON

The M07 M-code is used to turn on the coolant through the spindle. This command is modal and can be
programmed on a block separately or with other typical program data (i.e. with other M-codes, spindle or axis
commands, etc.), but not with advanced program commands (subprogram call, parameter setting, etc.). The coolant
flow will remain on until M07 is cancelled or if the COOL AUTO key is disabled.

M07 is cancelled by M02, M05, M09, M30 or pressing the RESET key on the control panel.

M52 - SPINDLE COOLANT HIGH PRESSURE ON

The M52 M-code is used to turn on the coolant through the spindle at the highest pressure (70 bar / 1015 psi). This
command is modal and can be programmed on a block separately or with other typical program data (i.e. with other
M-codes, spindle or axis commands, etc.), but not with advanced program commands (subprogram call, parameter
setting, etc.). The coolant flow will remain on until M52 is cancelled or if the COOL AUTO key is disabled.

M52 is cancelled by M02, M05, M09, M30 or pressing the RESET key on the control panel.

COOLANT 80.10 - 5
M59 - PROGRAMMABLE COOLANT PRESSURE

With this feature the programmable coolant pressure data will be based on tool numbers defined in the tool
management tables. The pressure command can be entered directly into the tool management table's COOLANT
(BAR) field through the Tool Management page and can also be loaded via part program using the G10 commands.

This feature allows for four (4) programmable pressure settings: 20, 35, 52, and 70 Bar.

PROGRAM CODES

M59 only

When an M59 is issued without a pressure command, variable pressure coolant will be activated for the tool in the
spindle with the pressure previously defined for that tool. If no information is defined in the tool table, an alarm
message will be generated and the command will not be processed.

M59 Q_

If a pressure command (Q_) is issued with the M59, this will be used in place of the data in the coolant command
table.

COOLANT PRESSURE DISPLAY PAGE

Coolant Pressure
(Bar)

FIGURE 80.10 - 4
Coolant Pressure Display Page

M09 - ALL COOLANT / AIR OFF

The M09 M-code is used to cancel (turn off) any programmed coolant or air-ON command.

SPINDLE AIR

Air through the machine spindle is an optional feature. The air can only be enabled in AUTO and MDI modes via the
M50 command and the COOL AUTO key - on

The standard air pressure will be the same as the shop pressure supplied to the machine (typically 5.5-7 bar / 80-100
psi).

80.10 - 6 COOLANT
M50 - AIR THRU SPINDLE

The M50 M-code is used to turn on the air through the spindle, like the coolant thru spindle. This command is modal
and can be programmed on a block separately or with other typical program data (i.e. with other M-codes, spindle or
axis commands, etc.), but not with advanced program commands (subprogram call, parameter setting, etc.). The air
flow will remain on until M50 is cancelled or if the COOL AUTO key is disabled.

M09 - ALL COOLANT / AIR OFF

The M09 M-code is used to cancel (turn off) any programmed coolant or air-ON command.

HIGH PRESSURE COOLANT ADJUST CONTROL DEVICE (OPTION)

An optional feature for spindle coolant is an infinitely variable coolant potentiometer (FIGURE 80.10 - 5). The
potentiometer is located on the lower portion of the operator's control station near the Machine ON and Machine OFF
pushbuttons.

FIGURE 80.10 - 5
Coolant Potentiometer

On machines equipped with the potentiometer, the programmable coolant pressure feature is not supported.

M07/M52 - SPINDLE COOLANT

The M-codes; M07 or M52 are used to activate spindle coolant. Normally, M07 is low pressure and M52 is high
pressure. When a machine is equipped with the spindle coolant potentiometer, either M-code can be programmed.
The operator can then control the pressure via the potentiometer.

M09 - ALL COOLANT / AIR OFF

The M09 M-code is used to cancel (turn off) any programmed coolant or air-ON command.

PART WASH

Coolant flushing of the part (workpiece area) is an optional feature. The coolant is pumped to a standpipe in the
machine enclosure area which will have several nozzles for directing coolant to the workpiece area. The part wash
coolant can only be enabled in AUTO and MDI modes via the M54 command and the COOL AUTO key - on.

The flow of coolant cannot be controlled other than on or off.

The standard part wash coolant specifications are: 14 bar / 203 psi of pressure and 76 lpm / 20 gpm of volume.

M54 - PART WASH

The M54 M-code is used to turn on the part wash coolant. This command is modal and can be programmed on a
block separately or with other typical program data (i.e. with other M-codes, spindle or axis commands, etc.), but not
with advanced program commands (subprogram call, parameter setting, etc.). The coolant flow will remain on until
M54 is cancelled or if the COOL AUTO key is disabled.

M54 is cancelled by M02, M05, M09, M30 or pressing the RESET key on the control panel.

M09 - ALL COOLANT / AIR OFF

The M09 M-code is used to cancel (turn off) any programmed coolant or air-ON command.

COOLANT 80.10 - 7
OPERATOR WASH WAND

A length of hose and a pistol device can be provided as an option for coolant flushing of the machining area by the
operator. The wash wand coolant can only be enabled manually by enabling the WASH WAND key.

The flow of coolant cannot be controlled other than on or off.

The standard part wash coolant specifications are: 2 bar / 29 psi of pressure and 34 lpm / 9 gpm of volume.

MIST COLLECTOR

A mist collector device is available as an option to the machine. This device will be connected to the machine
enclosure via ducting.

There are no operation or programming concerns with this device. The collector will start automatically after any of
the machine coolant features are enabled.
Note: There is a time delay before the mist collector starts.

Refer to the vendor supplied documentation for any additional information.

COOLANT SKIMMER

A coolant skimmer device is available as an option to the machine. This device will be located on the coolant tank.

There are no operation or programming concerns with this device. The unit runs continuously while power to the
coolant system is on.

Refer to the vendor supplied documentation for any additional information.

FILTRATION

The coolant system provided will be equipped with dual filters as standard. The operator can when required, divert
the coolant from a dirty filter to the other.

OPTION

As an option, an auto change system is available to the dual filter system. With this feature the coolant flow is
automatically diverted to the clean filter.

Refer to the vendor supplied documentation for any additional information.

80.10 - 8 COOLANT
SECTION 81.10
CHIP CONVEYOR
TABLE OF CONTENTS
TITLE PAGE
GENERAL ...................................................................................................................................................................... 1

MAINTENANCE ............................................................................................................................................................. 1

SPECIAL REDUCER:.......................................................................................................................................... 1

MOTOR: .............................................................................................................................................................. 1

CHAIN AND TORQUE LIMITER: ........................................................................................................................ 1

OPERATING DEVICES ................................................................................................................................................. 2

MANUAL / AUTO SWITCH ................................................................................................................................. 2

FORWARD LIGHTED PUSHBUTTON ................................................................................................................ 2

REVERSE PUSHBUTTON.................................................................................................................................. 2
STOP PUSHBUTTON ......................................................................................................................................... 2

OPERATION .................................................................................................................................................................. 2

MANUAL MODE .................................................................................................................................................. 2

AUTO MODE ....................................................................................................................................................... 2


GENERAL

The chip conveyor option with the Universal Chip Management System gives more control over chip disposal and will
also monitor chip conveyor overload.

The following information will describe the controls and the manual and automatic operation of the conveyor.

MAINTENANCE

Depending on the model of chip conveyor, some maintenance tasks may not be necessary (sealed bearings, etc.).

SPECIAL REDUCER:

1. See vendor documentation for lubrication and maintenance.

MOTOR:

1. See vendor documentation for lubrication and maintenance.

CHAIN AND TORQUE LIMITER:

1. See vendor documentation for lubrication and maintenance.

Grease Fitting

FIGURE 81.10 - 1
Chip Conveyors

****************************************************************************************

IT IS THE RESPONSIBILITY OF THE USER TO ENSURE THAT MACHINING CHIPS ARE


ADEQUATELY CONTROLLED. CHIPS SHOULD NOT BE ALLOWED TO ACCUMULATE IN THE
CONVEYOR BELT AS THIS CAN RESULT IN DAMAGE TO THE CHIP CONVEYOR.

****************************************************************************************

CHIP CONVEYOR 81.10 - 1


OPERATING DEVICES

The conveyor will be equipped with at least one manual control station. This station will be
mounted on or near the conveyor and has the buttons and switches to operate the
conveyor. The figure at the right shows the station and the devices located on it.

MANUAL / AUTO SWITCH

The MANUAL / AUTO switch is used to select the conveyor's mode of operation.

FORWARD LIGHTED PUSHBUTTON

The FORWARD pushbutton is a lighted pushbutton that will be lit when the conveyor is
moving in the forward direction.

REVERSE PUSHBUTTON

The REVERSE pushbutton is a momentary pushbutton that will direct the conveyor in the
reverse direction when pressed and held.

STOP PUSHBUTTON

The STOP pushbutton will halt all chip conveyor motion when pressed.

OPERATION

The chip conveyor can be controlled in the manual or auto modes as determined by the
Manual / Auto switch located on the manual control station. These modes are explained
here.

MANUAL MODE

The following occurs, in the Manual Mode, when the buttons on the control are used.

• FORWARD LIGHTED PUSHBUTTON - Pressing this button will start the conveyor in the forward direction and
the button will light.

• REVERSE PUSHBUTTON - Pressing this button will cause the conveyor to move in the reverse direction, only
while the button is depressed. If the FORWARD button is lit when REVERSE is pressed the conveyor will
reverse direction while the button is depressed. When released the conveyor will return to the forward direction.
Otherwise the conveyor will stop when the button is released.

• STOP PUSHBUTTON - Pressing this button will halt the forward or reverse motion of the chip conveyor. If this
button is held the FORWARD and REVERSE buttons are inhibited from starting.

AUTO MODE

With the MANUAL / AUTO switch in the Auto Mode, the following is possible using the buttons and M-codes.

• FORWARD LIGHTED PUSHBUTTON - No effect on the conveyor operation.

• REVERSE PUSHBUTTON - No effect on the conveyor operation.

• STOP PUSHBUTTON - Pressing this button when the conveyor is moving in the forward direction, will halt the
conveyor and cause the forward lighted pushbutton to blink on and off. Pressing the blinking FORWARD button
will then restart the forward motion of the conveyor. This is useful to briefly stop the conveyor to unload or
replace chip bins.

81.10 - 2 CHIP CONVEYOR


• M236 (FORWARD ACTIVE) - Programming the M236, with the machine in auto, will cause the conveyor to start
in the forward direction.
Note: The M236 M-code is only cancelled with M238. Pressing RESET or M02 or M30 will not cancel
the chip conveyor forward (M236).

• M238 (STOP ACTIVE) - Programming the M238, with the machine in auto, will cause the conveyor to stop and
extinguish the forward light.

CHIP CONVEYOR 81.10 - 3


SECTION 90.10
PROBING
TABLE OF CONTENTS
TITLE PAGE
GENERAL ...................................................................................................................................................................... 1

PROBE DESCRIPTION ................................................................................................................................................. 1

SPINDLE WORKPIECE PROBE......................................................................................................................... 1

STYLUS ADJUSTMENT........................................................................................................................... 1

AUXILIARY WORKPIECE PROBES ................................................................................................................... 2

TOOL PROBE ..................................................................................................................................................... 3

STYLUS ADJUSTMENT........................................................................................................................... 3

THEORY OF OPERATION ............................................................................................................................................ 3


GENERAL

The Probe option consists of various Renishaw probe hardware configurations and software developed by Renishaw.
The software includes a series of (probing cycles), that allow various functions to be performed automatically with the
macro call commands. The probing cycles supplied will support both a workpiece probe and a tool probe. The
workpiece probe is loaded into the spindle. The tool probe is mounted near the machine table. A variety of styli are
available for both types of probes that allow probing of many different configurations.

PROBE DESCRIPTION

Different types of probes can be used on the Horizontal Machines.

Workpiece probes that are loaded into the spindle are typically FM Band Signal Transmission Probes where the
signal is transmitted via radio frequency (RF). The RMP60 is a FM Band Signal Transmission Probe. The RMP60
requires a built-in power source in the form of two AA type alkaline batteries and must also be partnered with the
radio machine interface (RMI). This type of probe is used when it is difficult to align an optical system. Optical
probes may also be used where the signal is transmitted through an infrared light beam. The MP10E is an optical
probe that is turned on with an optical switch. The MP10E requires a built-in power source in the form of a 9-Volt
Alkaline / Lithium battery.

Auxiliary workpiece probes that are typically mounted to the machine headstock are a hardwired probe that is located
on a mechanical arm. This allows the probe to be extended and retracted as required. Extending and retracting is
controlled by program commands.

The tool probe is used to determine the length and radius of the cutting tools. The typical model tool probe used is
the TS27R. FIGURE 90.10 - 4 provides an example of this model.

SPINDLE WORKPIECE PROBE

Spindle workpiece probes are loaded into the spindle like a regular tool. Machines equipped with automatic tool
changers allow the probe to be kept in the matrix and loaded into the spindle in automatic mode via programming
commands. When the probe is in the spindle, the machine axes are maneuvered so the stylus of the probe strikes
the part or fixture.

The workpiece probe is used to gather data, analyze it, and act on the results. Typical uses of the workpiece probe
include:

• Probe the part or fixture and part reference the axes. The
workpiece probe is also used to create offsets for pallets or
fixtures.

• Check the size of the part after a cut to verify its size and
modify tool offsets accordingly.

• Identify the part. Often parts are introduced to the machine


randomly or more than one kind of part can be on a fixture at
the same time.

• Determine the size of rough castings. Undersize conditions


can be determined prior to machining. FIGURE 90.10 - 1
Renishaw RMP60 Probe
STYLUS ADJUSTMENT

The stylus should be adjusted to insure the tip of the stylus is on-center with the spindle. See the Renishaw
Installation manual shipped with your machine for adjustment procedures.

PROBING 90.10 - 1
AUXILIARY WORKPIECE PROBES

An Auxiliary Workpiece Probe will typically be permanently mounted to the machine headstock. The design provides
for the probe to be extended and retracted as needed, without having to remove a tool already loaded into the
machine spindle (i.e. a Contouring Head or ITS bar). When the probe is extended, the machine axes are
maneuvered so the stylus of the probe strikes the part or fixture. FIGURE 90.10 - 2 and FIGURE 90.10 - 3 provide
an example of an auxiliary workpiece probe.

Like the spindle workpiece probe, the auxiliary workpiece probe can be used to gather data, analyze it, and act on the
results.

Auxiliary Probe

Spindle / Adapter

ITS Boring Bar

FIGURE 90.10 - 2
Auxiliary Probe (retracted)

ITS Boring Bar

FIGURE 90.10 - 3 Auxiliary Probe


Auxiliary Probe (extended)

90.10 - 2 PROBING
TOOL PROBE

When a tool is loaded into the spindle, the machines axes are
maneuvered using special probing cycles so the tip of the tool trips a
probe stylus. The value obtained by the tool probe is used to adjust
the tool offset before the tool is used. Measuring the tool before use
can also verify that the tool is not broken. The tool could also be
measured after it is used to determine if it was broken during use or
experienced excessive wear.

STYLUS ADJUSTMENT

The stylus must be adjusted to be perpendicular to the Z-axis. See


the Renishaw Installation manual shipped with your machine for
adjustment procedures.

THEORY OF OPERATION

The probe is in effect an omni-directional switch that triggers from


FIGURE 90.10 - 4
contact in any direction. When a probe is applied to a machine tool,
Renishaw TS27R Probe
the machine's measuring system is used in conjunction with the probe
to record highly accurate measurement data.

To use the probe the following steps must be taken.

1. The probe must be loaded to the machine.

2. The probe must be activated with the appropriate M-mode. The probe at this point will remain in operating
mode and ready to transmit probe status and battery condition information for 2 minutes 14 seconds.

3. The probe, through various commands, must be positioned to contact the workpiece at the desired location.
Note: On the initial use, the probe must be datummed (calibrated). The procedure for datumming is
explained in the PROBING OPERATION section.

4. The probe must be deactivated after use with the appropriate M-mode. This must be done before making a tool
change or an alarm will be generated in the middle of the tool change cycle.

PROBING 90.10 - 3
SECTION 90.20
PROBING OPERATION
TABLE OF CONTENTS
TITLE PAGE
PROBE INTERFACE AND PROTECTION .................................................................................................................... 1

PROGRAM DATA .......................................................................................................................................................... 1

MACRO VARIABLES RESERVE FOR PROBING .............................................................................................. 2

WORKPIECE PROBING MACROS .................................................................................................................... 2

TOOL PROBING MACROS ................................................................................................................................ 3

WORKPIECE PROBE STYLUS CALIBRATION ............................................................................................................ 4

WORKPIECE PROBE DATUM EXAMPLE ......................................................................................................... 4

TOOL PROBE STYLUS CALIBRATION ........................................................................................................................ 6

MACRO VARIABLE SETTINGS.......................................................................................................................... 6


Z/W-AXIS DATUM ............................................................................................................................................... 7

X & Y-AXES DATUM ........................................................................................................................................... 7

TOOL PROBE DATUM CYCLE EXAMPLE......................................................................................................... 8

UPDATING TOOL OFFSETS WITH PROBE ................................................................................................................. 9

EXAMPLE: PROBE TOOL AND UPDATE ACTIVE OFFSET (MANUAL CYCLES)............................................ 9

EXAMPLE: PROBE TOOL AND UPDATE ACTIVE OFFSET (AUTO CYCLE) ................................................... 9

EXAMPLE: PROBE PART AND UPDATE OFFSET ........................................................................................... 9

REV 1 (10-2012)
PROBE INTERFACE AND PROTECTION

The probe interface allows the state of the probe contact to be monitored. There are two states: either the contact is
seated (ready to probe), or not seated (deflected or malfunction).

A probe protection scheme, using the interface, is implemented ONLY during the execution of a probing cycle. This
scheme does not remove any responsibility from the programmer or operator, but merely provides additional
protection for the probe when it has been activated and a probing cycle is active.

If the probe trips with no probe active there will be no response by the control.

If G31 is active and a trip occurs, the control will store the part coordinates of the moving axes. All moving axes will
stop when the probe trips.

***************************************************************************************

EVEN WITH THE PROPER PROBE ACTIVE, THE CONTROL WILL NOT PROVIDE PROTECTION
FOR MOTION COMMANDS OUTSIDE OF THE PROBING CYCLES. THIS MEANS THE USER
MUST USE EXTREME CAUTION WHEN COMMANDING POSITION MOVES FOR THE PROBE OR
TOOL.

****************************************************************************************

PROGRAM DATA

The program data can be broken down into several different categories. The first contains the M and G-codes used
to orient the spindle and turn the probe on and off. The second are the Probing cycle data, which are the codes used
to execute the various functions of the probing cycles. The third are the actual probing cycles or macros.

G43 Hh Wz (Zz) This is used to activate the tool offset for the workpiece probe and should be programmed following
a safe start block. This is required prior to executing the O9810 (protective positioning move).

M19 Cc This is used to orient the spindle so that the probe can be turned on with the M78 command. The
normal spindle orient position is C0.

M77 Activate tool probe (MODAL).


M78 Activate workpiece probe (MODAL). Prior to the M78 command, the spindle must be oriented and
the spindle may have to be extended.

Optical probes are powered by a battery and M78 arms the probe. Once armed, the probe will be
usable for 2 minutes and 14 seconds. After that time, if the probe has not been tripped during this
period, the probe will go into a stand by mode a message is displayed. If the probe is tripped
before the 2 minute and 14 second time limit the control will reset for an additional 2 minutes 14
seconds. The battery in the probe is good for about 10 hours of continuous use before it must be
recharged. A charging unit is sent with each probe that uses Ni-Cad batteries. A 9-volt system is
good for about 96 hours (Alkaline) or 206 hours (Lithium).

PROBING OPERATION 90.20 - 1


****************************************************************************************

WHEN THE PROBE LOSS OF SIGNAL MESSAGE IS DISPLAYED, ALL MODAL DATA WILL BE
CLEARED BECAUSE THE CONTROL MUST BE RESET. IT IS THE OPERATORS
RESPONSIBILITY TO START THE PROBING CYCLE AT A SAFE START BLOCK AND RE-
ESTABLISH THE PROPER M AND G-CODES ALONG WITH THE TOOL LENGTH OFFSET.

****************************************************************************************
M79 Deactivate all probes (MODAL).

MACRO VARIABLES RESERVE FOR PROBING

The following table lists the macro variables reserved for probing. These variables should not be used for other
purposes because they contain probe calibration and probe setup values.
Workpiece Probe
#500 - #517 Basic data without vector calibration Standard workpiece probe feature
#518 - #521 Multi-stylus data - K1 and K11 Standard workpiece probe feature
#522 - #525 Multi-stylus data - K2 and K12 Standard workpiece probe feature
#534 - #541 Vector Multi Stylus Data - K11 Optional vector multi stylus
#542 - #549 Vector Multi Stylus Data - K12 Optional vector multi stylus
Tool Probe
#550 - #562 Basic Index Configurable
Laser Tool Probe (Non-Contact)
#610 - #617 Basic Index Configurable
TABLE 90.20 - 1
Macro Variables Reserved for Probing

WORKPIECE PROBING MACROS


The following are a list of Macro developed by Renishaw and are explained in detail in the Renishaw Inspection Plus
Software manual.

O9800 Calibration Find Center. This macro is used to establish the centerline of the calibration bushing using
spindle rotation.

O9801 Calibration in the Z-axis. This macro is used to calibrate the Z-axis of the workpiece probe. This is done
by updating the offset value for the workpiece probe on the tool-offset page.

O9802 Stylus X & Y offset calibration macro. This macro is used to calibrate the stylus offset from the spindle
offset. These offsets are stored in macro variables #502 for X-axis and #503 for the Y-axis. This macro
must be used before executing the O9803 macro.

O9803 Stylus ball radius calibration macro. This macro program is used to determine the ball radius for the X
and Y directions. These calibration values will be stored in #500 and #501 macro variables. This macro
should be executed after the O9802 macro.

O9804 Vector Stylus ball radius calibration macro. This macro program is used to determine the vector ball
radius at 30-degree intervals. These calibration values will be stored in the #500 & #501 and #510
through #517 macro variables. This macro should be executed after the O9802 macro.

O9810 Protected positioning macro. This macro will move the probe to the starting position for the measuring
cycle.

90.20 - 2 PROBING OPERATION


O9811 Measure one surface in X, Y or Z-axis. This macro will measure a single surface and calculate the
positional error. This positional error can be used to update the tool offset or the work shift.

O9812 Measure two surfaces in X or Y-axis. This macro will measure the width and position of a pocket or web
in either the X or Y-axis. The results can be used to update a tool offset if required. This can be used to
update the part reference to the center of the feature being probed if required.

O9814 Measure Boss or Bore. This macro will measure the diameter and position of a bore or a boss. It can
also be used to set the work shifts for the workpiece reference.

O9815 Internal corner setting. This macro will set the part reference to an internal corner of the feature being
probed and the results are stored in the work shift.

O9816 External corner setting. This macro will set the part reference to an external corner of the feature being
probed in the work shift offsets and the results are stored in the work shift.
th
O9817 4 Axis X Measurement. The purpose of this macro is to find the slope of a surface between two points
th
Z1 and Z2 to allow the 4 axis (B-axis) to be rotated to compensate for the surface error.
th
O9818 4 Axis Y Measurement. The purpose of this macro is to find the slope of a surface between two points
th
Z1 and Z2 to allow the 4 axis (A-axis) to be rotated to compensate for the surface error.

O9819 Bore / boss on PCD measurement. This macro measures a series of bores or bosses on a pitch circle
diameter (PCD). All probe moves occur automatically and return to the start position at the center of the
PCD.

O9820 Measure Stock Allowance. This cycle measures either an X or Y or Z surface at defined positions to
establish the maximum and minimum stock condition of the surface.

O9821 Measure Angled Single Surface. This cycle measures a surface feature using one vectored measuring
move along the X Y-axis.

O9822 Measure Angled Web or Pocket. This cycle measures a web or pocket feature using two vectored
measuring moves along the X Y-axis.

O9823 Measure 3 Point Bore. This cycle measures a bore or boss feature using three vectored measuring
moves along the X Y-axis.

O9834 Determining feature-to-feature data in the XY plane. This is a no-movement macro that is used after two
measuring cycles to determine feature-to-feature data.

O9843 This cycle measures an X-axis or Y-axis surface at two positions to establish the angular position of the
surface.

TOOL PROBING MACROS


The following are a list of Macros developed by Renishaw and are explained in detail in the Renishaw Tool Setting for
Machining Centers manual.

O9851 Manual length setting. This macro is used to measure the length of a rotating or non-rotating tool by
taking a measurement of the face of the stylus.

O9852 Manual diameter setting. This macro is used to measure the diameter of a rotating tool by taking two
measurements, one on each side of the stylus.

O9853 Automatic length and diameter setting. This macro is used to measure the length of a rotating or non-
rotating tool and / or diameter of a rotating tool. This cycle will initiate a tool change as part of the cycle.

PROBING OPERATION 90.20 - 3


WORKPIECE PROBE STYLUS CALIBRATION

Probe Stylus Calibration (datumming) is the process of relating the trip point of the probe back to a known axis
position of the machine tool it is being used on. This procedure must be done with each axis and in each direction.
The distance from the trip point on the probe to the axis reference location will be stored as a datum offset. The
success of the probe is very dependent on the calibrating (datumming) procedure. Therefore careful attention to
datumming must be given.

When the probe is tripped, the datum offsets values are summed with the axis position at the trigger point. The
results will be the location in the part coordinate system.

It is recommended that close tolerance features on the part be used to set datum offsets to insure the best possible
probing results. Always calibrate after changing the stylus.

In the X and Y-axes, the offset values represent the distances from the center of the spindle to the trip point on the
edge of the stylus ball. This distance is equal to the radius of the ball, plus the travel required to trip the probe. The
following two steps must be done to accurately datum the probe:

1. Store the offset values for the stylus ball centerline relative to the
spindle centerline.
Spindle
SPINDLE
#502 = X center offset

#503 = Y center offset Y


This sketch illustrates the use of X and Y offsets to compensate for the
misalignment of the ball to the center of the spindle.
X
2. Store the ball radius and the trip distance in the datum offset
registers.

#500 = X Radius
FIGURE 90.20 - 1
#501 = Y Radius Calibration Offsets

WORKPIECE PROBE DATUM EXAMPLE

An example is given here to illustrate techniques that can be used to completely and automatically datum a probe. It
is assumed that the only thing known about the probe is that it has a straight stylus and the approximate overall
length is loaded in offset H1. A datum bushing is used where its exact diameter and the location of its front face are
known. However, its precise X and Y location is unknown.
Note: The spindle must be positioned to a known location prior to datumming the probe with the Z-axis.
This relationship must be maintained when measuring features with the Z-axis. If the W-axis is not
at the location when the datum cycle was run, an offset must be applied to the Z-axis to compensate
for the difference.

The procedure is summarized in these steps:

1. Probe bore and determine center location using probe rotation.


2. Probe bore and compute probe ball offset Hx, Hy and position stylus ball to bore center.

3. Probe bore and compute ball radius.

4. Probe bushing face, store the total offset into the length offset for the workpiece probe.

90.20 - 4 PROBING OPERATION


Z-SPINDLE W-SPINDLE
%
O0999 (DATUM PROBE); O0999 (DATUM PROBE);
N0010 – N0030 (LOAD PROBE); N0010 – N0030 (LOAD PROBE);
N0040 G00 G54 X0 Y0 Z0; N0040 G00 G54 X0 Y0 W0;
N0050 M19 C0; N0050 M19 C0;
N0060 G43 H1 W5; N0060 G43 H1 Z5;
N0070 M78; N0070 M78;
N0080 G65 P9810 W-.25; N0080 G65 P9810 Z-.25;
N0090 G65 P9800 D2.0002 S1; N0090 G65 P9800 D2.0002 S1;
N0100 G54 G65 P9810 X0 Y0; N0100 G54 G65 P9810 X0 Y0;
N0110 G65 P9800 D2.0002 S1; N0110 G65 P9800 D2.0002 S1;
N0120 G54 G65 P9810 X0 Y0 ; N0120 G54 G65 P9810 X0 Y0;
N0130 G65 P9802 D2.0002; N0130 G65 P9802 D2.0002;
N0140 G65 P9803 D2.0002; N0140 G65 P9803 D2.0002;
N0150 G65 P9810 W.5; N0150 G65 P9810 Z.5;
N0160 G65 P9810 X0 Y1.1; N0160 G65 P9810 X0 Y1.1;
N0170 G65 P9801 W0 T1; N0170 G65 P9801 Z0 T1;
N0180 G65 P9810 W5; N0180 G65 P9810 Z5;
N0190 M79; N0190 M79;
N0200 M30; N0200 M30;
%
N010 Load probe
N040 Position spindle to zero and X & Y to center of bore
N050 Orient spindle to zero degrees
N060 Activate the probe offset
N070 Turn on the workpiece probe
N080 Position inside bore
N090 Probe to find center and update G54
N100 Position probe to center of bore
N110 Repeat probe to find center and update G54
N120 Repeat position probe to center of bore
N130 Probe 2.0002 diameter bore, update #502 and #503
N140 Probe 2.0002 diameter bore, update #500 and #501
N150 Position probe .500 from known surface
N160 Position probe in front of a known surface in Y-axis
N170 Probe Z (W) zero surface, update tool offset 1
N180 Move probe clear of the part
N190 Turn off the workpiece probe
N200 End of the program

In the above example, all features of the probe cycles were used for purposes of illustration. In actual situations, not
all of these steps are necessarily required. For example: If the datum bushing location is not known, the probe can
be manually position inside the bore. In that case the X, Y and Z (W) commands would not be programmed prior to
calling O9800 as shown.

PROBING OPERATION 90.20 - 5


TOOL PROBE STYLUS CALIBRATION

The Tool Probe is a probing unit mounted near the machine table which allows
probing of the tools. Before the probe can be used, it must be set-up and
datummed properly. The procedure for calibrating the probe is explained in the
Renishaw Tool Setting manual. The following information describes the basic
procedures required to calibrate the tool probe.

Calibrating is the process of relating the trip point of the probe back to a known
axis position of the machine tool it is being used on. This procedure must be done
with each axis and for each direction the probe will be used. The distance from the
trip point on the probe to the axis machine reference location will be stored as a
calibration offset. FIGURE 90.20 - 2
Tool Probe
Note: The success of the probe is very dependent on the calibration Mounted on Machine
procedure; therefore careful attention to calibrating must be given.

FIGURE 90.20 - 3 is an example of the optional Datum Arbor for a typical tool probe that can be supplied with
Horizontal Boring Machines. Depending on the Tool Probe design, this arbor can be used to calibrate the front, back
and outside surfaces of the probe.

FIGURE 90.20 - 3
Tool Probe Datum Arbor

MACRO VARIABLE SETTINGS

Variables #555 through # 559 must be manually setup prior to using the tool measuring cycles.

#555 W approach position (used in cycle O9853 only).

The first fast positioning move to the position where the


tool offset is applied (height above stylus). This is shown
as (B) in the figure shown here.

#556 W clearance position (used in cycle O9853 only).

The position above the stylus for clearance moves


around the stylus (height above stylus). This is shown
as (C) in the figure shown here.

#557 Tools above this diameter rotate (used in cycle O9853


only).

#558 Maximum cutter diameter size.

#559 Tool offset type - MUST be set to 3. FIGURE 90.20 - 4


#560 Defines the axis for probing (1=X, 2=Y). Approach & Clearance Distance

#561 Flag for Inch or Metric Setting Data (0=Metric, 1=Inch). This variable MUST be set to represent the units
entered in #555- #560.

See the Renishaw Tool Setting manual for information on tool measurement cycles and variables.

90.20 - 6 PROBING OPERATION


Note: If the tool probe is mounted on a stationary stand, tool probing is done with the Z-axis. If the tool
probe is mounted on an auxiliary slide, tool probing is done with the W-axis.

Z/W-AXIS DATUM

When datumming the probe, the Z/W-axis location of the stylus is determined
based on the results of the calibration cycle. These results are directly related
to the location of the W-axis while calibrating. The cycle will record the Z/W-
axis location at the time the Z/W calibration cycle is run and include the position
in the calculation while executing the measuring cycles. When W-axis is used,
the value stored for the W-axis probe location is modified so it equals the
location based on the Z-axis being at machine zero.

The Z/W-axis is datummed using the O9851 macro. The X and Y-axes must
be positioned on center with the stylus. With a tool with a known gage length in FIGURE 90.20 - 5
the spindle, position the tool .4” from the stylus. Call the O9851 macro with a K Tool Probe Datum Arbor
value equal to the tool gage length as follows:

Z-SPINDLE W-SPINDLE
G53 Z0; G53 W0 Position Z/W to machine zero
M00; M00 Manually position the Z/W-axis approximately.4 from
the stylus
G65 P9851 K3.4991; G65 P9851 K3.4991; Probe with Z/W-axis to establish probe location

The following variables are automatically set:

#550 = (Non-Rotating) #551 = (Rotating)

X & Y-AXES DATUM

The X and Y-axes are datummed using the O9852 macro. This is a two step process, probing both sides of the
stylus in the X-axis and probing both sides of the stylus in the Y-axis. The axis used for probing is determined by
setting macro variable #560. A value of 1 specifies the X-axis and a value of 2 specifies the Y-axis. With a master
tool of a known diameter such as the optional datum arbor shown here loaded in the spindle, position the tool tip on
stylus center and approximately .4” from the stylus in W. Set #560 to 1 and call the O9852 macro with an S value
equal to the tool diameter and a K value equal to the stylus diameter as follows:
#560=1; Set #560 to 1
G65 P9852 S2.0001 K.5; Probe with X-axis

This cycle will probe both sides of the stylus with the X-axis and store the centerline of the stylus in a macro variable.
The tool will then be positioned on-center of the stylus. The next step is to change #560 to a 2 and repeat the
procedure as follows:
#560=2; Set #560 to 2
G65 P9852 S2.0001 K.5; Probe with Y-axis

The following variables are automatically set:

#552 = Stylus Diameter #553 = X center #554 = Y center

This cycle will probe both sides of the stylus with the Y-axis and store the centerline of the stylus in a macro variable.
The tool will then be positioned on-center of the stylus. The tool probe is now datummed and ready for tool
measurement.

PROBING OPERATION 90.20 - 7


TOOL PROBE DATUM CYCLE EXAMPLE

An example is given here to illustrate techniques that can be used to completely and automatically datum a tool
probe. It is assumed that a datum arbor is available for this procedure. A datum arbor is used where its exact
diameter and gage length are known.

To use this cycle, the variables #580 - #583 must be set by editing the program. The first time the X, Y and Z-axes
must be manually positioned .4” in front of the stylus center as directed on N0140 & N0150. The cycle will update the
variables #550 - #554. Once these variables are set, this cycle will automatically position the axes the next time the
cycle is run.
%
<DTP>; 31i datum tool probe
(PROBE WITH Z-AXIS); Probe mounted on table or stationary stand
N0010 #3006=1; Edit variables below
N0020 M00; Program stop
N0025 #1=1; Set #1= to 1, defaults to inch
N0030 IF[#4006EQ21]THEN #1=25.4; Convert to metric if G21 is active
N0040 #580=xxxx; Calibration arbor diameter
N0050 #581=.5*#1; Stylus size
N0060 #582=xxxx; Exact gage length of arbor
N0070 #583=60; Tool number for datum arbor
N0080 G53 W[50*#1]; Retract W
N0090 M6 T#583; Load datum arbor #583
N0100 G53 Z0; Position Z to machine zero
N0110 G00 G43 H#583 W[40*#1]; Activate tool offset #583
N0120 IF[[#553 NE 0] AND [#554 NE 0] AND [#550 NE 0]] GOTO170;
N0130 M00;
N0140 #3006=1(MANUALLY POSITION X & Y TO CENTER OF STYLUS);
N0150 #3006=2(MANUALLY POSITION W .4/10MM FROM STYLUS);
N0160 GOTO 190;
N0170 G53 X#555 Y#554; Auto position X&Y to center of stylus
N0180 G65 P9810 W[#550+[.4*#1] +#582-#5085+#5025-#5045]F[100*#1];
Auto position W .4” from stylus
N0190 M00; Program stop
N0200 M77; Turn tool probe on
N0210 G65 P9851 K#582; Datum W-axis
N0220 #560=1; Set for X-axis probing
N0230 G65 P9852 S#580 K#581; Datum X-axis
N0240 #560=2; Set for Y-axis probing
N0250 G65 P9852 S#580 K#581; Datum Y-axis
N0260 G53 W[40*#1]; Retract W
N0270 M79; Turn probe off
N0280 M30; End of program
%

90.20 - 8 PROBING OPERATION


UPDATING TOOL OFFSETS WITH PROBE

When updating offsets with either a Tool Probe or Part Probe, it is important that the correct offset is updated. When
probing a tool, the offset number should be specified by using system variable #8409 for the H-code and #8410 for
the D-code. When updating an offset with the Part Probe, the active offset must be stored into a variable before
unloading the tool.

EXAMPLE: PROBE TOOL AND UPDATE ACTIVE OFFSET (MANUAL CYCLES)


M06 T123; Load tool type 123 into the spindle
#8400 = 11; Set to get information for the tool in the spindle
G65 P9851 T#8409; Probe tool length and update active H offset stored in #8409
G65 P9852 S80 D#8410; Probe tool diameter and update active D offset stored in #8410

EXAMPLE: PROBE TOOL AND UPDATE ACTIVE OFFSET (AUTO CYCLE)


M06 T123; Load tool type 123 into the spindle
#8400 = 11; Set to get information for the tool in the spindle

When using the AUTO tool probe cycle, the format for the T-code is TTTTTTTT.ttt where TTTTTTTT is the tool
number and ttt is the offset to be modified. Notice the decimal point.

This cycle normally initiates a tool change, but when using tool management, the tool must be loaded prior to calling
the cycle. The system variables #8409 and #8410 store the active offset data of the tool in the spindle.

The following will probe the tool length and diameter of tool 123. The active length offset #8409 and diameter offset
#8410 will be updated. If H10 is assigned to the active tool, then the T-code will be equal to T123.010. S80 is the
nominal tool diameter and B3 specifies the both length and diameter are to be probed.
G65 P9853 B3 T[123+#8409/1000] S80 D#8410;

EXAMPLE: PROBE PART AND UPDATE OFFSET


M6 T123; Load tool type 123 into the spindle
... Cut part
#8400 = 11; Set to get information for the tool in the spindle
#101 = #8409; Store active (H) offset in #101
#102 = #8410; Store active (D) offset in #102
M06 T1000; Load probe

Use #101 and #102 to specify the H and D-codes when calling the probe cycles.

PROBING OPERATION 90.20 - 9


SECTION 92.10
ATTACHMENTS
TABLE OF CONTENTS
TITLE PAGE
GENERAL ...................................................................................................................................................................... 1

RIGHT ANGLE POWER INDEXING ATTACHMENT .......................................................................................... 1

SPINDLE SUPPORT ATTACHMENT ................................................................................................................. 1

DOUBLE-MILL HEAD.......................................................................................................................................... 2

MULTI POSITION STOP BLOCK RIGHT ANGLE ATTACHMENT ..................................................................... 2

CONTOURING HEADS / CBS BARS ................................................................................................................. 3

NC CONTOURING HEADS ...................................................................................................................... 4

CBS BARS ............................................................................................................................................... 5

INSTALLATION AND USE ....................................................................................................................... 5


AUTO-COUPLER ADAPTOR TYPE ................................................................................................................... 6

RECEIVER (ADAPTOR) COVER ............................................................................................................. 6


GENERAL

Many different types of attachments can be used on the MAG machines. Some examples include: Right Angle
Heads, Spindle Supports, Contouring Heads, Controlled Boring System (CBS) Bars and Stop Block Mill Heads.
These attachments can be loaded manually using a crane or automatically where the attachments are either stored in
the standard tool magazine or in a tool rack magazine.

This section will discuss the attachments available on the MAG Horizontal Boring Mills. These attachments require
additional software package. The additional software is used to detect the head that is mounted to the machine and
then provide interlocks and modify the operating parameters of the machine as required. These interlocks include,
but are not limited to, spindle and radial slide travel limits and spindle RPM limits.
Note: All tooling (attachments & tools) must be properly configured to the correct magazine. This is
explained later in the ATTACHMENT OPERATION section.

Note: This manual revision changes the theory of operation previously held by MAG for contouring heads
and CBS bars. Previous documentation explained the theory of using the G19 plane along with the
Y & Z-axes for contouring operations. Due to tool nose radius compensation errors when using the
G19 plane, it is now advised to use the X & Z-axes in the G18 plane for contouring operations.

****************************************************************************************

READ AND FULLY UNDERSTAND THE FOLLOWING INFORMATION REGARDING


ATTACHMENTS BEFORE ATTEMPTING TO INSTALL AND/OR OPERATE YOUR UNITS.
FAILURE TO DO SO MAY RESULT IN PERSONAL INJURY AND/OR SERIOUS DAMAGE TO THE
MACHINE OR DEVICE.

****************************************************************************************
RIGHT ANGLE POWER INDEXING ATTACHMENT

The Right Angle Power Indexing Head is shown in FIGURE 92.10 - 1. These heads can be load manually or
automatically. The auto-load type are stored in the attachment rack and mounted to the auto-latchplate.

FIGURE 92.10 - 1
Right Angle Indexing Head

SPINDLE SUPPORT ATTACHMENT

A Spindle Support is shown in FIGURE 92.10 - 2. The Spindle Support is used to provide additional rigidity to the
spindle when extended. While the attachment is mounted, spindle travel is restricted to prevent the spindle from

ATTACHMENTS 92.10 - 1
retracting into the support. Also, automatic tool changes are limited to tools located in a tool rack or manually loaded
tools.

A Spindle Support that is stored in an attachment rack can be loaded automatically using the tool change code. A
Cam-Lock type spindle support should be loaded manually. See the following warning and procedure.

FIGURE 92.10 - 2
Spindle Support

****************************************************************************************

SPECIAL ATTENTION MUST BE GIVEN WHEN LOADING A CAM-LOCK TYPE SPINDLE


SUPPORT. BECAUSE THE SPINDLE SUPPORT BEARING CAN BE ROTATED OUT OF
POSITION, IT IS RECOMMENDED THAT A SPINDLE SUPPORT BE LOADED MANUALLY AND
THEN A TOOL INIT / REFERENCE BE PERFORMED TO IDENTIFY THE ATTACHMENT.

****************************************************************************************
DOUBLE-MILL HEAD

A Double-Mill Head is shown in FIGURE 92.10 - 3. This type of head can typically be stored in the standard tool
magazine. A bracket with a locating block is used to prevent the attachment from turning while the spindle is running.

FIGURE 92.10 - 3
Double Mill Head

MULTI POSITION STOP BLOCK RIGHT ANGLE ATTACHMENT

A Multi Position Stop Block Attachment is shown in FIGURE 92.10 - 4. This attachment allows the user to select one
of four (0°, 90°, 180°, and 360°) orient positions in which the attachment can be loaded. The user will be able to
specify one of four predefined angles in which the tool can be engaged. The machine is fitted with up to four stop
blocks. These stop blocks determine the final angle of the attachment in relation to the X Y plane. This type of head

92.10 - 2 ATTACHMENTS
can typically be stored in the standard tool magazine and can index to other positions without exchanging the
tool out of and back into the spindle.

FIGURE 92.10 - 4
Multi Position Stop Right Angle Block Attachment

CONTOURING HEADS / CBS BARS

NC (Numerically Controlled) Contouring Heads and CBS Bars are attachments that utilize the linear motion of the W-
axis (Table) and the radial motion of the V-axis tool slide. The radial motion of the V-axis tool slide upon which the
tooling package is mounted is imparted by the IN and OUT motion of the spindle.

FIGURE 92.10 - 5
NC Contouring Head

FIGURE 92.10 - 6
CBS Bar

ATTACHMENTS 92.10 - 3
FIGURE 92.10 - 7
Latchplate CBS Bar

The W-axis and the V radial motion may be moved individually, or they may be moved simultaneously to provide an
angular or contoured movement. This simultaneous motion enables the attachments to perform operations such as;
facing, contoured and tapered boring, internal and external threading, turning, chamfering, grooving, recessing
profiling, undercutting and back facing.

NC CONTOURING HEADS

There are currently three (3) models of Contouring Heads applied to the Horizontal Boring Mills. They are designated
by their approximate slide length as shown below.

Model Approximate Slide Length


CH8 203 mm (8") Slide Length
CH16 406 mm (16") Slide Length
CH26 660 mm (26") Slide Length

TABLE 92.10 - 1 lists the basic specifications for the different models of Contouring Heads.
Note: TABLE 92.10 - 1 is included for guide purposes only, as many of these products are supplied in
customized form to suit specific requirements. See the documentation supplied with the CH Head
and/or the CBS Bar for specific information.

CH8 CH16 CH26


Slide Travel 38.1 mm (1.5") 89 mm (3.5") 89 mm (3.5")
Spindle Travel / Ratio 38.1 mm (1.5")/2:1 89 mm (3.5")/1:1 89 mm (3.5")/1:1
Maximum Spindle Speed (rpm) 800 300 150
Weight 35 kg (78 lbs) 125 kg (275 lbs) 250 kg (550 lbs)
Maximum Torque / rpm .19 kW (.25 hp)/rpm .3 kW (.4 hp)/rpm .37 kW (.5 hp)/rpm
Maximum Power 7.5 kW (10 hp) 15 kW (20 hp) 18.5 kW (25 hp)
Maximum Slide Thrust 454 kg (1,000 lbs) 1814 kg (4,000 lbs) 1814 kg (4,000 lbs)
Minimum Bore / Face / Turn Diameter 0.0 0.0 0.0
Maximum Bore / Face Diameter 381 mm (15") 635 mm (25") 914 mm (36")
Maximum Tool Length 203 mm (8") 305 mm (12") 457 mm (18")
TABLE 92.10 - 1
Basic Specifications for NC Contouring Heads

92.10 - 4 ATTACHMENTS
CBS BARS
Note: Interchangeable cartridge styles
are available on T25 - T80
The CBS T-Series Controlled Boring Product Range is divided into a number of
different models, each with twin interchangeable cutters designed to cut through
a particular diameter range. They can be applied to contour geometry boring,
threading, and grooving in diameters ranging from 30 mm to greater than 580
mm.

The CBS S-Series Controlled Boring Product Range is divided into a number of
different models, each with a single interchangeable cutter designed to cut
Note: Interchangeable cartridge styles
through a particular diameter range. They can be applied to contour geometry are available on S20 - S80
boring, threading and grooving in diameters ranging from 30 mm to greater than
580 mm.

See the manufacturer’s documentation for detail specifications of the various


CBS products.

INSTALLATION AND USE

The Contouring Head and CBS bars must be properly installed and operated within its designed limits as described in
the following:

• Always operate the CH Heads and CBS Bars within their range of travel. Stop and/or shear devices are built into
the Heads and Bars, but the force levels available on the Horizontal Boring Machine spindles can easily cause
damage to the head, if not properly setup, or travel beyond the limits occur.
Note: Setup of travel limits and head detection for various Contouring Heads is described in the
Electrical Service Manual supplied with your machine.

• The specifications and recommendations given in TABLE 92.10 - 1 describe the basic limits for each NC
Contouring Head, including; limits of horsepower, torque, force and speed, as well as recommended values for
maximum diameters and tool lengths. These must be observed and adhered to, to insure long operating life and
safe performance. Specifications and recommendations for the various CBS Bars are given in separate
documentation provided by the manufacturer.
Note: Read all related documentation for a complete understanding of the devices.

• The lubrication instructions on the note plate attached to the side of the head should always be followed. The
note plate also provides basic specifications.

• The NC Contouring Heads / CBS Bars should be used in a realistic, practical manner. Some, although minimal,
lost motion exists in the head and in the spindle axis of the machine. To obtain the best performance, uni-
directional programming / operating techniques should be used. Practical machining practices such as solid
tooling, minimal reaches, sharp inserts, etc. should be standard practice.

• Make certain that mating surfaces of the CH Heads / CBS Bars, mounting unit and clamping devices are clean.

To successfully mount and use an NC Contouring Head on a Horizontal Boring Machine, software is provided as part
of the package. The additional software is used to detect the head that is mounted to the machine and then provide
interlocks and modify the operating parameters of the machine as required. These interlocks include, but are not
limited to, radial slide travel limits and spindle RPM limits. Additional machine capabilities are also added, such as
Constant Surface Speed programming (G96).

ATTACHMENTS 92.10 - 5
****************************************************************************************

MAG IS NOT RESPONSIBLE FOR ANY DAMAGE OR INJURY CAUSED BY THE USE OF AN NC
CONTOURING HEAD / CBS BAR ON A MACHINE NOT EQUIPPED WITH THE PROPER
SOFTWARE AND/OR HARDWARE INTERLOCKS.

****************************************************************************************
AUTO-COUPLER ADAPTOR TYPE

The Auto-Coupler design utilizes an adaptor mounted to the spindle sleeve into which the head is coupled and then
locked automatically. This type of head is typically referred to as the Auto-Coupler or Auto-Lock Contouring Head. At
present, the CH8 and CH16 models are available in this style. These heads are changed automatically via a tool
change code. The CH8 can be loaded automatically via the automatic tool changer. The CH16 cannot be loaded
into the tool changer, so it must be loaded semi-automatically (manually positioned to the adaptor) or it could be
stored in an attachment rack and loaded automatically. FIGURE 92.10 - 8 shows a CH8 mounted to the Auto-
Coupler adaptor.

Cover
Receiver / Adaptor

Openings

Clamping Surface
Arbor
Auto-Coupler Base

FIGURE 92.10 - 8
Auto-Coupler CH8 and Cover Plate

RECEIVER (ADAPTOR) COVER

The Cover Plate for the Auto-Coupler adaptor is stored in the tool changer and is loaded and unloaded automatically.
FIGURE 92.10 - 8 also shows the cover in the process of being loaded. FIGURE 92.10 - 9 is a photo of the cover
with the arbor.

FIGURE 92.10 - 9
Auto-Coupler Cover Plate with Arbor

92.10 - 6 ATTACHMENTS
SECTION 92.20
ATTACHMENT MOUNTING DESIGNS
TABLE OF CONTENTS
TITLE PAGE
GENERAL ...................................................................................................................................................................... 1

BOLT-ON UNIT ................................................................................................................................................... 1

CAM-LOCK RECEIVER (ADAPTOR).................................................................................................................. 1

RECEIVER (ADAPTOR) COVER ............................................................................................................. 2

AUTO COUPLER (ADAPTOR) ........................................................................................................................... 3

RECEIVER (ADAPTOR) COVER ............................................................................................................. 3

LATCHPLATE TYPE ........................................................................................................................................... 3

LATCHPLATE COVER ............................................................................................................................. 4


GENERAL

There are various mounting designs available for mounting attachments such as bolting the unit on to the spindle
sleeve if it rotates or the face of the headstock or attaching the unit via a Cam-Lock or an Auto-Coupler adaptor. The
following describes these devices.

Attachments that are automatically loaded are mounted using an Auto-Coupler or an Auto-Latchplate. The Auto-
Coupler and Auto-Latchplate requires a Cover Plate to protect the Latchplate and Auto-Coupler while standard tools
are being used.

BOLT-ON UNIT

A CH Head or CBS Bar that is bolted onto the machine's spindle sleeve will use four (4) bolts. The tapered shaft of
the unit is clamped in the spindle and the unit is bolted to the spindle sleeve. FIGURE 92.20 - 1 illustrates a Bolt-On
CBS Bar.

FIGURE 92.20 - 1
Bolt-On CBS Bar

CAM-LOCK RECEIVER (ADAPTOR)

Before a Cam-Lock type attachment can be loaded into the spindle, a receiver / adaptor must be attached to the
spindle sleeve (FIGURE 92.20 - 2). The Cam-Lock adaptor is bolted to the spindle sleeve and can be mounted or
removed as required.

Adaptor / Receiver

Cam Pins Holes


Cam-Lock Pins

1 of 4 Mounting Bolts

FIGURE 92.20 - 2
Cam-Lock Adaptor

ATTACHMENTS MOUNTING DESIGNS 92.20 - 1


The following steps describe how to load the adaptor.

1. Extend the spindle out a minimum of 4.5"/114 mm from the spindle sleeve face to provide a rest and guide for
installing the adaptor.

2. Execute an M19 Spindle Orient miscellaneous code to insure that the spindle sleeve is in the correct radial
position to receive the adaptor.

3. Install an eyebolt in the adaptor and use a jib crane to lift the adaptor into place over the spindle and slide the
adaptor back to the spindle sleeve face and drive keys, then bolt in place.

If the adaptor is to remain mounted to the machine, a cover plate should be attached to the adaptor to protect the
mounting surface and various openings shown in FIGURE 92.20 - 2. A cover plate will typically be provided with the
adaptor / receiver.

FIGURE 92.20 - 3 shows a Cam-Lock CH Head from the rear, showing the cam pins, spring pin, mounting surface
and tapered shank. The shot-pin is engaged while the head is unloaded to prevent any slide motion. When the head
is loaded, the spring pin is forced in and will unlatch the shot-pin to allow slide motion.

FIGURE 92.20 - 3
Cam-Lock Contouring Head with Optional Spring Pin
Note: CH8 Heads that are to be loaded through the automatic tool changer must be equipped with the
optional locking shot-pin.

RECEIVER (ADAPTOR) COVER

If a cover is provided, it is attached by manually mounting it to the adaptor, inserting the cam pins into the appropriate
holes and turning the Cam-Lock pins to lock the cover in place. An example of a cover plate can be seen in Error!
Reference source not found..

FIGURE 92.20 - 4
Cam-Lock Adapter Cover Plate

92.20 - 2 ATTACHMENT MOUNTING DESIGNS


AUTO COUPLER (ADAPTOR)

The Auto-Coupler design utilizes an adaptor mounted to the spindle sleeve into which the attachment is coupled and
then locked automatically. This type of attachment is typically referred to as the Auto-Coupler or Auto-Lock
attachment. FIGURE 92.20 - 5 shows an Auto Coupler adaptor and FIGURE 92.20 - 6 shows an Auto-Coupler type
spindle support.

FIGURE 92.20 - 6 FIGURE 92.20 - 5


Auto-Coupler Auto-Coupler Spindle Support in Attachment Rack

RECEIVER (ADAPTOR) COVER

The Cover Plate for the Auto-Coupler adaptor is stored in the tool changer and is loaded and unloaded automatically
when an attachment is loaded or unloaded. FIGURE 92.20 - 7 is a photo of the cover with the arbor.

FIGURE 92.20 - 7
Auto-Coupler Cover Plate with Arbor

LATCHPLATE TYPE

The Latchplate design utilizes a plate mounted to the face of the headstock for mounting various attachments,
including CH Heads and CBS Bars.

Located at the top and bottom of the Latchplate, on the face, are tapered alignment bushings for locating the
alignment pins located on the attachments. There are also four (4) drawbars that clamp the retention knobs of the
attachment. Also located on the face are connections for hydraulic and electrical functions for some attachments.

ATTACHMENTS MOUNTING DESIGNS 92.20 - 3


FIGURE 92.20 - 8 shows the Latchplate that the attachments mount to. The Latchplate is attached to the face of the
machine headstock.

Headstock
Latchplate

Alignment
Bushing

Drawbars

Hydraulic & Electrical


Connections

Alignment Bushing

FIGURE 92.20 - 8
Latchplate

LATCHPLATE COVER

The Cover Plate for the Latchplate adaptor is typically stored in the attachment rack and is loaded and unloaded
automatically. FIGURE 92.20 - 9 shows an example of a cover.

FIGURE 92.20 - 9
Latchplate Cover

92.20 - 4 ATTACHMENT MOUNTING DESIGNS


SECTION 92.30
ATTACHMENT & ATTACHMENT TOOL RACKS
TABLE OF CONTENTS
TITLE PAGE
GENERAL ...................................................................................................................................................................... 1

ATTACHMENT RACKS ................................................................................................................................................. 1

TOOL RACKS ................................................................................................................................................................ 2

TOOL MAGAZINE CONFIGURATION ........................................................................................................................... 3

TOOL POCKET IDENTIFICATION ..................................................................................................................... 3

TOOL RACK CAPACITIES (FLOOR-TYPE) .................................................................................................................. 4

LOADING / UNLOADING THE TOOL RACK ................................................................................................................. 5

REV 1 (10-2012)
GENERAL

The Attachment Rack and Tool Rack are custom designed to suit the attachments, cover plate and attachment tools
used on the machine. Attachments and attachment tools can be loaded automatically in a standard tool magazine or
in a tool rack magazine. This section will describe the different attachment & tool racks available.

ATTACHMENT RACKS

An Attachment Rack used on pallet type machines is stored on one of the machine pallets. In FIGURE 92.30 - 1 you
will see an example of an attachment rack with the cover plate shown in its storage location (Pocket 1). The various
attachments would be located in the opens spots next to, and below the Cover Plate.

An Attachment Rack used on a floor-type machine may be mounted on a movable slide and is typically mounted on
the floor in front of the machine. In FIGURE 92.30 - 1 you will see an example of this type of attachment rack with
various attachments and a cover plate stored in the rack.

This rack is considered Magazine 2. The attachments (and cover plate) must be configured for this magazine. This
is described in more detail in the ATTACHMENT OPERATION section.

Cover Plate

Cover Plate
Pocket 1

Pocket 4

Pocket 2
Pocket 3

FIGURE 92.30 - 1
Examples of Attachment Racks (Magazine 2)

ATTACHMENT & ATTACHMENT TOOL RACKS 92.30 - 1


TOOL RACKS

Tool Racks are used to store attachment tools (modular tools) and special tools that exceed the capacity of the chain
magazine. Tool racks used to load oversized tools or tools to be used while a spindle support is mounted, are setup
to face the spindle and normally have pockets on both sides of the magazine.

Tool racks used on pallet style machines are typically stored on one of the machine pallets (see FIGURE 92.30 - 2)
tool racks used on floor-type machines are mounted on a movable slide in front of the machine (See FIGURE 92.30 -
2).

When a tool change is executed for one of these tools the machine will perform all required motion to load the
attachment (if necessary), and load the tool.
Note: All tooling must be properly configured to the correct attachment. This is described below.

FIGURE 92.30 - 2
Examples of Attachment Tool Racks (Magazine 3)

92.30 - 2 ATTACHMENT & ATTACHMENT TOOL RACKS


TOOL MAGAZINE CONFIGURATION

The machine is equipped with Tool Management as a standard feature. In the Tool Management system, different
magazines are defined for standard tools, attachments and attachment tools. With the standard tool management
package, up to 4 magazines can be configured, with 8 magazines available as an option. The capacity of each
magazine is defined by the configuration ordered for the machine and the physical constraints of the machine (i.e.
axis travel).

TOOL POCKET IDENTIFICATION

Each tool magazine is configured to have different pocket identification. Tool pocket
identification is as follows:

• Pockets identified as 1 through 400 are reserved for the standard machine tool changer
tool location (Magazine 1).

• The first tool / attachment rack, from left-to-right as viewed from the standard operator
position at the control pendant station, are identified as 401 - 499 (Magazine 2).

• The second tool / attachment rack, from left-to-right as viewed from the standard
operator position at the control pendant station, are identified as 501 - 599 (Magazine
3).

• Number sequence on each rack from top-to-bottom and then left-to-right as shown in
the example at the right.

For example, a machine with a standard 60 pocket chain style tool magazine and three (3)
accessory racks in front of the machine is defined as follows.

• First accessory rack is for (16) tools for loading into the right angle attachment.

• Second accessory rack is for (24) tools (2 rows) for loading into the spindle with a spindle support mounted.

• Third accessory rack is for (5) attachments; cover plate, special large tool, spindle support, CBS bar & right angle
attachment.

• The Manual Tool magazine is used to store tool data for manually loaded tools.

Example: TABLE 92.30 - 1 illustrates this magazine configuration:

Range of Range of Pocket Pocket


Magazine Pockets Pockets Description Numbers Labels
Fanuc Siemens Siemens Siemens
1 1 - 400 1 - 400 Chain Style Tool Magazine 1 - 60 1 - 60
2 1001-1100 1-99 Manual Tools 1 - 16 401 - 416
3 401 - 499 1-99 Attachment Rack 1 - 24 501 - 524
4 501 - 599 1-99 Modular Tool Rack 1-5 601 - 605
5 601 - 699 RA Modular Tool Rack

TABLE 92.30 - 1

When viewing the tool management screens, it will be indicated which magazine and pockets are currently being
displayed.

ATTACHMENT & ATTACHMENT TOOL RACKS 92.30 - 3


TOOL RACK CAPACITIES (FLOOR-TYPE)

Column Size mm
2100 2600 3100 3600
Overall Height 3050 mm 3550 mm 4050 mm 4550 mm
Weight (without tools) 1413 kg 1555 kg 1697 kg 1839 kg
Fully Loaded Weight
2113 kg 2255 kg 2397 kg 2539 kg
(assuming 50 kg per tool)
Number of Tools 11 14 16 19
Cylinder Stroke 500 mm
Length x Width 1900 mm x 955 mm
Vertical Spacing of Tools 195 mm
Distance from Floor to First Tool in the Rack
900 mm
(for standard foundations)
Tool Type #50 taper
Maximum Tool Diameter for Full Rack 190 mm
Maximum Tool Diameter
300 mm
(requires adjacent tool pockets to be empty)
Maximum Tool Length 750 mm
Maximum Tool Weight 50 kg

TABLE 92.30 - 2
Tool Rack Capacity
750
500 Maximum Tool Length
Stroke
Maximum Tool
Diameter
Overall Height

195 Typical

Floor Level

FIGURE 92.30 - 3
Tool Rack for Right Angle Tools

92.30 - 4 ATTACHMENT & ATTACHMENT TOOL RACKS


LOADING / UNLOADING THE TOOL RACK

****************************************************************************************

THE KEYWAY OF A TOOL HOLDER, WHICH HAS THE "DIMPLE", MUST ALIGN OPPOSITE THE
KEY IN THE TOOL POT. BE SURE THE TOOL IS INSERTED PROPERLY. DO NOT FORCE.

DO NOT LOAD A TOOL INTO AN EMPTY TOOL STORAGE POT ASSIGNED TO A TOOL
ALREADY ENGAGED IN THE SPINDLE.

ALSO USE CAUTION WHEN LOADING OVERSIZED TOOLING. ANY TOOL, WHICH MIGHT
INTERFERE WITH ITS NEIGHBORING TOOLS, MUST BE LOADED INTO A TOOL STORAGE POT
BETWEEN TWO EMPTY POTS. SEE TOOL CHANGER DATA, TABLE 30.30 - 1, FOR MAXIMUM
DIAMETER TOOLING INFORMATION.

****************************************************************************************
Tools should only be loaded into the optional auxiliary tool rack when the machine is
stopped.

The tools are loaded by placing the tools into the desired pockets. Tools can only be
loaded one way with the shallow keyway (DIMPLE) of tool flange away from the key
in tool rack. This means that half of the tools are oriented one way and the other half
are oriented the other way.

****************************************************************************************

DO NOT TRY TO LOAD TOOLS INTO THE ATTACHMENT OR ATTACHMENT TOOL RACKS
WHILE THE MACHINE IS IN OPERATION. DEATH, SERIOUS PERSONAL INJURY AND/OR
SUBSTANTIAL MACHINE DAMAGE WILL OCCUR.

****************************************************************************************

ATTACHMENT & ATTACHMENT TOOL RACKS 92.30 - 5


SECTION 92.40
ATTACHMENT OPERATION
TABLE OF CONTENTS
TITLE PAGE
GENERAL ...................................................................................................................................................................... 1

ATTACHMENT LOADING & UNLOADING .................................................................................................................... 1

MANUAL LOAD ................................................................................................................................................... 1

ATTACHMENT TOOL NUMBER .............................................................................................................. 1

MANUAL UNLOAD ............................................................................................................................................. 2

AUTO LOAD ........................................................................................................................................................ 3

AUTO UNLOAD .................................................................................................................................................. 3

RIGHT ANGLE POWER INDEXING ATTACHMENT..................................................................................................... 3

AUTOMATIC OPERATION ................................................................................................................................. 4


MANUAL OPERATION ....................................................................................................................................... 4

INDEXER LOCK /UNLOCK ...................................................................................................................... 6

INDEXER ROTATION .............................................................................................................................. 6

INDEXER DRIVE UNLOCKED ................................................................................................................. 6

INDEXER REFERENCE SWITCH............................................................................................................ 6

INDEXER REFERENCED STATUS ......................................................................................................... 6

SPINDLE POSITION ................................................................................................................................ 6

INDEXER POSITION................................................................................................................................ 7

INDEXER REFERENCING ................................................................................................................................. 7

CONTOURING HEADS AND CBS BARS ........................................................................................................... 7

SPINDLE SUPPORT ATTACHMENT ................................................................................................................. 8

MULTI POSITION STOP BLOCK ATTACHMENT ......................................................................................................... 8

TOOL CHANGE PROGRAM FORMAT ............................................................................................................... 8

INDEX / ORIENT PROGRAM FORMAT ............................................................................................................. 9

EXAMPLES ......................................................................................................................................................... 9

UNLOADING ATTACHMENT.............................................................................................................................. 9

MACRO VARIABLES ........................................................................................................................................ 10

ATTACHMENT AND TOOL CONFIGURATION .......................................................................................................... 10

HBM TOOL TYPES ........................................................................................................................................... 10

MODULAR TOOLING TYPES ................................................................................................................ 11

TOOL CHANGE PROGRAM FORMAT ....................................................................................................................... 13

M06 - TOOL CHANGE COMMAND .................................................................................................................. 13

TXXXXXXXX - TOOL NUMBER........................................................................................................................ 13

AXXXXXXXX - ADAPTOR NUMBER (FOR UNIVERSAL TOOL TYPES) ........................................................ 13


TOOL / ATTACHMENT CHANGE EXAMPLES................................................................................................. 14

LOAD RIGHT ANGLE MODULAR TOOL ............................................................................................... 14

LOAD UNIVERSAL OVERSIZED TOOL FROM RACK .......................................................................... 14

LOAD UNIVERSAL OVERSIZED TOOL FROM RACK - SPINDLE SUPPORT ..................................... 14

UNLOAD UNIVERSAL OVERSIZED TOOL & RETAIN SPINDLE SUPPORT ....................................... 15

UNLOAD TOOL AND ATTACHMENT .................................................................................................... 15

LOAD OR UNLOAD COVER PLATE...................................................................................................... 15

NOTES ON MODULAR TOOL CHANGES ....................................................................................................... 15

AXES MOTION SEQUENCES WITH ATTACHMENT / MODULAR TOOL CHANGE ....................................... 15

ATTACHMENT OFFSETS ........................................................................................................................................... 16

SPINDLE SUPPORTS ...................................................................................................................................... 16

RIGHT ANGLE UNIT ......................................................................................................................................... 16


GENERAL

Operation of the various attachments used on the MAG machines is discussed here.

ATTACHMENT LOADING & UNLOADING

Attachments are loaded to the machine the same as a standard magazine tool. The M06 code is used to load
attachments. It is important that the attachment name specified with the M06 code match the attachment
configuration variables (see ATTACHMENT AND TOOL CONFIGURATION topic later in this section).

MANUAL LOAD

If the attachment is a manual load attachment, the M06 cycle programmed with the appropriate tool number will
provide the necessary machine motion and messages to prompt the operator through the loading process.

ATTACHMENT TOOL NUMBER

The appropriate tool number, previously mentioned, is determine in tool management and is set by the user. The
attachment will be assigned to a specific magazine and pocket for attachments and the user can define the tool
number for that magazine / pocket. TYPE NO. entry is entered as the T-code with the M06. The HBM Tool Type
entry (HBM TTYPE) is used to identify the type of tool, which controls the loading process. FIGURE 92.40 - 1
illustrates a setup for attachments and tools.

FIGURE 92.40 - 1
Tool Management Setup

In FIGURE 92.40 - 1, the screen shows the HBM TTYPE for several different types of tools:

• Tools up to 90 are standard spindle tools

• Tool 401 is a cover

• Tool 402 is an attachment that can load modular tools, automatically of manually (power drawbar)

• Tool 403 is an attachment that is totally manual

• Tool 404 is a Contouring Head

• Tools 501 & 502 are modular tools for attachment 402

For example; if a Contouring Head is called:


N1200 M06 T404;

ATTACHMENTS OPERATION 92.40 - 1


1. Any tool located in the spindle will be removed, the Z and Y-axes will position the spindle to a predefined load
point for manually loading, the spindle will orient to the zero position, a message will be displayed instructing
the operator to remove the cover plate and the machine will CYCLE STOP.

2. The operator loads the contouring head into the spindle and clamps the drawbar.

3. The operator presses CYCLE START.

4. The spindle will retract the head towards the adaptor stopping short of the adaptor. A message will be
displayed instructing the operator to unlock the Cam-Locks and the machine will CYCLE STOP.

5. The operator presses FEED START and CYCLE START.

6. The spindle will retract the head engaging the adaptor and stop. A message will be displayed instructing the
operator to lock the Cam-Locks and the machine will CYCLE STOP.

7. The operator must lock Cam-Locks.

8. The operator presses FEED START and CYCLE START.

9. The control will go through a configuration procedure for the axes of the attachment and the axes display will
change to provide the axes positions for the attachment.

MANUAL UNLOAD

If the attachment is a manual load attachment, the M06 cycle programmed with a different tool number or a 0 will
provide the necessary machine motion and messages to prompt the operator through the unloading process.

For example; to unload any tool or attachment:


N1200 M06 T0;
1. The Y-axis will position the head to a convenient position for manually unloading, the spindle will orient to the
zero position, a message will be displayed instructing the operator to unlock the Cam-Locks and the machine
will CYCLE STOP.

2. The operator must unlock the Cam-Locks.

3. The operator presses FEED START and CYCLE START.

4. The machine will move the Z-axis slightly and stop. A message will again be displayed for the operator to
confirm that the Cam-Locks are unlocked and the machine will CYCLE STOP.

5. The operator presses FEED START and CYCLE START.


6. The spindle will extend the head out of the adaptor, positioning to a convenient location for manually unloading
the head. A message will be displayed instructing the operator to remove the attachment and the machine will
CYCLE STOP.

7. The operator secures the contouring head with a crane and unloads the head from the spindle.

8. The operator presses CYCLE START.

9. The control will go through a configuration procedure to restore the axes back to normal and the axes display
will change to provide the normal axes positions and the machine will CYCLE STOP.

10. The operator presses CYCLE START.

11. A message will be displayed instructing the operator to load the cover plate to the machine.

92.40 - 2 ATTACHMENTS OPERATION


AUTO LOAD

If the attachment is an auto load attachment, the M06 cycle programmed with the appropriate tool number will provide
all the necessary machine motion and functions to complete the loading process. Also refer to the TOOL CHANGE
PROGRAM FORMAT topic later in this section.
Note: If a manually loaded cover plate is provided for the machine, the control will prompt the operator for
removal of the plate.

AUTO UNLOAD

If the attachment is an auto load attachment, the M06 cycle programmed with a different tool number or a 0 will
provide all the necessary machine motion and functions to complete the unloading process. Also refer to the TOOL
CHANGE PROGRAM FORMAT topic later in this section.
Note: If a manually loaded cover plate is provided for the machine, the control will prompt the operator to
load the plate.

RIGHT ANGLE POWER INDEXING ATTACHMENT

The Right Angle Power Indexing Head is shown in FIGURE 92.40 - 2. These heads can be loaded manually or
automatically. The auto-load types are stores in the attachment rack and mounted to the auto-latchplate.

FIGURE 92.40 - 2
Right Angle Indexing Head

ATTACHMENTS OPERATION 92.40 - 3


AUTOMATIC OPERATION

Software is provided to control the operation of a right angle, power indexing attachment with power drawbar. This
includes the M-code; M70. The smallest increment size can vary depending on the design of the head. For example;
it may be designed for 5 degree increments or 2.5 degree increments. The smallest increment size for this
attachment is 2.5 degrees.

M70 - POSITION INDEXING HEAD (OPTIONAL)

REQUIRED: M70 Appp.p

OPTIONAL: M70 Appp.p X±pppp.pppp Y±pppp.pppp

FUNCTION: The M70 cycle is used to index the optional Right Angle Head.

FACTS: The value programmed with the A address can range from 0 to 359.9 degrees.

The zero (0) degree position is with the attachment spindle vertical and pointing down. Degrees
increase in the clockwise direction, viewed from the head out towards the machine table (looking in
the Z- direction).
The right angle head can be indexed in predefined degree increments (typically 5 degrees). The
cycle will index the head to the next 2.5 degree increment position commanded with the A address.

The X & Y positions are optional. When either the X or Y is programmed the machine will move to
that position while indexing the head. The indexer will not clamp until the axes have reached their
end point.
180°
EXAMPLE:
N200 M70 A0; Index head to 0 degree position
N500 M70 A30; Index head to 30 degree position
N600 M70 A46; Index head to 45 degree position 90° 270°
N700 M70 A78; Index head to 80 degree position
Note: Degree position as viewed from +Z direction.

MANUAL OPERATION

The indexer can only be manually positioned while the control is in Setup mode. The Setup mode requires accessing
the custom screen (see FIGURE 92.40 - 3) and using JOG mode. See the Electrical Service documentation supplied
with your machine for information on the Setup mode.

The custom screen is used to view the state of the head and can be used to manually manipulate the head.
It may become necessary to manually manipulate the head if for some reason the head goes into an invalid
state, i.e. not referenced. If it is required to return the head to a valid state the user will need to also use
the INTERLOCK OVERRIDE key and the HAND + & - keys.

92.40 - 4 ATTACHMENTS OPERATION


FIGURE 92.40 - 3
Attachment Indexer Custom Screen

The valid state for the head is shown in TABLE 92.40 - 1.

Unlocked Locked Drive Unlocked


Locked (ready to run spindle) 0 1 1
Unlocked (ready to index) 1 0 0

TABLE 92.40 - 1
Power Indexing Head State

The following softkeys are available for manual operation.


LOCK / UNLOCK SOFTKEY

This function locks or unlocks the indexer driving function on the right angle attachment. In the locked state, the
spindle drives the right angle attachment spindle. In the unlocked state, the spindle rotates the indexer. When the
indexer is commanded to unlock, the spindle will rotate to the current indexer position. This is the position where the
indexer was last locked. Once the spindle is in position, the indexer unlocks. The indexer may then be rotated using
the ROTATE softkey and the INTERLOCK OVERRIDE and HAND± keys.
Note: There are certain situations where the indexer must be unlocked without orienting the spindle to the
last locked position. This may include setup and recovery operations. To accomplish this, the
operator will press the INTERLOCK OVERRIDE button while pressing the HAND+ key.

ATTACHMENTS OPERATION 92.40 - 5


ROTATE SOFTKEY

This function will jog the indexer when it is unlocked and is in a state to allow rotation of the indexer. The user may
jog to the clockwise (CW) and counterclockwise (CCW) within the soft end limits defined. The CW and CCW
directions are determined by viewing from the headstock spindle. The indexer will jog at a continuous rate until the
HAND± softkeys are released. The indexer will then move to the next value position (for example; 5 degree
increments).
Note: There are certain situations where the indexer may need to be positioned at finer increments than 5
degrees (this may include setup and recover operations). To accomplish this, the operator may
press the INTERLOCK OVERRIDE button while pressing the HAND± manual function buttons. The
indexer will then position at ½ degree increments.

****************************************************************************************

WHEN THE INDEXER IS NOT REFERENCED (SPINDLE / INDEXER SYNCHRONIZATION IS LOST),


THE OPERATOR MUST OVERRIDE INTERLOCKS TO MOVE THE INDEXER BACK TO THE
REFERENCE POSITION. GREAT CARE SHOULD BE TAKEN WHEN ROTATING THE INDEXER.
THERE ARE HARD LIMITS FOR INDEXER ROTATION; HOWEVER, CARE MUST ALWAYS BE
TAKEN WHEN ROTATING IT NEAR THE ENDS OF TRAVEL. THE RESULT COULD BE IN
DAMAGE TO THE CABLES INSIDE THE INDEXER.

****************************************************************************************
This screen also displays the following position and limit data:

INDEXER LOCK /UNLOCK

This status line shows the status of the right angle attachment as locked or unlocked.

INDEXER ROTATION

This status line shows the user which direction the indexer is rotating.

INDEXER DRIVE UNLOCKED

This status line defines when the indexer drive is unlocked. In the locked state, the spindle drives the right angle
attachment spindle. In the unlocked state, the spindle rotates the indexer.

INDEXER REFERENCE SWITCH

The status ON defines the indexer is at zero position for the right angle attachment. When the indexer is at the zero
position (facing down) and locked, this input is returned. This is used by the software to synchronize the spindle and
indexer positions. It is also used to verify that the indexer is at the correct position when loading the attachment into
the auto latchplate.

INDEXER REFERENCED STATUS

This status line indicates when the indexer position is referenced.

SPINDLE POSITION

This is the actual position of the spindle.

92.40 - 6 ATTACHMENTS OPERATION


INDEXER POSITION

When the indexer is locked, this display is updated to indicate the locked position of the indexer. When unlocking the
indexer, the spindle will rotate to this position. The indexer will then be unlocked, allowing it to be rotated to another
position.

INDEXER REFERENCING

The Indexer will automatically reference when it is loaded. However, in certain situations the indexer and spindle
synchronization may be lost, in which case, the indexer will no longer be referenced. This could occur if power was
lost while the indexer is unlocked. If the indexer is not referenced it may not be rotated, either manually (using the
Custom screen) or automatically (using the M70 command).

Referencing of the Indexer is accomplished by locking it at the zero reference position. To reference the Indexer
follow these steps:

1. Select JOG mode.

2. Select the CUSTOM key to display the Custom screen. Press RT ANGLE INDEXER softkey (FIGURE
92.40 - 3).

3. Press the LOCK / UNLOCK softkey; then press and hold the INTERLOCK OVERRIDE key and press the
HAND+ key to unlock the head.

4. Wait for the status to change to UNLOCK.

5. Press the ROTATE softkey.

6. Press and hold the INTERLOCK OVERRIDE key and press the HAND± key to rotate the attachment to the
reference position (the spindle is vertical and pointing down). SEE THE CAUTION BELOW!

****************************************************************************************

WHEN THE INDEXER IS NOT REFERENCED (SPINDLE / INDEXER SYNCHRONIZATION IS LOST)


AND THE OPERATOR MUST OVERRIDE INTERLOCKS TO MOVE THE INDEXER BACK TO THE
REFERENCE POSITION. GREAT CARE SHOULD BE TAKEN WHEN ROTATING THE INDEXER.
THERE ARE NO HARD LIMITS FOR INDEXER ROTATION AND RUNNING IT PAST THE ENDS OF
TRAVEL WILL RESULT IN DAMAGE TO THE CABLES INSIDE THE INDEXER.

****************************************************************************************
1. Press the LOCK / UNLOCK softkey; then press and hold the INTERLOCK OVERRIDE key and press the
HAND- key to lock the head.

2. Wait for the status to change to LOCK.

At this point, the control will see the zero reference switch and set the referenced flag for the Indexer.

CONTOURING HEADS AND CBS BARS

The attachment can be load manually, through the standard chain style magazine or through an attachment rack
mounted to the auto-latchplate. See the NC CONTOURING HEADS section for detailed operation procedures.

ATTACHMENTS OPERATION 92.40 - 7


SPINDLE SUPPORT ATTACHMENT

The Spindle Support is used to provide additional rigidity to the spindle


when extended. While the attachment is mounted, spindle travel is
restricted to prevent the spindle from retracting into the support. Also,
automatic tool changes are limited to tools located in a tool rack or
manually loaded tools.

A Spindle Support that is stored in an attachment rack can be loaded


automatically using the M06 code. A Cam-Lock type spindle support
should be loaded manually. See the following warning and procedure.

FIGURE 92.40 - 4
Spindle Support Attachment

****************************************************************************************

SPECIAL ATTENTION MUST BE GIVEN WHEN LOADING A CAM-LOCK TYPE SPINDLE


SUPPORT. BECAUSE THE SPINDLE SUPPORT BEARING CAN BE ROTATED OUT OF
POSITION, IT IS RECOMMENDED THAT A SPINDLE SUPPORT BE LOADED MANUALLY AND
THEN A TOOL REFERENCE PERFORMED TO IDENTIFY THE ATTACHMENT.

****************************************************************************************

MULTI POSITION STOP BLOCK ATTACHMENT

The Multi Position Stop Block Attachment allows the user to select one of four (0°, 90°, 180°, and 360°) orient
positions in which the attachment can be loaded. The user will be able to specify one of four predefined angles in
which the tool can be engaged. The machine is fitted with up to four stop blocks. These stop blocks determine the
final angle of the attachment in relation to the XY plane. This type of head can typically be stored in the standard tool
magazine and can index to other positions without exchanging the tool out of and back into the spindle.

TOOL CHANGE PROGRAM FORMAT

These heads can be loaded and unloaded either manually or through the tool changer and/or attachment rack.
Performing a tool exchange to this type of attachment is as follows:

M06 Tpppp Cp

M06 Tool change miscellaneous code is used to initiate a tool change.

Tpppp The T-code is used to select the desired attachment from the matrix.

Cp The C-code is a 1-4 where:


st
C1 Specifies the 1 orient position defined in variable #153 in Macro 8030
nd
C2 Specifies the 2 orient position defined in variable #171 in Macro 8030
rd
C3 Specifies the 3 orient position defined in variable #172 in Macro 8030
th
C4 Specifies the 4 orient position defined in variable #173 in Macro 8030
FIGURE 92.40 - 5
See TABLE 92.40 - 2 for setup information. Multi Position Attachment
Note: If C is not programmed an error will occur.

92.40 - 8 ATTACHMENTS OPERATION


INDEX / ORIENT PROGRAM FORMAT

Once the attachment is in the spindle and engaged in the stop block, it can be commanded to other index positions.
This is accomplished using the following format:

M70 Cp

M70 Position indexing head code to initiate an index of the multi position stop block attachment

Cp The C-code is a 1-4 where:


st
C1 Specifies the 1 orient position defined in variable #153 in Macro 8030
nd
C2 Specifies the 2 orient position defined in variable #171 in Macro 8030
rd
C3 Specifies the 3 orient position defined in variable #172 in Macro 8030
th
C4 Specifies the 4 orient position defined in variable #173 in Macro 8030

See TABLE 92.40 - 2 for setup information.

The spindle will:

1. Orient to the current engage position.

2. Extend the spindle to disengage from the stop block.

3. Orient to the commanded engage position.

4. Retract the spindle to engage the new stop block.

EXAMPLES
M6 T34 C1; Load attachment and orient to position 1
M6 T0; Unload attachment
M6 T34 C2; Load attachment and orient to position 2
M70 C3; Orient attachment to position 3

UNLOADING ATTACHMENT

To unload the attachment, perform either an M06 T0 or call another tool. The spindle will be oriented to the
appropriate orient engage position, the attachment disengaged from the stop block and the attachment removed from
the spindle (manually or automatically).
Note: The cycle remembers the orient engage position, in which the attachment is loaded, by storing it in
macro variable #570. This variable should not be used for any other purpose.

ATTACHMENTS OPERATION 92.40 - 9


MACRO VARIABLES

The following macro variables are used to setup the multi position stop block attachment. See the Electrical Service
manual for information on editing protected macros.
Cycle (O8030) Macro Variables
Variable Units Value Description
#4 - #11 N/A Head 1 through 8 - Tool number (T-code) for associated attachment
Cycle (O8030) Macro varIables (per head)
#150 N/A 41 Tool / Attachment type (41 - Special milling attachment)
#151 MM Attachment (Z-axis) engage position
st
#153 Deg 90 Standard / 1 spindle orient - engage position
#155 RPM Maximum spindle speed
#162 N/A 5 Attachment mounting type (5 - stop block mount)
#163 N/A 0 Cover plate required (0 - no cover plate, 1 - cover plate)
nd
#171 Deg 270 2 spindle orient - engage position
rd
#172 Deg 0 3 spindle orient - engage position
th
#173 Deg 180 4 spindle orient - engage position
Cycle (O9990) Macro Variables
Variable Units Value Description
#5 N/A Spindle axis (Z-axis) number
#9 MM 240 Attachment engage / disengage feedrate
#11 MM -100 Attachment unload position
#12 MM Spindle axis plus limit with no head - Set to standard Z plus limit (1320).
#13 MM Spindle axis plus limit with head - Set to standard Z plus limit (1320)

TABLE 92.40 - 2
Macro O8030 Variables

ATTACHMENT AND TOOL CONFIGURATION

Fanuc Tool Management is used to configure the attachment and modular tooling for the attachments.
In addition to the tool management system being used to properly configure attachments and attachment tools, a tool
change cycle (O8030) is configured to define the style of attachments and tools present on the machine.

In the previous description of tool racks mainly described automatic operation. However, machines may be
purchased with attachments, but without a rack. In this case, the setup and description of the magazine and pocket
data is virtually the same with the exception that attachments and tools are hand / crane loaded.

HBM TOOL TYPES

Each tool has a tool type which identifies it to the system. This number is used when executing tool exchanges and
configuring the control for the tool being loaded. Configuration might include spindle speed limits, end limits, etc.
Tool types are entered in the Tool List under the HBM TTYPE column.

92.40 - 10 ATTACHMENTS OPERATION


TABLE 92.40 - 3 shows a list of standard tool types using in most machines.

Attachment (Tool) Type Variable (See Tool Management description below)


HBM TTYPE Numberr Description
0 Standard tool
2 Spindle support
Cover plates - non arbor loaded (e.g. cam lock adaptor cover plates, manual
3
latch plates, etc.)
31 Cover plates - arbor loaded (e.g. auto coupler cover plates)
4 Milling / drilling attachments
8 Contouring heads

TABLE 92.40 - 3
Tool Type Data (Without Modular Tooling)

MODULAR TOOLING TYPES


In systems with adaptors (attachments) and modular tools (tools that go into attachments or can be manually loaded
via the M06), a special type of tool type system is used and is described below in Table 11-5, under Modular tooling
types. When attachments are used that can accept tools either manually loaded or from a tool rack, an identification
system is in place to define the relationship between the attachment or adaptor and the modular tool. There are two
types of identification possible:
• Explicit adaptor / modular tool type definition. The tool type for a modular tool is defined such that it can only go
into one adaptor.
• Universal modular tool type definition. This tool type allows a modular tool to be loaded into more than one
adaptor.

Tool Type Definitions


Tool Types Description
1 thru 19 Attachments tool types (general attachments without modular tool capabilities).
21 thru 98 Adaptors tool types (attachments with modular tool capabilities).
-21 thru -98
and Modular tool types
-100 thru -198
99 Universal modular tool type

TABLE 92.40 - 4
Tool Type Data (with Modular Tooling

Utilized Tool Types


Adaptor Modular
Description
Tool Type Tool Types
2 N/A Spindle support (N/A)
3, 31 - 39 N/A Cover plates
4 N/A Milling / drilling attachments (no modular tool capabilities)
8 N/A Contouring heads (no modular tool capabilities
21 through 29 -21 through - 29 Spindle supports with modular tool capabilities
41 through 49 -41 through -49 Milling / drilling attachments with modular tool capabilities
81 through 89 -81 through -89 Contouring heads with modular tool capabilities
N/A 99 Universal modular tool type. Adaptor is specified with modular tool in the M06 call.

TABLE 92.40 - 5
Tool Type Data (with Modular Tooling)

ATTACHMENTS OPERATION 92.40 - 11


For attachments where the modular tool system is not used, tool types 1 through 19 are reserved. Types 2, 3, 4 and
8 are defined in the table in TABLE 92.40 - 3.

When modular tooling systems are used, tool types 21 through 98 are used for the adaptors and -21 through -98 and
-100 through -198 are used for the corresponding modular tools. An example would be:

Right angle milling attachment with power drawbar tool type: 41

Corresponding modular tool type: -41

See FIGURE 92.40 - 6 for example of the tool management display page showing the HBM TTYPE data.

When a tool with type -41 is called, then the right angle milling attachment will be loaded, followed by the called for
modular tool. The only exception to this will be cover plates, which are not attachments that can receive modular
tooling.

In cases where a tool can be loaded into multiple adaptors, a modular tool type has been defined (99). When a tool
of this type is called for in the tool change cycle, a corresponding adaptor (attachment) must be specified as an A
command. For example,

M6 T401 A301: Where T401 is the modular tool and A301 is the attachment into which the modular tool is loaded.
Note: Use this feature with caution. Do not miss-match the tools and adaptors.

FIGURE 92.40 - 6
Tool Management Page Showing HBM TTYPE

92.40 - 12 ATTACHMENTS OPERATION


TOOL CHANGE PROGRAM FORMAT

A tool change cycle may be initiated in either the Memory mode by a part program or in MDI mode. Automatic tool
changes require that an M06 (tool change) and the proper T number, for the desired tool be executed.
Note: The M06 must be programmed before the T-code and no other data can be programmed on the line.

M06 - TOOL CHANGE COMMAND

The M06 tool change command will transfer a tool / attachment from the tool magazine to the spindle. During the
transfer the tool that is in the spindle will be returned to the magazine location where it came from.

TXXXXXXXX - TOOL NUMBER

The tool number (T-code) is a 1-8 digit tool group number assigned to a magazine pocket in tool management. A T-
code programmed without the M06 is a Tool Preselect. Only tools from the chain style magazine can be preselected.
M06 T10; Select tool 10

AXXXXXXXX - ADAPTOR NUMBER (FOR UNIVERSAL TOOL TYPES)

The A-code is used to select the desired attachment when loading a universal tool, (tools that can be used in multiple
adaptors HBM TTYPE 99). When programmed with an M06 and the T-code, the machine will load the programmed
adaptor and then load the modular tool.

As discussed earlier in this section, all tools and attachments must be defined in tool management. The HBM TTYPE
data is used to specify the tool type as to whether it is a standard tool, an attachment or a modular tool that loads into
an attachment. This information determines the tool change process. When the M06 tool change command is
initiated calling for a Modular tool, the control will automatically retrieve the associated adaptor based on the HBM
TOOL TYPE Data prior to loading the Modular tool. The following illustrates the results of tool change commands
with various combinations of tool types and adaptors.

HBM HBM
Active Tool Programmed Tool Steps Action
TTYPE TTYPE
Standard Tool 0 Milling Attachment 4 1 Unload Present Tool
2 Unload Cover
3 Load Attachment
Milling Attachment 4 CH Head 8 1 Unload Present Attachment
2 Load CH Head
CH Head 8 Standard Tool 0 1 Unload Present CH Head
2 Load Cover
3 Load Standard Tool
Standard Tool 0 RA Modular Tool -41 1 Unload Present Tool
2 Unload Cover
3 Load RA Milling Adaptor
4 Load Modular Tool into Adaptor
Modular Tool -41 T00 Unload Tool 3 1 Unload Modular Tool.
2 Unload Adaptor
3 Load Cover

TABLE 92.40 - 6
Tool Change Sequence

ATTACHMENTS OPERATION 92.40 - 13


Magazine Range of Pockets Description Example
1 1 - 400 Chain Style Tool Magazine 1-90
2 401 - 499 Attachment Rack 401-404
3 501 - 599 RA Modular Tool Rack 501-516
4 1001 - 1100 Manual tools 1001-1050

TABLE 92.40 - 7
Sample Magazine Configuration Table

TOOL / ATTACHMENT CHANGE EXAMPLES


The following table illustrates the tool configuration data used for the various modular tool examples.
Tool Magazine Pocket
Description HBM TTYPE
Group Number Number
4002 3 Right Angle Attachment 41 402
4001 3 Latchplate Cover 31 401
4006 3 Spindle Support 21 403
5001 4 Right Angle Modular Tool -41 508
6023 5 Oversized Mill Universal Modular Tool 99 612

TABLE 92.40 - 8
Sample Configuration Table

These tools are used in the following examples:

LOAD RIGHT ANGLE MODULAR TOOL


M06 T5001; HBM TTYPE -41

1. Unload Present tool and Attachment if required.

2. Unload Cover if necessary.

3. Load right angle attachment from pocket 508.

4. Load right angle modular tool from pocket 508.

LOAD UNIVERSAL OVERSIZED TOOL FROM RACK


M06 T6023; HBM TTYPE 99

1. Unload Present tool and Attachment if required.

2. Load Cover from pocket 401 (if necessary).

3. Load tool from pocket 612.

LOAD UNIVERSAL OVERSIZED TOOL FROM RACK - SPINDLE SUPPORT


M06 T6023 A4006; HBM TTYPE 99

1. Unload Present tool and Attachment if required.

2. Unload Cover if necessary.

3. Load spindle support from pocket 403.

4. Load tool from pocket 612.

92.40 - 14 ATTACHMENTS OPERATION


UNLOAD UNIVERSAL OVERSIZED TOOL & RETAIN SPINDLE SUPPORT
M06 T4006; HBM TTYPE 99

1. Unload Present tool and retain spindle support.

UNLOAD TOOL AND ATTACHMENT


M06 T0;

1. Unload Present tool.

2. Unload attachment.

3. Load cover plate.

LOAD OR UNLOAD COVER PLATE


M06 T4001;

1. Programming the cover plate will cause the cover to load in not loaded or unload if loaded.

NOTES ON MODULAR TOOL CHANGES


• With an attachment attached to the latchplate with modular tool, M6 T0 will unload the tool, unload
the attachment and load the cover plate.
• With an attachment attached to latchplate with modular tool, to unload tool only, call for attachment
Txxxx.
• To load or unload the cover plate, call for cover plate tool number.

AXES MOTION SEQUENCES WITH ATTACHMENT / MODULAR TOOL CHANGE

The following motion is based on a HBM TTYPE = -41

1. Retract the W-axis for clearance.

2. Position the X and Y-axes simultaneously to the attachment rack location for the attachment HBM TTYPE 41.

3. Attachment rack will position to latchplate.

4. Latchplate will engage attachment, Y-axis will lift attachment and attachment rack will retract.

5. Position the X and Y-axes simultaneously to the tool rack location for the tool HBM TTYPE -41

6. Position to tool, pickup tool and retract tool rack.


7. Tool Reference.

It will be required of the operator to reference one or more tools, if power has been removed and then restored to the
machine or if the Control has been reinitialized.

When power has been restored, control reinitialized, aborted tool change cycle, or exiting the TOOL EXCHANGE
Custom screen, the control does not know what the tool numbers are of a preselected tool and the spindle tool.
Messages will be displayed to prompt the operator to perform the required referencing. Reference the tools as
follows:

1. Select MDI mode button.

2. Press the PROG key on the keyboard until the PROGRAM (MDI) is displayed in the upper LH corner of the
Display Screen.

ATTACHMENTS OPERATION 92.40 - 15


3. Type in the keyboard:
M60 Tpppp Epppp (Apppp);

where: M60 = Tool reference code


Tpppp = Pocket number of tool in the spindle or attachment mounted to the head.
Epppp = Pocket number of tool in the exchange arm.
Apppp = Pocket number of attachment mounted to head when a modular tool of type Universal
(Type equal 99 only) is loaded in the attachment.
Note: If a modular tool has a type other than 99, then the A parameter is not used.
Note: If a tool is not present in the spindle or exchange arm, the pocket number is entered as 0 (zero).

1. Press the INSERT softkey or the INPUT key on the keyboard.

2. Press the CYCLE START pushbutton.

At the completion of the above steps, the tools in the spindle and/or exchange arm are referenced.

ATTACHMENT OFFSETS

****************************************************************************************

CAREFUL ATTENTION IS REQUIRED IN DEFINING TOOL OFFSETS FOR ATTACHMENTS AND


ATTACHMENT TOOLS.

****************************************************************************************
The application of Tool Offsets to attachments and attachment tools can vary.

SPINDLE SUPPORTS

Regarding a Spindle Support Attachment; since tools are not typically mounted to the attachment, tool offsets for this
attachment are not required (see FIGURE 92.40 - 4). However, if it were possible to mount a cutting tool directly to
the spindle support, then a tool offset would need to be applied to the attachment. Tools that are loaded into the
spindle will, after a Spindle Support is mounted to the machine, require tool offsets.

RIGHT ANGLE UNIT

The application of tool offsets to a Right Angle Head Attachment is pretty straight-forward. The user just needs to
understand how the values are derived. The Right Angle Head needs to be determined. This must be done on the
machine. These dimensions are then utilized in setting tool offsets for the Attachment Tools.

FIGURE 92.40 - 7 illustrates the offsets typically needed for the attachments. The Right Angle Head will have a Z
length and a X/Y length (the X/Y length will be used in the G18 or G19 plane). If the head is indexed to an angle not
parallel to the X or Y-axis, then values for both X and Y will need to be calculated and stored.

92.40 - 16 ATTACHMENTS OPERATION


Headstock Spindle
Centerline to Unit
Spindle Face

Headstock Spindle Gageline


to Unit Spindle Centerline

FIGURE 92.40 - 7
Attachment Offsets - G18

FIGURE 92.40 - 8 illustrates tool offsets for the Right Angle Head at 270°. This rotation position would be the G19
plane. FIGURE 92.40 - 9 illustrates tool offsets for a Mill Head, also G19.

Headstock Spindle
Centerline to Unit
Spindle Face

Headstock Spindle
Gageline to Unit
Spindle Centerline

FIGURE 92.40 - 8
Attachment Offsets - G19

ATTACHMENTS OPERATION 92.40 - 17


Headstock Spindle
Gageline to Unit
Spindle Centerline

Headstock Spindle Centerline


to Unit Spindle Face

FIGURE 92.40 - 9
Attachment Offsets - G19

As can be seen from the figures, there will need to be at least two (2) offsets used for a Right Angle attachment
(rotating head or right angle mill). If the situation arises where an attachment is rotated to and off-plane angle (i.e.
45°), it will be required to use three (3) offsets. The length of the attachment from the Spindle Gage Line to the cutter
centerline (Z length) will be used for every tool. The Tool Length (X or Y length) will also be required. For the X/Y
length, the attachment and tool lengths will need to be added together.

Determining the offsets can be done on the machine. A method to find the offsets for the Right Angle Head is
described in FIGURE 92.40 - 10.

Spindle at Z0

Table
Table 30 mm Diameter Test
50 mm Gage Block Bar or Edge Finder

Initially, determine a W-axis position using Next, with the attachment loaded determine a
a gage block between the table face & W-axis position using a test bar or edge
spindle face with Z at zero. finder at the table face & spindle center.
(Example: W reads +849.500 mm) (Example: W reads +1455.750 mm)
W position at spindle face=799.500 mm W position at spindle center=1440.750 mm
(849.500-50.00) (1455.750-15.00)
Overall Z length of the right angle head=641.250 mm
(1440.750-799.5)

FIGURE 92.40 - 10
Determining Attachment Offset

An offset value for the X and Y-axes can be found using a similar method. A surface can be established relative to
the spindle centerline. Then locating the face of the attachment spindle off the same surface will make it possible to
calculate that offset.

It must be noted that once these values are determined, the values are then included with the individual H-codes for
the tools used in the attachment.

92.40 - 18 ATTACHMENTS OPERATION


SECTION 92.50
NC CONTOURING HEAD & CBS BAR OPERATION
TABLE OF CONTENTS
TITLE PAGE
HEAD CONFIGURATION VARIABLES ......................................................................................................................... 1

TOOL MANAGEMENT................................................................................................................................................... 2

MAGAZINE POCKET ALLOCATION .................................................................................................................. 2

HBM TOOL TYPES ............................................................................................................................................. 2

MODULAR TOOLING TYPES .................................................................................................................. 3

IDENTIFYING A TOOL ............................................................................................................................. 4

MANUAL TOOLS...................................................................................................................................... 4

REQUIREMENTS AND CONSTRAINTS - Z SPINDLE ................................................................................................. 5

PROGRAM DATA - Z SPINDLE .................................................................................................................................... 5


PREPARATORY CODES.................................................................................................................................... 5

COORDINATE DATA - V/W-AXIS ....................................................................................................................... 6

V DIMENSION .......................................................................................................................................... 6

W DIMENSION ......................................................................................................................................... 6

REQUIREMENTS AND CONSTRAINTS - W SPINDLE ................................................................................................ 6

PROGRAM DATA - W SPINDLE ................................................................................................................................... 7

PREPARATORY CODES.................................................................................................................................... 7

COORDINATE DATA - V/Z-AXIS ........................................................................................................................ 7

V DIMENSION .......................................................................................................................................... 7

Z DIMENSION .......................................................................................................................................... 7

TOOL MEMORY OFFSET H-CODES ................................................................................................................. 8

MISCELLANEOUS CODES ................................................................................................................................ 8

LOADING & UNLOADING CH HEADS / CBS BARS (CAM-LOCK ADAPTOR TYPE) .................................................. 8

CAM-LOCK RECEIVER (ADAPTOR).................................................................................................................. 8

RECEIVER (ADAPTOR) COVER ........................................................................................................................ 9

LOAD EXAMPLE ................................................................................................................................................. 9

UNLOAD EXAMPLE ........................................................................................................................................... 9

LOADING & UNLOADING CH HEADS / CBS BARS (AUTO-COUPLER TYPE) ......................................................... 10

LOAD EXAMPLE ............................................................................................................................................... 10

UNLOAD EXAMPLE ......................................................................................................................................... 10

LOADING & UNLOADING CH HEADS / CBS BARS (AUTO-LATCHPLATE TYPE) (FLOOR-TYPE W/RAM ONLY) . 11

UNLOAD EXAMPLE ......................................................................................................................................... 12

REFERENCING THE W-AXIS (TABLE / AUXILIARY SLIDE)...................................................................................... 12

REFERENCING THE Z-AXIS (TABLE / AUXILIARY SLIDE) ....................................................................................... 12


PART REFERENCING THE CH HEAD / CBS BAR RADIAL V-AXIS .......................................................................... 13

SETTING THE CUTTING DIAMETER OF THE CH HEAD .......................................................................................... 14

GAGE BLOCK PROCEDURE ........................................................................................................................... 14

WORKPIECE PROCEDURE............................................................................................................................. 15

CIRCULAR INTERPOLATION ..................................................................................................................................... 16

V/W OR V/Z AXIS DATA ................................................................................................................................... 17

ARC CENTER OFFSETS R .............................................................................................................................. 17

G33 CONSTANT LEAD ............................................................................................................................................... 17

THREAD CODE AND ENDPOINT DATA .......................................................................................................... 17

THREAD LEAD ................................................................................................................................................. 17

STARTING ANGLE ........................................................................................................................................... 17

CH8 PROGRAMMING EXAMPLE ............................................................................................................................... 18

REV 1 (10-2012)
HEAD CONFIGURATION VARIABLES

Determining which type of CH Head or CBS Bar is to be attached to the machine is configured through variables
setup in MACRO 08030 that define the Tool (Pocket) Number of the attachments. Up to 8 attachments can be
defined. Each of the defined tool numbers are associated with macro parameters that define the type of adaptor for
tool change purposes, total V-axis travel and other restrictions discussed earlier. The following table shows the
typical parameter settings for a manual cam-lock cover plate and attachments. For variable information on a specific
machine refer to the Electrical Manual or contact the factory.

Cycle 8030 (Contouring Head / Attachment Data) Macro Variables


Variable Value Description
#21 1001 Cam-Lock Cover Plate Tool Number
#4 404 Contouring Head / Attachment 1 Tool Number
#5 405 Contouring Head / Attachment 2 Tool Number
#6 406 Contouring Head / Attachment 3 Tool Number
#7 407 Contouring Head / Attachment 4 Tool Number
#8 408 Contouring Head / Attachment 5 Tool Number
#9 409 Contouring Head / Attachment 6 Tool Number
#10 410 Contouring Head / Attachment 7 Tool Number
#11 411 Contouring Head / Attachment 8 Tool Number
TABLE 92.50 - 1
Macro Variables

The value entered into #4 - #11 represent the tool number used with the M06 command. In the example above,
Tools 404 and 405 are used to initiate a manual tool change loading Head 1 and Head 2. For the Auto-Coupler Type
head, the tool numbers for the heads and the cover could be pocket numbers of the matrix.

When a tool change cycle is executed, a determination is made if a contouring head or other attachment is being
requested. If so, the cycle will then perform the necessary steps to unload the cover, load the attachment and set the
required data pertaining to travel and speed limits set for that device.

Each attachment number must have an Attachment Mounting Type assigned in Variable #162. This value will
determine the procedure used for attachment loading and unloading. The following table lists the available mounting
types:

Attachment Mounting Type Variable (Cycle 8030, Variable #162)


Mounting Type Description
1 Cam lock adaptor - Doughnut shaped adaptor. Mostly used for contouring heads.
2 Auto-coupler
3 Auto attachment exchange (latchplate)
4 Bolt on
5 Stop block mounted
6 Manual attachment exchange (latchplate)

NC CONTOURING HEAD & CBS BAR OPERATION 92.50 - 1


TOOL MANAGEMENT

Horizontal Boring Mills use the Fanuc Tool Management system for the purpose of controlling attachments. Standard
offering is 240 tools with up to 4 magazines. 1000 tools and up to 8 magazines are available as an option.

MAGAZINE POCKET ALLOCATION

All tools and attachments are associated to a magazine number and a pocket number. TABLE 92.50 - 2 below
illustrates the typical magazine pocket allocations:

Magazine 1 is the typical chain style tool magazine attached to the machine column.

Magazine 2 is typically the attachment rack is applicable. Attachments are normally numbered from 401+.

Magazine 3 is typically used for manually loaded tool. Manual tool pockets number range from 1001-1100.

Magazine 4 is typically the tool rack used for large tools of tools loaded into attachments.

Magazine Pockets Description


1 1 - end of magazine Chain type tool exchanger
2 401 - end of rack Attachment rack
3 1001 - 1100 Manual tools
4 501 to end of rack Tool rack
TABLE 92.50 - 2
Magazine Pocket Assignment

HBM TOOL TYPES

Each tool in the tool management system has a tool type number assigned to it. This number is used when
executing tool exchanges and configuring the control for the tool being loaded. Configuration might include spindle
speed limits, end limits, etc. Tool types are entered in the Tool List under the HBM TTYPE column as shown below
in FIGURE 92.50 - 1.

FIGURE 92.50 - 1
Tool Management Display showing HBM TTYPE

92.50 - 2 NC CONTOURING HEAD & CBS BAR OPERATION


TABLE 92.50 - 3 is a table of standard tool types used in most machines. In systems with adaptors (attachments)
and modular tools (tools that go into attachments), a special type of tool type system is used this is describe below,
under Modular tooling types.

Attachment (Tool) Type Variable (See Tool Management Description Below)


Attachment type Description
0 Standard tool
2 Spindle support
3 Cover plates - non arbor loaded (e.g. cam lock adaptor cover plates, manual latch
plates, etc.)
31 Cover plates - arbor loaded (e.g. auto coupler cover plates)
4 Milling / drilling attachments
8 Contouring heads
TABLE 92.50 - 3
Tool Type Assignment

MODULAR TOOLING TYPES

When attachments are used that can accept tools either manually or from a rack, an identification system is in place
to define the relationship between the attachment or adaptor and the modular tool. There are two types of
identification possible:
• Explicit adaptor / modular tool type definition. The tool type for a modular tool is defined such that it can only go
into one adaptor.
• Universal modular tool type definition. This tool type allows a modular tool to be loaded into any adaptor.

Tool Type Definitions


Tool Types Description
1 thru 19 Attachments tool types (general attachments without modular tool capabilities).
21 thru 98 Adaptors tool types (attachments with modular tool capabilities).
-21 thru -98
and Modular tool types
-100 thru -198
99 Universal modular tool type

Utilized Tool Types


Adaptor Modular
Description
Tool Type Tool Types
2 N/A Spindle support (N/A)
3, 31 - 39 N/A Cover plates
4 N/A Milling / drilling attachments (no modular tool capabilities)
8 N/A Contouring heads (no modular tool capabilities
21 through 29 -21 through -29 Spindle supports with modular tool capabilities
41 through 49 -41 through -9 Milling / drilling attachments with modular tool capabilities
81 through 89 -81 through -89 Contouring heads with modular tool capabilities
Universal modular tool type. Adaptor is specified with modular tool in the
N/A 99
TC call

For attachments where the modular tool system is not used, tool types 1 through 19 are reserved. Types 2, 3, 4 and
8 are defined in the table in the last section.

NC CONTOURING HEAD & CBS BAR OPERATION 92.50 - 3


When modular tooling systems are used, tool types 21 through 98 are used for the adaptors and -21 through -98 and
-100 through -198 are used for the corresponding modular tools. An example would be:

Right angle milling attachment with power drawbar tool type: 41

Corresponding modular tool type: -41

When a tool with type -41 is called, then the right angle milling attachment will be loaded, followed by the called for
modular tool. The only exception to this will be cover plates, which are not attachments that can receive modular
tooling.

In cased where a tool can be loaded into multiple adaptors, a modular tool type has been defined (99). When a tool
nd
of this type is called for in the M06 code, a corresponding adaptor (attachment) must be specified in the 2 calling
parameter. For example:
M6 T401 A301

Where:

T401 is the modular tool and A301 is the attachment into which the modular tool is loaded.
Note: Use this feature with caution.

IDENTIFYING A TOOL

Under the following conditions, the operator must identify the tool or tools currently loaded on the machine.
• Machine power on.
• Tool exchange fault.
• When a tool is loaded outside of a tool exchange cycle.

This Identification cycle is done to verify the tool in the spindle and/or exchange arm. In addition, this tells the system
into which pocket the tool or attachment must be returned to when unloading the tool or attachment to its storage
location. Below is the format of the command.
M60 Tppp Eppp {Appp}

Where:

Tppp Pocket of tool in the spindle or attachment mounted to the head.

Eppp Pocket of tool in the exchange arm.

Appp Pocket of attachment mounted to head when a modular tool of type Universal (Type equal 99) is loaded in
the attachment.

If the M60 worked, you should get a message asking you to verify the tool management data. If the tool defined in
the spindle and exchange arm in tool management is correct, press the MESSAGE CLEAR button to clear the
message.
Note: If a modular tool has a type other than 99, then the A parameter is not used.

MANUAL TOOLS

In the Fanuc tool management, all tools must belong to a magazine. As such, magazine 3 has been set aside for this
purpose. Each tool created in the system that is manually loaded, must be placed in the magazine reserved for
manual tools. The pocket location is not relevant.

92.50 - 4 NC CONTOURING HEAD & CBS BAR OPERATION


REQUIREMENTS AND CONSTRAINTS - Z SPINDLE

The contouring head can be operated manually using the V/Z and the W direction selectors with the feed and speed
controls, or the head can be operated automatically with programmed entries. The following steps should be taken to
use the head.

1. The adaptor must be mounted to the headstock. The contouring head must be clamped in the spindle. And
the tool / tool holder on the radial slide on the contouring head must be installed.

2. The G19 V/W-axis plane select must be entered.

3. The tool / tool holder's position on the radial slide must be set to a predetermined radius using gage blocks,
scale, or height gages.

4. The tool tip must be part referenced in the V radial axis from the spindle centerline. It is recommended that
this reference value be entered into the EXTERNAL OFFSET reference location. Refer to the TOOL
OFFSETS section of this manual.

5. Initially, a trial cut must be taken to establish a tool offset for precise location of the tool in the V and W-axes.
(Or the V part reference stored in EXTERNAL OFFSET may be corrected; if no tool offset is used.)

6. The contouring head must be unloaded and any V/W program data canceled when finished.

When loading a contouring head, various constraints are set as follows:

1. Software end limits will be set to protect the machine and the head. These limits will restrict the travel of the V-
axis within the allowable range of each head.

2. The spindle RPM will be restricted to the maximum allowable for each head: See TABLE 92.50 - 1 for
specification including maximum RPM.

3. The spindle travel which positions the cutting tool is scaled to match the proper ratio of the head. The heads
operates on a 2:1 or 1:1 ratio of spindle motion to radial cutter motion.

4. The normal Z and W linear axes will be replaced by a W linear and V radial axes.
Note: If Z-axis is commanded while a CH head is loaded, a fault will occur.

5. A V-axis part reference must be performed when the head / bar is loaded. This will be discussed later in this
section.

These constraints are initiated by the programmed tool number. See LOADING AND UNLOADING THE CH HEAD
AND CBS BARS later in this section.

PROGRAM DATA - Z SPINDLE

PREPARATORY CODES

G19 V/W PLANE SELECT

G19 is defined as the V/W plane by programming:


G19 G91 W0 V0

The G19 plane select (V/W plane) is used to specify where two axis circular interpolation and cutter radius
compensation is to be applied.

G19 specifies only V and W can be used for circular interpolation.

G19 specifies cutter radius compensation to be applied in the V and W-axis.

The V/W plane is canceled by G17 or G18 plane select codes or by G19 without a V and W command.

NC CONTOURING HEAD & CBS BAR OPERATION 92.50 - 5


COORDINATE DATA - V/W-AXIS

The following codes are used to command linear or radial motion in the V/W plane.

V DIMENSION

The inch / metric radial coordinate measured from the centerline of the spindle to the tool tip (or tool tip radius
centerline, if so programmed).

1. If a G90 absolute dimension input is active, the V command defines the end point of the radial axis relative to
the V-axis part zero at the center of the spindle. When commanding the V-axis to position to cut a 6.00"
diameter, the command will be V3 if the tool is referenced to the tool tip or V2.969 if the tool is reference to the
center of the tool nose radius of .031.

2. If a G91 incremental dimension input is active, the V command defines the end point of the radial axis as the
plus or minus incremental distance from the start point.

W DIMENSION

The normal inch / metric coordinate.

1. If G90 absolute dimension input is active, the W command defines the end point of the linear W-axis relative to
the part reference zero established while the head is mounted.

2. If G91 incremental dimension input is active, the W command defines the end point of the linear axis as the
plus or minus incremental distance from the start point.
Note: On machines equipped with multiple W axes, (Auxiliary Slides), W2 is used to command these axes.

REQUIREMENTS AND CONSTRAINTS - W SPINDLE

The contouring head can be operated manually using the V/Z and the Z direction selectors with the feed and speed
controls, or the head can be operated automatically with programmed entries. The following steps should be taken to
use the head.

7. The adaptor must be mounted to the headstock. The contouring head must be clamped in the spindle. And
the tool / tool holder on the radial slide on the contouring head must be installed.

8. The G19 V/Z-axis plane select must be entered.

9. The tool / tool holder's position on the radial slide must be set to a predetermined radius using gage blocks,
scale, or height gages.
10. The tool tip must be part referenced in the V radial axis from the spindle centerline. It is recommended that
this reference value be entered into the EXTERNAL OFFSET reference location. Refer to the TOOL
OFFSETS section of this manual.

11. Initially, a trial cut must be taken to establish a tool offset for precise location of the tool in the V and Z-axes.
(Or the V part reference stored in EXTERNAL OFFSET may be corrected; if no tool offset is used.)

12. The contouring head must be unloaded and any V/Z program data canceled when finished.

When loading a contouring head, various constraints are set as follows:

6. Software end limits will be set to protect the machine and the head. These limits will restrict the travel of the V-
axis within the allowable range of each head.

7. The spindle RPM will be restricted to the maximum allowable for each head: See TABLE 92.50 - 1 for
specification including maximum RPM.
8. The spindle travel which positions the cutting tool is scaled to match the proper ratio of the head. The heads
operates on a 2:1 or 1:1 ratio of spindle motion to radial cutter motion.

92.50 - 6 NC CONTOURING HEAD & CBS BAR OPERATION


9. The normal Z and W linear axes will be replaced by a Z linear and V radial axes.
Note: If Z-axis is commanded while a CH head is loaded, a fault will occur.

10. A V-axis part reference must be performed when the head / bar is loaded. This will be discussed later in this
section.

These constraints are initiated by the programmed tool number. See LOADING AND UNLOADING THE CH HEAD
AND CBS BARS later in this section.

PROGRAM DATA - W SPINDLE

PREPARATORY CODES

G19 V/Z PLANE SELECT

G19 is defined as the V/Z plane by programming:


G19 G91 Z0 V0

The G19 plane select (V/Z plane) is used to specify where two axis circular interpolation and cutter radius
compensation is to be applied.

G19 specifies only V and Z can be used for circular interpolation.

G19 specifies cutter radius compensation to be applied in the V and Z-axis.

The V/Z plane is canceled by G17 or G18 plane select codes or by G19 without a V and Z command.

COORDINATE DATA - V/Z-AXIS

The following codes are used to command linear or radial motion in the V/Z plane.

V DIMENSION

The inch / metric radial coordinate measured from the centerline of the spindle to the tool tip (or tool tip radius
centerline, if so programmed).

3. If a G90 absolute dimension input is active, the V command defines the end point of the radial axis relative to
the V-axis part zero at the center of the spindle. When commanding the V-axis to position to cut a 6.00"
diameter, the command will be V3 if the tool is referenced to the tool tip or V2.969 if the tool is reference to the
center of the tool nose radius of .031.

4. If a G91 incremental dimension input is active, the V command defines the end point of the radial axis as the
plus or minus incremental distance from the start point.

Z DIMENSION

The normal inch / metric coordinate.

3. If G90 absolute dimension input is active, the Z command defines the end point of the linear Z-axis relative to
the part reference zero established while the head is mounted.

4. If G91 incremental dimension input is active, the Z command defines the end point of the linear axis as the
plus or minus incremental distance from the start point.
Note: On machines equipped with multiple Z axes, (Auxiliary Slides), Z2 is used to command these axes.

NC CONTOURING HEAD & CBS BAR OPERATION 92.50 - 7


TOOL MEMORY OFFSET H-CODES

An Hxxx Tool Memory code selects the Tool Memory Offset values to be used for the CH head. In the event of
multiple heads, a separate H-code is used for each tool.

1. The W Tool Memory Offset Length - Z Spindle

This entry represents the tool length of the CH head / CBS bar from the spindle gage line (nose) or some other
W-axis reference point to the tool tip or cutting edge in the W plane. The W tool length modifies the W
position, when active. The W-axis tool offset must be activated while in the G17 plane.

The Z Tool Memory Offset Length - W Spindle

This entry represents the tool length of the CH head / CBS bar from the spindle gage line (nose) or some other
Z-axis reference point to the tool tip or cutting edge in the Z plane. The Z tool length modifies the Z position,
when active. The Z-axis tool offset must be activated while in the G17 plane.

2. The V Tool Memory Offset Length

This entry represents a modifier, which is the ± difference between the programmed tool position and its actual
position in the V-axis radial plane. The V tool length modifies the V RADIAL position, when active. The V-axis
tool offset must be activated while in the G19 plane.

For further information on tool offsets, see PART REFERENCING THE CH HEAD / CBS BAR RADIAL V-AXIS later
in this section.

MISCELLANEOUS CODES

M06 Tool Change

The M06 miscellaneous code is used to initiate an automatic tool change on machines equipped with an automatic
tool, or notify the operator of a tool change on machines not equipped with an automatic tool changer.

M27 CH Head Home Position

The M27 miscellaneous code is a non-modal command which is used to position the CH head / CBS bar to the
minimum travel location and provide a precise position at which to part reference the V radial axis.

Executing an M27 will position the V-axis to the Home (Retract) position.

LOADING & UNLOADING CH HEADS / CBS BARS (CAM-LOCK ADAPTOR TYPE)

CAM-LOCK RECEIVER (ADAPTOR)

Before the Cam-Lock type contouring head can be loaded into the spindle, a receiver / adaptor must be attached to
the spindle sleeve. The Cam-Lock Adaptor is bolted to the spindle sleeve and can be mounted or removed as
required.

The following steps describe how to load the adaptor.

1. Extend the spindle out a minimum of 4.5"/114 mm from the spindle sleeve face to provide a rest and guide for
installing the adaptor.

2. Execute an M19 Spindle Orient miscellaneous code to insure that the spindle sleeve is in the correct radial
position to receive the adaptor.

3. Install an eyebolt in the adaptor and use a jib crane to lift the adaptor into place over the spindle and on the
spindle sleeve drive keys, and then bolt in place.

Activation of the special assigned T-code numbers will automatically limit the spindle RPM, the V feed / traverse rate,
and imposes software limits on the spindle axis travel when the CH head is mounted.

92.50 - 8 NC CONTOURING HEAD & CBS BAR OPERATION


RECEIVER (ADAPTOR) COVER

If a cover is provided, it is attached by manually inserting the cam pins into the appropriate holes in the adaptor and
turning the cam-lock pins to lock the cover in place.

LOAD EXAMPLE
M06 T404; Load a cam-lock type head

The following is an example of the sequence to load a cam-lock type head:

1. The T-code for the cam-lock type head is specified in the macro software as discussed above. It is important
to execute the proper T-code. The T-code defines to the control that a cam-lock type head is going to be
loaded. The T-code will position the machine to the proper loading location, set limits and start the loading
sequence procedure explained below. In the examples here, T404 will be used. When the M6 T404 is cycled,
the machine will unload any active tool in the spindle and position for the operator to load the adaptor; then
feed hold.
Note: The proper T-code must be executed for the CH head / CBS bar. This T-code number is
defined in program O8030 and indicates to the control that a CH head / CBS bar is going to be
loaded and starts the proper loading sequence.

2. Mount the adaptor to the face of the headstock with four bolts. Use the proper lifting devices and confirm the
proper alignment of the keyways inside the adaptor to the spindle. Note: It is possible to leave the adaptor
mounted on the machine at all times.

3. If equipped with a cover plate, unlock the two cam-locks to release the cover plate. This will expose the cam-
lock mounting holes for the CH head & CBS bar.

4. Press CYCLE START. The spindle will orient and the spindle will extend to allow for the manual loading of the
CH head, and feed hold.

5. Verify that the cam-locks are opened and ready to receive the CH head. Using the proper lifting device, load
the CH head / CBS bar into the spindle and activate the power drawbar to clamp the head into the spindle.

6. Press CYCLE START. The spindle will slowly move back to the adaptor and position the cam-lock pins into
the pinholes on the adaptor and then feed hold.

7. Lock the CH head pins into the adaptor by turning the cam-locks on the adaptor.

8. Press CYCLE START. This will turn off the feed hold and conclude the head loading sequence.

UNLOAD EXAMPLE
M06 T10; Unload cam-lock type head and load standard tool

The following is an example of the sequence to unload a cam-lock type head:

1. The T-code can be a standard tool from the matrix or another cam-lock type head. The T-code will determine
the macro used by the CNC control for the proper unload sequence.

2. When the M6 Txxx is executed, the spindle will orient and the spindle axis will move to an unload position and
feed hold.

3. Unlock the cam locks in the adaptor to release the CH head / CBS bar.

4. Press CYCLE START. The spindle axis will move out, away from the adaptor, to a position to allow the
operator room to unload the head and feed hold.

5. Support the CH head / CBS bar with the proper lifting equipment. Toggle the power drawbar switch to release
the head from the spindle.

NC CONTOURING HEAD & CBS BAR OPERATION 92.50 - 9


6. Press CYCLE START. If the M6 Txxx in step 1 was for another cam-lock type head, then the control will start
over with the load sequence for a CH head / CBS bar as explained above. If the M6 Txxx was for a standard
tool from the matrix, then at this point, the operator can reinstall the cover plate onto the adaptor, if so
equipped. The adaptor can also be removed by supporting it with the proper lifting equipment and removing
the four mounting bolts that hold the adaptor to the headstock.

7. Once the adaptor is removed, press CYCLE START. Normal tool change operation will now continue by
changing the requested tool from the matrix.

LOADING & UNLOADING CH HEADS / CBS BARS (AUTO-COUPLER TYPE)

The loading and unloading of an Auto-Coupler type head can be a totally automatic procedure or can be done
manually. If the tool number is greater than the magazine, the operator will be prompted to manually load the tool
into the spindle. Once loaded into the spindle, the control will engage the head into the auto coupler. The cover plate
can also be loaded and unloaded manually if desired.

LOAD EXAMPLE
M06 T07; Load auto-coupler type head

The following is an example of the sequence to load an auto-coupler type head:

1. The T-code for the auto-coupler type head is specified in the macro software as discussed above. It is
important to execute the proper T-code. The T-code defines to the control that an auto-coupler type head is
going to be loaded. The T-code will set limits and start the loading sequence procedure explained below. In
the examples here, T07 will be used. When the M6 T07 is cycled, the machine will unload any active tool in
the spindle.
Note: The proper T-code must be executed for the CH head / CBS bar. This T-code number is
defined in program O8030 and indicates to the control that a CH head / CBS bar is going to be
loaded and starts the proper loading sequence.

2. Unload the cover plate. A cover must be removed from the adaptor before the auto-coupler type head can be
loaded. Likewise after removing the auto-coupler type head, the cover must be returned to the adaptor. The
loading and unloading of the cover is also an automatic operation. The cover is secured to the adaptor in the
same manner as the auto-coupler type head and is loaded and unloaded using a special arbor that is stored in
the tool changer matrix, along with the other tools.

3. The cover plate arbor is retrieved from magazine, positioned into the cover; the cover plate is latched,
removed from the adaptor and the placed into the matrix.

4. Load the auto-coupler type head into the adaptor.

UNLOAD EXAMPLE
M06 T50; Unload auto-coupler type head and load standard tool

The following is an example of the sequence to unload an auto-coupler type head:

1. The T-code can be a standard tool from the matrix or another auto-coupler type head. The T-code will
determine the macro used by the CNC control for the proper unload sequence.

2. If the next tool is not an auto-coupler type head, the control will first retrieve the cover from the matrix.

3. The auto-coupler type head will be unlatched and removed from the adaptor.

4. If the next tool is not an auto-coupler type head, the cover will be loaded into the adaptor.

5. The auto-coupler type head will be returned to the matrix and the new tool will be retrieved.

6. The new tool will be loaded into the spindle or adaptor if it is an auto-coupler type head.

92.50 - 10 NC CONTOURING HEAD & CBS BAR OPERATION


LOADING & UNLOADING CH HEADS / CBS BARS (AUTO-LATCHPLATE TYPE) (FLOOR-TYPE W/RAM ONLY)

The loading and unloading of an Auto-Latchplate type head can be a totally automatic procedure through an
attachment rack or can be loaded manually with a crane. If the tool number is greater than the tool magazine or
defined as a manual tool in tool management, the operator will be prompted to manually load the tool into the spindle.
Once loaded into the spindle, the control will engage the head into the auto latchplate. The cover plate can also be
loaded and unloaded manually if desired.

The following describes the loading and unloading of the auto-latchplate type of attachments.

HBM HBM
Active Tool Programmed Tool Steps Action
TTYPE TTYPE
Standard Tool 0 CH Head / CBS Bar 8 1 Unload present tool
2 Unload Cover
3 Load CH Head / CBS Bar

CH Head / CBS Bar 8 Standard Tool 0 1 Unload CH Head / CBS Bar


2 Load Cover
3 Load Standard Tool

CH Head / CBS Bar 8 CH Head / CBS Bar 8 1 Unload CH Head / CBS Bar
2 Load CH Head / CBS Bar

CH Head / CBS Bar 8 TC("0") - Unload N/A 1 Unload CH Head / CBS Bar
2 Load Cover

LOAD EXAMPLE
M06 T408; Load auto-latchplate type head

The following is an example of the steps to load an auto-latchplate type head:

1. The T-code for the auto-latchplate type head is specified in the macro software as discussed above. It is
important to execute the proper T-code. The T-code defines to the control that an auto-latchplate type head is
going to be loaded. The T-code will set limits and start the loading sequence procedure explained below. In
the examples here, T408 will be used. When the M6 T408 is cycled, the machine will unload any active tool in
the spindle.
Note: The proper T-code must be executed for the CH head / CBS bar. This T-code number is
defined in tool management and indicates to the control that a CH head / CBS bar is going to
be loaded and starts the proper loading sequence.

2. Unload current tool. If the current tool is a standard tool from the tool magazine, the tool will be unload through
the standard tool change cycle.

If the tool is a manual tool, the operator will be instructed to unload the tool and press CYCLE START.

3. Unload the cover plate. The auto-latchplate cover is normally stored in the attachment rack. The cover must
be removed from the latchplate before the head can be loaded. Likewise after removing the head, the cover
must be returned to the latchplate. The loading and unloading of the cover is also an automatic operation.
The cover is secured to the latchplate in the same manner as the head and is loaded and unloaded through
the attachment rack.

A. The cover unload cycle will position the X and Y-axes to the cover location on the attachment rack.

B. The Ram (W) axis will extend to deposit the cover into the rack and retract.

If the cover is a manual load attachment, the operator will be instructed to attach the cover to a crane and
unload the cover by pressing CYCLE START.

NC CONTOURING HEAD & CBS BAR OPERATION 92.50 - 11


4. Load the auto-latchplate type head into the latchplate.

A. The X and Y-axes will position to the attachment location.

B. The Ram (W) axis will extend to engage the attachment, pick up the attachment and retract from the
rack.

If the attachment is a manual load attachment, the operator will be instructed to attach the attachment with a
crane and load by pressing CYCLE START.

UNLOAD EXAMPLE
M06 T50; Unload auto-latchplate type head and load standard tool

The following is an example of the sequence to unload an auto-coupler type head:

1. The T-code can be a standard tool from the matrix or another auto-latchplate type attachment. The T-code will
determine the macro used by the CNC for the proper unload sequence.

2. Unload the current attachment.

A. The X and Y-axes will position to the attachment location.

B. The Ram (W) axis will extend to unload the attachment, disengage the attachment and retract from the
rack.

3. Load the cover plate. If the next tool is not an attachment, the cove plate must be loaded.

A. Position the X and Y-axes to the cover location on the attachment rack.

B. The Ram (W) axis will extend to unload the cover plate, disengage the cover and retract from the rack.

4. Load new tool / attachment. If the new tool is a standard tool from the tool magazine, the tool will be loaded
through the standard tool change cycle.

REFERENCING THE W-AXIS (TABLE / AUXILIARY SLIDE)

When a CH head / CBS bar is loaded the spindle axis motion is used to initiate V-axis motion of the CH head / CBS
bar and not the normal tool motion. All motion of the tool parallel to the Z-axis must be accomplish by moving the W-
axis. A new part reference offset must be established to set the W-axis reference position. Any offsets associated
with the normal Z and W motion can be transfer into the new offset as a W-axis offset value. There are two methods
of part referencing the W-axis as follows.
• If the normal Z/W part reference used offset values in G54, for example W24.000 and Z-10, then the sum of
these numbers can be put into G59 as W34. This offset value can be entered manually or loaded by program
command as follows:
N200 #5324 = #5224-#5223; Set G59 W-axis to the G55 W value minus G55 Z value

When using this method all tool lengths are measured from the gage line of the spindle, while at the Z machine
zero position to the tip of the tool.

• A new W part reference can be established by referencing the axis (separate work offset) while the head is on.
This part reference only applies when the head is on. The reference point can be the face of the adaptor or to
the face of the spindle sleeve where the adaptor mounts. This reference point is where the tool lengths are
measured from.

REFERENCING THE Z-AXIS (TABLE / AUXILIARY SLIDE)

When a CH head / CBS bar is loaded the spindle axis motion is used to initiate V-axis motion of the CH head / CBS
bar and not the normal tool motion. All motion of the tool parallel to the Z-axis must be accomplish by moving the Z-
axis. A new part reference offset must be established to set the Z-axis reference position. Any offsets associated
with the normal Z and W motion can be transfer into the new offset as a Z-axis offset value. There are two methods
of part referencing the Z-axis as follows.

92.50 - 12 NC CONTOURING HEAD & CBS BAR OPERATION


• If the normal Z/W part reference used offset values in G54, for example Z24.000 and W-10, then the sum of
these numbers can be put into G59 as Z34. This offset value can be entered manually or loaded by program
command as follows:
N200 #5323 = #5223-#5224; Set G59 Z-axis to the G55 Z value minus G55 W value

When using this method all tool lengths are measured from the gage line of the spindle, while at the W machine
zero position to the tip of the tool.

• A new Z part reference can be established by referencing the axis (separate work offset) while the head is on.
This part reference only applies when the head is on. The reference point can be the face of the adaptor or to
the face of the spindle sleeve where the adaptor mounts. This reference point is where the tool lengths are
measured from.

PART REFERENCING THE CH HEAD / CBS BAR RADIAL V-AXIS

Part referencing of the (V-axis) is required to orient the tool to the center line of the spindle which is 0"/0 mm for the
V-axis. This is accomplish by entering a negative value that is equal to the radius of the cutting edge at minimum
travel into a work offset (the external offset is recommended). This location is the M27 CH head / CBS bar home
position. After attaching the CH head / CBS bar, the V (radial) axis can be positioned to the home position by
executing an M27 miscellaneous code.

The offset value can be entered manually or loaded by program command as shown below.

EXAMPLE: Load CH head / CBS bar and reference V

Z SPINDLE W SPINDLE
N100 M06 T404; N100 M06 T404;
N110 G00 G95 F.02 S250; N110 G00 G95 F.02 S250;
N120 M27 M01; N120 M27 M01;
N130 #5207=-1.340; N130 #5207=-1.340;
N140 G17 G43 H971 W10; N140 G17 G43 H971 Z10;
N150 G19 G91 W0 V0; N150 G19 G91 Z0 V0;
N160 G19 G90 G43 H72 V1.35; N160 G19 G90 G43 H72 V1.35;

N100 Tool change


N110 Set feed & speed
N120 Position to home position
N130 Minimum tool radius = -1.340 stored in external offset (G10 L2 P0 V-1.340)
N140 Active tool offset for W/Z-axis
N150 Activate G19 plane
N160 Activate tool offset for V-axis

As shown in the example above, the V-axis is referenced to 1.340. It is also possible to apply a tool offset value to
the V-axis by activating an H-code while in the G19 plane. As shown in the example above, The W-axis tool offset is
applied as H971 while the G17 plane is active. The V-axis tool offset is applied as H72 in the G19 plane. This offset
allows for adjustment for the difference between the 1.34 reference and the actual radius the tool will cut. A G49
command will cancel both offsets and will cause tool motion while removing the offset.

To position to cut a 4.000 diameter bore would include the following:


N150 G00 V1.969; .031 Tool nose radius

NC CONTOURING HEAD & CBS BAR OPERATION 92.50 - 13


SETTING THE CUTTING DIAMETER OF THE CH HEAD

Each time a new or different tool is mounted to the tool slide of the contouring head, the V radial axis must be set to
the proper diameter.

Setting of the radial slide (V-axis) is required to orient the tool (mounted on that slide) to the centerline of the spindle
which is the zero position for the V-axis (V0). After attaching the contouring head, the V-axis will be at its Home M27
position. This is the approximately furthest back the spindle can travel, therefore positioning the V-axis radial slide to
its minimum diameter. Install the cutting tool on the slide near to the diameters that will be cut. There is
approximately 1.5" of V-axis travel on the CH8 head and 3.5" of travel on the CH16. The tool installation should be
within the range of that travel to cut the desired diameters of the workpiece.

As an example, it is desired to setup a boring tool to cut a bore with a 6" diameter.

M27 Home Position


1.5 V-axis Travel Slide
Spindle
Max. Travel

V-axis Adaptor
Reference
Position Home Position
2.5 CH8 Contouring Head

3.00
Spindle Travel

FIGURE 92.50 - 2
Tool Slide at Home and Tool Set to 2.5"

As shown in the example in FIGURE 92.50 - 2, the V-axis is to be referenced at 2.5" (the desired bore to cut is a 3"
radius, so we will have .500" of clearance travel in the V minus direction).

There are basically two ways to set a CH head tool to position, using a gage block on a known surface or a bored
hole in a workpiece. The following will describe these methods.

GAGE BLOCK PROCEDURE


FIGURE 92.50 - 2 illustrates a boring tool already set at 2.5" (tool slide at home position) with the CH head on the
machine. Use the following procedure to set a boring tool into this position, referring to FIGURE 92.50 - 3.

1. Load the CH head onto the machine (refer to the LOAD / UNLOADING topic).

2. Make sure the CH head is at home position, M27. From that position, there is +1.5" (CH8) or +3.5" (CH16) of
slide travel.

3. Rotate the head to position the tool, which is mounted in the approximate desired location, on the bottom side
of center (tool is pointed down in the V plus direction).

92.50 - 14 NC CONTOURING HEAD & CBS BAR OPERATION


Tool Slide

Tool Slide

2” Block

Table Table

FIGURE 92.50 - 3
Using a 2" Block to Set a Boring Tool to 2.5"
4. This example uses a 2" gage block, to aid in the tool setup. Position the center of the CH head (spindle
center) 4.5" above the Y surface (i.e. the table top).
Note: It's easiest to position the head center if the Y surface is known. For example, if the table top
is Y0, command Y to 4.5 (MDI: Y4.5).

5. Without moving the Y-axis, move the head and the tool on the Tool Slide, locating the cutting edge on the
surface of the 2" block and secure.
Note: It may be necessary to rotate the head back and forth to get the correct point of contact on the
gage block.

6. Set the V-axis external offset reference to V2.5" (enter -2.5).

WORKPIECE PROCEDURE

Another way to set a CH head tool, instead of using a gage block, would be to located the tool on an already know
feature of a workpiece (bore surface for a boring tool or a turned diameter surface for a turning tool).

Special considerations may have to be taken into account with this method, as the feature may not be the correct
dimension you will be machining at.
Note: The feature you locate on must be a larger diameter than the desired machined diameter.

FIGURE 92.50 - 4 illustrates what is required if setting a boring tool off of a bored surface. Use the following
procedure to set a tool into position:

1. Load the CH head onto the machine (refer to the LOAD / UNLOADING topic).

2. Rotate the head to position the tool, which is mounted in the approximate desired location, on the bottom side
of center (tool is pointed down in the V plus direction).

3. Let's assume we are using a 7" bore on the workpiece. Position the center of the CH head (spindle center) to
the center of the bore (X/Y center location).
Note: It's easiest to position the head center if the X/Y center is known. For example, if the bore center is
X6" & Y10", command X to 6 and Y to 10 (MDI: X6 Y10). If the bore center is unknown, you will have
to indicate the head on center.

NC CONTOURING HEAD & CBS BAR OPERATION 92.50 - 15


Center of Head when the Tool
Slide is at Home Position (M27)

CH Head (Spindle) Centerline

Workpiece

Tool Slide Positioned Plus 1” for


setting the Tool at 2.5” Radial Position
(from minimum travel +1” for tool set at 2.5” to reach 3.5” radius)

FIGURE 92.50 - 4
Using a 7" Bore to Set a Boring Tool to 3.5"

4. Without moving the X or Y-axes, move the head into the bore and adjust the tool on the Tool Slide, locating the
cutting edge on the bore surface and secure.

5. Set the V-axis external offset reference to 3.5" (enter -3.5).

CIRCULAR INTERPOLATION

The following data is required when programming Circular Interpolation when using the CH head / CBS bar.
G19; V/W or V/Z Plane Select

The G19 plane select must be programmed when using circular interpolation. The plane is setup by programming
the G19 with a W/Z and V-axes command as follows:
Example: G19 G91 W0 V0 (Z-Spindle) or G19 G91 Z0 V0 (W-Spindle)

G02 or G03 Circular interpolation

This command selects the direction of the cutter path.

G03 = counter clockwise

The direction is determined by the following:

• If M03 is active, observe from the front side of the tool: side facing the insert.

• If M04 is active, observe from the backside of the tool, i.e., side opposite the insert.
Note: The G19 plane is viewed from the plus X direction. Therefore, the cutting direction will be reversed
from the operator's view.

92.50 - 16 NC CONTOURING HEAD & CBS BAR OPERATION


V/W OR V/Z AXIS DATA

G90 In the absolute mode, a two axes (V and W/Z) absolute command must be programmed on each block
containing a G02 or G03. This data determines the end point of the circular move relative to the part zero.

G91 In the incremental mode, a two axes (V and W/Z) incremental command must be programmed on each
block containing a G02 or G03. This data determines the end point of the circular move as the incremental
distance from the start point.

ARC CENTER OFFSETS R

R Is used to define the radius of the cutter path when generating an arc. Arcs of up to 360° can be
programmed on one block, but a full 360° circle cannot be generated on one block. The R value is positive
when machining an arc of 180° or less and negative when machining an arc over 180°. Be sure to allow for
the tool nose radius.

G33 CONSTANT LEAD

Constant Lead Threading uses a threading code with endpoint data, thread lead and optional starting angle combined
with a lock-on procedure and retract procedure to cut a thread.

THREAD CODE AND ENDPOINT DATA

The following notes apply to threading:

• A G33 is combined with single axis or multiple V and/or W/Z-axes data to activate constant lead threading and
determine the endpoint of the threading move.

• The thread lead is the distance between threads and is programmed with the F-code. The thread lead is
normally programmed as feed per revolution (G95) but can also be programmed in the feed per minute mode.
• Feedrate override is locked at 100% during threading.
• The feed hold function is ineffective while threading. If the FEED HOLD button is pressed during threading, the
tool will stop after a block not specifying threading is executed as if the SINGLE BLOCK button were pushed.
• When threading is executed in the single block status, the tool stops after execution of the first block not
specifying threading.
• Constant surface speed control G96) is not recommended while threading.
• The spindle speed override function is disabled during threading. The spindle speed is fixed at 100%.
• A movement block preceding the threading block must not specify chamfering or corner radius.
• Thread cycle retract function is ineffective to G33.

• G33 is modal and is cancelled by G00, G01, G02, or G03.

THREAD LEAD

Thread lead is defined as the distance the threading tool advances in one revolution of the spindle.

Lead can be calculated as shown.

LEAD = 1/NUMBER OF THREADS PER INCH

Lead is modal and programmed with a F-code using a 2.6" (3.5 metric) format.

STARTING ANGLE

With a Q-code, the starting point for threading can be varied around the primary threading axis.

Q is non-modal and must be programmed on each block. A Q value of between 0 and 360000 (in 0.001-degree
units) can be specified with no decimal point. To command 180 degrees, specify Q180000.

NC CONTOURING HEAD & CBS BAR OPERATION 92.50 - 17


The Q-code can be used to cut multi-start threads simply by varying the start point as shown below. The Q command
will vary the start point between 0 and 180 degrees.

Z-SPINDLE W-SPINDLE
G00 V4.937; G00 V4.937;
G33 W-1.8 F.125 Q0; G33 Z-1.8 F.125 Q0;
G00 V4.5; G00 V4.5;
G00 W.25; G00 Z.25;
G00 V4.937 G00 V4.937
G33 W-1.8 F.125 Q180000; G33 Z-1.8 F.125 Q180000;
G00 V4.5; G00 V4.5;
G00 W.25; G00 Z.25;

CH8 PROGRAMMING EXAMPLE

The following is an example to program the CH head.

This example will finish contour the I.D. of the part, with TOOL CENTER programming. The V-axis position is
determined, during setup, as V equals 1.4 at the tool center when the V-axis is at the HOME position.

.25
.25Radius
RADIUS

.25
.25 Radius
RADIUS
2.75
2.000

6.500 3.000 3.500 5.500

4.500

TOOLING INFORMATION FOR PROGRAM CH8

T404 H971 FOR W/Z & H971 FOR V - CH8 contour head with boring tool

92.50 - 18 NC CONTOURING HEAD & CBS BAR OPERATION


Z-SPINDLE W-SPINDLE
% %
O5555 (CH8,CONTOUR HEAD EXAMPLE); O5555 (CH8,CONTOUR HEAD EXAMPLE);
N10 (SET X AND Y ZERO AT CENTER); N10 (SET X AND Y ZERO AT CENTER);
N20 (SET W ZERO AT FACE OF PIECE); N20 (SET Z ZERO AT FACE OF PIECE);
N30 G00 G55 W45; N30 G00 G55 Z45;
N35 M6 T404; N35 M6 T404;
N40 G00 G95 F.015 S400; N40 G00 G95 F.015 S400;
N50 M27 M01; N50 M27 M01;
N60 #5203=-1.4; N60 #5203=-1.4;
N70 X0 Y0; N70 X0 Y0;
N80 G17 G43 H971 W1; N80 G17 G43 H971 Z1;
N90 G19 G91 W0 V0; N90 G19 G91 Z0 V0;
N100 G19 G90 G43 H72 V2.85; N100 G19 G90 G43 H72 V2.85;
N110 W.031; N110 Z.031;
N120 G01 V2.5 M3; N120 G01 V2.5 M3;
N130 G03 G19 V2.219 W-.25 R.281; N130 G03 G19 V2.219 Z-.25 R.281;
N140 G01 W-.5; N140 G01 Z-.5;
N150 G02 V2 W-.719 R.219; N150 G02 V2 Z-.719 R.219;
N160 G01 V1.7277; N160 G01 V1.7277;
N170 V1.469 W-1.495; N170 V1.469 Z-1.495;
N180 W-3.6 M5; N180 Z-3.6 M5;
N190 G00 M27; N190 G00 M27;
N200 G00 W45; N200 G00 Z45;
N210 G00 M06 T00; N210 G00 M06 T00;
N220 M30; N220 M30;
% %
N010 Operator message
N020 Operator message
N030 Retract W/Z for tool change
N040 Tool change to load CH9 contouring head
N050 Select feed & speed
N050 Position V-axis to home position, optional program stop
N060 Set external V offset to -1.4
N060 Position X & Y to center of piece
N070 Activate tool offset for W/Z offset, position W0, select plane
N080 Define G19 as the W/V or Z/V plane
N090 Activate tool offset for V offset, position V2.85, select plane
N110 Position W/Z allowing for .031 tool nose radius
N120 Feed V-axis to 2.50 and spindle on
N130 Feed CCW V & W/Z
N140 Feed W/Z-.5
N150 Feed CW V & W/Z
N160 Feed V
N170 Feed V & W/Z simultaneously to cut taper
N180 Feed W/Z to bore diameter, spindle off
N190 Retract V and position to home
N200 Retract W/Z for tool change
N210 Unload CH8 contouring head
N220 End of program

NC CONTOURING HEAD & CBS BAR OPERATION 92.50 - 19

You might also like