Professional Documents
Culture Documents
M.2006.4000.000 RT Operator 31i-B
M.2006.4000.000 RT Operator 31i-B
M.2006.4000.000 RT Operator 31i-B
4000
Operator Manual
Operator
‘‘Avertissement - Si vous ne lisez pas l’anglais, demandez à votre surveillant de vous donner les instructions de
sécurité!’’
‘‘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 <<<<<<
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!
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 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.
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.
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.
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.
• 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.
• 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 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 (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:
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.
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.
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.
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.
• 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.
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).
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.
• 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
• 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.
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.
This manual provides basic information about the machine and equipment. Instructions
and suggestions are given to insure proper installation and maintenance.
****************************************************************************************
****************************************************************************************
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
TITLE PAGE
INTRODUCTION .............................................................................................................................................................................. 1
MACHINE DOCUMENTATION ....................................................................................................................................................... 2
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.
****************************************************************************************
****************************************************************************************
****************************************************************************************
****************************************************************************************
****************************************************************************************
****************************************************************************************
Note: Notes are messages (in bold type) indicating where to find additional information or are messages
providing helpful information of some kind.
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.
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.
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.
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.
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.
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).
TITLE PAGE
GENERAL ...................................................................................................................................................................... 1
HEADSTOCK ...................................................................................................................................................... 2
FEEDBACKS....................................................................................................................................................... 2
COMPENSATIONS ............................................................................................................................................. 2
MACHINE ILLUSTRATIONS.......................................................................................................................................... 3
PT SPECIFICATIONS ......................................................................................................................................... 6
RT SPECIFICATIONS ......................................................................................................................................... 7
MC SPECIFICATIONS ........................................................................................................................................ 8
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.
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:
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).
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
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.
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.
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
FIGURE 1.20 - 2
Illustration of RT1250
Note: Machine / component specifications can vary depending on individual customer and / or machining
requirements.
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.
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.
Power (hp)
Power (kW)
Power (hp)
Power (hp)
Shift S6-40% S1 Constant Drive
Range Constant Constant Power Ratio
Torque Torque Speeds
TITLE PAGE
GENERAL CONTROL INFORMATION ......................................................................................................................... 1
TOOL OFFSET GEOMETRY AND WEAR WITH SEPARATE D AND H-CODES .............................................. 3
WORK COORDINATE SYSTEMS - G52, G53, G54 - G59 & G54.1 ................................................................... 6
HELICAL INTERPOLATION................................................................................................................................ 7
HMC MACHINES.................................................................................................................................... 13
REV 1 (10-2012)
MACHINING QUALITY LEVEL ADJUSTMENT ...................................................................................... 14
TILTED WORKING PLANE COMMAND WITH GUIDANCE / TILTED WORKING PLANE COMMAND 15
TILTED WORKING PLANE COMMAND WITH GUIDANCE / TILTED WORKING PLANE COMMAND 16
RETRACE .............................................................................................................................................. 19
OTHER LANGUAGE DISPLAY OF STANDARD FANUC SCREENS, MESSAGES AND CYCLES ...... 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.
FIGURE 1.30 - 1
CNC Fanuc Control
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.
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.
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
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)
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.
This portable, lightweight, compact, handheld pendant is used for basic manual
operation of the machine. The pendant provides the following features:
• Jog
• Incremental Amount
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.
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 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.
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
• Timed monitoring
• Maximum life
• Pre-Warning
This feature comes standard with 240 Tool Management data entries.
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.
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.
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.
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.
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.
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.
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.
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 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 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.
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.
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.
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:
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.
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.
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.
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.
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.
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.
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.
• Delete programs
• Delete one program
• Delete specified programs
• Delete all programs in a 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
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.
• 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.
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).
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.
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.
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:
• NC alarm information
Example: P/S0010
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.
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.
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.
• 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.
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.
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
• Prohibition of the absolute input by the soft key to prevent any improper absolute or incremental input
operation
Various signals related to the servo can be displayed, simplifying the adjustment of the servo.
• Overheat
• Abnormality of CPU
• Abnormality of ROM
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.
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.
Fluorescent lighting is provided inside the control cabinets for maintenance / service personnel when working inside
the control enclosure.
ENVIRONMENTAL CONSIDERATIONS
• 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.
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
This package as offered by MAG is configured to provide capabilities for high speed block processing. This option
consists of the following Fanuc options:
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.
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.
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.
The bell-shaped acceleration/deceleration after cutting feed interpolation provides smooth acceleration and
deceleration to reduce stress and strain on the machine
This package as offered by MAG is configured to provide high level 5 axis machining capabilities. This option
consists of the following Fanuc options:
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.
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.
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.
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.
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.
Feed rate of the tool can be programmed using a move distance and inverse time (1/minute).
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.
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:
• 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.
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.
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)
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
• Ethernet software
• 1GB Flash
This package as offered by MAG provides high level programming enhancements that simplify the programming
process. This package consists of the following Fanuc options:
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.
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.
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.
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.
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.
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.
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.
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.
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:
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.
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.
• 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.
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.
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)
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.
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.
• Fine-tuning the workpiece origin offset value that was set at the setup time
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.
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.
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.
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.
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).
•
*
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
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.
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:
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.
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.
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
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 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.
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).
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.
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.
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.
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.
Three hundred (300) work piece coordinate systems (fixture offsets) can be added when the standard forty eight (48)
work piece coordinate systems are insufficient.
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 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.
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.
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.
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.
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.
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:
• 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
• 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)
Program Transfer Tool operations to and from the PC User Data Memory stored files:
MISCELLANEOUS OPTIONS
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.
This multi-function portable, lightweight, compact, handheld pendant is used for manual operation of the machine.
The pendant provides these features:
• Jog
• Incremental
• Alarm indicator
• Sequence number
• Spindle speed
• Auto
• Cycle Out
• Reset
• Enable Remote
• Disable Remote
• Spindle Restart
• Spindle Stop
• Cycle Start
• Jog +
• Jog –
• Emergency Stop
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
TITLE PAGE
GENERAL ...................................................................................................................................................................... 1
PLANES .............................................................................................................................................................. 2
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
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.
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.
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.
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.
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.
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.
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
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.
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.
4. Key in the W-axis (Z-axis) letter address and the desired position. The decimal point is required.
Reference Surface
W1.0 Relative
Spindle
1” Jo-Block
Z0. Relative
FIGURE 2.10 - 7
Reference Relative Coordinate System
TITLE PAGE
GENERAL ...................................................................................................................................................................... 1
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.
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
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.
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
TITLE PAGE
GENERAL ...................................................................................................................................................................... 1
AXIS COMMANDS......................................................................................................................................................... 1
Z OR W MOTION ................................................................................................................................................ 5
B-AXIS ...................................................................................................................................................... 5
A-AXIS ...................................................................................................................................................... 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 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.
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.
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.
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.
The rotary tables can be positioned manually in the Jog mode, by program code through MDI and Memory modes.
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.
• 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°.
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.
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:
1008 = 00000111
Refer to the Fanuc User’s manual for specific information relating to these parameters.
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 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.
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):
Z OR W MOTION
B-AXIS
A-AXIS
Whether Z or W axis moves are dependent on System Parameter 7581 as follows:
FIGURE 15.10 - 2
System Parameters 7581 & 7582
Refer to ROTARY TABLE PROGRAMMING EXAMPLES section for examples of programming with rotary table
fixture offsets.
TITLE PAGE
GENERAL ...................................................................................................................................................................... 1
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.
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.
1. Move the machine table (e.g. B-axis) to the machine coordinate zero position.
FIGURE 15.20 - 1
MAG Main Screen
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.
9. Press the HAND - key to remove the table from the system.
11. When complete, turn the USER LEVEL key back to the 0 position.
TITLE PAGE
CYLINDRICAL INTERPOLATION (OPTION) ................................................................................................................ 1
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 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.
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
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.
Either a G02 or G03 is used to command the direction of the arc, clockwise or counterclockwise.
G02 = clockwise
G03 = counterclockwise
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.
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.
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.
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.
Refer to ROTARY TABLE PROGRAMMING EXAMPLES section for an example of programming with cylindrical
interpolation.
TITLE PAGE
GENERAL ...................................................................................................................................................................... 1
EXAMPLE 15.99B: DRILL FOUR HOLES USING ROTARY TABLE FIXTURE OFFSETS................................ 2
EXPLANATION......................................................................................................................................... 5
REV 1 (10-2012)
GENERAL
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
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
N170 Activate work coordinate offset to set Y0 position & W0 (Z0 on W-spindle machine) at part face (part radius).
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).
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
19.10
B180
B180
Top
TOP View
VIEW
FRONT
Front VIEW
View
N080 Feed table to depth to cut slot .25 deep and start spindle
N110 Feed in the CCW direction to cut the first 90° arc
N150 Feed in the CCW direction to cut the forth 90° arc
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 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
If the G07.1 B value is known and the rotary move must be calculated, then the following formula is used:
TITLE PAGE
GENERAL ...................................................................................................................................................................... 1
QUEUE DESCRIPTIONS .............................................................................................................................................. 1
GENERAL STATION QUEUE NAMES ............................................................................................................... 1
INDIVIDUAL STATION QUEUE NAMES ............................................................................................................ 2
SOFTKEYS .............................................................................................................................................. 4
RUNLIST DISPLAY ............................................................................................................................................. 6
ROUTES DISPLAY ............................................................................................................................................. 6
EVENTS DISPLAY .............................................................................................................................................. 6
VARIABLES DISPLAY ........................................................................................................................................ 6
RUNLIST ................................................................................................................................................ 15
RULES.................................................................................................................................................... 18
PART ROUTE FILE EXAMPLES ...................................................................................................................... 18
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.
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.
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).
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.
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
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:
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.
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.
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.
FIGURE 20.10 - 4
Pallet Summary
FIGURE 20.10 - 6
RUNLIST DISPLAY Show Vars
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.
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.
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.
FIGURE 20.10 - 8
Global Variables
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.
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.
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.
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.
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.
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).
The following is information on the pallet change cycle and the various interlock that apply.
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.
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.
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.
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.
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.
PALNUM This variable contains the number of the pallet currently on the machine.
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
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.
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.
For pallet name TOOLPAL, the pallet number can be set to a number, 77 for example.
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.
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.
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.
1. Programmed operation using a part route file. This method is explained in the PART ROUTE FILES topic
later in this section.
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.
With this information and using the keyboard input, the following
procedure can be used to move a pallet:
****************************************************************************************
****************************************************************************************
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.
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.
RESET DISPLAY - Pressing this key will close any open access boxes to command, messages, etc. and clear the
keyboard input line.
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).
7. Press the LIST PROGRMS softkey, select the desired program name and press ENTER (INPUT).
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.
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.
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.
• 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
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).
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).
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).
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.
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.
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.
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
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).
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.
Example:
PLT1 (pallet named; PLT1)
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)
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).
Required: ABO
Optional: [ALL] Adding ALL to the command instructs to abort all commands for all
pallets and queues
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
Required: AC
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.
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
Required: AL
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.
Examples:
ALLOW S12 Cancel the Local state at the S12 queue, enabling all commands
Required: CON
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).
Examples:
CON S12 Cancel the Hold state at the S12 queue, continuing the route file or command
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
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
Required: CU
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.
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
Required: DELA
{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.
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
Required: DELE
Items are:
The DELEte command will remove the item from the system.
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)
Required: DO
The DOwn command will disable a queue, preventing any pallet motion to occur at that queue.
Examples:
DOWN S12 Put the S1.2 queue in a DOWN state
Required: ED
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.
Required: EL
Required: EN
Required: EX
filespec The '[device:][\subdir\]filename' for the route file to be run thru the
command decoder
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.
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
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
(:).
Examples:
GOTO LOOP Redirect the route file to block identified by LOOP:
Required: HE
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
Required: HO
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.
Examples:
HOLD S12 HOLD the route file executing at the S12 queue when the current command is completed
Required: IF
Required: INH
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.
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
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.
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.
The "21_character_message" can be used to give the operator a clue as to what is required as an
input back.
The "pallet_or_queue" identifies who is to get the input data. This is done by giving a pallet name
or a queue name.
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:
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.
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:
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
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:
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.
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.
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
Required: NOPAL
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)
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.
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
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.
Used only on machines that has a work changer that moves between queues.
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)
Required PREP
[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.
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.
• 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.
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.
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_
Each part program first checks the Variable or PALNUM and adjusts Y zero for the particular pallet.
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
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
Required: PR
{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.
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
Required: REA
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
Required: REM
Notes: Used only on machine cell configurations that have two or more machines controlled by a single
pallet control system.
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
Required: RU
{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 a part route file. Could be issued via keyboard input.
PREPARE - indicates program starts before the pallet gets to the machine queue
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 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
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:
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.
Required: SE
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
Required: T
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
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:
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.
Required: UP
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
Required: VAR
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
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.
AUTO State of a queue when available for automatic operation by 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.
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.
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.
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.
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.
TITLE PAGE
PANEL LAYOUT ............................................................................................................................................................ 1
CENTER PANEL............................................................................................................................................................ 3
EOB KEY............................................................................................................................................................. 3
CAN KEY............................................................................................................................................................. 4
POS KEY............................................................................................................................................................. 4
PROG KEY.......................................................................................................................................................... 4
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.
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).
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.
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.
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.
This key will take you to the offset and setting page. From there, Tool Offsets, Work offsets and Setting
display page can be selected.
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
SYSTEM KEY
This key is used to display the system page. These pages are normally used for maintenance issues and
setting of parameters.
These keys are used to changeover the page on the LCD screen in the forward and reverse
directions respectively.
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.
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
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
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.
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.
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.
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.
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.
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.
FIGURE 21.20 - 2
Lower Panel
Note: The Misc. Function keys and Machine Axes keys can be different on every machine.
MEMORY KEY
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.
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.
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 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.
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.
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.
FIGURE 21.20 - 4
Custom Page (Nine Block Skip)
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.
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 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.
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).
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.
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 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.
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.
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.
ONCE THE AXIS IS MOVED AND THE OFFSET IS APPLIED, THE OFFSET WILL REMAIN IN
EFFECT UNTIL REMOVED.
**************************************************************************************
MANUAL HANDLE INTERRUPT DISPLAY
• 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.
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.
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.
The G10.6 retract command can be specified as an incremental (G91) or absolute (G90) value.
See the PROGRAM DATA section for more information on programming the G10.6 command.
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.
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 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.
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.
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.
• 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
The EMERGENCY STOP pushbutton is used to stop all motion on the machine and removes power from the
machine.
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).
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).
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.
TITLE PAGE
GENERAL ...................................................................................................................................................................... 1
START-UP ..................................................................................................................................................................... 1
REFERENCING........................................................................................................................................ 4
SHUTDOWN .................................................................................................................................................................. 5
DAILY SHUTDOWN ............................................................................................................................................ 5
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.
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.
****************************************************************************************
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
1. Do the following:
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
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:
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.
• 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.
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.
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.
****************************************************************************************
****************************************************************************************
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.
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.
****************************************************************************************
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.
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.
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.
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:
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.
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.
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.
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.
****************************************************************************************
****************************************************************************************
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.
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.
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.
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
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.
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.
TITLE PAGE
GENERAL ...................................................................................................................................................................... 1
MEMORY ............................................................................................................................................................ 1
EDITING ...................................................................................................................................................................... 12
BACKGROUND EDIT........................................................................................................................................ 13
SEARCHING ..................................................................................................................................................... 13
ALTERING ........................................................................................................................................................ 14
INSERTING ....................................................................................................................................................... 14
DELETING ........................................................................................................................................................ 14
EXECUTING A PROGRAM............................................................................................................................... 15
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 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.
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.
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).
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
Examples of devices:
4 Input / Output device specified via the following SETTING THE DEFAULT DEVICE description
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:
• 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
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:
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.
FIGURE 21.40 - 3
Program List Display (Folders)
PROGRAM LIST
FOLDER TREE
FIGURE 21.40 - 5
Folder Tree Display
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.
1. To display the Program List Directory, the control must be in the Edit mode of operation.
1. To display the Folder Tree Directory, the control must be in the Edit mode of operation.
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.
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.
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.
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 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
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.
4. Press the FOLDER vertical softkey. Make sure Foreground and Background folders are set properly.
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.
1. Insert the memory device, if applicable; press the EDIT mode button.
4. Press the FOLDER vertical softkey. Make sure Foreground and Background folders are set properly.
10. Press the EXEC softkey. This will download all programs in the selected file to the foreground folder in the
CNC Memory.
• 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.
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
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.
4. Press the FOLDER vertical softkey. Make sure Foreground and Background folders are set properly.
6. Press the CNC MEM softkey to display the CNC directory if necessary.
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.
11. Insert the memory device, if applicable; press the EDIT mode button.
14. Press the FOLDER vertical softkey. Make sure Foreground and Background folders are set properly.
16. Press the CNC MEM softkey to display the CNC directory if necessary.
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.
• 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.
FIGURE 21.40 - 10
Delete File from CNC Memory
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:
2. Press the EDIT mode button and the FOLDER vertical softkey.
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.
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:
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.
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.
The Arrow keys located on the keyboard can be used to move the yellow cursor box to the desired item.
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.
ALTERING
When using the word-by-word editor, program data can be altered, or changed, as shown here.
O1234;
N0001 G90;
N0002 G00 X2 Y0;
N0003 S300 M03;
N0004 M30;
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.
DELETING
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
ACTIVATING A PROGRAM
EXECUTING A PROGRAM
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.
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.
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.
• 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.
• 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.
TITLE PAGE
GENERAL ...................................................................................................................................................................... 1
SUMMARY .......................................................................................................................................................... 7
CUTTER COMPENSATION........................................................................................................................................... 8
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 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.
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.
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.
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:
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 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)
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.
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.
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.
1. Select the desired tool using MDI. See TOOL CHANGER section for tool selection.
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.
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.
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:
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.
4. Press the INPUT softkey or press the INPUT key on the keyboard.
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
R_ This is used to specify the offset amount to be loaded into the offset register.
Programming restrictions:
• The only difference between loading offsets and modifying them is the G90 or G91 codes.
• L10, L11, L12 and L13 cannot be on the same line. If they are, the last L command will be executed.
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.
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
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.
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.
4. Press the INPUT softkey or press the INPUT key on the keyboard.
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.
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
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
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.
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.
2. Select the EDIT mode and select the OFFSET display page.
5. Type the file name that you want to output. If the file name is omitted, the default file name
"TOOLOFST.TXT" is used.
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
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.
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.
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.
• 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.
• 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.
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.
FIGURE 30.10 - 7
G41 / G42 Tool Path
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 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
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.
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.
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 30
Line 20
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).
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
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
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.
Programmed Path
r = Offset Amount
r = Offset Amount
Tool Center Path
G42 G42
Intersecting Point
Programmed Path
Tool Center Path
Intersecting Point
Programmed Path
Offset Vector
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
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
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.
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.
Programmed 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
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.
TITLE PAGE
GENERAL ...................................................................................................................................................................... 1
SPINDLE TOOL...................................................................................................................................... 14
EXCHANGE ARM................................................................................................................................... 14
LOADING TOOL MANAGEMENT DATA WITH G10 ................................................................................................... 15
EXAMPLES ....................................................................................................................................................... 15
EXAMPLES ....................................................................................................................................................... 16
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.
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)
The following information is used to define tools in the tool management system.
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.
TABLE 30.20 - 1
Tool Magazine Configuration
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.
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:
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 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
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.
The Tool Manager Data screens consist of four (4) displays, Tool Life, Speed and Feed, Tool Offsets and Custom
Data.
FIGURE 30.20 - 2
Tool Manager Data 1 (Tool Life)
TYPE NO. The type number is the Tool Group Number or T-code used to request a 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:
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.
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.
FIGURE 30.20 - 3
Tool Manager Data 2 (Speed & Feed)
The following data is shown on the Tool Manager Speed & Feed Data screen:
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.
FIGURE 30.20 - 4
Tool Manager Data 3 (Tool Offsets)
TYPE NO. The type number is the Tool Group Number or T-code used to request a 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).
FIGURE 30.20 - 5
Tool Management Data 4 (Custom Data)
TYPE NO. The type number is the Tool Group Number or T-code used to request a 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.
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.
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.
FIGURE 30.20 - 7
Tools in Magazine 2
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
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.
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.
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.
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.
SKIP A TOOL
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.
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:
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:
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.
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.
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
Data for the spindle tool and exchange arm can be access using the following method:
SPINDLE TOOL
EXCHANGE ARM
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;
Tool Manager Data and Magazine data can be stored, modified and deleted with the G10 command.
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
EXAMPLES
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
EXAMPLES
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
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;
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.
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.
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).
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.
TITLE PAGE
GENERAL ...................................................................................................................................................................... 1
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 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.
TABLE 30.30 - 1
Chain Style Magazine Specifications
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.
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.
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.
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.
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.
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.
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.
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.
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.
When access to the Tool Magazine area is required, select unlock. Automatic operation of the machine is
not allowed while the gate is unlocked.
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).
4. Select UNLOCK on the TOOL MAG LOCK / UNLOCK switch (this allows the tool magazine door to be
opened).
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.
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.
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.
****************************************************************************************
TITLE PAGE
TOOL CHANGE PROGRAM FORMAT ......................................................................................................................... 1
AXES MOTION SEQUENCES WITH TOOL CHANGE (WITHOUT W-AXIS RAM) ............................................ 2
AXES MOTION SEQUENCES WITH TOOL CHANGE (WITH W-AXIS RAM) .................................................... 3
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
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.
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.
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.
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
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.
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.
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;
****************************************************************************************
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.
****************************************************************************************
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 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.
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.
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.
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.
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:
2. Press the PROG key on the keyboard until the program (MDI) is displayed in the upper LH corner of the
display page.
Note: Refer to the ATTACHMENTS section in this manual for a description of these capabilities.
At the completion of the above steps, the tools in the spindle, exchange arm and/or attachment are referenced.
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.
****************************************************************************************
TITLE PAGE
GENERAL ...................................................................................................................................................................... 1
READ/WRITE CHIPS..................................................................................................................................................... 2
PROCEDURES .............................................................................................................................................................. 2
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
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.
****************************************************************************************
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 following are procedures for adding tools to the magazine and removing tools from the magazine and utilizing the
Balluff Tool ID system.
With the correct data written to the data chip on the tool, following these steps to add a tool to the machine magazine:
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.
To remove a tool from the magazine, follow these steps (there must have a properly formatted data chip):
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.
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.
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
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.
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.
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.
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.
TITLE PAGE
GENERAL ...................................................................................................................................................................... 1
APPLICATION ............................................................................................................................................................... 2
SETPOINTS ............................................................................................................................................. 3
REACTION .......................................................................................................................................................... 3
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.
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
M74 Enables Monitor of Live Spindle in Turning Mode on a VTC with Turn / Mill Option
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
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.
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);
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
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.
TITLE PAGE
GENERAL ...................................................................................................................................................................... 1
PROGRAMMING ........................................................................................................................................................... 3
G126 C W A S R ............................................................................................................................................ 3
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.
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.
****************************************************************************************
****************************************************************************************
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.
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%
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.
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.
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.
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.
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.
Set Point limit must be programmed to value less than Warning limit
30.90 - 4 iADAPT
SECTION 69.10
REFERENCE OFFSETS
TABLE OF CONTENTS
TITLE PAGE
GENERAL ...................................................................................................................................................................... 1
PART REFERENCE WORK COORDINATE SHIFT (G54 - G59 & G54.1 P1-P48) ............................................ 2
EXAMPLES: ............................................................................................................................................. 4
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).
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.
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.
3. Press the WORK softkey and the WORK OFFSET page will be displayed.
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.
Work Headstock
W0 piece
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).
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.
As noted, a work coordinate stays active until canceled. A work coordinate G-code can be canceled as follows:
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.
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.
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;
Programming restrictions:
• The difference between loading offsets and modifying them is the G90 or G91 codes
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:
Z-SPINDLE W-SPINDLE
N210 #5223=12.5; N210 #5224=12.5
N210 Store 12.5 offset value into the G54 spindle axis register
Z-SPINDLE W-SPINDLE
N220 #5223=#5223+.012; N220 #5224=#5224+.012;
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:
2. Select the EDIT mode and select the OFFSET display page.
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.
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
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
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
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
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.
50.00
0.0
0.0
25.00
0.0
0.0
50.00
0.0
0.0
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.
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.
The listed Macros are used to perform various machine functions on a Z spindle machine as described.
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.
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:
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.
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:
The listed Macros are used to perform various machine functions on a W spindle machine as described.
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.
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:
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.
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:
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;
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
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.
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
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.
• 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.
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;
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
Machine Absolute
Z 1000.000 0.000
W -200.000 -200.000
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.
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
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.
• 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.
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.
REQUIRED: G500 Z_
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.
EXAMPLES:
REQUIRED: G501 W_
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.
REQUIRED: G502
FUNCTION: G502 cancels the tracking mode so that both W and Z-axis can be freely moved in the machine
coordinates.
G503 Z_ Will move the Z-axis so that the W-axis absolute coordinate will be W_.
G503 W_ Will move the W-axis so that the W-axis absolute coordinate will become W_.
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.
G503 W_ Will move the W-axis so that the Z-axis absolute coordinate will become Z_.
G503 Z_ Will move the Z-axis so that the Z-axis absolute coordinate will be Z_.
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.
OPERATING PROCEDURES
The following procedures outline the moving of both W and Z axis in MDI or Manual 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.
TITLE PAGE
GENERAL ...................................................................................................................................................................... 1
PROGRAMMING ........................................................................................................................................................... 1
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:
• A setup sheet or job plan showing the machine and holding methods
• Programming sheets
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.
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.
TITLE PAGE
GENERAL ...................................................................................................................................................................... 1
G09 - DECELERATION..................................................................................................................................... 22
G68.3 - TILTED WORKING PLANE COMMAND BY TOOL AXIS DIRECTION (5-AXIS OPTION) .................. 46
REV 1 (10-2012)
G92.1 - WORKPIECE COORDINATE SYSTEM PRESET ................................................................................ 49
G96 - CONSTANT SURFACE SPEED (FEET / METERS PER MINUTE) (OPTION) ....................................... 52
CANNED CYCLES....................................................................................................................................................... 71
G76 - BORE / ORIENT SPINDLE / MOVE OFF CENTER / RETRACT CYCLE ............................................... 76
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.
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.
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:
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.
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
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.
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
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.
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.
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 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.
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).
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.
FUNCTIONS: I, J and K are used to describe the location of the arc center used with (G02/G03) circular
interpolation and helical milling.
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 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.
EXAMPLES:
SUBPROGRAMS
G10 L52;
N1240 P1 R800000; Load G28 X position to 800 mm
G11;
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.
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.
N - 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.
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:
On sequence number ten the operator is allowed to skip this sequence by pressing the BLOCK SKIP key.
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.
The control uses the O command to store a part program in its memory. The program number
format is 8 digits.
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 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.
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:
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:
N100 G94 G04 P5000; This will cause a five second dwell
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.
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.
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.
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.
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 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.
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.
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.
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:
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:
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:
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:
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.
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:
This is a typical example of using G00 with multiple axes from one location to another.
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.
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
FUNCTION: G04 provides a means of temporarily interrupting axes motion for the specified time or number of
spindle revolutions.
Whether the dwell is counted out in time or revolutions is dependent on the active G-code.
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:
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.
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):
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.
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.
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.
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.
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.
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
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
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.
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).
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.
EXAMPLES: For additional information on Polar Interpolation see the Fanuc Programming manuals.
FUNCTION: This code is used to cancel G16 and return to normal programming mode.
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°
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
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 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).
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.
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;
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.
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;
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.
• Positional command
• Some parameters
• 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.
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.
FACTS: G23 must be specified on a single block by itself. If axis commands are programmed on this block
the axes will not move.
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.
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.
• 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
For further information and examples, refer to the REFERENCE OFFSETS sections.
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:
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.
• 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
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.
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.
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.
EXAMPLES: Renishaw probing cycles are used for all probing and are explained in the Renishaw Probing
manual supplied with your machine.
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.
A movement block preceding the threading block must not specify chamfering or corner radius.
EXAMPLES:
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.
G38 can only be used while G00 or G01 modes are active.
EXAMPLES: For examples involving G38, see the TOOL OFFSETS section.
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.
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.
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)
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.
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.
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.
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.
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.
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.
EXAMPLES: Please refer to the Fanuc User’s manual for further information.
FUNCTION: G50.1 is used to cancel mirror image mode for the axis specified.
The first move command after G50.1 must be specified with an absolute value.
EXAMPLES:
N201 G50.1 X0; Cancel mirror image for the X-axis only
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.
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:
Also refer to the REFERENCE OFFSETS section and the Fanuc User’s manual for further
information.
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:
The first move command after G51.1 must be specified with an absolute value.
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.
10
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.
EXAMPLES: For examples involving G52, see the REFERENCE OFFSETS section.
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.
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.
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.
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).
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.
FUNCTION: The G60 is used for accurate positioning by doing final approach from only one direction. This
eliminates backlash if present.
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.
G60 can be set as Modal or Non-modal by parameter #5431 Bit 0; 0 = non-modal and 1 = 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.
FACTS: G61 is active until G64 (cutting mode) or G62 (automatic corner override) is commanded.
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.
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.
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.
FUNCTION: G65 is a method of calling a macro program and transferring variables to the subroutine being
called.
EXAMPLES: Further information and examples containing macro calls are discussed later in this section; also
refer to the Fanuc User’s manual.
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.
EXAMPLES: Further information and examples containing macro calls are discussed later in this section; also
refer to the Fanuc User’s manual.
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.
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.
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).
EXAMPLES:
N100 G68 X10 Y10 R30; Rotate plane 30 degrees from X10 Y10
...
... Machining blocks
... Y
N330 G69; Cancel G68
30º
X
Rotation Center
Rotation center
X10 Y10
X10 Y10
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:
• 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.
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.
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;
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
Tilted working plane and tool center point control can be used at the same time.
EXAMPLES: Please refer to the Fanuc User’s manual for further information.
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.
EXAMPLES:
N110 G8_ X Y R Z W Q P K
For additional information on canned cycles see CANNED CYCLES later in this section.
FUNCTION: G90 commands all axes coordinates to be measured from the part reference zero.
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.
FUNCTION: G91 commands all axes dimensions to be measured incrementally from the last programmed
position.
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 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.
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:
For additional information on G92, refer to REFERENCE OFFSETS and CONTOURING HEADS
sections.
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:
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.
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).
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.
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.
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 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.
FUNCTION: When G94 is active, the F-code is interpreted as inches (millimeters) per minute feedrate.
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:
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
FUNCTION: When G95 is active the F-code is interpreted as inches (millimeters) per revolution feedrate.
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.
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.
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.
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.
EXAMPLES:
N100 G97 S150; Set speed to 150 RPM
Note: The operator will normally have the ability to override the programmed RPM.
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.
EXAMPLES: For further information on G98, see CANNED CYCLES later in this section.
FUNCTION: When in the G99 mode, the tool will return to the R point level after executing a canned cycle.
EXAMPLES: For further information on G99, see CANNED CYCLES later in this section.
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.
FUNCTION: M00 stops automatic operation after completing all other commands on that line.
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.
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
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.
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.
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.
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.
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 Tpppp Cp
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.
FUNCTION: M07 is used to turn on the flood coolant through the spindle.
M50 is used to turn on the air through the spindle (see Warning below) (Option).
M52 is used to turn on the flood coolant high pressure through the spindle (Option).
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:
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.
******************************************************************************
******************************************************************************
FACTS: M09 will turn off the coolant after the other commands in the line have been executed.
or
M23/M24
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.
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.
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.
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.
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.
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:
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:
FACTS: When executing a M27, G90 (absolute dimension input) must be active.
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.
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.
FUNCTION: M40 is used to allow the control to automatically shift to the proper gear range based on the spindle
speed programmed (S command).
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.
EXAMPLE:
FACTS: The horizontal machines can be equipped with a 2 or 4 gear ranges. Selection of the gear range is
accomplished with M41 - M44.
EXAMPLE:
FACTS: M48 is the normal power on state and doesn't need to be programmed unless M49 was previously
active.
EXAMPLE:
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:
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.
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.
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.
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:
For additional information on other codes related to Tool Reference, see the TOOL CHANGER and
TOOL MANAGEMENT sections.
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:
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 on 5-axis machining.
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 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 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.
EXAMPLES: Renishaw probing cycles are used for all probing and are explained in the Renishaw Probing
manual supplied with your machine.
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 is only used to call a program; it cannot pass information to the subprogram such as variables.
EXAMPLES: For additional information on M98, refer to the SPECIAL PROGRAMMING FUNCTIONS section.
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.
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.
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.
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.
EXAMPLES: For examples and more information on W-axis designation, see the WORK ZONE section.
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.
EXAMPLES: For examples and more information on W-axis designation, see the WORK ZONE section.
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.
When the machine is positioned into another Work Zone, the previous work zone will remain active
until all axes are stopped.
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.
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.
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.
EXAMPLE: For additional information on Work Zones see the WORK ZONES section.
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.
EXAMPLES: For additional information on M198, refer to the PART PROGRAM OPERATIONS section.
The MANUAL / AUTO selector switch on the chip conveyor must be in the AUTO mode.
The MANUAL / AUTO selector switch on the chip conveyor must be in the AUTO mode.
M242 - No reaction
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.
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:
.5 Chamfer
.5 Chamfer
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+)
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+
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)
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
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.
Following is a description of each G7x and G8x series code and sketches to illustrate the tool motion caused by the
various commands.
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.
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:
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
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
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:
STEP 1. Rapid to X Y
Feed to Z
STEP 2. Rapid to R (minimum of 2 threads from the surface) Reverse Spindle
The R data must be a minimum of 2 threads from the surface to allow the
axis to achieve the proper feedrate.
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.
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
STEP 2. Rapid to X Y
STEP 3. Rapid to R
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.
****************************************************************************************
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:
STEP 2. Rapid to R
EXAMPLE:
SEQUENCE OF OPERATION
Rapid to
Initial Level
STEP 1. Rapid to X W
STEP 2. Rapid to R
STEP 3. Feed to Y
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:
STEP 1. Rapid to X Y
STEP 2. Rapid to R
Feed to Z
and Dwell
Rapid to R
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
Rapid to R
Rapid
amount in
#5115
Feed to Z
Rapid to R
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
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.
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:
STEP 1. Rapid to X Y
STEP 2. Rapid to R
STEP 4. Feed to R
Feed to Z
Feed to R
Rapid to
Initial Level
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:
STEP 1. Rapid to X Y
STEP 2. Rapid to R
Rapid to R
Feed to Z
Stop Spindle
Rapid to R
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:
SEQUENCE OF OPERATION
STEP 2. Rapid to X Y
STEP 4. Rapid to R
STEP 7. Rapid to R
****************************************************************************************
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:
****************************************************************************************
Rapid to R
Orient Spindle to C Degrees
Move off Center Q Distance
Return to Center
Feed to Z Depth
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:
STEP 1. Rapid to X Y
STEP 2. Rapid to R
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:
STEP 1. Rapid to X Y
STEP 2. Rapid to R
STEP 4. Dwell
STEP 5. Feed to R
Feed to Z
Dwell
Feed to R
Rapid to
Initial Level
TITLE PAGE
GENERAL ...................................................................................................................................................................... 1
MACROS ....................................................................................................................................................................... 1
VARIABLES ................................................................................................................................................................... 5
ENTERING MACRO VARIABLE DATA VIA MACRO VARIABLE DISPLAY PAGE ........................................ 9
EXAMPLE ............................................................................................................................................................. 21
MATHEMATICS ........................................................................................................................................................... 22
WHILE / DO STATEMENT.................................................................................................................................... 26
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.
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.
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)
Laaaa Specifies the number of times a subprogram will be executed. If L is omitted, the subprogram is executed
once.
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.
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.
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.
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.
• Addresses specified as arguments and variables are the same as for G65 simple calls
• 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.
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.
G67 cancels the modal macro call commands in G66 and G66.1.
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.
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.
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.
#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.
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
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.
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
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
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.
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.
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,WORK_NO,COUNTER1,COUNTER2]
Variable Name
#510 #TOOL_NO
#511 #WORK_NO
#512 #COUNTER1
#513 #COUNTER2
The macro variable values may be entered and cleared through the macro variable 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.
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.
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:
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.
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.
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.
(n) is the number value 1-200 used to reference the alarm. 3000 is added to the number (n) for display.
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 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.
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.
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.
(n) is the number value 1-999 used to reference the operator message.
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.
#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.
The number of completed machined parts, as well as the target number of parts required, can be read and written
through variables #3901 & #3902.
This variable can be used to read the tool compensation memory information.
Example:
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
Refer to the FIGURE 69.40 - 2 for CNC screen location of modal data variables.
#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.
****************************************************************************************
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.
These axis designation numbers are used to read the following position and offset variables.
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
Tool Offset
Absolute
Part
Zero
Machine
Work Offset
Machine Zero
FIGURE 69.40 - 4
Coordinate Systems
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.
[#_WZG54[n]] G54
[#_WZG55[n]] G55
[#_WZG56[n]] G56
[#_WZG57[n]] G57
[#_WZG58[n]] G58
[#_WZG59[n]] G59
#5329 Work Coordinate Shift Axis 9
TABLE 69.40 - 9
Work Coordinate Shift Variables
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.
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
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
EXAMPLE
The following example program can be used to clear out macro variables using index variables.
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.
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:
Here X has been assigned the value of variable one plus 1 and Z has been assigned the value of variable ten minus
1.
#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.
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:
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.
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
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
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:
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
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
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;
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.
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)
• Values stored in Macro & System Variables (i.e. #1, #100, #5041)
Note: The output of variables MUST always include a "digit format".
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.
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.
• 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.
EXAMPLE OF RESULTS
-----------------------------------------
DATE: 20120328
X - 101.350 CHANGE .012
Z 252.033 CHANGE .005
-----------------------------------------
TITLE PAGE
CIRCULAR INTERPOLATION ....................................................................................................................................... 1
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.
Either a G02 or G03 is used command the direction of the arc, clockwise or counterclockwise.
G02 = clockwise
G03 = counterclockwise
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.
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.
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
• 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:
• 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.
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.
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.
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.
TITLE PAGE
PROGRAM CODE EXAMPLES ..................................................................................................................................... 1
EXAMPLE 69.99C: DRILL AND TAP 8 HOLES USING CUSTOM MACRO ...................................................... 6
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”
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;
% %
11.0”
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
%
11.0”
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;
%
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.
Center “X & Y”
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
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;
% %
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
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.
Y0
Position 1
Position 4
2.00 Dia. Cutter
2.00 Radius
X0 Position 2 & 3
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;
% %
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.
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;
% %
The following example is mill outside corners and adjusting the feedrate on the corners. This method is programmed
to tool center.
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.
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.
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.
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
0.0 Position 1
15.00 (Start)
0.0
0.0
.50”
1.0
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;
% %
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
% %
<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 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
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
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)
2. Thread pitch is 1 divided by the threads per inch (for inch threads).
4. Full circle radius is the radius of the cutter path while machining the thread diameter (thread diameter minus
Cutter Diameter divided by 2).
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).
8.0-16 Thread
Y0
Position 1
Position 4
2.0" Dia. Cutter
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;
% %
The Fanuc handheld unit provides manual and automatic operation with the following features.
2 lines x 16
characters
LCD
Single
LED
Operation
ON / OFF
switch
Manual
Pulse
generator
FIGURE 71.10 - 1
Remote Station
KEYPAD FUNCTIONALITY
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.
JOG
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.
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.
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
REF
MEM
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.
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 BK
DRY RUN
These buttons are used to increment and decrement the spindle speed override.
SPDLE INC
SPDLE DEC
This button is used to stop a spindle that has been start using an M3 or M4 command.
SPDLE STP
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.
LED INDICATORS
N1234 X 5432.0000
O5555 F 1234 CNC Alarm
Power On
Diagnostic
LED Servo Ready
LED DISPLAY
• Feedrate
SELECTOR SWITCHES
• Handheld unit On / Off selector switch. The handheld unit can only be enabled when the axes and spindle are
stopped.
SYSTEM ........................................................................................................................................................................ 2
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.
• Monitor
• Control Console
FIGURE 72.10 - 2
System Components
The main components, shown in FIGURE 72.10 - 3 & FIGURE 72.10 - 4, of the camera system consist of:
• Camera
• C-Mount Adapter
• Camera Lens
Camera
C-Mount
Spacer
FIGURE 72.10 - 3
Camera Components
FIGURE 72.10 - 4
Camera Lens
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.
6. Adjust the C-Mount adapter to obtain a dimension of .256” as shown in FIGURE 72.10 - 6.
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.
15. Test camera zoom, focus and clarity using the control console.
****************************************************************************************
SECURE CANISTER TIGHT ENOUGH TO PREVENT COOLANT INVASION BUT NOT SO TIGHT
AS TO BREAK GLASS.
****************************************************************************************
FIGURE 72.10 - 6
C-Mount Dimension
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
FIGURE 72.10 - 8
Setup Button Functions
MANUAL FUNCTIONS........................................................................................................................................ 2
SETTINGS .......................................................................................................................................................... 9
HELP ................................................................................................................................................................. 11
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.
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
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):
• Spindle Preload
• Thermal Growth
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.
FIGURE 72.20 - 3
Tool Exchange Arm Screen
FIGURE 72.20 - 4
Tool Exchange Magazine Screen
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
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.
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.
FIGURE 72.20 - 8
Thermal Growth Screen
PALLET RETENTION
FIGURE 72.20 - 9
Pallet Retention Screen
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
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
• 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
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.
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.
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.
FIGURE 72.20 - 16
iAdapt Screen
TITLE PAGE
GENERAL ...................................................................................................................................................................... 1
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.
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:
• No 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.
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:
The reaction to the following faults will always be Cycle Out After Next G00 Block (M243) and cannot be over-ridden:
COOLANT 80.10 - 1
ALWAYS NO REACTION
The reaction to the following faults will always be No Reaction (M242) and cannot be over-ridden:
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.
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.
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.
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.
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
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.
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.
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).
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.
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.
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.
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.
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.
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
(Bar)
FIGURE 80.10 - 4
Coolant Pressure Display Page
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.
The M09 M-code is used to cancel (turn off) any programmed coolant or air-ON command.
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.
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.
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 standard part wash coolant specifications are: 14 bar / 203 psi of pressure and 76 lpm / 20 gpm of volume.
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.
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 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.
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.
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.
80.10 - 8 COOLANT
SECTION 81.10
CHIP CONVEYOR
TABLE OF CONTENTS
TITLE PAGE
GENERAL ...................................................................................................................................................................... 1
MAINTENANCE ............................................................................................................................................................. 1
SPECIAL REDUCER:.......................................................................................................................................... 1
MOTOR: .............................................................................................................................................................. 1
REVERSE PUSHBUTTON.................................................................................................................................. 2
STOP PUSHBUTTON ......................................................................................................................................... 2
OPERATION .................................................................................................................................................................. 2
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:
MOTOR:
Grease Fitting
FIGURE 81.10 - 1
Chip Conveyors
****************************************************************************************
****************************************************************************************
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.
The MANUAL / AUTO switch is used to select the conveyor's mode of operation.
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.
• 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.
• M238 (STOP ACTIVE) - Programming the M238, with the machine in auto, will cause the conveyor to stop and
extinguish the forward light.
STYLUS ADJUSTMENT........................................................................................................................... 1
STYLUS ADJUSTMENT........................................................................................................................... 3
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
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 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.
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
FIGURE 90.10 - 2
Auxiliary Probe (retracted)
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
THEORY OF OPERATION
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
EXAMPLE: PROBE TOOL AND UPDATE ACTIVE OFFSET (AUTO CYCLE) ................................................... 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.
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).
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).
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
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.
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.
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.
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
#500 = X Radius
FIGURE 90.20 - 1
#501 = Y Radius Calibration Offsets
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.
4. Probe bushing face, store the total offset into the length offset for the workpiece probe.
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.
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
Variables #555 through # 559 must be manually setup prior to using the tool measuring cycles.
#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.
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 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
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.
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
%
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.
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;
Use #101 and #102 to specify the H and D-codes when calling the probe cycles.
DOUBLE-MILL HEAD.......................................................................................................................................... 2
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.
****************************************************************************************
****************************************************************************************
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
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
****************************************************************************************
****************************************************************************************
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
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
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.
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.
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.
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
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
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
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
1 of 4 Mounting Bolts
FIGURE 92.20 - 2
Cam-Lock 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.
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
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.
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.
Headstock
Latchplate
Alignment
Bushing
Drawbars
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
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)
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)
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).
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.
TABLE 92.30 - 1
When viewing the tool management screens, it will be indicated which magazine and pockets are currently being
displayed.
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
****************************************************************************************
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.
****************************************************************************************
INDEXER POSITION................................................................................................................................ 7
EXAMPLES ......................................................................................................................................................... 9
UNLOADING ATTACHMENT.............................................................................................................................. 9
Operation of the various attachments used on the MAG machines is discussed here.
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.
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:
• Tool 402 is an attachment that can load modular tools, automatically of manually (power drawbar)
• Tools 501 & 502 are modular tools for attachment 402
2. The operator loads the contouring head into the spindle and clamps the drawbar.
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.
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.
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.
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.
7. The operator secures the contouring head with a crane and unloads the head from the spindle.
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.
11. A message will be displayed instructing the operator to load the cover plate to the machine.
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.
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
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.
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.
0°
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.
TABLE 92.40 - 1
Power Indexing Head State
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.
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.
****************************************************************************************
****************************************************************************************
This screen also displays the following position and limit data:
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.
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.
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.
SPINDLE 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:
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.
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!
****************************************************************************************
****************************************************************************************
1. Press the LOCK / UNLOCK softkey; then press and hold the INTERLOCK OVERRIDE key and press the
HAND- key to lock the head.
At this point, the control will see the zero reference switch and set the referenced flag for the Indexer.
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.
FIGURE 92.40 - 4
Spindle Support 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.
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
Tpppp The T-code is used to select the desired attachment from the matrix.
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
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.
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
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.
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.
TABLE 92.40 - 3
Tool Type Data (Without Modular Tooling)
TABLE 92.40 - 4
Tool Type Data (with Modular Tooling
TABLE 92.40 - 5
Tool Type Data (with Modular Tooling)
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:
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
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.
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.
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
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
TABLE 92.40 - 7
Sample Magazine Configuration Table
TABLE 92.40 - 8
Sample Configuration Table
2. Unload attachment.
1. Programming the cover plate will cause the cover to load in not loaded or unload if loaded.
2. Position the X and Y-axes simultaneously to the attachment rack location for the attachment HBM TTYPE 41.
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
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:
2. Press the PROG key on the keyboard until the PROGRAM (MDI) is displayed in the upper LH corner of the
Display Screen.
At the completion of the above steps, the tools in the spindle and/or exchange arm are referenced.
ATTACHMENT OFFSETS
****************************************************************************************
****************************************************************************************
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.
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.
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
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.
TOOL MANAGEMENT................................................................................................................................................... 2
MANUAL TOOLS...................................................................................................................................... 4
V DIMENSION .......................................................................................................................................... 6
W DIMENSION ......................................................................................................................................... 6
PREPARATORY CODES.................................................................................................................................... 7
V DIMENSION .......................................................................................................................................... 7
Z DIMENSION .......................................................................................................................................... 7
LOADING & UNLOADING CH HEADS / CBS BARS (CAM-LOCK ADAPTOR TYPE) .................................................. 8
LOADING & UNLOADING CH HEADS / CBS BARS (AUTO-LATCHPLATE TYPE) (FLOOR-TYPE W/RAM ONLY) . 11
WORKPIECE PROCEDURE............................................................................................................................. 15
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.
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:
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.
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.
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
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.
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.
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:
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.
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.
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.
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.
PREPARATORY CODES
The G19 plane select (V/W plane) is used to specify where two axis circular interpolation and cutter radius
compensation is to be applied.
The V/W plane is canceled by G17 or G18 plane select codes or by G19 without a V and W command.
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
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.
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.
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.
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.
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.
PREPARATORY CODES
The G19 plane select (V/Z plane) is used to specify where two axis circular interpolation and cutter radius
compensation is to be applied.
The V/Z plane is canceled by G17 or G18 plane select codes or by G19 without a V and Z command.
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
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.
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.
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.
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.
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
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.
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.
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.
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.
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
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
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.
7. Once the adaptor is removed, press CYCLE START. Normal tool change operation will now continue by
changing the requested tool from the matrix.
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
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.
UNLOAD EXAMPLE
M06 T50; Unload auto-coupler type head and load standard tool
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.
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 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
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.
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
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.
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.
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.
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.
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 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.
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;
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.
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.
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.
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).
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.
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.
Workpiece
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.
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)
• 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.
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.
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.
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.
• 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.
THREAD LEAD
Thread lead is defined as the distance the threading tool advances in one revolution of the spindle.
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.
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;
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
4.500
T404 H971 FOR W/Z & H971 FOR V - CH8 contour head with boring tool