BenchTurn 7000 User Guide - D PDF

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

BenchTurn 7000 Turning Center

USER'S GUIDE

Catalog #200063 Rev D


Copyright © Intelitek Inc. Tel: (603) 625-8600

BenchTurn 7000 Turning Center User's Guide Fax: (603) 437-2137

Catalog #200063 Rev D

August 2016

website: http://www.intelitek.com

email: [email protected]

All rights reserved. No part of this publication may be stored in a retrieval system, or reproduced in any way,
including but not limited to photocopy, photography, magnetic or other recording, without the prior agreement and
written permission of the publisher. Program listings may be entered, stored and executed in a computer system,
but not reproduced for publication.

Every effort has been made to make this book as complete and accurate as possible. However, no warranty of
suitability, purpose, or fitness is made or implied. Intelitek is not liable or responsible to any person or entity for loss
or damage in connection with or stemming from the use of the software, hardware and/or the information
contained in this publication.

Intelitek bears no responsibility for errors that may appear in this publication and retains the right to make changes
to the software, hardware and manual without prior notice.
Warnings
The operation of rotating machinery should only be attempted by experienced, knowledgeable
individuals.
Read the entire contents of this guide before running the BenchTurn 7000 Turning Center.
To avoid possible injury always observe the safety precautions described in this User's Guide.

The following icons indicate important information throughout this User’s Guide.

Provides essential safety instructions that must be followed to prevent operator injury or
death.

Safety

Provides recommendations for reducing the chance of machine damage.

Product Care

Provides important information about your product.

Take Note
Table of Contents

Using this Guide ............................................................................................................................................................ iv


1. Safety Guidelines ..................................................................................................................................................1
1.1. Detailed Safety Guidelines............................................................................................................................................. 1
1.2. Safety Checklist ............................................................................................................................................................. 5

2. Introducing the BenchTurn 7000 ..........................................................................................................................6


2.1. Overview of Standard Features ..................................................................................................................................... 6
2.2. BenchTurn 7000 Components ....................................................................................................................................... 7
2.3. Overview of CNCBase/Motion Control Software ........................................................................................................ 11
2.4. Standard Accessories ................................................................................................................................................... 12
2.5. Optional Accessories ................................................................................................................................................... 12

3. Installing the Hardware and Software ................................................................................................................13


3.1. Preparing for Installation ............................................................................................................................................. 13
3.2. Installing the Hardware ............................................................................................................................................... 17
3.3. Installing the Software................................................................................................................................................. 20
3.4. Contacting Technical Support ...................................................................................................................................... 34
3.5. Returning Defective Products ...................................................................................................................................... 35

4. Maintaining the BenchTurn 7000 .......................................................................................................................36


4.1. Cleaning the Turning Center ........................................................................................................................................ 36
4.2. Maintaining Individual Lathe Components .................................................................................................................. 36
4.3. Maintenance Schedule Summary ................................................................................................................................ 40
4.4. Adjusting Turret Tool Heights ...................................................................................................................................... 41
4.5. Maintaining the PC in a Shop Environment ................................................................................................................. 43

5. Using the Control Software .................................................................................................................................44


5.1. Launching the Control Software .................................................................................................................................. 44
5.2. Selecting Online or Simulation Mode .......................................................................................................................... 46
5.3. Software Interface ....................................................................................................................................................... 47
5.4. Homing ........................................................................................................................................................................ 65
5.5. Opening an NC File ...................................................................................................................................................... 66
5.6. Verifying an NC Program ............................................................................................................................................. 67
5.7. Running an NC Program .............................................................................................................................................. 73
5.8. Accessing Help ............................................................................................................................................................. 75

Table of Contents i
6. Tutorial: Turning a Sample Part ..........................................................................................................................76
6.1. Reviewing Safety Procedures ...................................................................................................................................... 76
6.2. Preparing Tools and Materials ..................................................................................................................................... 76
6.3. Opening the Sample NC File ........................................................................................................................................ 77
6.4. Determining the Stock Size .......................................................................................................................................... 78
6.5. Configuring the Verify Settings .................................................................................................................................... 79
6.6. Defining the Tool ......................................................................................................................................................... 85
6.7. Verifying the Program ................................................................................................................................................. 86
6.8. Performing a Dry Run .................................................................................................................................................. 87
6.9. Mounting the Workpiece ............................................................................................................................................ 93
6.10. Running the Program................................................................................................................................................... 96

7. Basic CNC Programming......................................................................................................................................97


7.1. Elements of an NC Part Program ................................................................................................................................. 97
7.2. General Programming Suggestions ............................................................................................................................. 98
7.3. Reviewing an NC Program ........................................................................................................................................... 99
7.4. NC Codes ................................................................................................................................................................... 100

8. NC Programming Routines ................................................................................................................................128


8.1. Linear Interpolation Programming ............................................................................................................................ 128
8.2. Circular Interpolation Programming .......................................................................................................................... 129
8.3. Rapid Traverse Programming .................................................................................................................................... 132
8.4. Canned Cycle Programming ..................................................................................................................................... 132
8.5. Subprogram Programming ....................................................................................................................................... 150

9. Multiple Tool Programming ..............................................................................................................................152


9.1. Specifying the Tools ................................................................................................................................................... 153
9.2. Configuring the Turret ............................................................................................................................................... 153
9.3. Writing an NC Program for Multiple Tools ................................................................................................................ 154
9.4. Establishing the Reference Tool ................................................................................................................................ 155
9.5. Setting Tool Offsets ................................................................................................................................................... 156
9.6. Testing the Multi-tool Program ................................................................................................................................. 158
9.7. Tutorial: Running a Multi-tool Program .................................................................................................................... 159

10. An Introduction to CNC Turning........................................................................................................................164


10.1. Understanding Coordinate Systems .......................................................................................................................... 164
10.2. Setting Spindle Speeds .............................................................................................................................................. 167
10.3. Setting Feed Rate and Depth of Cut .......................................................................................................................... 168
10.4. Selecting Lubricants and Coolants ............................................................................................................................. 169
10.5. Tool Types ................................................................................................................................................................. 169

Table of Contents ii
10.6. Mounting the Cutting Tool ........................................................................................................................................ 172
10.7. Sharpening the Tools ................................................................................................................................................. 173

11. Automation lntegration ....................................................................................................................................174


11.1. Integration Instructions ............................................................................................................................................. 174
11.2. CNC Programming for Robotic Communication ........................................................................................................ 178
11.3. Sample Robot - CNC Communication Sequence ........................................................................................................ 179
11.4. Sample Robotic - CNC lntegration Programs ............................................................................................................. 188

Table of Contents iii


Using this Guide
Welcome to the BenchTurn 7000 User’s Guide.
This guide is designed to help you install and begin using the BenchTurn 7000 hardware and software.
The later chapters provide an NC programming reference.
We recommend that you use the guide as follows.
1. Read chapter ‎1 Safety Guidelines. Review this chapter often.

2. Read chapter ‎2 Introducing the BenchTurn 7000.

3. Install the hardware and software as described in chapter ‎3 Installing the Hardware and
Software.

4. Read chapter ‎4 Maintaining the BenchTurn 7000.

5. Read chapter ‎5 Using the Control Software.

6. Follow the instructions in the tutorial presented in chapter ‎6 Tutorial: Turning a Sample Part.

7. Use the remaining chapters as a reference guide for NC programming.

a. Chapter ‎7 Basic CNC Programming presents guidelines for writing basic NC programs, and lists
and describes the use of all codes available for use with the BenchTurn 7000.

b. Chapter ‎8 NC Programming Routines provides instructions with examples for advanced NC


programming routines.

c. Chapter ‎9 Multiple Tool Programming provides instructions for configuring the control
software and writing NC code for programs that require the use of more than one cutting
tool. The chapter also presents step-by-step instructions for turning a sample part using
multiple tools.

d. Chapter ‎10 An Introduction to CNC Turning provides a basic introduction to the fundamentals
concept in CNC turning.

e. Chapter ‎11 Automation lntegration provides instructions for integrating the BenchTurn 7000
in a robotic environment.

Using this Guide iv


1. Safety Guidelines
The safety rules presented here should be reviewed and practiced by all operators of the BenchTurn
7000 turning center.
This section presents the following information:
Section Contents: Safety Guidelines
Section Name Page
‎1.1 Detailed Safety Guidelines 1

‎1.2 Safety Checklist 5

1.1. DETAILED SAFETY GUIDELINES


The table below provides detailed safety instructions.
Info Table: Safety Guidelines
Category Guideline Comment
Read this guide carefully before you use the turning center and
Review the User’s keep it readily accessible for quick reference. Know the intended
Guide. applications and limitations of the turning center as well as its
hazards.
Operator knowledge Keep untrained visitors
Children and visitors unfamiliar with the hazards of rotating
and authorization away from the
machinery should always be kept away from the work area.
equipment.
Prevent unauthorized Ensure that unauthorized users can not gain access to the room
users from operating in which the machine is stored. Ensure that the computer to
the turning center. which the machine is attached is password protected.
Keep your footing and balance at all times so you won’t fall
Do not overreach.
against or clutch at the moving machine.
Do not operate the
machine under the Alcohol or drugs may impair your judgment and reaction time,
Behavior influence of alcohol or which could contribute to an on-the-job accident.
drugs.
Avoid distractions
Use simple common sense and pay attention while operating
while running the
any piece of machinery.
machine.
Keep the work area
Cluttered work areas and bench tops invite accidents.
clean.
Work Area Avoid a dangerous Don’t use the turning center in damp or wet locations. Never
environment. operate electrical equipment in the presence of volatile and
flammable petroleum-based solvents and lubricants.

‎1 Safety Guidelines
‎1.1 Detailed Safety Guidelines 1
Info Table: Safety Guidelines
Category Guideline Comment
Keep coolant away
from electrical Do not allow coolant to splash into or near the computer.
components.
Don't wear loose clothing or jewelry that can get caught in
Avoid loose hair and
Clothing and Hair moving parts. Wear a hat or hair net, or tie your hair back to
clothing.
keep it away from moving parts.
During operation any power tool can throw foreign objects and
harmful chemicals into your eyes. Always put on safety glasses
Wear safety glasses. or eye shields before starting up the turning center. Safety
glasses or shields should provide full protection at the sides, as
well as the front of the eyes.
The turning center has an AC power cord terminated by a three-
prong plug. The power cord should be plugged into a three-
hole, grounded receptacle. If a grounding adapter is used to
Ground all tools.
Safety Equipment accommodate a two-prong receptacle, the adapter wire must
be attached to a known ground. Never remove the third prong
from the plug on the AC power cord.
Keep the safety door
The safety door should remain in place whenever the spindle
closed while machine
motor is on or the cross slide is moving.
is in motion.
Make it a habit to check that keys and adjusting wrenches are
Remove adjusting keys
removed from the turning center before turning on the
and wrenches.
machine.
Before you run the BenchTurn 7000 for the first time, you
should know how to stop the machine should an emergency
situation arise. There are a number of ways an emergency stop
can be initiated on the turning center:
Stopping the machine.  Press the Emergency Stop button.
 Press the Control and Space Bar keys on the computer
keyboard simultaneously.
 Activate one of the limit switches.
Emergency Stop  Activate the safety door interlock switch.
You should use the Emergency Stop button to disconnect power
When to use the
to the turning center when changing tools or when mounting or
Emergency Stop.
removing a workpiece.
There is an Emergency Stop button located on the front panel of
Using the machine- the turning center; it has an oversized red cap.
mounted emergency
To engage: Press the button in.
stop button.
To release: Turn the button clockwise; it will pop out on its own.

‎1 Safety Guidelines
‎1.1 Detailed Safety Guidelines 2
Info Table: Safety Guidelines
Category Guideline Comment
The execution of the part program can be interrupted by
pressing the Control and Spacebar buttons on the computer
Using the software
keyboard. Unlike using the Emergency Stop button, this method
stop button.
of stopping the turning center does not cause the software to
lose track of the tool position.
Proper setup of the turning center is essential for safe turning.
These procedures must be followed each time a new tool is
mounted. General setup requirements for the turning center
include checking components for cleanliness and lubrication,
General mounting the cutting tool, mounting the workpiece, and setting
the spindle rotation speed.
The following safety rules should be practiced by all operators of
the BenchTurn Turning Center for each use.
Avoid accidental Make sure the power switch is off before plugging in the turning
starting. center power cord.
Always examine the bed saddle, cross slide and lead screw to be
sure they are free of shavings and particles from previous
Check lathe operations. Remove such debris from the lathe to avoid possible
components. binding of components which may result in possible damage to
the lathe, the workpiece, or the operator.
Always make sure the machine is properly lubricated.
Select the feed rate and depth of cut that are best suited to the
Do not force a tool. design, construction, and purpose of the cutting tool. It is
Operation Rules always better to take too light a cut than too heavy a cut.
Select the type of cutting tool best suited to the turning
Use the right tool. operation. Don't force a tool or attachment to do a job it wasn't
designed for.
Maintain cutting tools Keep cutting tools sharp and clean. Lubricate and clean turning
in good condition. center components on a regular basis.
Each cutting tool used in the turning operation must be sharp
and tightly inserted in the tool turret. The cutting edge of the
Mount the cutting tool
tool must be on the centerline or just below the centerline
correctly.
(0.004 inch or 0.1mm maximum) of the axis of rotation of the
lathe
Be certain that you have firmly secured the workpiece in the
Secure the workpiece. spindle and the cutting tool to the cross slide before turning on
the spindle motor.
Tighten all holding, Tighten the work holders and tool holders. Do not over tighten
locking and driving these devices. Over tightening may damage threads or warp
devices. parts, thereby reducing accuracy and effectiveness.
Turn the spindle by Manually turning the spindle allows you to safely determine
hand before starting. that the tool will not hit the chuck or stock on start up.

‎1 Safety Guidelines
‎1.1 Detailed Safety Guidelines 3
Info Table: Safety Guidelines
Category Guideline Comment
The BenchTurn Turning Center is equipped with an
electronically controlled spindle motor which produces a
Set the spindle rotation
comprehensive range of spindle rotation speeds. Speed can be
speed.
set with the Control Software or by using an S code in the NC
program. Always use a safe spindle speed.
To avoid stressing the turning center and creating a hazardous
Use recommended turning environment, use only those accessories designed for
Accessories
accessories only. use with the BenchTurn7000, available through Intelitek
Corporation.

‎1 Safety Guidelines
‎1.1 Detailed Safety Guidelines 4
1.2. SAFETY CHECKLIST

Post copies of this checklist in the work area. Verify that all items are checked-off prior to
each operation of the BenchTurn turning center.

Safety

Before you enter the work area:


 Put on safety glasses.
 Tie back loose hair and clothing.
 Remove jewelry including rings, bracelets and wristwatches.
Before turning a part:
 Make sure you have the correct tool for the job.
 Secure the tool properly.
 Make sure all tool positions have been properly initialized.
 Verify the NC program on the computer.
 Remove all loose parts and pieces from the machine.
 Remove adjusting keys and wrenches from the machine.
 Close the safety door.
 Only operate the machine after being properly trained in its use.
 Perform a dry run:
 Make certain there is no workpiece in place.
 Run the NC program to make sure all the moves make sense before running the program
with a workpiece in place.
 After completing the dry run, properly secure the workpiece to the machine.
 Keep fluids away from all electrical connections, electronic or electrical devices, the computer, and
nearby electrical outlets.
While turning a part:
 Do not touch moving or rotating parts.
 Press the Emergency Stop button before opening the safety door.
 Only open the safety door after the spindle has stopped rotating.
 Press the Emergency Stop button whenever changing tools or mounting or removing a workpiece.
 Release the Emergency Stop button only after closing the safety door.
 Keep all unauthorized persons away from the work area.

‎1 Safety Guidelines
‎1.2 Safety Checklist 5
2. Introducing the BenchTurn 7000
The BenchTurn 7000 is a versatile PC-based benchtop CNC turning center that enables you to deliver
robust instruction in computer numerical control and advanced manufacturing.
The BenchTurn 7000 comes equipped with 2-axis stepper motors, ball screws, a variable speed brushless
spindle motor, limit/home switches, and an MT3 taper spindle with MT2 taper tailstock.
This benchtop CNC system requires no assembly and is ready to run on an Ethernet port on a standard
PC, and fits comfortably into any classroom without sacrificing features.
Like larger industrial machines, the BenchTurn 7000 uses EIA, ISO, and Fanuc-compatible G&M code
programs to cut parts in a variety of materials.
This section presents the following information:
Section Contents: Introducing the BenchTurn 7000
Section Name Page
‎2.1 Overview of Standard Features. 6
‎2.2 BenchTurn 7000 Components 7
‎2.3 Overview of CNCBase/Motion Control Software. 11
‎2.4 Standard Accessories 12
‎2.5 Optional Accessories 12

2.1. OVERVIEW OF STANDARD FEATURES


Some of the BenchTurn Turning Center’s most notable hardware and software features are listed in the
table below:
Info Table: Standard Features
Network and software features Ethernet-based control
PC-based CNC software
EIA RS-274D standard G&M code programming
A built-in full-screen NC program editor with graphic tool path
verification
Multiple tool programming
Help functions on screen
Standard hardware features No assembly required
Brushless spindle motor
Tailstock
Work light
Standard turning specifications X-axis travel of 2.96 inches (75mm)
Z-axis travel of 9.84 inches (250mm)

‎2 Introducing the BenchTurn 7000


‎2.1 Overview of Standard Features 6
Info Table: Standard Features
Feed rates up to 20 IPM (500mm/min)
Rapid traverse up to 79 IPM (2000mm/min)
Computer-controlled spindle speeds from 100 to 3,000 RPM
Safety features Full enclosure with automatic safety door lock
Automatic diagnostics and power cut off protection
Safety door and limit switches
Emergency stops from the turning center and computer keyboard
Machine ready optional accessories Coolant ready
Jog pendant ready
Robotic integration ready with 6 inputs, 6 outputs

2.2. BENCHTURN 7000 COMPONENTS


This section shows the location of major components of the BenchTurn 7000, arranged by the view from
which they are visible:
Section Contents: Components

‎2.2.1 External View, pg. 8 ‎2.2.2 Left Side Panel, pg. 8

‎2.2.4
‎2.2.3 Enclosure (Front View), pg. 9 Enclosure (Right Side View), pg. 11

‎2 Introducing the BenchTurn 7000


‎2.2 BenchTurn 7000 Components 7
2.2.1. External View
The external view is shown below.

3 2 1

4 1. Enclosure door
2. Emergency stop switch
3. Enclosure release button
5 4. I/O ports
5. On/Off switch
6 6. Right access door

Notes:
 The Safety door encloses the turning area to help protect the operator from flying chips. A
magnetic shield interlock switch prevents the machine from operating with the shield open.
 The Emergency Stop button is used to halt machine operation. When pushed, machine
operation stops immediately. To resume operation, the button must be rotated clockwise and
will then pop out on its own. It is important that this button be pushed in (i.e. engaged) before
performing any manual operation, such as changing the stock or tooling.

2.2.2. Left Side Panel


The graphic below shows the machine as viewed from the left side.

1 2 6

3
1. PC power supply
2. Coolant power supply
5 3. Jog pendant port
4. FANUC panel port
5. Ethernet port
4
6. Left access door

‎2 Introducing the BenchTurn 7000


‎2.2 BenchTurn 7000 Components 8
The graphic below shows the contents exposed by opening the left side access door.

2
1 1. Spindle drive
2. Encoder
3. Z-axis drive motor

Note:
 The left door panel provides access to the spindle shaft and belts, the Z-axis stepper motor, and
related components. Do not handle these components unless they require maintenance.

2.2.3. Enclosure (Front View)


The graphic below shows the contents exposed by opening the safety door.

1 2

3 1. 3-Jaw chuck
2. Work light
3. Tool turret
4 4. Cross slide
5. Bed
5 6. Lubricant reservoir

‎2 Introducing the BenchTurn 7000


‎2.2 BenchTurn 7000 Components 9
The graphic below shows the tailstock, used to secure the end of long workpieces.

1. Quill lock
2. Tailstock
handwheel
3. Tailstock lock
3 4. Quill

‎2 Introducing the BenchTurn 7000


‎2.2 BenchTurn 7000 Components 10
2.2.4. Enclosure (Right Side View)
The graphic below shows the right side of the enclosure area. These components are accessed by
opening the right side panel.

1. Tailstock handwheel
2. Serial number (on top of
rear rail)
2 3. X-axis drive motor housing
3

2.3. OVERVIEW OF CNCBASE/MOTION CONTROL SOFTWARE


The heart of the BenchTurn 7000 turning center is the control software (CNCMotion or CNCBase) that
runs on your computer. Using industry standard EIA RS- 274D NC codes, the control software provides
for two-axis CNC programming and turning.
The control software is extremely easy to use with all necessary functions readily available to run a part
program.
CNCBase and CNCMotion differ only in that CNCMotion provides 3D simulation of the turning process.
For more information on the control software, see ‎5 Using the Control Software, pg. 44.

‎2 Introducing the BenchTurn 7000


‎2.3 Overview of CNCBase/Motion Control Software 11
2.4. STANDARD ACCESSORIES
The accessory kit supplied with the turning center contains all the tools and hardware necessary for
installing and maintaining the turning center. Additional tool holding devices and tools are available as
options.
The table below lists the standard accessories supplied with the BenchTurn 7000.
Info Table: Standard Accessories
Tailstock
4" 3-jaw chuck with key
4-station automatic tool turret
One shot lubrication system
Internal work light
Turning center accessory package:
Item Qty Description
1 2 Dead center (1 short, 1 long)
2 1 Allen wrench set (4 keys)
3 1 8-10mm Wrench
4 1 12-14mm wrench
5 1 CNC Base Control Software
6 2 Electrical panel keys
7 1 5x20 mm fuse - 10 Amp
8 1 Chuck key, T-handle
9 3 Chuck jaws
10 1 Ethernet Cable

2.5. OPTIONAL ACCESSORIES


Intelitek offers a variety of turning center accessories, CAM software, curriculum, and documentation.
For more information about these products call your Intelitek dealer, call Intelitek directly at (800)221-
2763 or (603) 413-2600, or browse our web site www.intelitek.com.

‎2 Introducing the BenchTurn 7000


‎2.5 Optional Accessories 12
3. Installing the Hardware and Software
This section presents instructions for installing the hardware and software components.
Procedure Outline: Installation
No. Step Section Page
1 Prepare your hardware for installation. ‎3.1 13
2 Install the hardware. ‎3.2 17
3 Install and configure the software. ‎3.3 20
This section also presents the following information.
Section Contents: Installing the Hardware and Software
Name Section Page
Contacting Technical Support ‎3.4 34
Returning Defective Products ‎3.5 35

3.1. PREPARING FOR INSTALLATION


This section presents instructions for preparing the work space and machine for installation.
Procedure Outline: Preparing for Installation
No. Step Section Page
1 Verify that the computer to be used with the turning center meets minimum ‎3.1.1 14
requirements.
2 Prepare a work space for the turning center. ‎3.1.2 14
3 Remove the crating. ‎3.1.3 14
4 Unpack and set up the turning center. ‎3.1.4. 15
5 Check your shipment to ensure that all items ordered are present and undamaged. ‎3.1.5 16
6 Register your turning center to activate the warranty. ‎3.1.6. 17

‎3 Installing the Hardware and Software


‎3.1 Preparing for Installation 13
3.1.1. Verifying Computer Requirements
Use the checklist below to ensure that the computer that will be attached to the turning center meets
minimum requirements.
Checklist: Verifying Computer Requirements
 Windows 7/Windows 8/Windows 10 - 32 or 64bit
 512 MB RAM (1 GB Recommended)
 CD-ROM
 100 MB of available hard drive space (300 MB Recommended)
 VGA graphics or better graphics display (minimum 256 colors)
 Available Ethernet port
 A mouse or other pointing device
 ATX Power Supply (Recommended)
Note: Your operating system might have additional hardware requirements.

3.1.2. Preparing the Work Space


Use the checklist below to ensure that the work space is ready for the installation of the machine.
Checklist: Preparing the Work Space
 A sturdy table on which you will place the turning center and your computer. Placing the table against a
wall provides more stability.
 For customers in the U.S.A.: A 120VAC, 15 Amp outlet
 For international customers: A 220VAC, 8 Amp outlet

We recommend the use of a voltage surge protector and line filter to protect your computer
system. A voltage surge protector is not supplied with the BenchTurn 7000.

Product Care

3.1.3. Removing the Crating


Follow the procedure below when removing the crating after delivery of the product.
Procedure: Removing the Crating
1. Inspect the crating for any visible signs of damage. If there is damage to the crating, contact the shipping
company and Intelitek Customer Support.

2. Cut any banding on the outside of the crate.

3. Remove the top of the crate.

4. Remove the sides of the crate.

‎3 Installing the Hardware and Software


‎3.1 Preparing for Installation 14
Intelitek will not be responsible for any damage caused during shipping when components
are not returned in the original packing materials.
Store the packing materials at least until the installation is complete and proper operation
Take Note has been verified.

3.1.4. Unpacking and Setting up the Turning Center


Follow the procedure below for unpacking and setting up the turning center.
Procedure: Unpacking and Setting up the Turning Center
1. Position the pallet near the table on which you'll set the turning center. The table should be located
against a wall for maximum support.

2. Remove the staples that attach the bottom of the cardboard container to the pallet.

3. Cut the banding around the container.

4. Lift the cardboard cover off the top of the container.

5. Remove the sides of the container.

6. Inspect the turning center chassis for signs of visual damage such as a broken shield, a dent in the chassis,
or damaged cables.

7. Call Intelitek Customer Support if any damage is noted.

8. Remove the four bolts that hold the turning center base to the pallet, using a 19mm wrench.

9. Store the bolts and other packaging materials, in case the product has to be returned or transported.

10. Lift the turning center off of the pallet and onto the table. If lifting the machine manually:

a. Turn the four lift-handles out.

b. With one person on each corner of the machine, carefully lift the machine by the lift handles
onto the workbench.

c. Return the four handles to their original positions underneath the enclosure.

11. Once the machine is on the table, position the turning center correctly for turning.

12. Remove the protective paper from the safety door.

13. Open the front door and remove the components from the enclosure. 0 .

‎3 Installing the Hardware and Software


‎3.1 Preparing for Installation 15
3.1.5. Checking your Shipment
Follow the procedure below for checking your shipment once unpacked.
Procedure: Checking your Shipment
1. Locate the packing slip. This slip lists all of the items you should have received with your turning center.

2. Check that all items on the packing slip are present. See the checklist below.

3. Contact Intelitek Customer Support immediately if any item is missing. 0 .

Use the checklist below to ensure that all items listed on the packing slip are present in the delivery.
Checklist: Checking your Shipment
No. Item
1 BenchTurn 7000 Turning Center
2 Installation disk for CNCBase/Motion software
3 Documentation pack
4 Accessory kit
The accessory kit contents are shown below. Item Qty Description
Dead center (1 short, 1
1 2
long)
2 1 Allen wrench set (4 keys)
3 1 8-10mm Wrench
4 1 12-14mm wrench
5 1 CNC Base Control Software
6 2 Electrical panel keys
7 1 5x20 mm fuse - 10 Amp
8 1 Chuck key, T-handle
9 3 Chuck jaws
10 1 Ethernet Cable

5 Additional accessories ordered

‎3 Installing the Hardware and Software


‎3.1 Preparing for Installation 16
3.1.6. Registering Your Turning Center
Follow the procedure below to register your turning center.
Procedure: Registering Your Turning Center
1. Locate the box that contains the documentation and installation disk.

2. Locate the registration card within that box.

3. Complete the card, printing all information clearly.

4. Return the card to Intelitek Customer Support at the address below,

Intelitek Customer Support

18 Tsienneto Road

Derry, NH 03039

USA

or fax to 603-625-2137 0 .

3.2. INSTALLING THE HARDWARE


This section presents instructions for installing the BenchTurn 7000 hardware.
Procedure Outline: Hardware Installation
No. Step Section Page
1 Connect the turning center to a computer. ‎3.2.1 17
2 Connect the turning center to a power source. ‎3.2.2 18
3 Configure and use the tailstock. ‎3.2.3 19
4 Install additional accessories purchased. ‎3.2.4 20

3.2.1. Connecting the Turning Center to a Computer


You will connect the turning center directly to a computer. Connection to the network (if required) is
provisioned by the computer.

Do not connect power to the turning center or the computer until instructed to do so in the
following procedures.

Safety

‎3 Installing the Hardware and Software


‎3.2 Installing the Hardware 17
Follow the procedure below to connect the turning center to a computer.
Procedure: Connecting the Turning Center to a Computer
1. If not done previously, verify that the computer you are planning to use meets minimum requirements.
See ‎3.1.1 Verifying Computer Requirements, pg. 14.

2. Use a cable with 8P8C (RJ-45) connectors at both ends to connect the turning center to the computer, as
shown. 0 .

3.2.2. Connecting the Power

The turning center has an AC power cord terminated by a three-prong plug. The power cord
should be plugged into a three-hole, grounded receptacle. If a grounding adapter is used to
accommodate a two-prong receptacle, the adapter wire must be attached to a known
ground. Never remove the third prong from the plug on the AC power cord.
Safety

Follow the procedure below to connect the turning center to a power supply.
Procedure: Connecting the Power
1. Ensure that the turning center’s power switch, located at its side, is set to the OFF position.

2. Connect the power cord from the turning center to the power source. 0 .

‎3 Installing the Hardware and Software


‎3.2 Installing the Hardware 18
3.2.3. Configuring and Using the Tailstock
The BenchTurn 7000 is supplied with a tailstock already installed and aligned. Its components are shown
below.
1. Quill
lock
1 2. Tailstock
handwh
eel
2 3. Tailstock
lock
4. Quill

The use of the tailstock is summarized in the table below.


Tasks: Using the Tailstock
Task Instruction
Insert the live center into the quill Push the live center into the quill firmly.
Extend and retract the quill Turn the handwheel at the rear.
Lock or unlock the quill Use the silver quill lock located above the tailstock.
Lock or unlock the tailstock Use the tailstock lock lever located on the side of the tailstock facing
the back of the machine enclosure.
Work without the tailstock Either remove the tailstock from the bed, or lock it at the end of the
bed with the quill fully retracted.

‎3 Installing the Hardware and Software


‎3.2 Installing the Hardware 19
3.2.4. Installing Accessories
Each accessory kit is supplied with an installation guide.

To avoid stressing the turning center and creating a hazardous turning environment, use only
those accessories designed for use with the BenchTurn turning center, available through
Intelitek Corporation.
Safety

Complete the hardware and software installation procedures (see ‎3.3 Installing the Software
below), and test the functioning of the basic machine, before installing accessories.

Product Care

3.3. INSTALLING THE SOFTWARE


This section presents instructions for installing the control software (CNCMotion or CNCBase) on the
computer.
Procedure Outline: Software Installation
No. Step Section Page
1 Ensure that your computer meets the minimum requirements. ‎3.3.1 20
2 Check whether you have administrative privileges on the computer. Software ‎3.3.2 21
installation requires administrative privileges.
3 Run the installation to install the software. ‎3.3.3 22
4 License your software. ‎3.3.4 27
5 Configure the software for your machine and accessories. ‎3.3.5 27
6 Configure the IP address of your computer. ‎3.3.6 31
This section also presents the following information:
Section Contents: Installing the Software
Name Section Page
Uninstalling the Software ‎3.3.7 33

3.3.1. Verifying Computer Requirements


If not done previously, verify that the computer you are planning to use meets the minimum
requirements. See ‎3.1.1 Verifying Computer Requirements, pg. 14.
If installing the software on a computer to be used only for writing and verifying NC programs, but not
for interacting with the hardware itself, the requirement for LAN cards is not relevant.

‎3 Installing the Hardware and Software


‎3.3 Installing the Software 20
3.3.2. Verifying Your Administrative Privileges
Administrative privileges are required to install the software.
If you are not sure whether you have administrative privileges on the computer, perform the following
check:
Verifying Your Administrative Privileges
If the computer uses:
 Windows 7, click the Windows Start button, then right-click the All Programs button.
 An earlier version of Windows, right-click on the Windows Start button.
If you see the Open All Users option, you do have administrative rights on the computer.

If you do not see the Open All Users option, you do not have administrative rights on the computer. Contact your
system administrator for assistance.

‎3 Installing the Hardware and Software


‎3.3 Installing the Software 21
3.3.3. Running the Installation
Install the software at this point.
During installation you will be presented with various installation options. Before you begin, verify your
requirements:
Info Table: Software Requirements
Requirement Options and Explanation
CNCBase or CNCMotion CNCBase and CNCMotion differ only in that CNCMotion includes a virtual
machine simulation, CNCBase does not.
CNCBase is the usual requirement for the computer connected to the turning
center.
Fanuc Emulator Select a Fanuc Emulator option if Fanuc emulation is required.
Machine Verify which one of Intelitek’s CNC machines will be connected to the
computer.
Follow this procedure to run the installation.
Procedure: Running the Installation
1. Insert the installation disk into the CD/DVD drive. The installation program should open automatically.

If the installation does not open automatically, navigate to the Install folder and launch iCNC.exe.

2. If the User Account Control message displays, click Yes.

The installation begins and the Welcome screen is displayed.

‎3 Installing the Hardware and Software


‎3.3 Installing the Software 22
3. Click Next.

The License Agreement is displayed.

4. Click Yes to accept and continue.

The Software Selection screen is displayed.

‎3 Installing the Hardware and Software


‎3.3 Installing the Software 23
5. Select the software to install. It is important that the software you select matches the license you have
purchased.

6. Click Next.

The Machine Selection screen is displayed.

7. Select the machine you will be using. It is important that the machine selected matches the license you
have purchased.

8. Click Next.

The Configuration Options screen is displayed.

‎3 Installing the Hardware and Software


‎3.3 Installing the Software 24
9. Select whether the configuration and sample programs are to be exclusive to each user (first option) or
common to all users (second option). The first option is recommended when running software in
simulation mode. The second option is highly recommended when running software with a physical CNC
machine.

10. Click Next.

The Choose Destination Location screen is displayed.

11. If necessary, click Browse to change the destination folder.

12. Click Next.

The Ready to Install screen is displayed.

‎3 Installing the Hardware and Software


‎3.3 Installing the Software 25
13. Click Install.

14. Wait while installation is performed.

The InstallShield Wizard Complete screen is displayed.

15. Select Yes, I want to restart my computer now.

16. Click Finish.

Your computer will restart and installation will be finalized. 0 .

‎3 Installing the Hardware and Software


‎3.3 Installing the Software 26
3.3.4. Licensing the Software
For details on licensing your software and managing or transferring your license, refer to the Licensing
Help document that can be found in the Books folder of the software installation disk. You can also
access the Licensing Help document by clicking the Help button during software registration.
Note that CNCBase does not require registration. If you have purchased CNCMotion, that software does
require registration.

3.3.5. Configuring the Software


The installation program automatically configures most software parameters based on the selections
you make during installation.
The Configuration Program can be used to:
 Modify selections made during installation.
 Configure machine accessories installed.
This section presents instructions for configuring the control software (CNCMotion or CNCBase) on the
computer.
Procedure Outline: Configuring the Software
No. Step Section Page
1 Run the configuration program. ‎3.3.5.1 20
2 Change configuration settings using the configuration program. ‎3.3.5.2 22
3 Add optional accessories to the machine. ‎3.3.5.3 30

‎3 Installing the Hardware and Software


‎3.3 Installing the Software 27
3.3.5.1. Running the Configuration Program
The Configuration Program is launched from your Windows Start menu.
If you try to launch the Configuration Program while the CNCBase/Motion software is open, you will be
asked to close CNCBase/Motion first.
Procedure: Running the Configuration Program
1. Ensure that CNCBase/Motion is not currently running.

2. Click the Windows Start button.

3. Click All Programs.

4. Locate and click the CNCBase/Motion for Intelitek CNC & Fanuc emulator folder.

5. Click CNCBase/Motion Configuration. 0 .

The CNC Configuration window displays.

‎3 Installing the Hardware and Software


‎3.3 Installing the Software 28
3.3.5.2. Using the Configuration Program
This table summarizes the use of the configuration program.
Tasks: Using the Configuration Program
Task Instructions
View all available settings Click the tabs at the top of the window.
Access online help Click the Help button.
Save changes made Click OK. Clicking OK will close the configuration program.
Make all required changes before clicking OK.
The table below summarizes the configuration options available on each of the four tabs of the CNC
Configuration Program.
Info Table: CNC Configuration Program Tabs

Tab Main Options


Welcome Units (Inch or Metric)

General Run in offline (simulation) or online


mode. For more information on
switching between offline and online
modes, see ‎5.2 Selecting Online or
Simulation Mode, pg. 46.
NC programming settings
User inputs mapping

‎3 Installing the Hardware and Software


‎3.3 Installing the Software 29
Options Lists installed options and allows you to
install addition options. Click Reinstall to
install others.
For more information, see ‎3.3.5.3 Adding
Installed Optional Accessories, pg. 30.

Machine Allows you to select a different machine,


Configuration and to save and load previously defined
configurations.

3.3.5.3. Adding Installed Optional Accessories


Optional accessories are available for the BenchTurn 7000 (see ‎2.5 Optional Accessories, pg. 12). After
installing the accessory hardware, the control software must be reconfigured.
Detailed instructions are provided in the installation guide supplied with each accessory. General
instructions are provided below.
Follow this procedure to configure the control software for a new accessory.
Procedure: Configuring Control Software for New Accessory
1. Run the configuration program (see section ‎3.3.5.1, pg. 28).

2. Click the Options tab.

‎3 Installing the Hardware and Software


‎3.3 Installing the Software 30
3. Click Reinstall.

The Reinstall Options window is displayed.

4. Select the option to be added.

5. Click Reinstall. 0 .

The Reinstall Options window closes. The selected option is now listed in the Installed Options list.

3.3.6. Configuring the IP Address


Before using the hardware, you must configure its IP address on the network.
This utility configures the IP address of the computer’s LAN adapter.

You must have administrator access to your computer to run the Machine IP Changer utility.

Take Note

To reconnect to the network over the LAN, you will need to restore the settings of your LAN
adapter.
Take Note

‎3 Installing the Hardware and Software


‎3.3 Installing the Software 31
Follow this procedure to configure the IP address.
Procedure: Configuring the IP Address
1. Run the Machine IP Configuration utility. To do so, locate the CNCBase/Motion for Intelitek CNC & Fanuc
emulator folder and click Machine IP Configuration.

2. Click Yes if asked for permission.

3. From the dropdown list, select the local area network or network card that you wish to use for the CNC
machine.

4. Click Continue.

5. Click Yes when asked for confirmation of your selection.

‎3 Installing the Hardware and Software


‎3.3 Installing the Software 32
When the process is finished, Machine IP Changer displays the configuration for all active network
connections.

6. Click OK to close the program. 0 .

3.3.7. Uninstalling the Software


When necessary, follow this procedure to uninstall the software.
Procedure: Uninstalling the Software

1. Click the Windows Start button.

2. Click All Programs.

3. Locate and click the CNCBase/Motion for Intelitek CNC & Fanuc emulator folder.

4. Click Uninstall.

5. Click Yes if the User Account Control message displays.

The Uninstall Wizard is displayed, asking for confirmation.

‎3 Installing the Hardware and Software


‎3.3 Installing the Software 33
6. Click Yes to uninstall CNCBase/Motion.

7. Wait while the software is uninstalled.

The Uninstall Complete window is displayed.

8. Select Yes, I want to restart my computer now.

9. Click Finish.

Your computer will restart and uninstallation will be finalized. 0 .

3.4. CONTACTING TECHNICAL SUPPORT


Should you require technical assistance, contact your local Intelitek dealer. If you are unable to resolve
your problem through your local dealer, free technical support is available by phone or email from 8:15
A.M. to 5:00 P.M. EST.
Make sure you have the following information gathered before contacting our Technical Support group.
Info Table: Requirements for Technical Support
 The product serial number
 The name of the owner of the product
 The specifications of your computer (e.g. version of Windows, hard drive size, clock speed, etc.)
 Notes on any error messages received

‎3 Installing the Hardware and Software


‎3.4 Contacting Technical Support 34
When you call, make sure you have access to both your turning center and your computer.
This will allow our technical support representatives to walk through the problem with you.
Take Note

Technical support contact details:


Info Table: Intelitek Technical Support Contact Details
Toll-free (U.S. only) (800) 221-2763
Direct Dial (603) 413-2600
e-mail [email protected]
Web site www.intelitek.com

3.5. RETURNING DEFECTIVE PRODUCTS


Intelitek products (excluding software) carry a one-year limited warranty from date of purchase.
Defective products may be returned for repair or replacement according to the conditions outlined in
the Terms and Conditions of Sale agreement.

Intelitek will not be responsible for any damage incurred during shipping when components
are not returned in the original packing materials.
Take Note

Follow this procedure to return defective products.


Procedure: Returning Defective Products
1. Contact Intelitek Technical Support and describe the problem.

2. If the Technical Support representative decides that the product is defective and has to be returned, the
Technical Support representative will issue a Return Materials Authorization number (RMA). Store this
number safely.

3. Pack the product to be returned in its original packaging and crate, as was packed originally.

4. Write the RMA number and your return address on the outside of the product carton or crate. Failure to
do so can result in a delay in the return of your product.

5. Have the package returned to Intelitek’s offices, as directed by the Technical Support representative. 0 .

‎3 Installing the Hardware and Software


‎3.5 Returning Defective Products 35
4. Maintaining the BenchTurn 7000

Preventative maintenance of the BenchTurn 7000 is essential for ensuring a long and
trouble-free service life.

Product Care
This section presents instructions for maintaining the turning center and computer.
Task: Maintaining the Turning Center
Task Section Page
Keep the machine clean. ‎4.1 36

Maintaining individual lathe components. ‎4.2 36


Follow a maintenance schedule. ‎4.3 40
Adjust the heights of tools in the turret. ‎4.4 41

Maintaining a computer in a shop environment. ‎4.5 43

4.1. CLEANING THE TURNING CENTER


Keeping your machine clean is the easiest and most important maintenance practice.
Procedure: Cleaning the Turning Center
 Remove all chips from the machine after every use.
 Pay particular attention to chip build-up on the machine bed. Chip build-up can cause wear and damage
to the linear bearings.

If you clean a component of the turning center that requires lubrication, make sure to
lubricate it after cleaning.

Product Care

4.2. MAINTAINING INDIVIDUAL LATHE COMPONENTS


Each of the turning center’s major components must undergo routine maintenance.
This section provides maintenance instructions for each major component.
Maintaining Individual Lathe Components
Component Section Page
Lathe bed ‎4.2.1 37
Lathe bed bearings ‎4.2.2 37

‎4 Maintaining the BenchTurn 7000


‎4.2 Maintaining Individual Lathe Components 36
Maintaining Individual Lathe Components
Ball screw ‎4.2.3 37
Tailstock ‎4.2.4 38
Spindle motor and encoder belt ‎4.2.5 38
Axis drive belt ‎4.2.6 39

4.2.1. Maintaining the Lathe Bed


The lathe bed, saddle, and ball screw all require constant lubrication to prevent wear and rust. The
BenchTurn 7000 is supplied with a one-shot system that simplifies lubrication of these components.

Use 15 weight way oil only.

Product Care

Follow the guidelines below to ensure proper lubrication of the lathe bed.
Guidelines: Lubricating the Lathe Bed
B

 Operate the one-shot lubricating


system before each use.
To operate, pull on the handle of
the one-shot lubricating system
and release.
 Keep the reservoir filled with 15
weight way oil.
 Maintain a film of lubricant on the
surface of the lathe bed to
minimize friction and wear.
 Ensure that all non-painted
surfaces on the lathe are coated
with oil to prevent rust.

4.2.2. Maintaining the Lathe Bed Linear Bearings


Play in the saddle could indicate that the lathe bed bearings require adjustment. The bearings are
factory-adjusted and should be checked at least every three months.
Contact your Intelitek customer service group for maintenance or service instructions.

‎4 Maintaining the BenchTurn 7000


‎4.2 Maintaining Individual Lathe Components 37
4.2.3. Maintaining the Ball Screw
The BenchTurn 7000 Turning Center uses pre-loaded ball screws on both axes. The screws are lubricated
at the factory with a special long-life, waterproof ball screw lubricant. Additionally, the ball screw is
lubricated via the one-shot lubrication system.
One-shot lubrication should be performed before each use of the machine. See ‎4.2.1 Maintaining the
Lathe Bed, pg. 37, for instructions.

4.2.4. Maintaining the Tailstock


The turning center tailstock requires very little maintenance.
Ensure that the lathe bed is well lubricated at all times to prevent rust. Use 15 weight way oil only.

4.2.5. Maintaining the Spindle Motor and Encoder Belt


The spindle motor and encoder belts will wear out quickly if they become loose. If a belt squeals at slow
speeds, it may be loose or worn.
The belts that drive the turning center can be found inside the left side door, as shown below.

1
4
1. Spindle
2. Encoder
2 3. Spindle motor
4. Encoder belt
5 5. Spindle belt

The spindle motor and an encoder are mounted to the back of the spindle. The spindle motor not only
drives the spindle (by way of the spindle drive belt) but also rotates the encoder shaft (by way of the
encoder drive belt). The encoder transmits the spindle speed information to the computer.
1. Check the encoder shaft and spindle drive belts every two months, or whenever a
squealing sound is heard.

2. Replace the encoder shaft and spindle drive belts only with belts supplied by
Intelitek. Use of improper belts can cause machine damage and increase wear on
Product Care
components. 0 .

‎4 Maintaining the BenchTurn 7000


‎4.2 Maintaining Individual Lathe Components 38
Follow this procedure to replace the encoder shaft and spindle drive belts.
Procedure: Replacing the Encoder Shaft and Spindle Drive Belts
1. Loosen the screws holding the red bracket shown in the photo above.

2. Remove the encoder shaft belt.

3. Loosen the two screws that hold the spindle motor mounting plate in place using an Allen wrench.

4. Adjust the spindle motor mounting plate so the spindle drive belt becomes loose.

5. Remove the belt from the spindle motor shaft pulley.

6. Replace the belts.

7. Tighten the spindle drive belt by returning the mounting plate back toward its original position.

8. Tighten the two screws while holding the panel so the belt stays taut. 0 .

4.2.6. Maintaining the Axis Drive Belts


The Z axis drive belt should not require frequent adjustment. Check the belt only if you notice a loss in
machining accuracy.

‎4 Maintaining the BenchTurn 7000


‎4.2 Maintaining Individual Lathe Components 39
4.3. MAINTENANCE SCHEDULE SUMMARY
Follow the maintenance schedule outlined in the table below.
Guidelines: Maintenance Schedule

Continuously Before Every After Every Use Every 2 Months Every 3 Months
Use

Clean chips from


the turning X
center

Coat exposed
surfaces with X
light oil

Activate the one-


shot lubrication X
system

Maintain the
level of 15 X
weight way oil in
the one-shot
lubricating
system

Check and adjust


the lathe bed X
linear bearings

Check spindle
and encoder X
drive belts

‎4 Maintaining the BenchTurn 7000


‎4.3 Maintenance Schedule Summary 40
4.4. ADJUSTING TURRET TOOL HEIGHTS
The BenchTurn 7000 is supplied with a 4-position automatic tool turret as standard. This allows your
turning center to make automatic tool changes while running NC programs.
It is critical for part tolerances that the tool tip and spindle centerline lie on the same plane, as shown
below.
The graphic below illustrates correct alignment between the tool and the spindle centerline.

The graphics below demonstrate the importance of proper alignment.

A cutting tool higher than the spindle A cutting tool properly positioned A cutting tool lower than the
centerline rubs against the workpiece along the spindle centerline cuts the spindle centerline leaves material
as it approaches the center of the stock cleanly. on the stock when performing
stock. facing cuts.

Because different tools may be set up differently, you may need to make some gross adjustments to the
tool turret before you can make fine adjustments and start turning parts.

‎4 Maintaining the BenchTurn 7000


‎4.4 Adjusting Turret Tool Heights 41
Follow this procedure to adjust the tool turret.
Procedure: Adjusting the Tools in the Turret
1. Mount all the tools that you intend to use in the tool turret.

2. Mount a workpiece in the chuck.

3. Perform a facing operation using the first tool.

If material is left in the center of the stock, it is because the tool is below the center-line and must be
shimmed up. The amount which must be shimmed is equal to half the diameter of the material left, as
illustrated below.

Measure the diameter of the


material left after following
the instructions above.

The thickness of the shim


placed below the tool should
be equal to half the diameter
of the material measured.

4. Once one tool is aligned, the rest of the tools can be aligned by measuring from the cross-slide to the tool
tip using a pair of calipers.
0 .

‎4 Maintaining the BenchTurn 7000


‎4.4 Adjusting Turret Tool Heights 42
4.5. MAINTAINING THE PC IN A SHOP ENVIRONMENT
Maintaining a personal computer and software in a shop environment requires extra precautionary
measures. See your owner’s manual for maintenance procedures specific to your computer.
Follow the guidelines listed in the table below.
Guidelines: Maintaining the PC in a Shop Environment
 Keep the computer and peripherals (mouse, keyboard, external drive, printer, etc.) out of direct sunlight,
away from sources of heat, and in a relatively clean environment (i.e., not right next to the foundry room).
 Keep liquids (soda, coffee, cutting fluid, grease) away from the computer and peripherals.
 Keep oil, grease, metal chips and excess dust away from the computer, keyboard and other peripherals.
Consider erecting a clear plastic shield between the computer and the lathe to keep chips off the
computer.
 Use grounded three-prong outlets for the computer and peripherals. Take precautions against current
overload. A line-surge suppression unit can be purchased at your local computer store to help alleviate
this problem.
 Don’t block the vent holes in the computer or drives; they are required for air circulation.

‎4 Maintaining the BenchTurn 7000


‎4.5 Maintaining the PC in a Shop Environment 43
5. Using the Control Software
The control software, CNCBase or CNCMotion, is used to control all aspects of machine function, to edit
and run NC programs, and to verify those programs in simulation mode. CNCMotion additionally
provides 3D simulation of the turning process.
For installation and configuration instructions, see ‎3.3 Installing the Software.
This section presents the following information:
Section Contents: Control Software
Task Section Page
Launching the Control Software ‎5.1 44
Selecting Online or Simulation Mode ‎5.2 46
Software Interface ‎5.3 47
Homing ‎5.4 65
Opening an NC File ‎5.5 66
Verifying an NC Program ‎5.6 67
Running an NC Program ‎5.7 73
Accessing Help ‎5.8 75

5.1. LAUNCHING THE CONTROL SOFTWARE


CNCBase/Motion can be used with or without the turning center attached to the computer. If you
intend to use the turning center, follow the safety guidelines below before launching the software.
1. The safety door should be closed, and the Emergency Stop button released, before
launching the software in on-line mode.

2. The turning center must be powered up and connected to the computer before
launching the software in on-line mode.
Safety
3. Review the complete safety guidelines in Chapter ‎1, pg. 1. 0 .

Follow this procedure to launch the control software.


Procedure: Launching the Control Software
1. If you intend to use the turning center, follow the safety information above.

2. Click the Windows Start button .

3. Click All Programs.

4. Locate and click the CNCBase/Motion for Intelitek CNC folder.

‎5 Using the Control Software


‎5.1 Launching the Control Software 44
5. Click CNCBase/Motion for Intelitek CNC

6. Click No if the message below displays. This message is only displayed the first time the software is run
after installation. 0 .

The software opens.

‎5 Using the Control Software


‎5.1 Launching the Control Software 45
5.2. SELECTING ONLINE OR SIMULATION MODE
Both CNCBase and CNCMotion can be run in two modes:
 On-line mode
For use when controlling the BenchTurn 7000.

1. The safety door should be closed, and the Emergency Stop button
released, before launching the software in on-line mode.

2. The turning center must be powered up and connected to the


computer before launching the software in on-line mode.
Safety

 Simulation mode
For use without the BenchTurn 7000 connected. In simulation mode, you can write, edit, and
verify NC programs as in on-line mode, but you cannot control or send NC programs to the
BenchTurn 7000.

Follow the procedure below to toggle between on-line and simulation mode.
Procedure: Selecting On-line or Simulation Mode
1. Launch CNCBase/Motion.

2. Click Setup in the main menu.

The two modes are listed at the top of the Setup menu. The mode that is currently active is checked.

3. To change the mode, click the unchecked mode.

A confirmation message is displayed.

‎5 Using the Control Software


‎5.2 Selecting Online or Simulation Mode 46
4. Click Yes. 0 .

The software restarts and opens in the selected mode.

5.3. SOFTWARE INTERFACE


You should become familiar with the main parts of the control software screen prior to use.

This section provides information on the following screen areas:


Section Contents: The Software Interface
Name Section Page
Toolbars ‎5.3.1 48
Information Areas ‎5.3.2 56
Program Editing Window ‎5.3.3 60
Control Panels ‎5.3.4 62

‎5 Using the Control Software


‎5.3 Software Interface 47
5.3.1. Toolbars
This section includes information on the following toolbars:
Section Content: Toolbars
Toolbar Section Page
Main Menu ‎5.3.1.1 48
Standard Toolbar ‎5.3.1.2 52
Turret control toolbar ‎5.3.1.3 54
Outputs toolbar ‎5.3.1.4 56
Inputs toolbar ‎5.3.1.5 56

5.3.1.1. Main Menu


The Main Menu contains all of the menu commands. For an explanation of each menu and its relative
commands, refer to the online help.

The table below summarizes all options listed in the Main Menu.
Info Table: Main Menu

Menu Option Function

File New Opens a new, blank Program Editing window.


See ‎5.3.3 Program Editing Window, pg. 60
Open Opens an NC program that was saved previously.
See ‎5.5 Opening an NC File, pg. 66
Close Closes the currently active Program Editing window.

Save Saves the program in the currently active Program Editing window,
using its current name.
Save as Saves the program in the currently active Program Editing window,
under a new name that you specify.
Print Prints the NC program in the currently active Program Editing
window.
Print setup Opens the Print Setup window in which you can set up a printer for
printing NC programs.
Choose machine For selecting which NC machine configuration is in use.
See ‎3.3.5 Configuring the Software, pg. 27
Save a copy of current Saves the current machine configuration, so that you can reload it
configuration later.
See ‎3.3.5 Configuring the Software, pg. 27

‎5 Using the Control Software


‎5.3 Software Interface 48
Exit Closes the software. If you have made any unsaved changes to an NC
program, you will be asked for confirmation before closing.
Edit Undo Undo the most recent editing command.

Redo Redo the most recent Undo command.

Cut Cut selected text to the clipboard.

Copy Copy selected text to the clipboard.

Paste Paste text from the clipboard into the current NC program.

Clear Delete selected text.

Delete Line Delete the line the cursor is currently on.

Find Locate a sequence of characters in an NC program.

Replace Replace one sequence of characters with another, one or more


times.
Goto Line Jump to a particular line in the NC program.
Note: The Goto Line does not reference the "N" code in the NC file.
The line number is counted starting at one and increments in steps of
one, regardless of the numbering used in the NC code.
Renumber Modify or insert N codes in an NC program.

Lock Lock or unlock the Program Edit Window to prevent or allow


modification to the NC program.
Select Font Change the font currently being used in the Program Editing window.

View Actual Position Open or close the Actual Position Window.


See ‎5.3.2.2 Actual Position Panel, pg. 58.
Absolute Position Open or close the Absolute Position Window.
See ‎5.3.2.3 Absolute Position Panel, pg. 59.
Machine Info Open or close the Machine Info panel.
See ‎5.3.2.4 Machine Info Panel, pg. 59.
Jog Control Open or close the Jog Control Panel.
See ‎5.3.4.1 The Jog Control Panel, pg. 62.
Operator Panel Open or close the Operator Panel.
See ‎5.3.4.2 The Operator Panel, pg. 64.
Verify Window Open or close the Verify Window.
See ‎5.6 Verifying an NC Program, pg. 67.
Toolbars Open or close one of the toolbars.

‎5 Using the Control Software


‎5.3 Software Interface 49
Program Run/Continue Start or resume running the current NC program.
See ‎5.7 Running an NC Program, pg. 73.
Verify Verify the current NC program.
See ‎5.6 Verifying an NC Program, pg. 67.
Estimate Runtime Estimate the runtime of the current NC program.

Pause Pause the NC program after the current line of NC code finishes
executing. Spindle continues to turn.
Feedhold Immediately pauses the NC program. Stops movement of all axes
while spindle continues to turn.
Stop Immediately halts the currently running NC program. Stops both axes
movement and spindle.
Tool Setup Library Define tools. See ‎5.3.1.3 Tool
Menu and Turret
Select Tool Select a tool for use. Control Toolbar, pg.
54.
Select Tool From Select a tool to use from a menu.

Configure Turret Assign a tool to each turret station.

Operate Turret Select a turret position to move into cutting


position.
Setup On-line Change from simulation mode to on-line.

Simulation Click to change from on-line mode to simulation mode.

Set Position Establish the X and Z position of the tool.


See ‎5.4 Homing, pg. 65.
Zero Position Set the current tool position to X=0,Z=0.
See ‎5.4 Homing, pg. 65.
Jog Settings Establish speed and distance parameters for jogging the tool.
See ‎5.3.4.1 The Jog Control Panel, pg. 62.
Run Settings Establish options for running an NC part program.
See ‎5.7 Running an NC Program, pg. 73.
Verify Settings Establish options for verifying an NC part program.
See ‎6.7 Verifying the Program, pg. 86.
Set/Check Home Establish or check a fixed known position on the machine.
See ‎5.4 Homing, pg. 65.
Goto Position Automatically move the tool to a specific set of coordinates.

Units Select Inch or Metric units of measure.

‎5 Using the Control Software


‎5.3 Software Interface 50
Coordinate Systems Define multiple coordinate systems.

Offsets Modify the table of Offset values used for certain NC codes.

Spindle Specify a spindle speed if you have not used an S code in your NC
program.
Backlash Define the amount of play in the turning screws.

Soft Limits Establish and configure software limits for each axis.

Preferences Establish defaults for saving files and security features.

Window Run and Edit Screen Loads the preset display configuration for running NC programs:
Operator panel, Verify window, Machine info.
Verify Screen Loads the preset display configuration for verifying NC programs:
Verify window, Machine info.
Program Screen Select how multiple NC program windows display: tiled or cascading.

Close all windows Closes all software panels and windows, including NC programs.

Help Help Opens the built-in Help system.

Tip of the day Shows a specific tip to help you take more advantage of the software.

About Shows software version and copyright information.

‎5 Using the Control Software


‎5.3 Software Interface 51
5.3.1.2. Standard Toolbar
The Standard Toolbar provides easy access to the most often used commands available in the software.
The Standard Toolbar includes the buttons below:

When using CNCMotion, the following additional buttons are present:

Info Table: Standard Toolbar

Icon Name Function

New
Opens a new NC part program file.

Open Opens an existing NC part program file.

Save Saves the current NC part program file to disk or drive.

Verify Verifies the program.

Runs the current NC part program, and recommences the program after a
Run
pause.

Causes the currently running program to pause once the current block in the
Pause NC program is complete. The program will continue from the next line once
the operator resumes operation.
Pauses the currently running program immediately, even if the current block
in the NC program has not been fully executed. The spindle continues
Feedhold
spinning. The program will continue from the point at which it stopped once
the operator resumes operation.

Stop Halts the currently running NC part program.

Home Opens the Machine Home window.

Available in CNCMotion Only

Show 3D
Toggles the 3D display on and off.
Image

Redirect Initiates camera redirection: after clicking this icon, click any point on the 3D
Camera image to center the camera on that point.
Initiates camera following mode: after clicking this icon, click any point on
Follow Me
the 3D image to center the camera on that point. If that point moves during
Camera
simulation, the camera will readjust to keep that point at the center of focus.
‎5 Using the Control Software
‎5.3 Software Interface 52
Initiates image dragging mode: after clicking this icon, click and drag the 3D
Drag Image
image to reposition it within the window.
Saves the current viewing angle and position of the 3D window. The next
Save Camera
time you open CNCBase/Motion, that saved view will be restored
Position
automatically.

Send Tool to Moves the tool to the workpiece origin immediately. (Available in Simulation
Origin mode only.)

Send Tool to Displays a cursor: click any point on the workpiece, and the tool will move
Point directly to that point. (Available in Simulation mode only.)

Reset
Returns the workpiece to its original uncut form in the 3D window.
Workpiece

‎5 Using the Control Software


‎5.3 Software Interface 53
5.3.1.3. Tool Menu and Turret Control Toolbar
The configuration of the tools and the default 4-position tool turret is performed in the windows listed
below, all accessible from the Tools menu in the Main Menu. Some are also accessible from the Turret
Control Toolbar.

Info Table: Tool Menu and Turret Control Toolbar

Menu Turret Function Window


Name Control
Toolbar
Icon

Tool Setup -
Allows you to
Library specify the details
of up to twenty
tools to be used.
Specifications
include tool type
(shape), material,
radius, angle, and
more.

Click any tool listed in the left panel, edit its specifications, and
click OK to save.
Configure
Turret
Opens the
Configure Turret
window. In this
window you specify
which tool is
positioned in each
of the tool turret
locations.

The tools must first


be defined using
the Setup Tool Select a tool station from the Tool Station Use drop-down list.
Library window. Select the tool that is positioned in that station from the Tool in
This Station drop-down list.

‎5 Using the Control Software


‎5.3 Software Interface 54
Select Tool
- Opens the Select
for Use Tool for Use
window.
This window allows
you to select a
different tool to be
moved to turning
position.

The Tool drop-down list lists all tools defined in Configure turret
window. If you select a tool that is:
 Currently configured within the tool turret (in the
Configure Turret window), then click Change Tool. The
tool turret will reposition itself so that the selected tool
will now be in the machining position.
 Not configured within the tool turret, click Select Tool.
The Configure Turret window is displayed.
Select Tool
Indicates which tool
From station is currently
in the turning
position, and allows
you to select a
different station to
be moved to The number displayed in the toolbar icon indicates which station
turning position. is at turning position. You can select a different station to be
moved to turning position.

Operate
Opens the Operate
Turret Turret window. Use
this window to
command the
turret to change
position.

Change which station is in the turning position using the + and –


buttons.

‎5 Using the Control Software


‎5.3 Software Interface 55
5.3.1.4. Outputs Toolbar
The Outputs toolbar is an active toolbar. It provides switches to supply power to the spindle, and to the
Accessory outlets on the right side of the BenchTurn 7000. Switches for Robotic outputs 1 through 4 are
also provided. Power is ON when the buttons are depressed.

Info Table: Outputs Toolbar

Icon Name Function


Spindle Output Turns the spindle on/off.

Output 1 to Output 4 Clicking a numbered Output button provides


24V power to the output of that number on
the right side of the machine.

5.3.1.5. lnputs Toolbar


The Inputs Toolbar is an inactive toolbar. It provides information only on the state of the Emergency
Stop, the safety door, and the limit switches. Indicators for robotic inputs 1, 2, 3, and 4 are also
provided. An input is active (on) when the button is depressed.

Info Table: Inputs Toolbar

Icon Name Function


E-Stop Indicates when the Emergency Stop is
pressed.

Safety Door Indicates when the safety door is open.

Negative Limit Indicates when the negative X-axis proximity


switch is on.
Positive Limit Indicates when the positive X-axis proximity
switch is on.
Robot Inputs 1 to 4 Indicates when an input is received at one of
the four robot input ports.

5.3.2. Information Areas


This section presents the following information:
Section Contents: Information Areas
Item Section Page
Status Bar ‎5.3.2.1 57
Actual Position Panel ‎5.3.2.2 58
Absolute Position Panel ‎5.3.2.3 59

‎5 Using the Control Software


‎5.3 Software Interface 56
Machine Info Panel ‎5.3.2.4 59

5.3.2.1. Status Bar


The Status bar provides status information on the NC program in progress, the software, and the
computer.
Info Table: Status Bar

Description
Item

Left Side Provides information about the currently selected function.

FR Shows the current feed rate.


SS Shows the current spindle speed.
SL Shows spindle load.
AP Shows relative air pressure.
QS Shows queue status.
Provides various status information.
Right Side

When the indicator is dimmed, the function is in the off condition. For example:

The program has been modified The program has not been modified.

Homed The turning center is homed / not homed.


CAP The Caps Lock key is activated / not activated.
NUM The Num Lock key is activated / not activated.
(16: 106) The current line and total number of lines in the program.
LOCK The current NC part program is locked for editing / not locked for editing.
MOD The current NC part program has been modified / has not been modified.
(5:07 PM) The current time according to your computer.

‎5 Using the Control Software


‎5.3 Software Interface 57
5.3.2.2. Actual Position Panel
The Actual Position panel provides information on the current X and Z coordinates of the tool position.
The units of measure in the Actual Position window are determined by the Units command under the
Set-up menu.

The Actual Position Window displays the current position of the machining tool in four coordinate
systems.
Info Table: Absolute Position Panel

Column Displays
Absolute The position of the tool in the current coordinate system.
Relative The position of the tool relative to the Work coordinates.
Machine The position of the tool relative to the machine's home position.
Dist to go The distance remaining until the end of the current line of code (if a program or NC code is
currently running).
Right clicking the Actual Position window provides other options such as Set Position, Zero position,
Goto and Hide.

‎5 Using the Control Software


‎5.3 Software Interface 58
5.3.2.3. Absolute Position Panel
The Absolute Position Window displays the absolute position of the tool in the currently selected
coordinate system. This information is identical to the information contained in the first column of the
Actual Position Window. The Absolute Position is often the only coordinate information a user is
interested in, and is therefore also available independently.

5.3.2.4. Machine Info Panel


The Machine Info panel provides information on the current tool, tool reference point, feed rate, spindle
speed, number of passes made, coordinate system in use, as well as the current block and total number
of blocks in the program.

When a part program is running, the Machine Info panel also provides a dynamic display of the elapsed
machining time and highlights the block of code that is currently being executed.

The Machine Info panel includes the following information.


Info Table: Machine Info Panel

Description
Item
Shows the tool number currently in use.

Shows whether the tool is referenced according to its Tool Radius


Center (TRC), or according to its Theoretical Sharp Corner (TSC).
Shows the current feed rate, in inches/min or mm/min.

Shows the current spindle speed, in RPM.

Shows how many times the program has been run.

Current work coordinates.

Shows the program line number currently being executed, and the
total number of program lines.
Counts how many parts have been made.

‎5 Using the Control Software


‎5.3 Software Interface 59
5.3.3. Program Editing Window
Whenever you open an NC part program file, it is displayed in its own Edit window. You can have
multiple Edit windows open at a time.
A sample Edit window is shown below.

By default, the Edit window is locked, meaning that you cannot edit the program within it. A locked Edit
window has a grey background, and an unlocked Edit window has a white background.

‎5 Using the Control Software


‎5.3 Software Interface 60
Follow this procedure to unlock an NC program for editing.
Procedure: Unlocking an NC Program for Editing
1. Click Edit | Lock in the Main Menu to remove the lock. Alternatively, press Ctrl-L on your keyboard. 0 .

The Edit window’s background color changes to white. Editing is now enabled.

‎5 Using the Control Software


‎5.3 Software Interface 61
5.3.4. Control Panels
The BenchTurn 7000 does not have any controls on the machine itself, other than the Emergency Stop
and door release buttons. All control operations are performed from the control software.
There are two control panels:
 The Jog Control panel allows you to move the tool in both the X and Z directions, and to control
the speed and step size of that motion.
 The Operator panel allows you to run programs, control how programs run, and control the feed
rate, and spindle speed overrides.
This section presents the following information:
Section Contents: Control Panels
Section Name Page
‎5.3.4.1 The Jog Control Panel 62
‎5.3.4.2 The Operator Panel 64

5.3.4.1. The Jog Control Panel


The Jog Control panel allows you to move the tool in both the X and Z directions, and to control the
speed and step size of that motion.

‎5 Using the Control Software


‎5.3 Software Interface 62
The controls on the Jog Panel are explained below.
Info Table: Jog Control Panel

Pressing the X and Z buttons moves the tool in the X and Z directions,
positively or negatively.

You can also use the arrow buttons on your keyboard, when the
button is active.
The X and Z controls are not displayed when the handwheel accessory is
in use.

Click to allow the arrow keys on the keyboard to control jog motion.
Unclick to prevent the arrow keys from controlling jog motion.
This button is automatically activated after clicking one of the X and Z
buttons.
With a handwheel connected:
Click on the green button to activate the handwheel. The arrow
buttons will disappear.
Click again to deactivate the handwheel and restore the arrow
buttons.
To deactivate the jog controls, click anywhere in the control
software window other than the jog panel.
The axis will move at the speed selected in the Speed area. Units are in
inches/min, or mm/min.
You can change these preset speeds in the Settings window, accessed by
clicking Setup | Jog Settings in the Main Menu.

Sets the step size, in inches or mm.


If one of these buttons is activated, each
time you press an X or Z button the axis
will make a single motion determined by
the step size.
You can change these preset step sizes in
the Settings window, accessed by clicking
Setup | Jog Settings in the Main Menu.
Sets the jog motion to continuous. If this
button is activated, holding down an X or
Z button will cause the axis to move
continuously at the speed set in the
Speed area.

‎5 Using the Control Software


‎5.3 Software Interface 63
5.3.4.2. The Operator Panel
The Operator panel allows you to run programs, control how programs run, and control the feed rate
and spindle speed overrides.

The controls on the Operator Panel are explained below.


Info Table: Operator Panel

Runs the program, and recommences the program after a pause.

Halts the currently running NC part program.

Pauses the currently running program immediately, even if the current block in
the NC program has not been fully executed. The spindle continues spinning. The
program will continue from the point at which it stopped once the operator
resumes operation.

Sets the feed rate override. The actual feed rate while turning will be calculated as
the feed rate specified in the NC program multiplied by the percentage specified
here.

Sets the spindle speed override. The actual spindle speed while turning will be
calculated as the spindle speed specified in the NC program multiplied by the
percentage specified here.

Optional Skip
Allows you to execute or ignore any optional skips (M00) you have embedded in
the NC program.
Optional Stop
Allows you to execute or ignore any optional stops (M01) you have embedded in
the NC program.

‎5 Using the Control Software


‎5.3 Software Interface 64
Single Step
Causes the NC program to pause after each block is executed. This allows you to
check each step of the cutting operation.

5.4. HOMING
The machine’s Home position is a predefined position. The turning center uses this point as a reference
for all machine coordinate movements. This allows you to use the Soft Limits and Coordinate Systems
commands (under the Setup Menu) to move the turning center consistently to the same location.
Follow this procedure to home the machine.
Procedure: Homing

1. Either:

 Click Setup | Set/Check Home in the Main Menu, or

 Press Ctrl-H on your keyboard, or

 Click the Home button in the Standard Toolbar.


The Machine Home / Reference Point window is displayed.

‎5 Using the Control Software


‎5.4 Homing 65
2. Click: 0 .

 Home to send the machine to the home position at regular speed. (Recommended)
 Quick Home to send the tool to the home position at a rapid speed. Use this option only if you are sure
that doing so is safe.
The machine will move to its home position.

5.5. OPENING AN NC FILE


The control software allows NC files to be saved and then opened again at a later time. In addition, the
control software is supplied with a number of sample NC files.
Follow this procedure to open a sample NC file.
Procedure: Opening a Sample NC File
1. Launch CNCBase/Motion (see ‎5.1 Launching the Control Software, pg. 44).

2. Click File | Open in the Main Menu.

The Open window is displayed.

3. Select the program and click Open. 0 .

‎5 Using the Control Software


‎5.5 Opening an NC File 66
The NC program is displayed.

5.6. VERIFYING AN NC PROGRAM


Tool path verification allows you to check for programming errors before actually running the part
program on the Turning Center. The Verify Window displays a 2D simulation of your part program.

This section presents the following information:


Section Contents: Verify Window
Section Name Page
‎5.6.1 Launching Verification 68
‎5.6.2 Modifying Run Settings 69
‎5.6.3 Configuring Verify Settings 71
‎5.6.4 Using the Verify Window Controls 73

‎5 Using the Control Software


‎5.6 Verifying an NC Program 67
5.6.1. Launching Verification
Follow the procedure below to launch verification.
Procedure: Launching Verification

1. Either click the Verify icon on the Standard Toolbar, or click Program | Verify on the Main Menu, or
press F6 on your keyboard. .

The Verify Program window is displayed.

‎5 Using the Control Software


‎5.6 Verifying an NC Program 68
2. Click: 0 .

 Verify Program to commence verification in the Verify window.


 Run Settings to open the Run Settings window. The settings here specify how the program will
run. See ‎5.6.2 Modifying Run Settings, pg. 69.

 Verify Settings to open the Verify Settings window. The settings here specify how the verification
is displayed. See ‎5.6.3 Configuring Verify Settings, pg. 71.

5.6.2. Modifying Run Settings


The settings in the Run Settings window specify how the program will run.

‎5 Using the Control Software


‎5.6 Verifying an NC Program 69
The Run Settings window is accessed by clicking Run Settings on the Verify Program window.

The settings available in this window are described below.


Info Table: Run Settings Window

Single Step Allows you to run the program one line at a time, pausing after each line is

executed. (Click the Resume button to continue program operation.)


Optional Skip Allows you to execute or ignore any optional skips (M00) you have embedded in
the NC program.
Optional Stop Allows you to execute or ignore any optional stops (M01) you have embedded in
the NC program.

Enable Subprograms Must be checked if the program uses subprograms. If this option is disabled, M98
(Call to subprogram) commands generate an error.
Arc Centers Incremental Specifies the Fanuc mode as the default mode for programming arc centers, in
which arc centers are always incremental.
When this box is unchecked, the default mode is EIA-274, in which arc centers
follow the general programming mode: absolute when the mode is absolute, and
incremental when the mode is incremental.
To override the default, place the Incremental Arc Centers (%) or Absolute Arc
Centers ($) code in the first line of the NC file.
Treat Warnings as Errors When this item is checked, any warning will halt the program, resulting in a
program stop. When motion is stopped, all outputs are turned off.
This command is used for special applications, such as laser welding, where you
do not want any unexpected pauses in the program execution.
Restore Unit Mode When Restores the original unit mode (inches or metric) regardless of the units specified
Done in the current NC program.
Check this box if you normally work in one unit mode (inch or metric) but would
like to run a program in another mode without disrupting your default settings.
Verify While Running When this box is checked, the Verify window will display the program verification
while the program is running.

‎5 Using the Control Software


‎5.6 Verifying an NC Program 70
5.6.3. Configuring Verify Settings
The settings in the Verify Settings window specify how the verification is displayed
The Verify Settings window is accessed by clicking Verify Settings on the Verify Program window.

The Verify Settings window consists of three tabs.

The settings available in this window are described below, arranged by tab.
Info Table: Verify Settings Window

Display Tab

Use the Colors controls to choose the colors of the background,


stock, and tool in the Verify Window.

Use the Zoom + and - controls to alter the displayed size of the
workpiece in the Verify window.

Use the repositioning controls to control the vertical and horizontal

positioning of the workpiece in the Verify window. The center


button centers the tool in the window.

‎5 Using the Control Software


‎5.6 Verifying an NC Program 71
All changes are reflected in the Preview window.

Use the Verify Speed control to alter the speed at which the verify
program will be executed in the Verify Window. If you would like to
view the verify program in slow motion, move the slider to the left. If
you would like to view the verify program at a faster speed, move
the slider to the right.
When Auto Refresh is checked, whenever you resize the Verify
window the verification will be performed immediately,
automatically.
Tool Position Tab

Specifies the X-axis and Z-axis location of the initial tool position,
relative to the origin specified on the Stock tab.

Stock Tab

Specifies the length and diameter of the stock to be used. The length
specified must exclude the length of the stock held within the chuck.

Moves the origin of the stock in relation to the center of the chuck
face.

Check the Show Chuck and Origin Marker checkbox to make the
chuck and origin symbol visible in the Verify simulation.

‎5 Using the Control Software


‎5.6 Verifying an NC Program 72
5.6.4. Using the Verify Window Controls
The buttons on the toolbar inside the Verify window provide quick access to the display settings.

Info Table: Verify Window Controls

Replays the verification process.

Stops the verification process.

Zooms in/out.

Repositions the view.

Centers the view.

Opens the Verify Settings window.

Resets the workpiece in the Verification window.

Speeds up/slows down the verification process.

5.7. RUNNING AN NC PROGRAM


This section provides instructions on how to run an NC program.

Before running an NC program for the first time, you are advised to follow the tutorial
presented in chapter ‎6 Tutorial: Turning a Sample Part, pg. 76.

Safety

Before running the program:


1. Close the safety door.

2. Wear safety glasses.


Safety 3. Review all other safety precautions in ‎1 Safety Guidelines, pg. 1.

4. Be prepared to press the Emergency Stop button on the machine, if anything goes
wrong. 0 .

‎5 Using the Control Software


‎5.7 Running an NC Program 73
Follow this procedure to run the program:
Procedure: Running the Program
1. Follow the safety instructions presented above.

2. Click Program | Run/Continue in the Main Menu.

The Run Program window is displayed.

3. Ensure that Start at Line is set to line 1.

4. Click:

 Run Program to begin running your program.


 Run Settings to open the Run Settings window. The settings here specify how the program will
run. See ‎5.6.2 Modifying Run Settings, pg. 69.
5. Once the program has ended, press the Emergency button, open the safety door, and remove the finished
part. 0 .

‎5 Using the Control Software


‎5.7 Running an NC Program 74
5.8. ACCESSING HELP
The comprehensive online help can be accessed in the following ways from within the software.
Info Table: Accessing Help
Press F1 on your keyboard.
Click Help in the main menu, and then select Help.

Click the Help button located on many of the windows to open the relevant Help page.

‎5 Using the Control Software


‎5.8 Accessing Help 75
6. Tutorial: Turning a Sample Part
This section provides detailed instructions for turning a simple sample part, covering the entire process
from NC program verification through turning a complete part on the BenchMill 7000. The tutorial will
follow the procedure below.
Procedure Outline: Tutorial
No. Step Section Page
1 Review safety procedures. ‎6.1 76
2 Prepare tools and materials required. ‎6.2 76
3 Open the sample NC file. ‎6.3 77
4 Determine the stock size required to turn the part. ‎6.4 78
5 Adjust the verification simulation settings. ‎6.5 79
6 Define the tool to be used. ‎6.6 85
7 Verify the program. ‎6.7 86
8 Test the program without a workpiece in place. ‎6.8 87
9 Mount the workpiece. ‎6.9 93
10 Run the program. ‎6.10 96

6.1. REVIEWING SAFETY PROCEDURES


Like any other power tool, the BenchTurn Turning Center is a potentially dangerous machine if operated
in a careless manner. The importance of safely operating the BenchTurn Turning Center, including the
need for protection against personal injury and the prevention of damage to the equipment, cannot be
stressed enough.

Ensure that you are familiar with all safety guidelines in ‎1 Safety Guidelines, pg. 1, before
continuing.

Safety

6.2. PREPARING TOOLS AND MATERIALS


For this tutorial you will require the following:
Tools and Materials List: Tutorial
 One 3" (length) x 0.75" (diameter) cylindrical piece of machinable brass, aluminum, Delrin, or wax
 A left-hand profiling tool

‎6 Tutorial: Turning a Sample Part


‎6.2 Preparing Tools and Materials 76
6.3. OPENING THE SAMPLE NC FILE
In this step you will launch CNCBase/Motion and will open a sample NC file.
Follow the procedure below to open a sample NC file.
Procedure: Opening a Sample NC File
1. Launch CNCBase/Motion. See ‎5.1 Launching the Control Software, pg. 44.

2. Click File | Open in the Main Menu.

The Open window is displayed.

3. Select Contour_IMP.NC and click Open. 0 .

‎6 Tutorial: Turning a Sample Part


‎6.3 Opening the Sample NC File 77
The NC program is displayed. The grey background indicates that the program is currently locked for
editing.

6.4. DETERMINING THE STOCK SIZE


For the Verify window to accurately simulate the NC program, you will have to specify the stock size
before running the verification.
Turning stock is defined by two variables:
 Its diameter (which extends in the X, or vertical, direction)
 Its length (which extends in the Z, or horizontal direction)
In this step you will only calculate required dimensions; you will not enter them into the software.
Follow the procedure below to determine the stock size.
Procedure: Determining Stock Size
The procedure makes reference to the graphic below. The yellow outline shows the stock, and the blue shape
shows the final part.

‎6 Tutorial: Turning a Sample Part


‎6.4 Determining the Stock Size 78
No. Description Letter Example
Indicator Value

1 Examine your part drawing (indicated in blue in the picture) and A 0.73”
determine the diameter of the widest section of the part.
2 Round that value up to the next available stock diameter. This will be B 0.75”
the diameter (X value) of your stock. For example, if the maximum
diameter of the part is 0.73 inch, you might select a workpiece of 0.75
inch diameter, if that is a standard available diameter.
3 Examine your part drawing and determine the length of the part. E 1.91”

4 Add an extra 0.5 inches to that length to provide extra length by which C 0.5”
the chuck can hold the workpiece.

5 Add a short additional length so that the tool will not have to cut right D 0.5”
up to the point where the workpiece meets the chuck, risking collision.
In this example a value of 0.5” is used.
6 Round the total calculated value up to the next available stock length. G 3.0”
For example, if the sample part will be 1.91 inches long, we add 0.5
inches for the chuck length, and add another 0.5 inches for a safe
turning distance from the chuck, giving a required length of 2.91
inches. We then round that up to 3.0 inches, if that is the next
available stock length.

6.5. CONFIGURING THE VERIFY SETTINGS


Before you run the verification simulation, you must adjust the verification settings so that the
verification simulation will accurately simulate the tool-workpiece combination you will be using.
This section provides instructions for configuring the Verify Settings.
Procedure Outline: Configuring Verify Settings
No. Step Section Page
1 Open the Verify Settings Window. ‎6.5.1 80
2 Adjust the display settings. ‎6.5.2 81
3 Set the position from which the tool must start. ‎6.5.3 81
4 Specify the size of the stock and location of the origin from which measurements ‎6.5.4 83
are taken.

‎6 Tutorial: Turning a Sample Part


‎6.5 Configuring the Verify Settings 79
6.5.1. Accessing the Verify Settings Window
Follow the procedure below to access the Verify Settings window.
Procedure: Accessing the Verify Settings Window
1. Check to see if the Verify window, shown below, is currently displayed on the CNCBase/Motion screen.

If the Verify window is not displayed, click View, and click Verify Window to open it.

2. Click the Verify Settings button in the Verify window.

‎6 Tutorial: Turning a Sample Part


‎6.5 Configuring the Verify Settings 80
The Verify Settings window is displayed.

6.5.2. Adjusting the Display Settings


Follow the procedure below to adjust the display settings.
Procedure: Adjusting the Display Settings
1. Click the Display tab. This tab is used to specify the appearance of the Verify animation.

2. Make all required settings. See ‎5.6.3 Configuring Verify Settings, pg. 71.

6.5.3. Setting the Initial Tool Position


In this step you will specify the tool’s initial location in the Verify simulation.
In our example, we would like the tool to start at the position as shown below.

The symbol indicates the program origin (X0,Z0).


‎6 Tutorial: Turning a Sample Part
‎6.5 Configuring the Verify Settings 81
The tool starting position is thus:
 Z = 2.5”
 X = 0.5”
Follow the procedure below to set the tool’s initial position.
Procedure: Setting the Initial Tool Position
1. Click the Tool Position tab. This tab is used to specify the initial tool position relative to the origin, which
we will later define as the point along the center of the workpiece, 0.5” from the chuck, as indicated by
the symbol below.

2. Set the Z value to 2.5.

3. Set the X value to 0.5.

The initial tool position is now set.

‎6 Tutorial: Turning a Sample Part


‎6.5 Configuring the Verify Settings 82
6.5.4. Setting the Stock Dimensions and Origin
You will next specify the length and diameter of the stock, and then set the origin of the axes to be
referenced.
It is important to note that the stock length refers to the length of the stock outside the chuck. In this
example, that length is 2.5 inches as shown in the highlighted zone below.

‎6 Tutorial: Turning a Sample Part


‎6.5 Configuring the Verify Settings 83
Follow the procedure below to set stock dimensions and origins.
Procedure: Setting Stock Dimensions and Origins
1. Select the Stock tab.

2. Enter the stock dimensions for the contour_imp.nc part program. The stock dimensions define the
dimensions of the stock outside the chuck.

 Z=2.5"
 X=0.75”

3. Set the Origin of Stock to

 Z=0.5"
 X=0"

4. Check the Show Chuck and Origin Marker checkbox to make the chuck and origin symbol visible in the
Verify simulation.

5. Select OK.

The window closes, and your changes are applied to the workpiece in the Verify Window.

‎6 Tutorial: Turning a Sample Part


‎6.5 Configuring the Verify Settings 84
6.6. DEFINING THE TOOL
You will use a diamond shaped profiling tool to turn this part. You will use the parameters for this
particular tool for the tool path verification as well.
You will first define the tool and will then specify that tool as the tool to be used during verification.
Follow the procedure below to define the tool for verification.
Procedure: Defining the Tool
1. Click Tools | Select Setup Library in the Main Menu.

The Setup Tool Library window is displayed. There are already a number of tools defined.

2. Select Tool 01, a left hand diamond profiling tool with outside orientation.

3. Check that the settings for Tool 01 are as shown below. If they are not, modify the settings to match the
settings shown.

4. Click OK to close the Setup Tool Library.

5. Click Tools | Select Tool in the Main Menu. The Select Tool for Use window is displayed

‎6 Tutorial: Turning a Sample Part


‎6.6 Defining the Tool 85
6. Select the tool you have just defined, T01, from the Tool drop-down list.

7. Click Select Tool.

8. Tool 01 is now selected.

6.7. VERIFYING THE PROGRAM


Tool path verification allows you to check for programming errors before actually running the part
program on the Turning Center.
Follow the procedure below to verify the program.
Procedure: Verifying the Program

1. Click Program | Verify in the Main Menu or click the Verify icon in the Standard Toolbar.

2. Ensure that Start at Line is set to 1. This specifies that the program should be run from the first line
onward.

3. Click Verify Program.

‎6 Tutorial: Turning a Sample Part


‎6.7 Verifying the Program 86
In the Verify window, the cutting tool you specified earlier is now displayed at the initial position you
specified.

During verification, a Pause message may be displayed, either because of a programmed pause or for a
tool change.

4. Press F5 or click to continue verification.

The program is verified. Upon completion the Normal Program Stop window is displayed.

5. Click OK. 0 .

6.8. PERFORMING A DRY RUN


The Verify process you have just completed verified that the path the tool is to follow will almost
certainly not result in any collisions with the workpiece or chuck.
An additional and very important step is to run your NC program on the hardware, without the
workpiece loaded. This is called a dry run. The dry run will ensure that all movements make sense and
that the tool is in no danger of striking any fixtures of the turning center.

‎6 Tutorial: Turning a Sample Part


‎6.8 Performing a Dry Run 87
Although the dry run is performed without the workpiece in place, you will need to load the workpiece
into the chuck initially so that you can set the point of origin correctly.

The Emergency button must be pressed in before starting this procedure.

Safety

Follow this procedure to perform a dry run.


Procedure: Performing a Dry Run
1. Ensure that the Emergency button on the machine is pressed in.

2. Ensure that your diamond profiling tool is in position 1 of the tool turret.

3. Mount the workpiece in the chuck. Your workpiece should be a cylindrical piece, 3.0" in length with 0.75"
diameter.

4. Locate the Operator panel on your screen.

If it is not displayed, click View | Operator Panel in the Main Menu.

5. Locate the Jog Control panel on your screen.

If it is not displayed, click View | Jog Control in the Main Menu.

‎6 Tutorial: Turning a Sample Part


‎6.8 Performing a Dry Run 88
6. Use the Jog Control panel to jog the tool to the front right corner of the workpiece. Note the following:

a. Click the arrow buttons, or press the arrows keys on your keyboard, to move the tool.

b. To make the tool move continuously while one of the X and Z buttons is pressed:

i. Click the Continuous Jog button in the Step Size area.

ii. Select the speed of motion in the Speed area.

c. To make the tool move a fixed distance each time a Z or X button is pressed, click one of the
numbered step sizes in the Step Size area.

d. To adjust the preset Speed and Step Size values:

i. Right-click anywhere in the Jog Control panel. A menu is displayed.

ii. Click Setup.

The Jog Settings window is displayed.

‎6 Tutorial: Turning a Sample Part


‎6.8 Performing a Dry Run 89
iii. Change the settings as required and click OK.

7. Once the tool has reached the workpiece corner as explained previously, click Setup | Set Position in the
Main Menu.

The Set Position window is displayed.

8. Set Z to 2 inches and X to 0.375 inches.

The position values in the Actual Position window will be set accordingly.

‎6 Tutorial: Turning a Sample Part


‎6.8 Performing a Dry Run 90
9. Jog the tool back and away from the workpiece.

10. Press the Emergency Stop button.

11. Open the safety door.

12. Remove the workpiece.

13. Close the safety door.

14. Release the Emergency Stop button.

15. Click Setup | Set/Check Home in the main menu, or press Ctrl-H on your keyboard.

The Machine Home / Reference Point window is displayed.

16. Click Home.

17. Click Program | Run/Continue in the Main Menu.

The Run Program window is displayed.

18. Click the Run Program button. The machine begins running the program.

‎6 Tutorial: Turning a Sample Part


‎6.8 Performing a Dry Run 91
Be prepared to press the Emergency Stop button on the turning
center if it looks like a collision may occur.

0 .
Safety

As the part program runs, observe the tool motion in relation to the chuck, other fixtures in the machine,
and the future location of the workpiece. Look for signs of a possible tool crash and be prepared to press
the Emergency Stop switch on the turning center. Edit the program as required. When you are satisfied
that the tool motions are correct, you can proceed to the next step – mounting the workpiece and turning
the part.

‎6 Tutorial: Turning a Sample Part


‎6.8 Performing a Dry Run 92
6.9. MOUNTING THE WORKPIECE
Once the NC program has been tested by performing a dry run, the actual part can be machined. First,
the workpiece must be mounted.
Follow this procedure to mount the workpiece.
Procedure: Mounting the Workpiece
1. Use the Jog Keypad to jog the tool far from chuck.

2. Push the Emergency Stop button.

3. Open the safety door.

4. Mount the 3.0" x 0.75" workpiece in the chuck. Take care to position the workpiece perpendicular to the
tool turret.

5. Close the safety door.

6. Release the Emergency Stop button.

7. Set the Spindle Override to its minimum setting in the Operator Panel.

8. Click the Spindle button on the Outputs Toolbar to turn on the spindle.

‎6 Tutorial: Turning a Sample Part


‎6.9 Mounting the Workpiece 93
9. Jog the tool slowly until it just touches the workpiece anywhere along the side (length) of the workpiece.
Follow the guidelines below:

a. Use Continuous mode (selected in the Step Zone area of the Jog Control panel) to move the tool
towards the workpiece, but stop motion before the tool is in range of touching the workpiece.

b. Once the tool is near the workpiece, switch to Step mode, using a small step size. Jog the tool, step by
step, until it touches the workpiece.

10. Once the tool is just touching the workpiece along its side, click Setup | Set Position in the Main Menu.

The Set Position window is displayed.

11. Set X to 0.375. Do not change the Z value at this stage.

12. Click OK.

13. Jog the tool slowly until it just touches the workpiece anywhere along its face. Follow the guidelines
provided in step ‎9 above.

‎6 Tutorial: Turning a Sample Part


‎6.9 Mounting the Workpiece 94
14. Once the tool is just touching the workpiece face, click Setup | Set Position in the Main Menu.

The Set Position window is displayed.

15. Set Z to 2. Do not change the X value at this stage.

16. Click OK.

17. Set the Spindle Override to 100% in the Operator Panel.

0 .

‎6 Tutorial: Turning a Sample Part


‎6.9 Mounting the Workpiece 95
6.10. RUNNING THE PROGRAM
Now that the program has been checked in the Verify window and you have performed a dry run, the
program can finally be run on an actual workpiece.
Before running the program:
1. Close the safety door.

2. Wear safety glasses.


Safety 3. Review all other safety precautions in ‎1 Safety Guidelines, pg. 1. Be prepared to
press the Emergency Stop button on the machine if anything goes wrong. 0 .

Follow this procedure to run the program:


Procedure: Running the Program
1. Follow the safety instructions presented above.

2. Click Program | Run/Continue in the Main Menu.

The Run Program window is displayed.

3. Ensure that Start at Line is set to line 1.

4. Click Run Program to begin running your program.

5. Once the program has ended, press the Emergency button, open the safety door, and remove the finished
part. 0 .

‎6 Tutorial: Turning a Sample Part


‎6.10 Running the Program 96
7. Basic CNC Programming
This section provides a basic reference for basic CNC programming.
This section presents the following information.
Section Contents: Basic CNC Programming
Section Name Page
‎7.1 Elements of an NC Part Program 97
‎7.2 General Programming Suggestions 98
‎7.3 Reviewing an NC Program 99
‎7.4 NC Codes 100

7.1. ELEMENTS OF AN NC PART PROGRAM


An NC program is composed of blocks (lines) of code. Each block contains a string of words. An NC word
is a code made up of an alphabetic character (called an address character) and a number (called a
parameter or value). Each line can end with a comment which is ignored while machining.
These concepts are illustrated in the graphic below.

There are many categories of address characters used in NC part programs for the BenchTurn Turning
Center (see ‎7.4 NC Codes, pg. 100).

‎7 Basic CNC Programming


‎7.1 Elements of an NC Part Program 97
Each block of NC code specifies the movement of the cutting tool on the turning center and a variety of
conditions that support it. For example, a block of NC code example below demonstrates the use:
N1G90G01X.5Z1.5F1
If the machine is currently set for inch units, the individual words in this block translate as:
Example Code
N1G90G01X.5Z1.5F1
N1 This is the block sequence number for the program. Block 1 is the first block in the program.
G90 Indicates absolute coordinates are used to define tool position.
G01 Specifies linear interpolation.
X.5 Specifies the X axis destination position as 0.5".
Z1.5 Specifies the Z axis destination position as 1.5". The cutting tool will move to the absolute
coordinate position (0.5,1.5).
F1 Specifies a feed rate of 1 inch per minute, the relative velocity at which the tool is advanced
along the workpiece.

7.2. GENERAL PROGRAMMING SUGGESTIONS


The following rules should be followed when writing NC part programs.
Info Table: General Programming Suggestions
No. Topic Description
1 Sequence of words in a block The sequence of words (address characters and parameters) in
an NC block must appear in the following order: %, , \, /, N (O), G, X
(U),Z (W), l, K, R, Q, L, F, M, S, T, P, ;
A different order may cause unpredictable results.
2 Repeating words in multiple lines In many cases, a word need not be repeated in the next block (line).
The system assumes no change in codes unless a new code appears.
This does not apply to the following codes: N words, I and K, G04,
G05, G25, G26, G92, F used for dwell, M02, M20, M25, M26, M30,
M47, M98 or M99.
3 Multiple G words in a single block You can use more than one G code in a block; however, you can use
only one G code from any one group in a single block.
4 M codes in a single block M codes should be placed on separate blocks to avoid confusion
over whether an M code is activated during or after a motion
command.
5 Use of N words N codes (sequence numbers) are not required in a part program;
however, they can be useful in identifying a block when editing a
long NC part program.
5 Use of O words An O code is required to mark the beginning of a subprogram and
does not have to be in sequence with the N codes.

‎7 Basic CNC Programming


‎7.2 General Programming Suggestions 98
Info Table: General Programming Suggestions
No. Topic Description
6 First steps in a part program The first portion of a part program should turn on the spindle and
establish the feed rate and spindle speed.
7 Referencing the zero point Part programs should reference the zero point with Z0 at the point
where the tool just touches the work piece. This convention allows
for standardization of programming.

8 First movement command in The first instruction in a part program should move the tool to the
program starting position. This makes restarts much easier.
9 Last movement command in The last block of a program should move the tool back to the starting
program position. The tool will then be in position to start cutting another
part.

7.3. REVIEWING AN NC PROGRAM


Once an NC program has been written, it must be checked carefully before the first part is machined.
Errors in an NC program can cause machine damage and injury to the operator.
Follow the procedure below to check an NC program.
Procedure: Reviewing an NC Program
1. Double-check all program blocks against your coding sheet to locate and correct typographical errors.

2. Look for the typical coding error that places two X codes or two Z codes in the same block.

3. Be sure that all required coordinates have been written into appropriate blocks.

4. Verify the part program to discover any program errors.

5. Run the part program without mounting stock in the turning center to see if the tool movements are
logical. 0 .

‎7 Basic CNC Programming


‎7.3 Reviewing an NC Program 99
7.4. NC CODES
NC codes are divided according to category. Some categories consist of one code only (single category
type), while other categories include a large number of different codes (multiple category type).
The table below lists all code categories. Information on all codes is presented in the sections
referenced.
Info Table: G Code Categories
Code Function Type of Category Section Page
% Incremental Arc Centers Single ‎7.4.1 101
(Fanuc)
$ Absolute Arc Centers. Single ‎7.4.2 101
\ Skip. Single ‎7.4.3 101
/ Optional skip. Single ‎7.4.4 102
F Feed rate in inches per minute, Single ‎7.4.5 102
with G04, the number of
seconds to dwell.
G Preparatory codes. Multiple ‎7.4.6 102
H Input and output selection Single ‎7.4.7 115
number
I Arc center, X axis dimension Single ‎7.4.8 116
(circular interpolation).
K Arc center, Z axis dimension Single ‎7.4.9 116
(circular interpolation).
L Loop counter Program cycle Single ‎7.4.10 117
(repeat) counter for blocks and
sub- programs, angle of arc
resolution.
M Miscellaneous codes. Multiple ‎7.4.11 119
N Block number (user reference Single ‎7.4.12 124
only).
O Subprogram starting block Single ‎7.4.13 124
number.
P Subprogram reference number Single ‎7.4.14 125
(with M98 or M99).
Q Depth of cut. Single ‎7.4.15 125
Peck depth for pecking canned
cycle.

‎7 Basic CNC Programming


‎7.4 NC Codes 100
R Configures the shape of a taper Single ‎7.4.16 125
(with G77).
S Spindle speed. Single ‎7.4.17 126
T Tool selection. Single ‎7.4.18 126
U Incremental X motion Single ‎7.4.19 126
dimension.
W Incremental Z motion Single ‎7.4.20 126
dimension.
X X axis motion coordinate. Single ‎7.4.19 126
Z Z axis motion coordinate. Single ‎7.4.20 126
; Comment Single ‎7.4.21 126

7.4.1. % Code: Incremental Arc Center


The incremental arc center code selects the Fanuc mode of programming arc coordinates. This mode is
selected for the entire NC program as well as for any chained programs.
In the Fanuc mode, arc centers are always based on incremental coordinates, regardless of whether the
system is in G90 (absolute) or G91 (incremental) coordinate mode. In contrast, arc center specifications
in the EIA-274 programming mode (specified by the $ code) follow the selected coordinate mode
(absolute or incremental).
The % character must stand alone on the first line of the NC program in which it appears.
The default arc center mode is defined in the Run Settings window, accessed by clicking Setup | Run
Settings, in the Main Menu.

7.4.2. $ Code: Absolute Arc Centers


The absolute arc center code selects the EIA-274 mode of programming arc coordinates. This mode is
selected for the entire NC program as well as for any chained programs.
In the EIA-274 mode, arc centers are based on the selected coordinate mode: absolute (G90) or
incremental (G91). In contrast, arc center specifications in Fanuc mode (specified by the % code) are
always incremental, regardless of whether the system is set to absolute or incremental coordinate
mode.
The $ character must stand alone on the first line of the NC program in which it appears.
The default arc center mode is defined in the Run Settings window, accessed by clicking Setup | Run
Settings, in the Main Menu.

7.4.3. \ Code: Skip


The Skip code causes the program line to be skipped when the program is run.

Place the code at the beginning of the line you wish to skip. When you run the NC program, the specified
line will be skipped.

‎7 Basic CNC Programming


‎7.4 NC Codes 101
You can also use the Skip code (\) with a parameter to instruct the control software to execute the line
of code every nth pass. Place the code at the beginning of the line you wish to skip. The syntax is: \n,
where n is the number of passes between executions.

For example, if you want to execute a block of code every 5 passes, place \5 as the first code at the
beginning of the block.

7.4.4. / Code: Optional Skip


The Optional Skip codes allow you to skip particular lines of code in your program.
Lines marked with the optional skip (/) code are skipped only when the Optional Skip parameter from
the Run Settings window is checked (see ‎5.6.2 Modifying Run Settings, pg. 69).
To use the Optional Skip code (/), place the code at the beginning of the line you wish to skip. Select the
Optional Skip option from the Run Settings window or the Operator Panel.
You can use the optional skip code with a parameter to instruct the control software to execute the line
of code every nth pass. Place the code at the beginning of the line you wish to optionally skip. The
syntax is: /n, where n is the number of passes between executions.
For example, to execute a block of code every 5 passes, place /5 as the first code at the beginning of the
block.

7.4.5. F Code: Feed Rate


The F Code is used to specify the velocity at which the tool moves (the feed rate). The feed rate is
specified in inches or millimeters per minute, depending on the selected unit of measure. For example,
F3 specifies a feed rate of 3 inch/min when using inch units or 3 mm/min when using metric units.
The feed rate should be set to a low value (up to 8 inch/min) for cutting operations, though higher feed
rates can be achieved in soft metals such as brass and aluminum.
The control software limits the programmed feed rate so that it doesn’t exceed the maximum allowed
by the turning center.
The F Code is also used to specify the number of seconds to dwell when used with the G04 code. For
example, G04F5 causes the machine to dwell for five seconds. See ‎7.4.6.3 The Wait Group, pg. 104.

7.4.6. G Codes: Preparatory Codes


G codes take effect before a motion is specified. They specify settings such as the type of cut to be
made, whether absolute or incremental dimensioning is to be used, whether to pause for operator
intervention, and so on.
There is a large number of G codes, each differentiated by the number following the G. For example,
G01, G90, and G71 are all different G codes.
The various G codes are divided into different groups. Multiple G codes from different groups can
appear in each NC block. However, you may not place more than one G code from a group in one block.

‎7 Basic CNC Programming


‎7.4 NC Codes 102
The BenchTurn 7000 supports the following G code groups.
Info Table: G Code Groups
Group Includes Codes Section Page
The Interpolation Group G00, G01, G02, G03 ‎7.4.6.1 103
The Units Group G70, G71, G20, G21 ‎7.4.6.2 103
The Wait Group G04, G05, G25, G26 ‎7.4.6.3 104
The Canned Cycle Group G32, G72, G73, G77, G79, G80, G81, G83 ‎7.4.6.4 105
The Programming Mode G90, G91 ‎7.4.6.5 105
Group
The Preset Position Group G28, G29, G92, G98, G99 ‎7.4.6.6 106
The Coordinate Systems G54, G55, G56, G57, G59 ‎7.4.6.7 107
Group
The Compensation Group G39, G40, G41, G42 ‎7.4.6.8 108
The Scaling Group G50, G51, P ‎7.4.6.9 114
The Rotation Group G68, G69 ‎7.4.6.10 115
The Polar Programming G15, G16 (Not described in this
Group Guide)

7.4.6.1. The lnterpolation Group


The Interpolation Group allows you to specify the type of motion for interpolation. These G codes are
retained until superseded in the NC program by another code from the Interpolation group.
The supported interpolation G codes are:
Info Table: Interpolation Group
Code Function Section Page
G00 Rapid Traverse ‎8.3 132
G01 Linear interpolation ‎8.1 128
G02 Circular interpolation (clockwise) ‎8.2 129
G03 Circular interpolation (counterclockwise)

7.4.6.2. The Units Group


By default, an NC program is interpreted using the units of measure (inch or metric) specified using the
Units command on the Setup menu.
The codes in the Units Group, G70 (inch) and G71 (metric), are used to override the Units setting for the
entire program.
If the code is placed at the beginning of the program before any tool motions are made, that unit of
measure is assumed for the entire program. If placed later in the program, only the parts of the program
following the code are affected.

‎7 Basic CNC Programming


‎7.4 NC Codes 103
These codes can be used to switch between inch and metric modes throughout the program.
The Fanuc equivalents, G20 (inch) and G21 (metric), can also be used.
Info Table: Units Group
Code Function
G70 Inch Units
G71 Metric Units
G20 Fanuc inch units
G21 Fanuc metric units

7.4.6.3. The Wait Group


Wait Group codes apply only to the block in which they appear. The program does not continue until the
wait conditions are satisfied.
The supported Wait Group codes are:
Info Table: Wait Group
G04 Dwell (wait)
Pause between motions on all axes for the number of seconds specified by the F code, then
continue the program. This is used primarily for robot integration. Because the F code is
used to specify the number of seconds, you cannot also specify a new feed rate in the same
block.
Example: G04F10; Wait for 10 seconds

Do not use G04 to create a pause for a tool change during a program.
Use G05 instead.
Safety

G05 Pause
Used for operator intervention. Stop motion on all axes until the operator manually

resumes program execution using the Run/Continue command or the Run button .
G25 Wait until input #1 (Robot 1 or user input 5) goes high before executing the operations in
this block.
Used for robot synchronization (see ‎11 Automation lntegration, pg. 174).
Use the H code to specify an input other than the default, H5 (see ‎7.4.7 H Code: lnput
Selection Number, pg. 115.)
Example: G25H13; Wait until user input 3 goes high.

‎7 Basic CNC Programming


‎7.4 NC Codes 104
G26 Wait until input #1 (Robot 1 or user input 5) goes low before executing the operations on
this block. Used for robot synchronization (see ‎11 Automation lntegration, pg. 174).
Use the H code to specify an input other than the default, H5.
Example: G26H12; Wait until user input 2 goes low.
G31 Move linearly to a specified coordinate but monitor the state of a specified input during
motion. If the state of the input changes from High to Low or from Low to High (as
specified), then stop the motion. Jump to a specified line in the NC program to continue.
The H word specifies the input to watch (see ‎7.4.7 H Code: lnput Selection Number, pg.
115). If a negative sign is used before the input number, the motion will stop if the input
state changes from High to Low. Otherwise, the motion will stop if the input state changes
from Low to High.
The P word specifies the line number to jump to (see ‎7.4.14 P Code: Subprogram Reference
Number, pg. 125).
Example 1: G31 X5 Z5 H11 P500; Move linearly to X5Z5. If input 1 changes from Low to
High, stop the motion. Continue at line 500 in the program.
Example 2: G31 X3 Z2 H-12 P30; Move linearly to X3Z2. If input 2 changes from High to Low,
stop the motion. Continue at line 30 in the program.

7.4.6.4. The Canned Cycle Group


Canned Cycle codes allow you to perform a number of tool motions by specifying just one code. Canned
cycle codes are typically used for repetitive operations to reduce the amount of data required in an NC
program. Canned cycle codes are retained until superseded in the program by another canned cycle
code.
Detailed information on many canned cycles is presented in chapter ‎8, as detailed below.
The supported Canned Cycle codes are listed below.
Info Table: Canned Cycle Group
Code Function Section Page
G32 Canned cycle thread cutting ‎8.4.1 133
G72 Canned cycle arc turning, clockwise ‎8.4.2 139
G73 Canned cycle arc turning, counter clockwise
G77 Canned cycle side turning ‎8.4.3 141
G79 Canned cycle end turning ‎8.4.4 146
G80 Canned cycle cancel ‎8.4.5 147
G81 Canned cycle drilling ‎8.4.6 147
G83 Canned cycle peck drilling

7.4.6.5. The Programming Mode Group


Programming Mode G codes select the programming mode, absolute (G90) or incremental (G91). These
codes remain in effect until superseded by each other. The default code on program start up is G90.
‎7 Basic CNC Programming
‎7.4 NC Codes 105
When using absolute programming, all X and Z coordinates are specified relative to origin of the current
coordinate system. When using incremental programming, each motion to a new coordinate is specified
relative to the previous coordinate.
The supported Programming Mode codes are listed below.
Info Table: Programming Mode Group
Code Function
G90 Absolute programming mode: All X and Z axes coordinates are specified relative to a (0,0) location on
the turning center.
G91 Incremental programming mode: Each motion to a new coordinate is specified relative to the previous
coordinate.

7.4.6.6. The Preset Position Group


The Preset Position G codes move the tool to a predetermined position, or affect how future motions
will be interpreted.
This table lists the supported Preset Position codes.
Info Table: Preset Position Group
Code Function Section Page
G28 Homes the machine. Can specify a point to pass through on the way to
the home position.

‎7.4.6.6.1 106

G29 Return to reference point: Moves the tool to a coordinate specified by XZ.
Typically used after a G28 code.
G92 Preset position: This code works like the Set Position command under the
Setup Menu. The X and Z coordinates following a G92 code define the ‎7.4.6.6.2 107
new current position of the tool.
G98 Rapid move to initial tool position after canned cycle complete.
G99 Rapid move to point R (surface of material or other reference point) after ‎8.4 132
canned cycle complete.

7.4.6.6.1. G28 and G29: Homing Commands

The Homing feature in the control software sends the machine to the predefined Home position (0,0).
This is used as a reference for other motion.
The homing commands (G28, G29) allow you to return to and check this established position. The
turning center uses this point as a reference for all machine coordinate movements. This allows you to
use the Soft Limits and Coordinate Systems commands (under the Setup Menu) to move the turning
center consistently to the same location.
Before you can use any homing commands, or the Soft Limits and Coordinate Systems commands, you
must use the Set/Check Home command to establish an initial reference point. See ‎5.4 Homing, pg. 65,
for information on using the Set/Check Home command.

‎7 Basic CNC Programming


‎7.4 NC Codes 106
Using G28 Code
G28 homes the machine, zeroing the machine coordinates. Optionally, the machine can be instructed to
pass through specified coordinates on its way to the home position. For example, G28 X1 Z2 commands
the machine to pass through X1 Z2 and then move to home position.

Using G29 Code


The G29 code moves the tool at a rapid traverse rate to a coordinate specified by XZ. If you have set an
intermediate point on one or more axes, the machine first rapids from the current position to the
intermediate point then continues to the specified destination. If you command a G29 code in
incremental mode, your specified XZ point is relative to the intermediate point. If you have not specified
an intermediate point, your specified XZ point is relative to the current position. Use the G29 code after
a G28 code to return the tool to a position closer to the part. The example below shows the use of a G28
code and a G29 code.
N1G28X2Z-1; INTERMEDIATE POINT THEN HOME N2G29X4Z1; GO TO G29 POINT

7.4.6.6.2. G92: Preset Position

The G92 code is used to initialize the current tool position. In other words, the G92 code can be used to
redefine the X and Z values of the tool’s current position. The X and Z coordinates following a G92 code
define the new current position of the tool.
The tool position can also be redefined through the control software, by clicking Setup | Set Position in
the Main Menu.

7.4.6.7. The Coordinate System Group


Use the Coordinate System codes to establish multiple coordinate systems on one or more workpieces
to create multiple parts.
For instance, you can run a part program using a typical coordinate system (with the point of origin on
the left side of the workpiece next to the chuck, along the centerline of the workpiece), and then select
another coordinate system which has its origin at a different point on the surface of the workpiece.
Multiple coordinate systems can be useful for different size workpieces, or for special set-up conditions.
There are seven coordinate system codes. One of these codes (G53) is used for rapid traverse motion to
specified machine coordinates. The other six codes allow you to make up to six individual parts on the
same workpiece by specifying different work coordinate systems for each part.

‎7 Basic CNC Programming


‎7.4 NC Codes 107
The coordinate system codes are G54 through G59, referring to coordinate systems 1 through 6
respectively. These coordinate systems may be set through the Coordinate Systems command on the
Setup Menu.

Info Table: The Coordinate System Group


G 53 For rapid traverse motion to specified machine coordinates.
G Code G54 G55 G56 G57 G58 G59
Coordinate 1 2 3 4 5 6
System
Activated

7.4.6.8. The Compensation Functions Group


Cutter compensation automatically adjusts to compensate for variations in a cutting tool's radius. It uses
tool radius values from the Setup Offsets table to determine the compensation offset value.
The supported compensation codes are listed below.
Info Table: Compensation Functions Group
Code Function Section Page
G39 Corner offset circular interpolation ‎7.4.6.8.1 108
G40 Cancel cutter compensation ‎7.4.6.8.2 110
G41 Left cutter compensation ‎7.4.6.8.3 112
G42 Right cutter compensation
D Specifies offset number from offset table. ‎7.4.6.8.4 113

7.4.6.8.1. G39: Corner Offset Circular Interpolation

The G39 code inserts an arc at the corner of a cutter compensated tool path. The G39 instructs the
cutter compensation function to complete the current segment by moving to its default endpoint (the
endpoint of the Offset Vector). It then creates an arc (with a radius equal to the offset value), starting at
the buffered segment's default endpoint, and ending at the endpoint of the offset vector (IJ). Here is an
example of an NC program using G39:

‎7 Basic CNC Programming


‎7.4 NC Codes 108
NC Code Example:
G91
G41D1…

Y.25
X.25
G39I0J-1; CORNER OFFSET
Code Explanation
G91 Incremental mode

G41D1… Start left cutter compensation, using entry #1 from the offset table.

… Specifies the cutting path.


Y.25
X.25
G39I0J-1; CORNER OFFSET Complete the current segment and move to the default endpoint (I10J-1),
creating an arc with a radius of the offset distance.

‎7 Basic CNC Programming


‎7.4 NC Codes 109
7.4.6.8.2. G40: Cancel Cutter Compensation

Use the G40 Cancel cutter compensation code to cancel cutter compensation. G40 is modal.
There are six methods for cancelling cutter compensation, described in the table below.
Info Table: Cancelling Cutter Compensation
Method Explanation Example
G91G41D1

X.25

The G40 code cancels cutter compensation. The cutter moves Y-.25
G40
from the offset path to the programmed end point. Z.2; RETRACT
G40
X-.5Y-.25
M2
G91G41D1

X.25
The G40 cancels the cutter compensation, but a subsequent
G40XYZ motion (X-.5Y-.25) is included in the program. The tool moves Y-.25
towards the programmed path in the direction of X-.5Y-.25.
Z.2;RETRACT
G40X-.5Y-.25
M2
G91G41D1

X.25
An IJK vector specifies the direction of movement after cutter
G40XYZIJK Y-.25
compensation is cancelled.
Z.2; RETRACT
G40X-.5Y-.25I-.5J-.25
M2
G91G41D1

Setting the offset number to zero cancels cutter compensation.
X.25
The cutter moves from the offset path to the programmed end
point. Y-.25
D0
Setting the offset number to zero has the same effect as Z.2; RETRACT
cancelling cutter compensation (as for G40 listed above).
D0
However, cutter compensation is still active.
X-.5Y-.25
M2

‎7 Basic CNC Programming


‎7.4 NC Codes 110
G91G41D1

The D0 cancels the cutter compensation, but a subsequent …


motion (X-.5Y-.25) is included in the program. The tool moves X.25
towards the programmed path in the direction of X-.5Y-.25.
D0XYZ Y-.25
Setting the offset number to zero has the same effect as
cancelling cutter compensation. However, cutter compensation Z.2;RETRACT
is still active. D0 X-.5Y-.25
M2
G91G41D1

An IJK vector specifies the direction of movement after cutter
compensation is cancelled. X.25
G41/42D0
Setting the offset number to zero has the same effect as Y-.25
XYZIJK
cancelling cutter compensation. However, cutter compensation Z.2; RETRACT
is still active.
D0 X-.5Y-.25I-.5J-.25
M2

‎7 Basic CNC Programming


‎7.4 NC Codes 111
7.4.6.8.3. G41 and G42: Left and Right Cutter Compensation

The G41 and G42 codes command left and right cutter compensation as illustrated below.
Info Table: Left and Right Cutter Compensation
Code Explanation Explanation

Left compensation when you need to move the tool to


G41
the left of the programmed tool path.

Right compensation when you need to move the tool to


G42
the right of the programmed tool path.

‎7 Basic CNC Programming


‎7.4 NC Codes 112
In the example below, left cutter compensation is enabled and the compensation value is equal to offset
value 1 from the Offset Table.
NC Code Example:
G0X0Y0
G91; INCREMENTAL
G41D1; CUTTER COMP ON
G1X.25Y.25; MOVE TO P1
G1X0Y1; MOVE TO P2
G1X.75Y0; MOVE TO P3
G1X.25Y-.25; MOVE TO P4
G1X0Y-.75; MOVE TO P5
Explanation Motion
The black lines show the
specified tool path.
The purple dashed lines
show the compensated tool
path that the tool will
follow.
Note that the distance
between the two paths is
always as specified by D1.

7.4.6.8.4. D: Specify Cutter Compensation Value

The D code selects a value for cutter compensation or tool offset adjustments by referencing values in
the control program offset table.
For example, D1 selects entry #1 from the offset table.
D0 cancels compensation.
The offsets specified by D1 to D199 are set in the Setup Offsets table, accessed by clicking Setup |
Offsets in the Main Menu.

‎7 Basic CNC Programming


‎7.4 NC Codes 113
Note that an NC program will use the offset values as listed in this window, without converting for
metric or imperial systems. The Units selection area in the window converts the values in this window.

7.4.6.9. The Scaling Group


Use the Scaling codes to scale one or more axes of a part from a fixed scaling origin. You can scale the
entire piece uniformly, or set different scaling factors for each axis.
Use a P Code to scale an entire piece uniformly along each axis. When you specify a value for P,
subsequent motions are scaled by that value, starting from the scaling center. The control software
measures the distance from the scaling center to the start and end points of the shape, then multiplies
those values by the P value.
The code I is used to specify the X axis center of scaling (see ‎7.4.8. I Code: X Axis Coordinate of Center
Point, pg. 116). The code K is used to specify the Z axis center of scaling (see ‎7.4.9 K Code: Z Axis
Coordinate of Center Point, pg. 116).
If you do not specify any of the coordinates for the scaling center, the current position for unspecified
axes becomes the scaling center coordinate

Using a P Code to scale an entire piece will affect the X axis, which will affect your
programmed depths of cuts. Use caution when performing scaling operations.
Take Note
Use the following codes for scaling:
Info Table: Scaling Group
Code Function
G50 Cancels scaling
G51 Invokes scaling
P Uniform scale multiplier

‎7 Basic CNC Programming


‎7.4 NC Codes 114
The following example demonstrates the use of scaling:
Example Code: Scaling
Code Explanation
G51X0Z0I2.J2
G51 Initiates scaling.
X0Z0 Sets the origin of scaling to X0Z0.
I2J2 Scales both axes by 2.

7.4.6.10. The Rotation Group


Rotation codes allow you to rotate a programmed shape around a rotation origin. You can rotate a
shape on any plane, one plane at a time. Use the Rotation code to modify an NC program when a work
piece has been rotated from the programmed position on the machine.
The supported Rotation codes are listed in this table.
Info Table: Rotation Group
Code Function
G68 Invokes rotation.
G69 Cancels rotation.
R When used with G68, specifies the angle of rotation, in degrees.
The following example demonstrates the use of rotation:
Example Code: Rotation
Code Explanation
G68X0Z0R90
G68 Initiates rotation.
X0Z0 Sets the origin of rotation to X0Z0.
R90 Sets rotation to 90 degrees.

7.4.7. H Code: lnput Selection Number


The H code is used to specify inputs and outputs in robot integration (see ‎11 Automation lntegration, pg.
174).
Use the H code in conjunction with:
 The wait codes G25 and G26 to specify the input number.
The H code and input must be specified.

 The transmit codes M25 and M26 for interfacing with robots or other external devices to specify
the output number.
H codes specify inputs and outputs as defined in the table below.

‎7 Basic CNC Programming


‎7.4 NC Codes 115
Info Table: H Code
H Code H11 H12 H13 H14
Input specified for Wait 1 2 3 4
Codes G25 and G26
Output specified for 1 2 3 4
Transmit codes M25 and
M26

7.4.8. I Code: X Axis Coordinate of Center Point


The I code specifies the X coordinate of the center of an arc or circle. If no I code is specified when
specifying an arc or circle, the system uses the current X axis location as the X axis center of the arc.
The I code is used in both absolute and incremental programming modes. In Fanuc mode, all arc centers
are specified in incremental mode.
The value following the I code is interpreted differently in absolute and incremental programming
modes, as follows:
Info Table: I Code in Absolute and Incremental Modes
Mode Activated by I value specifies:
Absolute G90 The X coordinate of the arc/circle center, measured from the origin.
Note: In Fanuc mode, all arc centers are specified in incremental mode.
Incremental G91 The distance along the X direction from the starting point of motion to the
arc/circle center.
The I code is also used with the G51 code to specify the scale factor for the X axis when performing
scaling functions, including scaling each axis and mirror scaling. See ‎7.4.6.9 The Scaling Group, pg. 114.

7.4.9. K Code: Z Axis Coordinate of Center Point


The K code specifies the Z coordinate of the center of an arc or circle. If no K code is specified when
specifying an arc or circle, the system uses the current Z axis location as the Z axis center of the arc.
The K code is used in both absolute and incremental programming modes. In Fanuc mode, all arc centers
are specified in incremental mode.
The value following the K code is interpreted differently in absolute and incremental programming
modes, as follows:
Info Table: K Code in Absolute and Incremental Modes
Mode Activated by K value specifies:
Absolute G90 The Z coordinate of the arc/circle center, measured from the origin.
Note: In Fanuc mode, all arc centers are specified in incremental mode.
Incremental G91 The distance along the Z direction from the starting point of motion to the
arc/circle center.
The K code is also used with the G51 code to specify the scale factor for the Z axis when performing
scaling functions, including scaling each axis and mirror scaling. See ‎7.4.6.9 The Scaling Group, pg. 114.

‎7 Basic CNC Programming


‎7.4 NC Codes 116
7.4.10. L Code: Angle of Arc Resolution, Loop Counter
The L code is used in three unrelated ways, as listed in this table.
Section Contents: Angle of Arc Resolution, Loop Counter
No. Description Section Page
1 To specify the resolution of an arc or circle ‎7.4.10.1 117
2 As a loop or program counter ‎7.4.10.2 118
By default, an L code that is not specifically used as a counter is treated as specifying the arc/circle
resolution factor.

7.4.10.1. L Code: Angle of Arc Resolution


When specifying an arc or circle, the L code specifies the angle of arc resolution in circular interpolation
programming. When the system executes a circular motion, it splits the arc into a series of line segments
to approximate the circle. The L code specifies the resolution in terms of the angle in degrees across
which a line segment approximates a portion of the arc. Setting a low value of L increases the resolution
of the arc or circle, and thus creates a smoother cut. However, very fine resolutions may cause the
turning center to hesitate while cutting.
The table below illustrates the effect of the L value.
Info Table: L Code Specifying Angle of Arc Resolution
High Value of L Low Value of L
Example

Resolution Resolution is low; the approximated circle is Resolution is higher; the approximated circle is
made up of few lines. made up many lines.

Default Settings
The default setting for the turning center is 2 degrees, and typically this will work quite well. The L code
can be a fraction of a degree (such as L0.5), but it must be large enough so that the turning center will
move at least the minimum motion distance (0.0005") on each of the straight line motions.

Calculating L
If you know the chord length you would like used when approximating an arc or circle, calculate the
angle L as follows:

‎7 Basic CNC Programming


‎7.4 NC Codes 117
Calculation: Calculating the Value of L
Calculation Where:
360 ∙ 𝑐 c is the desired chord length.
𝐿=
2𝜋 ∙ 𝑅
R is the arc or circle radius.

Example To calculate the L value for a chord length of 0.001" and a radius of 0.5", you would write the
equation as:
360 ∙ 𝑐 360 ∙ (.001)
𝐿= = = 0.1146°
2𝜋 ∙ 𝑅 2𝜋 ∙ .5

Negative L Values
A negative value for L will generate a normalized L factor, calculated as:
Angle {degrees} = L / Radius { inches}
For example, with the default L factor of -1:
Calculation: Calculating the Angle of Arc when Using Normalized L of -1
Radius L Value Calculation Result
0.5 inch -1 Angle = L/0.5 = 1/1 The arc will have line segments approximating every 2 degree of
the arc.
1 inch -1 Angle = L/R = 1/1 The arc will have line segments approximating every 1 degree of
the arc.
2 inches -1 Angle = L/2 = 1/2 The arc will have line segments approximating every 0.5 degrees of
the arc.

7.4.10.2. L Code: Loop and Program Counter


The L code functions as a counter when used with codes M98 and M47:
Info Table: L Code Used as a Counter
When Used L Specifies Section Page
With
M47 The number of times a program must be repeated. ‎ .4.11 M Codes:
7 119
Miscellaneous Codes
M98 The number of times a subprogram must be ‎ .5 Subprogram
8 150
repeated. Programming

‎7 Basic CNC Programming


‎7.4 NC Codes 118
7.4.11. M Codes: Miscellaneous Codes
M codes control a variety of turning center functions while a part program is running.

The following general rules must be followed when using M codes:

Info Table: Rules for Use of M Codes


1 Only one M code may be used in a program block.
M codes should be specified in their own blocks. Using M codes together with other codes in a block can cause
confusion about which code is executed first, however:
2 i All M codes used to turn on a device, such as the spindle, execute at the beginning of the tool
motion for that block of NC code.
ii All M codes used to turn off a device execute after the tool motion for that block is completed.

The supported M codes are listed below.


Info Table: Miscellaneous Mode Group
Subgroup Code Function
Program M00 Pause
Stop/End
Allows you to place a pause in your code. Acts like a G05 pause.
Group
M01 Optional Stop
Allows you to place an optional pause in your code. Place an M01 in the block of code
where you would like to pause.
There are switches to activate or deactivate the Optional Stop code in the Run Settings
window (see ‎5.6.2 Modifying Run Settings, pg. 69) and on the Operator Panel (see
‎5.3.4.2 The Operator Panel, pg. 64).
With Optional Stop on, the M01 works like a G05 pause. With Optional Stop off, the
M01 code is ignored, and the other codes on the block are executed as usual.
M02 End of Program
Takes effect after all motion has stopped; turns off drive motors, and all outputs,
including the spindle and the accessory outlets.
M30 End of program: Same as M02.
Spindle and M03 Spindle Motor On
Axis Motor
Activated concurrently with motion specified in the program block; remains in effect
Group
until superseded by M05.
M05 Spindle Motor Off
Activated after the motion specified in the program block; remains in effect until
superseded by M03.
M38 Drive Motors Standby
Typically used to turn the drive motors to standby (low power) before a pause (G05);
activated after the motion specified in the program block. M38 is useful when the
machine is left unattended for a long time, such as the interval before reloading a part.

‎7 Basic CNC Programming


‎7.4 NC Codes 119
Tool Change M06 Tool Change (see ‎9.3 Writing an NC Program for Multiple Tools, pg. 154)
Group

I/O Group M25 Set Output #H On


Used for robot synchronization. Use the H code to specify an output (see ‎7.4.7 H Code:
lnput Selection Number, pg. 115).
See ‎11 Automation lntegration, pg. 174

M26 Set Output #H Off


Used for robot synchronization. Use the H code to specify an output (see ‎7.4.7 H Code:
lnput Selection Number, pg. 115).
See ‎11 Automation lntegration, pg. 174

Program M20 Chain to Next Program


Management
This code is used to chain several NC files together. It is placed at the end of a part
Group program and is followed on the next line by the file name of another program to be
executed when all motion stops.
Below is an example of a part program chain to another program:

N37 Z.2
N38 M20
PROGRAM2.NC; Chain to PROGRAM TWO

If the two programs you are chaining are not in the same directory on your computer,
you must specify the full path name for the next program file. If the software cannot
locate the specified file, you will be prompted to find it.
M22 Output current position or other information to file. See ‎7.4.11.1 M22 Code: Output
Current Position to File, pg. 121.

M47 Rewind
Restarts the currently running program; takes effect after all motion comes to a stop.
Typically used with an L code to repeat a program a set number of times.
M98 Call to subprogram
Use the P code to specify the subprogram starting block number. Use the L code to
specify the number of times the subroutine is executed. You can nest subprogram calls
to a depth of 20.
See ‎8.5 Subprogram Programming, pg. 150.
M99 Return from Subprogram
Goto
See ‎7.4.11.2 M99 Code: Return from SubProgram, Goto, pg. 123, and ‎8.5 Subprogram
Programming, pg. 150.

‎7 Basic CNC Programming


‎7.4 NC Codes 120
M105 Operator Message
A nonstandard Intelitek code used to display messages.
See ‎7.4.11.3 M105 Code: Operator Message, pg. 123.
Homing Group M111 Home the X axis.

M112 Home the Z axis.

7.4.11.1. M22 Code: Output Current Position to File


The M22 code is used to write information to a file while a program is running. Typically, this code is
used when digitizing to write the current X and Z machine coordinates to a file. The proper format for
using this code is:
M22([filename.ext [,A]]) [text and macros]
Items in brackets [ ] are optional, except that a filename is required for the first M22 code used.
This table details the use of the M22 code.
Info Table: Using the M22 Code
M22([filename.ext [,A]]) [text and special codes]
Parameter Notes
 Must be enclosed in parentheses.
 Must be specified the first time the M22 code is used in the program.
Filename  If not specified with subsequent M22 codes, the first specified file name will be used.
However, empty parentheses must still be used.
 If the file does not exist, it will be created
 If the file name is followed by ,A:
 The new data is added to the end of the existing file; the existing data in the file is
not deleted.
A
 The new data is automatically added on a new line in the file.
 If the file name is not followed by ,A, existing data in the file is deleted, and the new
data is added.
 Enter standard text to be written in each line. Text can be written in front of, between, or
text after macros.
 If no text or macros are specified, the actual machine position data will be written.
 Codes such as @TD (time of day) and @ (cycle number) can be specified to include a
special codes
range of data. See below in this section for a table of all available special codes.

‎7 Basic CNC Programming


‎7.4 NC Codes 121
The following pseudo-code illustrates the use of the M22 code
Example Code: Use of M22

... ; code to move to position


; Open my1.xz, discard contents, write coordinates M22(my1.xz)
... ; code to move to next position
; Append to currently open data file M22( )
... ; code to move to next position
;Open my2.xz and append coordinates M22(my2.xz,A)

The following special codes can be used with M22 to generate run-time reports.
Info Table: Special Codes for Use With M22

Code Description
@X Current X position (in current coordinate system)
@Z Current Z position (in current coordinate system)
~ (tilde) New line (starts a new line in the file)
@TD Time of day (12hour): “11:59:59AM”
@TC Time (elapsed) for cycle: “99:11:59” (0’s trimmed from left)
@TT Time total (of program run): “99:11:59”
@TA Time Average (per cycle): “99:11:59” (“??:??” if first part)
@TL Current Tool number: “5”
@C Cycle number (current pass): “3”
@D Date: “12/31/97”
@FN Current file (without path): “PART.NC” (“UNTITLED.NC” if untitled)
\t Tab
\\ Outputs a single backslash (‘\’) character to the file
Below is another annotated example of the use of M22 in an NC program. All text on the same block,
after the closing parenthesis, is output to the file, with all valid special codes being replaced as it is
written.
Example Code: Use of M22 with Special Codes

; Start of file
… ; Process a single part
; Output part time statistics to file c:\Reports\Stats.txt, c:\Reports directory must exist
M22 (c:\Reports\Stats.txt,A) Part #@C processed in @TC.
M47 L50 ; We want to process 50 parts.

‎7 Basic CNC Programming


‎7.4 NC Codes 122
7.4.11.2. M99 Code: Return from SubProgram, Goto
The M99 code has two specific uses; it can be used as a command to return from a subprogram or it can
be used as a Goto command.

7.4.11.2.1. Using M99 with Subprograms

When used in a subprogram, this code returns the program flow to the block following the last M98 (Call
to Subprogram) command.
If the M98 codes is used together with an L code to specify multiple calls to the subprogram, the M99
code will return to the block containing the M98 code until all the specified number of subprogram calls
have been made; it will then proceed to the block following the M98.
You can use the P code with a block number to specify a different block to jump to; however, if this
feature is used from a nested subprogram call, all return targets are discarded. The rules for a Goto
target block apply to this use as well.

7.4.11.2.2. Using M99 as a Goto Command

The M99 code can be used in the main NC program as a Goto command to jump to any line before the
first subprogram (as denoted by an O code).
Use the P code to identify the block number being jumped to. Control is transferred to the first
occurrence of this N code; it cannot be used to transfer control between chained programs.
This command can be used anywhere in the program to change the flow of program execution. It is
good programming practice to place this command on a line by itself to improve the program’s
readability, for example:
M99P50; Jump to line 50 in the current program.

7.4.11.3. M105 Code: Operator Message


This command is used to display messages in the control software. It provides a way to display messages
to the operator on the message bar while an NC program is running. To pause the program with a
custom message, place a ! character at the start of the message.
By default, the message is centered, displayed as a Normal Message, and is persistent, meaning that it is
not cleared until the program clears it or until the next message is displayed.
The M105 code is used in the format: M105 (the message); comment
This is illustrated in the example below:
Example Code: Use of M105

M105 (End of Roughing Segment); Normal Message, doesn’t pause

‎7 Basic CNC Programming


‎7.4 NC Codes 123
Message functionality can be altered using the special codes listed below.
Info Table: Special Codes for Use With M105

Code Function
! Displays the message and performs a pause requiring operator intervention to continue.
~ Displays the message as a Warning Message.
\b Beeps when the message is shown.
The M105 code is used with special codes as in the format below:
M105 (alternate character plus the message) ;comment
For example:
Example Code: Use of M105 with Special Codes

M105 (~WARNING); Warning Message, doesn’t pause


M105 ( ) ; Clears current message
M105 (!Please stop and read this!) ; Normal Message, pauses
M105(~!I Proceed with Caution!) ; Warning Message, pauses
M105 (\b\b\b) ; Clears current message, beeps 3 times, and doesn’t pause

7.4.12. N Code: Block Number


N codes have two uses:
 To provide destination references for Goto codes (M99) elsewhere in the program.
 To clearly show the organization of the code and improve readability.
Using the N code is optional; however, when you do use the N code, it must be the first character in the
block.
Apart from the uses listed above, N codes are ignored by the control software. Their presence, absence,
or sequential value does not affect the execution of the NC program in any way, unless the target of a
Goto is missing.
You may have N codes on some blocks and not on others. N code sequence numbers do not have to be
in order, but regular sequential order does make it easier to follow and reference sections of the
program.
You can automatically number, renumber, or remove numbering from the program using the control
software. Click Edit | Renumber in the Main Menu.

7.4.13. O Code: Subprogram Block Number


The O code is used to indicate the start of a subprogram, and must be followed by a number which
identifies the subprogram. The O code replaces the N code in the first block of the subprogram.
To call a subprogram, use the M98 code using the P code to specify which subprogram to execute. To
return from the subprogram, use the M99 code. See ‎8.5 Subprogram Programming, pg. 150.

‎7 Basic CNC Programming


‎7.4 NC Codes 124
Only the first block in the subprogram contains the O code. The remaining blocks may contain N codes.
The O and N code numbers may be used to help identify and set apart the subprogram to improve
readability, for example:
Example Code: Use of O Code

M98 P50000 ;call to first subprogram


…;after first subprogram is finished, M99 code returns to this point

M98 P60000 ;call to second subprogram
…;after second subprogram is finished, M99 code returns to this point

O50000 ;start of subprogram
N50010 ;first line of subprogram
N50020 ;second line of subprogram
N50030 M99 ; last line of subprogram

O60000 ;second subprogram
N60010 ;first line of second subprogram
N60020 ;second line of second subprogram
N60030 M99 ; last line of second subprogram

7.4.14. P Code: Subprogram Reference Number


P codes are used with the following codes:
Info Table: Use of P Code
No. Used with Code To Section Page
1 G31 Reference a GOTO target block. ‎7.4.6.3 104
2 M98 Reference a subprogram using the subprogram block ‎8.5 150
number.
3 M99 Specify a return block number as a GOTO target. ‎7.4.11.2.2 123

7.4.15. Q Code: Depth of Cut and Peck Depth


The Q code is used in canned cycles to define the depth of cut. In drilling cycles Q specifies the
incremental depth of each peck.
See ‎8.4 Canned Cycle Programming, pg. 132.

7.4.16. R Code: Drilling Start Location


Use the R code in canned cycles to specify a Z axis reference point for peck drilling. The point can be at
the material surface or at another reference point. See ‎8.4.6 G81 & G83: Straight and Peck Drilling, pg.
147.

‎7 Basic CNC Programming


‎7.4 NC Codes 125
The R code is also used to specify the rotation angle, in degrees, with the G68 code. See ‎7.4.6.10 The
Rotation Group, pg. 115.

7.4.17. S Code: Spindle Speed


Use the S code to set the spindle speed from within the NC program. Spindle speed is specified by the
address character “S” followed by a parameter that represents the speed in RPM. For example, S750 is
the designation for a spindle speed of 750 RPM.
If the spindle is off when the S code is used, the spindle speed is stored and used when the spindle is
turned on again within the program by the M03 command.

7.4.18. T Code: Tool Selection


A T code is used to specify the tool (by number) from the tool turret to be used for an operation. Tools
are specified by the address character “T” followed by a parameter that represents the number of the
tool. For example, T3 is the designation for tool number three.

Using multiple tools is an advanced operation and should not be attempted by persons
unfamiliar with using the BenchTurn 7000 turning center.

Product Care
See ‎9 Multiple Tool Programming, pg. 152.

7.4.19. X and U Codes: X Axis Coordinate


An X code specifies the coordinate of the destination along the X axis. A U code is used in absolute
programming mode (G90) to specify an incremental X motion. You cannot use the U code to mix
incremental and absolute programming in the same block.

7.4.20. Z and W Codes: Z Axis Coordinate


The Z code specifies the coordinate of the destination along the Z axis (spindle axis). A W code is used in
absolute programming mode (G90) to specify an incremental Z motion. You cannot use the W code to
mix incremental and absolute programming in the same block.

7.4.21. Comment Codes


The control software allows you to add comments (notes) to your NC code lines. The control software
recognizes two comment codes: a semicolon ; and an open parenthesis (. These two comment codes are
equivalent. The use of either of these codes within an NC block indicates that a comment follows.
Comments must follow all other NC codes in the block. Comments are ignored when the part program is
executed. Comments can be placed on a block without any NC codes.
Below is an example of an NC block with a comment:
Example Code: Comment
Code Explanation
X0Z0; MOVE TO ZERO POINT The comment in the example tells us that the X and Z codes in this block
command the cutting tool to move to the zero point (coordinate 0,0).

‎7 Basic CNC Programming


‎7.4 NC Codes 126
Comments can be combined with the G05 pause and the M06 tool change codes to display messages to
the operator during program execution. The M105 code, however, provides a more versatile and
powerful message facility (see ‎7.4.11.3 M105 Code: Operator Message, pg. 123).
Here is an example of an NC block with a pause coded comment:
Example Code: Comment
Code Explanation
G105(!ROUGH DIAMETER SHOULD BE 0.5 in.!) When the program pauses, the comment is displayed
on the message bar telling the operator to verify the
diameter of the workpiece before continuing.

The control software can strip comments from a program with a single command. The
comments cannot be subsequently replaced. To do so, right-click in the Program Editing
window and select Renumber. Check the Remove Comments checkbox and click Do it!
Take Note

‎7 Basic CNC Programming


‎7.4 NC Codes 127
8. NC Programming Routines
This chapter describes the use of the following NC programming routines:
Section Contents: NC Programming Routines

Section Name Page


‎8.1 Linear Interpolation Programming 128
‎8.2 Circular Interpolation Programming 129
‎8.3 Rapid Traverse Programming 132
‎8.4 Canned Cycle Programming 132
‎8.5 Subprogram Programming 150

8.1. LINEAR INTERPOLATION PROGRAMMING


Linear interpolation is the movement of the tool in a straight line from its current position to a
coordinate location specified by an NC code.
Consider the following example code: N5G90G01X1Z.5F2
NC Code Example:
N5G90G01X1Z.5F2
Code Explanation
N5 The line sequence number is 5.
G90 Coordinates are given using absolute dimensioning.
G01 Linear interpolation is specified.
The G01 code is required when switching from circular interpolation or rapid traverse
positioning back to linear interpolation.
X1 X axis coordinate of end point = 1
Z.5 Z axis coordinate of end point = .5

‎8 NC Programming Routines
‎8.1 Linear Interpolation Programming 128

More CNC Programming G-1


Example If we assume that the current position of the tool is X.7, Z1.2, the tool movement
Motion generated by the example code will be as follows.

Equivalent An equivalent movement is achieved with incremental dimensioning (G91):


Code
N5G91G01X.3Z-.7F2

8.2. CIRCULAR INTERPOLATION PROGRAMMING


Circular interpolation moves the cutting tool along an arc from the starting point specified in one line to
an end point specified in the next line.
The curvature of motion is determined by the location of the center point (I and K), which must also be
specified in the second NC line. Whether I and K are interpreted in incremental or absolute form is
specified in the Run Settings window, using the Arc Centers Incremental setting (see ‎5.6.2 Modifying
Run Settings, pg. 69).
The direction of rotation from the starting point determines the actual shape of the arc relative to the
spindle axis. A G02 code moves the tool in a clockwise (CW) motion from the starting point. A G03 code
moves the tool in a counterclockwise (CCW) motion from the starting point.

‎8 NC Programming Routines
‎8.2 Circular Interpolation Programming 129
The codes used in circular interpolation are listed below.
Info Table: Circular Interpolation Codes
Code Explanation
G02 Moves tool along circular path in clockwise direction.

G03 Moves tool along circular path in counterclockwise direction.

I Specifies X-axis coordinate of center point


K Specifies Z-axis coordinate of center point

An example of circular interpolation is shown in the following table.

NC Code Example:
N8$
N9G90X0Z1;SET START POINT
N10G02X1Z0I0K0F2;CLOCKWISE TO X1,Z0
Code Explanation
N8$ Sets absolute arc center mode.
N9G90X0Z1;SET START POINT First line defines the starting point.

‎8 NC Programming Routines
‎8.2 Circular Interpolation Programming 130
N10G02X1Z0I0K0F2;CLOCKWISE TO Second line defines the end point and the center point.
X1,Z0
N10 The line sequence number is 10
G02 The tool will proceed in a clockwise direction from the
starting point to specified (X, Z) coordinates; center point of
arc is specified by (I,K) coordinates
X1 X axis coordinate of end point = 1
Z0 Z axis coordinate of end point = 0
I0 I coordinate of center point of arc = 0

K0 K coordinate of center point of arc = 0

F2 Feed rate is 2 inches per minute

Example Motion Assuming the start point is X0,Z1, the tool path generated by the
preceding lines would be as below.

Equivalent Code An equivalent movement is achieved with incremental


dimensioning (G91):
N8%
N9G90X0Z1;SET START POINT
N10G91;SWITCH TO INCREMENTAL PROGRAMMING
N11G02X1Z-1I0K-1F2;CLOCKWISE TO X1,Z0

In the second line, the X and Z values are the distance the tool is to
move from its current position. In both cases, the I and K values
are equal to the X and Z distance from the start point to the center
point.

‎8 NC Programming Routines
‎8.2 Circular Interpolation Programming 131
8.3. RAPID TRAVERSE PROGRAMMING
On the BenchTurn turning center, the rapid traverse code (G00) moves the tool at the maximum
available feed rate (80 ipm) to the specified coordinates. Rapid traverse is often used to reposition the
tool before ending a program, or in preparation for the next cut.

The tool should not be engaged in a cutting operation while traversing to a new location!

Safety

Rapid traverse can be used for all tool positioning motions. This will reduce the run time for the part
program. The G00 code remains in effect until linear (G01) or circular (G02, G03) interpolation is again
specified. Linear or circular interpolation resumes at the feed rate last specified prior to the rapid
traverse motion(s) unless a new feed rate is specified.
Rapid traverse is not affected by the feed rate scale factor. If all the positioning motions are performed
in rapid traverse mode (G00) and all the cutting motions are performed in linear (G01) or circular
interpolation (G02, G03) modes, cutting rates can be adjusted up or down using the feed rate scale
factor without affecting rapid traverse motions.
An example of the use of rapid traverse is shown below.

NC Code Example:
G90G01X1F2; MOVE IN A STRAIGHT LINE TO X = 1 AT 2 IPM
G00X2; RAPID TRAVERSE TO X=2
X3; RAPID TRAVERSE TO X=3
G01X4; MOVE IN A STRAIGHT LINE TO X=4 AT 2 IPM

Code Explanation
G90G01X1F2; MOVE IN A STRAIGHT
LINE TO X = 1 AT 2 IPM G90 Sets absolute coordinates
G0X1 Moves the tool to position X = 1, using linear interpolation.
F2 Sets the feed rate to 2 inches per minute.

G00X2; RAPID TRAVERSE TO X=2 Specifies rapid traverse (G00) to position X = 2.


X3; RAPID TRAVERSE TO X=3 Moves tool to position X = 3. Rapid traverse mode is still active.
G01X4; MOVE IN A STRAIGHT LINE TO
X=4 AT 2 IPM G01 Turns off rapid traverse mode and engages linear
interpolation.
X4 Moves the tool to position X=4 at 2 inches per minute.

8.4. CANNED CYCLE PROGRAMMING


Canned cycle commands allow you to perform many operations by specifying a small number of codes.
They are typically used for repetitive operations to reduce the amount of data required in an NC

‎8 NC Programming Routines
‎8.4 Canned Cycle Programming 132
program. Canned cycle codes are retained until superseded in the program by another canned cycle
code.
The table below lists all canned cycles supported by the BenchTurn 7000 and its control software.
Info Table: Supported Canned Cycles
Code Explanation Section Page
133
G32 Canned cycle thread cutting ‎8.4.1

G72 Canned cycle arc turning (clockwise) 139


‎8.4.2
G73 Canned cycle arc turning (counterclockwise)
141
G77 Canned cycle side turning (Fanuc G90) ‎8.4.3
146
G79 Canned cycle end turning (Fanuc G92) ‎8.4.4
146
G80 Canned cycle cancel ‎8.4.5

G81 Straight drilling 147


‎8.4.6
G83 Peck drilling
The following codes are used within canned cycle codes.
Info Table: Codes Used in Conjunction with Canned Cycles
Code Explanation
G98 Rapid to initial position after canned cycle complete; this is the system default.
G99 Rapid to point R after canned cycle complete.
K Specifies the number of repeats. The default is 1. When K=0, drilling data is stored.
P Specifies the length of dwell time in seconds.
Q Specifies the depth of cut. In peck drilling each peck uses the same Q value. The Q value is
always positive. If a negative value is specified it is converted to a positive value. In side
and end turning cycles the Q value is used to specify the depth of each roughing cut.
R Used for specifying a starting reference point for peck drilling or for specifying tapers for
side and end turning cycles. The point can be at the material surface or at another
reference point.

8.4.1. G32: Threading


The BenchTurn 7000 and its control software support threading through the use of the G32 canned
cycle.
Threading with a single point tool is accomplished by taking a series of cuts along the same helix of the
thread (also known as chasing a thread).

‎8 NC Programming Routines
‎8.4 Canned Cycle Programming 133
This section presents the following information:
Section Contents: Threading
Section Name Page
‎8.4.1.1 Threading in NC Code 134
‎8.4.1.2 Thread Tooling 138
‎8.4.1.3 Setting Up for Threading 139
‎8.4.1.4 Cutting Left-Hand Threads 139
‎8.4.1.5 lnternal Threading 139

8.4.1.1. Threading in NC Code


A threading operation requires that a number of parameters be calculated beforehand. In addition, NC
code for threading must be preceded by some preparatory code.
This section presents instructions for planning and coding an NC program for threading.
Procedure Outline: Threading in NC Code
No. Description Section Page
1 Calculate and specify the pitch of the thread. ‎8.4.1.1.1 134
2 Calculate and specify the spindle speed and feed rate. ‎8.4.1.1.2 135
3 Prepare NC code to be performed before threading begins. ‎8.4.1.1.3 136
4 Write the NC code for a threading operation. ‎8.4.1.1.4 137

8.4.1.1.1. Specifying the Pitch

The pitch of the thread is the distance that the tool moves along the Z axis for each revolution of the
spindle. The graphic below illustrates the concept of pitch.

The pitch is specified by the F code in the NC program as the pitch distance, measured in inches per
thread.

‎8 NC Programming Routines
‎8.4 Canned Cycle Programming 134
Generally, machine screws used in the United States conform to the American National, or Unified
Thread System. Threads are specified by the outside diameter of the thread and by the threads per inch,
such as 1/4-20. The thread 1/4-20 has a pitch of 20 threads per inch, or a thread distance of 1/20 inches
per thread.
To turn a thread of specification 1/4-20, F would be set to 1/20, or 0.05.

8.4.1.1.2. Specifying the Spindle Speed and Feed Rate

A number of considerations must be taken into account when specifying the spindle speed and feed
rate. These are listed below and explained in the sections that follow.
Guidelines: Specifying Spindle Speed and Feed Rate
No. Description Section Page
1 The spindle speed and feed rate must be accurately set Feed Rate Calculation, below 135
as their ratio affects the pitch distance produced.
When using a canned cycle for threading, the NC
program must specify the pitch directly, and the
required feed rate is calculated automatically.
2 The spindle speed and feed rate selected must not Turning Center Maximum Cutting Feed 136
exceed the capabilities of the turning center. Rate, below

Feed Rate Calculation

When using a canned cycle for threading, the NC program must specify the pitch directly, and the
required feed rate is calculated automatically. This section explains how to calculate the feed rate
when threading without using a canned cycle.

The spindle speed and feed rate for a threading operation must be calculated accurately based on the
desired pitch of the thread as there is a direct ratio between the spindle speed, the feed rate, and the
pitch of the thread:
Pitch distance (inches/rev) X Spindle Speed (RPM) = Feed rate (inches/min)
In this example, the required feed rate to turn a 1/4-20 thread at a spindle speed of 200 RPM is
calculated.
Example: Calculating Threading Feed Rate
No. Step Demonstration
1 Calculate the pitch distance The thread is specified as 1/4-20.
The pitch in threads per inch is thus 20 inches per thread.
The pitch in inches per thread is thus 1/20 inches or 0.05 inches.

‎8 NC Programming Routines
‎8.4 Canned Cycle Programming 135
2 Calculate the feed rate Use the formula below:
Pitch distance (inches/rev) X Spindle Speed (RPM) = Feed rate
(inches/min)
0.05 inches/rev X 200 RPM = Feed Rate
Feed rate = 10 inches per minute

Turning Center Maximum Cutting Feed Rate


Although the calculation presented in the previous section produces theoretically appropriate spindle
speed and feed rates, the physical specifications of the turning center must be taken into account,
particularly the maximum cutting feed rate.
The turning center’s maximum cutting feed rate while threading is 20 inches per minute. The spindle
speed selected must be such that the calculated cutting feed rate will not exceed this value. As the ratio
is given by
Pitch distance (inches/rev) X Spindle Speed (RPM) = Feed rate (inches/min),
choosing a high spindle speed will result in a high calculated value of feed rate. If your calculated feed
rate exceeds the turning center’s specifications, select a lower spindle speed.

8.4.1.1.3. Pre-threading Operations

There are three operations that must be performed by the NC code before threading is started.
Info Table: Pre-threading Operations
No. Operation
1 Before the threading cycle is performed, a groove
or relief must be cut behind the eventual end
point of the thread. If such a groove is not cut, the
tool will be removed abruptly from the workpiece,
making the end of the helix straight.

2 The start point for the threading operation must not be along the workpiece surface. Instead,
the tool should start the operation some point away from the workpiece along the Z axis. This
will ensure that the tool and workpiece are in motion before cutting begins.
3 After commanding the spindle speed to slow down for threading, a dwell must be implemented
to allow the spindle time to slow to the commanded speed before threading begins.
‎8 NC Programming Routines
‎8.4 Canned Cycle Programming 136
8.4.1.1.4. Programming a Threading Operation Using a Canned Cycle

The G32 code commands a threading operation.


The following codes are used together with G32.
Info Table: Codes Used with G32 Threading Operation
Code Description
X, Z Specify the coordinates of the end point of the thread.
Q Specifies the depth of cut. The recommended Q depth for threading is very small; from 0.001”
to 0.003”.
F Specifies the pitch, in units of inches per thread.

The code below demonstrates the use of a threading cycle. The program will cut a 20-pitch thread on a
0.25” diameter rod.
NC Code Example: Threading Cycle
G0X.125Z1.5;TO SET THE START POINT
S200M03;SPINDLE SPEED 200RPM
G04F5;DWELL FOR 5 SECONDS
G32X.095Z1Q.002F.05;X & Z ENDPOINTS, Q=DEPTH OF CUT, F=PITCH
G80;END CANNED CYCLE
Code Explanation
G0X.125Z1.5 Rapids to X.125Z1.5. This point is some way from the workpiece to ensure
that when threading starts, both the tool and spindle will already be in
motion.
S200M03;SPINDLE SPEED Sets the spindle speed to 200 RPM and turns on the spindle.
200RPM

G04F5;DWELL FOR 5 Dwells for 5 seconds to allow the spindle time to slow down to its new
SECONDS speed of 200 RPM.

‎8 NC Programming Routines
‎8.4 Canned Cycle Programming 137
G32X.095Z1Q.002F.05;X &
G32 Threading canned cycle
Z ENDPOINTS, Q=DEPTH,
F=PITCH X.095Z1 Sets the end point of the thread to
X.095Z1.
Q Specifies a depth of cut of 0.002 inches.
F.05 Specifies a pitch distance of 0.05 inches.
This is equivalent to a pitch of 20 threads
per inch.
G80 End canned drilling cycle.

G80;END CANNED CYCLE Ends the threading canned cycle


Example Motion The program presented here will create a 1/2"-long 1/4-20 thread as
shown below.

8.4.1.2. Thread Tooling


Most threads are cut with a 60o threading tool, as shown below.

For fine threads, the tool can be ground to a sharp point. For coarse threads, you may wish to radius the
point.
An external threading tool is used for external threading operations. An inside threading tool is used for
internal threading, such as on a nut.
‎8 NC Programming Routines
‎8.4 Canned Cycle Programming 138
8.4.1.3. Setting Up for Threading
Follow the guidelines below for setting up the turning center.
Setup Guidelines for Threading
 The workpiece must be mounted in a chuck or collet.
 The tool height must be set exactly on the centerline of the workpiece for a correct thread angle.
 Locate the zero point of the workpiece just as you would for other turning operations.

8.4.1.4. Cutting Left-Hand Threads


Most threaded parts are made with right-hand threads. The turning center can turn both right-hand and
left-hand threads. The same tool is used for both left and right-handed threading; the direction of the
cut is altered.
The procedure for cutting left-hand threads on the turning center is the same as for right-hand threads,
except the feed is reversed so the cut is made from the left to the right.
When turning a left-hand thread, ensure that the workpiece is tightly secured in the chuck or collet as
the tool will be pulling the workpiece away from the holding device.

8.4.1.5. lnternal Threading


Most of the same rules that apply to external threading also apply to internal threading. The final X
value when turning an internal thread will be larger than the initial value.
To perform single point internal threading, a hole is first drilled to 1/16 inch diameter less than the
minor diameter. A boring bar is then used to bore the hole to the minor diameter of the thread. Holes
that are smaller than the minimum diameter of the boring bar can turn cannot be tapped.

8.4.2. G72 & G73: Arc Turning Canned Cycles


G72 can be used to cut an arc in one quadrant in a clockwise direction. These cuts are made using a
facing orientation and a profiling tool.

‎8 NC Programming Routines
‎8.4 Canned Cycle Programming 139
A canned radius turning cycle can only be performed in one quadrant; it cannot be
performed across quadrants.
Take Note

See the example below for the use of G72. G73 works the same way but specifies a counterclockwise
arc.
NC Code Example:
G0X0.001Z1;START POINT
G72X.5Z.5I0K.5Q.04F3
G80

Note: The program uses absolute arc centers. See ‎7.4.2 $ Code: Absolute Arc Centers, pg. 101.
Code Explanation
G0X0.001Z1;START POINT Rapid traverse to X0.001, Z1.
This is the arc starting point.
G72X.5Z.5I0K.5Q.04F3
G72 Specifies a clockwise arc.
X.5Z.5 Sets the end point of the arc.
I0K.5 Sets the center point of the arc.
Q0.4 Sets the depth of cut to 0.04 inches.
F3 Sets feed rate to 3 inch/min.

G80 Cancels the canned cycle.

‎8 NC Programming Routines
‎8.4 Canned Cycle Programming 140
Example Motion Example programs are shown below. The dotted lines represent the
resulting tool paths.
Canned NC Code Motion
Cycle
Command
G72 example G0X0.001Z1;START POINT
(as
discussed G72X.5Z.5I0K.5Q.04F3
above) G80

G73 example G0X0.001Z1;START POINT


(G73
replaces G72 G73X.5Z.5I.5K1Q.04F3
in previous G80
example, and
the I,K
coordinates
are adjusted
to reposition
the arc
center.)

8.4.3. G77: Side Turning Canned Cycles


The G77 code can be used to perform four functions as listed below.
Section Contents: G77 Side Turning Canned Cycles

Section Name Page


‎8.4.3.1 Straight Side Turning 141
‎8.4.3.2 Roughing Cuts‎8.4.3.2 142
‎8.4.3.3 Tapering 144
‎8.4.3.4 Boring 145

8.4.3.1. Straight Side Turning


Straight side turning is greatly simplified by the use of the G77 code. The tool makes a rapid move to the
X depth, feeds to the Z coordinate, then backs out and returns to the start point.

‎8 NC Programming Routines
‎8.4 Canned Cycle Programming 141
The following is an example of code using the G77 code for straight side cuts.
NC Code Example:
G00X.6Z.8
G77X.4Z.5F10
G80
Code Explanation
G00X.6Z.8 Rapid traverse to the start point, X.6Z.8.
G77X.4Z.5F10
G77 Starts the canned cycle.
X.4Z.5 Sets the end point of the side cut.
F Sets the feed rate to 10 inch/min.

G80 Cancels the G77 canned cycle.


Example Motion The example code will result in the motion shown below.

8.4.3.2. Roughing Cuts


Performing roughing cuts with the G77 code is similar to straight side turning, except that a Q code is
placed in the block to specify the depth of each cut.
Without the Q code, the tool will make the side cut to the specified depth in a single cut. With the Q
code the tool will make multiple shallower cuts of the specified depth of cut, until the final specified
depth is reached.

‎8 NC Programming Routines
‎8.4 Canned Cycle Programming 142
The following is an example of code using the G77 code for roughing cuts.
NC Code Example:
G00X.6Z.8
G77X.25Z.5Q.02F10
G80
Code Explanation
G00X.6Z.8 Rapid traverse to the start point, X.6Z.8.
G77X.4Z.5Q.02F10
G77 Starts the canned cycle.
X.4Z.5 Sets the end point of the side cut.
Q.02 Sets depth of cut to 0.02 inch per cut
F Sets the feed rate to 10 inch/min.

G80 Cancels the G77 canned cycle.


Example Motion The example code will result in the motion shown below.

‎8 NC Programming Routines
‎8.4 Canned Cycle Programming 143
8.4.3.3. Tapering
Tapers are created by using an R code in conjunction with G77.
The R value specifies the difference in depth between the start of the taper and the end of the taper
(specified by the X code). The sign of the slope produced (positive or negative) depends on whether R is
set to a positive or negative value, as in the examples below.
NC Code Example: Tapering
Slope Sign of R Example Code Example Motion
Required
Positive Negative G77X.25Z.5R-.1F10

Negative Positive G77X.25Z.5R.1F10

The example below illustrates tapering with roughing cuts, using R and Q codes.
NC Code Example:
G77X.25Z.5Q.02R.1F10
Code Explanation
G77X.25Z.5 Starts the G77 canned cycle, specifying the position of the end of cut.
Q.02 Specifies a depth of cut of 0.02 inches
R.1 Specifies a negative slope, with the taper starting 0.1 inches further from the
axis than the final cut depth.

‎8 NC Programming Routines
‎8.4 Canned Cycle Programming 144
Example Motion The code G77X.25Z.5Q.02R.1F10 will produce a negative taper, ending at
X.25Z.5, starting at a depth 0.1 inches below that position. The taper will be cut
with roughing cuts of depth 0.02 inches.

8.4.3.4. Boring
Boring (an inside turning cycle) is achieved by specifying a smaller X value at the beginning of the
operation than at the end. The tool moves into the workpiece, nears the center, and then moves
outward with each cut, as shown below.
Note that boring requires that a hole be pre-drilled to allow the boring tool into the workpiece.
Before Boring After Boring Boring Operation

An R value can be added to turn an inside taper.


The example below illustrates a boring cycle.
NC Code Example:
G00X.25Z1.1
G77X.375Z.5Q.03F10
G80

Code Explanation
G00X.25Z1.1 Moves the tool to the outside diameter of the hole at the face of the stock.
G77X.375Z.5 Starts a boring cycle that will create an internal cavity with the coordinate
X.375Z.5 specifying the deepest internal corner of the bore.
Q0.03 Specifies a depth of cut of 0.03 inches. Multiple cuts of this depth will be made
until the depth X.375 is reached.
‎8 NC Programming Routines
‎8.4 Canned Cycle Programming 145
F10 Specifies the feed rate as 10 inches/minute.
G80 Cancels the canned cycle.

8.4.4. G79: End Turning Cycles


The G79 code can be used to perform an end turning cycle. The cuts are made on the face of the stock.
As for G77, G79 can be used with Q codes (for setting depth of cut) and R codes (for specifying a taper).
A typical use of the G79 code is shown in the example below.
NC Code Example:
G0X.375Z1; START POINT
G79X.2Z.8Q.03F10
G80

Code Explanation
G0 Moves the tool to the start point above the face of the part.
G79X.2Z.8Q.03F10
G79 Starts the canned cycle.
X.2Z.8 Specifies the final depth of the cut as X.2 and the length of the cut in the Z
direction as Z.8.
Q.03 Sets depth of cut to 0.03 inch per cut.
F10 Sets the feed rate to 10 inch/min.

Example Motion The example code will result in the motion shown below.

‎8 NC Programming Routines
‎8.4 Canned Cycle Programming 146
The G79 code can be used with R codes to combine end turning and tapering, as illustrated below.
NC Code Example: End Turning with Tapering
Slope Sign of R Example Part
Required
Positive Negative

Negative Positive

8.4.5. G80: Cancelling a Canned Cycle


Use the G80 code to cancel a canned cycle. This code cancels the currently running canned cycle and
resumes normal operation. All other turning data is canceled as well.
You can also cancel canned cycles by using a G00 or G01 code, as a G80 code is automatically performed
as part of G00 and G01.

8.4.6. G81 & G83: Straight and Peck Drilling


The G81 code performs straight drilling operations. G83 is used for peck drilling.
The R code is used to specify a Z axis reference point for peck drilling. The point can be at the material
surface or at another reference point. By specifying an R value of zero, the tool will return to the initial
point after drilling to point Z.

‎8 NC Programming Routines
‎8.4 Canned Cycle Programming 147
A typical use of the G81 and G83 codes is shown in the following example.
NC Code Example:
G0X0Z1;RAPID TO 0,1
G81Z.9R1F2;CENTER DRILL TO DEPTH OF Z.9 FROM Z1 FEED 2, RAPID TO INITIAL POINT
G83Z.5R1Q.1F3;PECK DRILL TO Z.5 FROM Z1 EACH PECK .1, RAPID TO POINT R
G80;CANCEL CANNED CYCLE
M2;END PROGRAM

Code Explanation
G0X0Z1;RAPID TO 0,1 Rapid motion to X0 Z1.
G81Z.9R1F2;CENTER
DRILL TO DEPTH OF Z.9 G81Z.9 Straight drill to Z0.9
FROM Z1 FEED 2, RAPID
TO INITIAL POINT R1 Retract to Z1
F2 Feed rate = 2 inches/min

G83Z.5R1Q.1F3;PECK
DRILL TO Z.5 FROM Z1 G83Z.5 Peck drill to Z.5
EACH PECK .1, RAPID TO
POINT R R1 Retract to Z1
Q.1 Drill a maximum of 0.1 inch per peck.
F3 Feed rate = 3 inches/min

G80 Cancel canned cycle.


M2 End program.

‎8 NC Programming Routines
‎8.4 Canned Cycle Programming 148
Example Motion
The straight drill cycle will result in motion as shown below.

The peck drill cycle will result in motion as shown below.

‎8 NC Programming Routines
‎8.4 Canned Cycle Programming 149
8.5. SUBPROGRAM PROGRAMMING
Subprograms are used to execute repetitive routines in an NC program. The subprogram is entered in
the NC code only once, but can be called and run any number of times. This is especially useful if the
turning operation you wish to repeat is lengthy or complex.
The NC codes used for sub-programming on the BenchTurn turning center are listed in the following
table.
Info Table: Sub-programming NC Codes
Code Description
M98 Call to subprogram.
M99 Return from subprogram.
P The P code is used to reference the first line of the subprogram (which begins with an O code). The P
code immediately follows an M98.
The P code can also be used with an M99 code to specify the line number in the main program to be run
next.
L The L code is used as a loop counter when used in sub-programming. The computer executes the
subprogram the number of times set by the L code. For instance, if the code is L5, the subprogram is
executed five times. After the fifth cycle, the program will not restart the subprogram but will instead
continue to the next step in the program. (Optional)
O The O code replaces the N code on the first line of a subprogram.
The general program flow when using a subprogram is illustrated in the following table.
Info Table: Subprogram Flow
No. Description

1 An M98 and P code located in the main program call the subprogram. The P code specifies which
subprogram to run. Each subprogram is labeled with an O code instead of an N code.
2 The main program is interrupted, and the subprogram begins to run.
3 An M99 code in the subprogram ends the subprogram. The main program recommences from the point
at which it was interrupted.
Subprogram calls can also be nested within other subprogram calls. This means that while a subprogram
is being executed, it can call another subprogram. The default number of levels that subprograms can be
nested is 20 levels deep.
The sample subprogram below makes a series of light chamfered grooves. It is set up for stock with a
0.75" diameter and 2" length so you should use a piece slightly longer than that, say 0.75" X 2.5", if you
plan to test it.
Note that the file uses absolute programming in the main program and incremental programming in the
subprogram. This makes it necessary to use the G90 code after the subprogram is executed to allow
motion back to the start point.

‎8 NC Programming Routines
‎8.5 Subprogram Programming 150
NC Code Example:
;THIS FILE FOR 2.5 INCH BY 0.75 INCH STOCK MOUNTED IN CHUCK
;USE WITH A PROFILING TOOL NORMAL SIDE ORIENTATION
;SET THE START POINT AT Z2 X0.375
G0G90M03;ABSOLUTE PROGRAMMING
G0X0.380Z2
M98P1000L4;CALLS SUBPROGRAM 1000 AND EXECUTES IT 4 TIMES
G90;ABSOLUTE PROGRAMMING
G0X0.38
G0Z2
M02;END OF PROGRAM
O1000;START OF SUBPROGRAM
G91;INCREMENTAL PROGRAMMING SELECTED
G1X-0.040Z-0.040F3
G1Z-0.125 G1X0.040Z-0.040 G0Z-0.20
M99;END OF SUBPROGRAM

Note: Only selected lines are explained below.


Code Explanation
M98P1000L4;CALLS
SUBPROGRAM 1000 AND
EXECUTES IT 4 TIMES M98P1000 Call the subprogram whose O code is O1000.
L4 Run the subprogram 4 times.

O1000;START OF SUBPROGRAM Indicates the start of subprogram 1000.


M99;END OF SUBPROGRAM Indicates the end of the subprogram.

‎8 NC Programming Routines
‎8.5 Subprogram Programming 151
9. Multiple Tool Programming
The BenchTurn 7000 turning center is equipped with a 4 position tool-turret as standard. Using multiple
tool programs provides the advanced user with the ability to create more complex parts on the turning
center.
This section presents instructions for writing NC code using multiple tools.
There are six basic steps in setting up the turning center for multiple tool operation:
Procedure Outline: Multiple Tool Programming
No. Description Section Page
1 In the control software, specify the tools being used. ‎9.1 153
2 In the control software, specify how the tools are configured in the tool turret. ‎9.2 153
3 Write the NC program. ‎9.3 154
4 Define and configure one tool as a reference tool. ‎9.4 155
5 Set the offsets for the other tools, relative to the reference tool. ‎9.5 156
6 Test the NC program. ‎9.6 158
This section also presents a tutorial on multiple tool programming.
Section Contents: Multiple Tool Programming
Description Section Page
Tutorial: Running a Multi-tool Program ‎9.7 159

‎9 Multiple Tool Programming


‎8.5 Subprogram Programming 152
9.1. SPECIFYING THE TOOLS
For the control software to successfully run a multi-tool program, you must specify the tools being used.
Follow the procedure below to specify the tools.
Procedure: Specifying the Tools
1. Click Tools | Setup Library to access the Setup
Tool Library.

2. Click a tool in the left panel to select it, and enter


the relevant settings in the fields on the right.

3. Click OK to save changes made and close the


window. 0 .

9.2. CONFIGURING THE TURRET


After having specified the tools used, you have to specify how they are arranged in the tool turret.
Follow the procedure below to configure the turret.
Procedure: Configuring the Turret
1. Click Tools | Configure Turret to access the
Configure Turret window.

The Tool Station Use area shows which tool is


currently present in each of the four turret
positions.

2. To specify a different tool at a position, click the


turret position in the Tool Station Use area, and
then select the tool at that position from the Tool
in This Station menu.

3. Click OK to save changes made and close the


window.

‎9 Multiple Tool Programming


‎9.2 Configuring the Turret 153
9.3. WRITING AN NC PROGRAM FOR MULTIPLE TOOLS
The T code is used in the NC program to offset the cutter so that the NC program becomes independent
of the cutter length. The offset for each tool is specified in the Setup Tool Library window. This means
you can replace a worn tool with a tool of a different length without changing the NC program; you need
only enter a new offset.
The T code can be located anywhere within the block of NC code, but is normally placed after any of the
G codes.
Use the M06 code with a T code for multiple tool operations. If you do not use an M06 code, the
machine will use the tool currently selected in the turret and interpret the T code as an offset reference
only.
When used with an M06, the T code indicates, by number, which tool and which offset to use. For
example, M06T2 tells the turret to rotate to Tool #02 and use the offset specified for Tool #02.

Before any tool change, the turret must be distanced from the workpiece to prevent
collisions.

Safety

The tool that is shown in the Machine Info window is the default tool for the start of a program. The
control software assumes that tool is in use unless another tool is specified with a T code. Once a tool is
specified, any X and Z coordinates are applied to that tool until another T code is encountered in the NC
program.
In the example below, the Machine Info window shows that Tool #01 is in use. Unless the program
includes a T code, the offset specified for Tool #01 in the Setup Tool Library will be used throughout.

The code below demonstrates the use of T and M06 codes for changing tools.
Example Code: Tool Change
N7 ; Tool #1: 'Left Hand Diamond'
N8 ; Tool #2: 'Facing Grooving'
N9 G70 ; Inch Units
N10 M03 S1500
N11 M06 T01 ; Toolchange to Tool #01
Code Explanation
N7 ; Tool #1: 'Left Hand Diamond' Comment lines describing the two tools in use.
N8 ; Tool #2: 'Facing Grooving'
N9 G70 ; Inch Units Set units to inches.
N10 M03 S1500 Turn on the spindle, with speed of 1500RPM.

‎9 Multiple Tool Programming


‎9.3 Writing an NC Program for Multiple Tools 154
N11 M06 T01 ; Toolchange to Tool #01 Rotate the turret to Tool #01 and use the offset for
Tool #01.

9.4. ESTABLISHING THE REFERENCE TOOL


When using multiple tools, a reference tool, normally Tool #01, is set to zero for the X and Z axes. This
establishes a reference tool position which is used as a reference point for additional tools.
In the procedure below, we will use Tool #01 as the reference tool and Tool #02 as the additional tool.
Procedure: Establishing the Reference Tool
1. Decide on a reference point. A reference point is a point on the workpiece, or on a gauge, to which you
will jog the tip of each tool.

2. Insert the workpiece or gauge to be used for the reference point.

3. Ensure that Tool #01 is positioned in the spindle.

4. Close the safety door.

5. Open the Jog Control Panel if not already open. To do so, click View | Jog Control in the Main Menu.

6. If using a workpiece for the reference point, turn the spindle on, setting it to its minimum speed. If using a
gauge, ensure that the spindle is off.

7. Jog the tool slowly until it just touches the reference point. Follow the guidelines below.

a. Use Continuous mode (selected in the Step Zone area of the Jog Control panel) to move the tool
towards the reference point, but stop motion before the tool is in range of touching the reference
point.

b. Once the tool is near the reference point, switch to Step mode, using a small step size. Jog the tool,
step by step, until it touches the reference point.

‎9 Multiple Tool Programming


‎9.4 Establishing the Reference Tool 155
8. Click Setup | Set Position the Main Menu. The Set Position window opens.

9. Set both Z and X to 0.

10. Click OK. 0 .

Tool #1 is now established as the reference tool.

9.5. SETTING TOOL OFFSETS


Once the reference tool is established, you can define offsets for the other tools to be used. You will first
determine what the offset settings should be. You will then enter those offsets into the control
software.

Do not remove the tools from the turret after establishing the reference tool and setting the
offsets of other tools.
The entire procedure must be repeated each time tools are installed in the turret.
Product Care

‎9 Multiple Tool Programming


‎9.5 Setting Tool Offsets 156
Follow this procedure to set tool offsets.
Procedure: Setting Tool Offsets
1. Establish the reference tool as described in the previous section, ‎9.4 Establishing the Reference Tool, pg.
155.

2. Jog the tool turret to a safe distance from the workpiece or gauge to prevent a collision when changing the
tool.

3. Select Tool #02 from the Turret Control toolbar as shown below,

or click Tools | Select Tool From, and choose Tool #02.

4. Jog the tool slowly until it just touches the reference point. As in the previous section, use Continuous
mode to approach the reference point, and Step mode to jog the tool until it touches the reference point.

5. Take note of the Z and X coordinates displayed in the Position Window. These are the offset values for the
selected tool.

6. Click Tools | Setup Library in the Main Menu.

7. Select Tool #02 from the list at the left.

‎9 Multiple Tool Programming


‎9.5 Setting Tool Offsets 157
8. Click Use Current Position.

The offset values are automatically filled with the position values found in step ‎5.

9. Click OK to save the changes and close the window.

The offset for Tool #02 is now defined.

10. Repeat this procedure for Tools #03 and #04, if they will be used. 0 .

9.6. TESTING THE MULTI-TOOL PROGRAM


As for any NC program, a multi-tool NC program must be tested by performing a dry run (running the
program without a workpiece in place), before running the program with a workpiece in place.

Always complete the Safety Checklist (see ‎1.2 Safety Checklist, pg. 5) before running a
program on the turning center.
Throughout the test, be prepared to press the emergency stop button on the turning center
in case of a tool crash.
Safety

Follow this procedure to perform a dry run on a multi-tool program.


Procedure: Testing a multi-tool program
1. With all tools in their respective positions in the tool turret, close the safety door, put on your safety
goggles, and complete the Safety Checklist (see ‎1.2 Safety Checklist, pg. 5).

‎9 Multiple Tool Programming


‎9.6 Testing the Multi-tool Program 158
2. Click Program | Run/Continue in the Main Menu, or click the Run button in the Standard Toolbar.

The Run Program window is displayed.

3. Ensure that Start at Line is set to 1.

4. Click Run Program.

5. Throughout the test, be prepared to press the emergency stop button on the turning center in case of a
tool crash.

6. Observe the turning process, noting any corrections to be made in the NC program. 0 .

After successfully testing the program in a dry run, you can then run the program with a workpiece in
place.

9.7. TUTORIAL: RUNNING A MULTI-TOOL PROGRAM


This section provides detailed instructions for turning a sample part using multiple tools, covering the
entire process from NC program verification through to turning a complete part on the BenchMill 7000.
The tutorial will follow the following procedure.
Procedure Outline: Tutorial
No. Description Section Page
1 Review safety procedures. ‎9.7.1 160
2 Prepare required tools and materials. ‎9.7.2 160
3 Open the sample NC file. ‎9.7.3 160
4 Define the tools to be used. ‎9.7.4 160
5 Configure the tool turret. ‎9.7.5 161
6 Configure the Verify settings. ‎9.7.6 161
7 Verify the program. ‎9.7.7 162
8 Establish the reference tool. ‎9.7.8 162
9 Set the offsets for the other tools. ‎9.7.9 163
10 Test the program without a workpiece in place. ‎9.7.10 163
11 Mount the workpiece. ‎9.7.11 163
12 Run the program. ‎9.7.12 163

‎9 Multiple Tool Programming


‎9.7 Tutorial: Running a Multi-tool Program 159
9.7.1. Reviewing Safety Procedures
Like any other power tool, the BenchTurn Turning Center is a potentially dangerous machine if operated
in a careless manner. The importance of safely operating the BenchTurn Turning Center, including the
need for protection against personal injury and the prevention of damage to the equipment, cannot be
stressed enough.

Ensure that you are familiar with all safety guidelines in ‎1 Safety Guidelines, pg. 1, before
continuing.

Safety

9.7.2. Preparing Tools and Materials


For this tutorial you will require the following:
Tools and Materials List: Tutorial
One 3" (length) x 0.75" (diameter) cylindrical piece of machinable brass, aluminum, Delrin, or wax

9.7.3. Opening the Sample NC File


Open the sample file TurnTwo_IMP.nc.
For instructions on opening NC files, see ‎5.5 Opening an NC File, pg. 66.

9.7.4. Defining the Tools


The sample NC program uses three tools to turn the part. These tools must be defined in the Setup Tool
Library.
For instructions on defining tools, see ‎9.1 Specifying the Tools, pg. 153.
Specify the three tools as detailed in the following table.

‎9 Multiple Tool Programming


‎9.7 Tutorial: Running a Multi-tool Program 160
Tool Specifications

Tool 1 Tool 2

Description Left Hand Diamond Facing Grooving

Tool Type Diamond Grooving

Station 1 2

Material Type High Speed Steel High Speed Steel

Radius 0.0001 0.0001

Angle 30 0.01

Orientation Outside Facing

Reference Tool Radius Center Tool Radius Center

Cut Direction Left/Down Right/Up

9.7.5. Configuring the Tool Turret


Once the tools are defined, you must configure the tool turret, specifying which tool is present in each
of the turret positions.
For instructions on configuring the turret, see ‎9.2 Configuring the Turret, pg. 153.
Configure the tool turret as detailed in this table.
Turret Configuration

Tool Station 1 Tool Station 2

Tool Tool 01# Tool #02

9.7.6. Configuring the Verify Settings


Before running the NC program on the turning center, it must be tested in the Verify window of the
control software.
The Verify settings must be configured correctly so that the verification process will test the NC program
accurately.
For instructions on configuring the Verify settings, see ‎5.6.3 Configuring Verify Settings, pg. 71.
For an example on configuring the Verify settings, see ‎6.5 Configuring the Verify Settings, pg. 79.
Make the following settings in the Verify Program window.

‎9 Multiple Tool Programming


‎9.7 Tutorial: Running a Multi-tool Program 161
Verify Settings

Setting Tool 2

Initial Tool Z = 2.01 inch


Position
X = 0.375 inch

Stock Z = 2.5 inch


Dimensions
X = 0.75 inch

Origin Z = 0.5

X=0

9.7.7. Verifying the Program


Tool path verification allows you to check for programming errors before actually running the part
program on the Turning Center.
For an example of verifying a program, see ‎6.7 Verifying the Program, pg. 86.
The Verify window should output a part as shown below.

9.7.8. Establishing the Reference Tool


When using multiple tools, a reference tool, normally Tool #01, is set to zero for the Z axis. This
establishes a reference tool position which is used as a reference point for additional tools.

‎9 Multiple Tool Programming


‎9.7 Tutorial: Running a Multi-tool Program 162
For instructions on establishing a reference tool, see ‎9.4 Establishing the Reference Tool, pg. 155.
Set the reference point at the bottom of the front right corner of the workpiece (the end of the stock
furthest from the chuck and at the edge of the stock). You can also select another point on the
workpiece as a reference point, as shown in the illustration below.

9.7.9. Setting Tool Offsets


The first tool for this program is a Left-Hand tool used for performing the facing cuts. The second tool is
a cutoff tool. In this situation the facing tool is the reference tool. Only the offset of the cutting tool
must be set.
For instruction on setting tool offsets, see ‎9.5 Setting Tool Offsets, pg. 156.

9.7.10. Testing the Program


As for any NC program, a multi-tool NC program must be tested by performing a dry run (running the
program without a workpiece in place), before running the program with a workpiece in place.
For instructions on performing a dry run, see ‎9.6 Testing the Multi-tool Program, pg. 158.

9.7.11. Mount the Workpiece


Once you have performed a successful dry run, prepare for actual turning by mounting the workpiece.
For instructions on mounting the workpiece, see ‎6.9 Mounting the Workpiece, pg. 93.

9.7.12. Running the Program


Now that the program has been checked in the Verify window and by performing a dry run, the program
can finally be run on an actual workpiece.
For instructions on running the program, see ‎6.10 Running the Program, pg. 96.

‎9 Multiple Tool Programming


‎9.7 Tutorial: Running a Multi-tool Program 163
10. An Introduction to CNC Turning
This section provides a basic introduction to CNC turning. The following topics are covered.
Section Contents: An Introduction to CNC Turning
Section Topic Page
‎10.1 Understanding Coordinate Systems 164
‎10.2 Setting Spindle Speeds 167
‎10.3 Setting Feed Rate and Depth of Cut 168
‎10.4 Selecting Lubricants and Coolants 169
‎10.5 Tool Types 169
‎10.6 Mounting the Cutting Tool 172
‎10.7 Sharpening the Tools 173

10.1. UNDERSTANDING COORDINATE SYSTEMS


To understand how the coordinate system works in turning, the following concepts must be explained:
Section Contents: Understanding Coordinate Systems
Section Concept Page
‎10.1.1 X and Z Axes 164
‎10.1.2 Machine Home Position 165
‎10.1.3 Work Coordinates 165
‎10.1.4 Multiple Coordinate Systems 166

10.1.1. X and Z Axes


In turning, the Z axis is always the spindle axis. On the BenchTurn 7000 turning center, the Z axis is
horizontal. The X axis is also horizontal, but perpendicular to the Z axis and parallel to the cross slide.
In NC programming, the programs are written as though the workpiece is stationary and the tool is
moving. The motion of the tool from right to left or left to right is along the Z axis. The motion of the
tool from front to back is along the X axis.

‎10 An Introduction to CNC Turning


‎10.1 Understanding Coordinate Systems 164
The location and direction of the X and Z axes are shown in the graphic below.

10.1.2. Machine Home Position


The machine home is a specific and factory-set location to which the tool can be sent through the
control software.
The machine home location is usually located on the Z axis centerline on the plane along the front of the
chuck. The machine home position is usually some distance away from the chuck (in the Z+ direction), so
that sending the tool to the home position will not pose an impact hazard.
The machine uses the home position as a reference point for all operations. If the machine is not homed
(sent to the machine home position), it cannot accurately locate the workpiece on the cross slide.
The machine is homed by clicking Setup | Set/Check Home in the Main Menu.
It is always advisable to home the machine before running a program on it.

10.1.3. Work Coordinates


The location of the tool at any time can be described by its position along the X and Z axes. However, the
origin point (0,0) is not factory-set and can be defined as any point within the work area.
The user defines the point of origin, and the machine will measure X and Z coordinates from that point.
(The machine home position is almost never used as the point of origin, so the coordinates of the home
position are seldom (0,0).)

‎10 An Introduction to CNC Turning


‎10.1 Understanding Coordinate Systems 165
The point of origin can be located anywhere on the workpiece, but is often set to the center of the
workpiece where it exits the chuck, as shown below.

To define the origin as illustrated above, jog the tool to a specific location (such as a corner of the
workpiece) and define the coordinates of that point based on knowledge of the workpiece dimensions.
In that way, the coordinates of the stock point of origin are indirectly defined as being (0,0).
For example, for a workpiece that is 3” long with a 0.75” diameter: send the tool to the position at the
top edge of the front of the workpiece, and define that point as X= 0.375, Z= 2.5. The origin is now set to
X = 0, Z = 0.

10.1.4. Multiple Coordinate Systems


For more advanced operations, such as turning multiple parts on the same piece of stock, set up
multiple coordinate systems.
For information on how coordinate systems are activated in an NC program, see ‎7.4.6.7 The Coordinate
System Group, pg. 107.
For example, if you have an NC program that machines a complex shape and you want to machine that
shape in multiple places on the same part, use the following procedure:
Procedure: Using Multiple Coordinate Systems
1. Move the tool tip to the work coordinate point of origin (0,0) using the Set Position command from the
Setup menu.

‎10 An Introduction to CNC Turning


‎10.1 Understanding Coordinate Systems 166
2. Select the Coordinate Systems command from the Setup Menu.

The Setup Coordinate Systems window is displayed.

3. Select one of the G54 to G59 codes

4. Enter the coordinates for the first workpiece, and click on Apply.

5. Repeat this procedure for as many coordinate systems as necessary (up to 6) by setting up a coordinate
system for each point on the part that corresponds to the zero point of the shape you are turning.

6. In your program, use the Coordinate Systems group G codes to switch between coordinate system and run
the subprogram that contains the NC code for the complex shape. 0 .

10.2. SETTING SPINDLE SPEEDS


Spindle speed refers to the rotational speed at which the spindle rotates the workpiece around its Z axis.
Spindle speed is usually defined in units of rotations per minute (RPM).

‎10 An Introduction to CNC Turning


‎10.2 Setting Spindle Speeds 167
When selecting a spindle speed, the following factors must be taken into account.
Info Table: Spindle Speed Factors
Factor Description
Workpiece Turning speed is inversely proportional to the diameter of the workpiece; the larger the
diameter workpiece, the slower the recommended turning speed.
Relative Turning speed is inversely proportional to the relative hardness of the material; the harder
material the material, the slower the recommended turning speed.
hardness
Heat High spindle speeds may produce excess heat which can cause the workpiece to expand. If
production the workpiece expands, the cutting tool will rub rather than cut the material, resulting in a
poor surface finish.
Material Some materials require higher spindle speeds to ensure a good finish.
type
Load on Heavy cuts at low speeds will make the motor run hotter than lighter cuts at higher
spindle speeds. The selected feed rate and depth of cut should not cause the spindle motor to
motor greatly lose speed or cause the tool to chatter against the workpiece.

10.3. SETTING FEED RATE AND DEPTH OF CUT


Feed rate (also known as feed), and depth of cut (also known as cut) are central terms in NC turning.
Normal turning on a turning center involves reducing the diameter of a workpiece. This is accomplished
by advancing the cutting tool into the workpiece by an appropriate amount (depth of cut).
The rate of tool travel is called the feed rate..
These concepts are illustrated below.

When selecting a feed rate and depth of cut, the factors listed in the table below must be taken into
account. You should consult your machinist’s handbook for selecting a feed rate based on spindle speed
and material type. Experience and experimentation will enable you to establish feed rates best suited to
particular applications.
Info Table: Feed Rate and Depth of Cut Factors
Factor Description

‎10 An Introduction to CNC Turning


‎10.3 Setting Feed Rate and Depth of Cut 168
Spindle The feed rate and depth of cut must be suitable for the selected spindle speed.
speed
Material Material properties may dictate maximum and minimum feed rates and depths of cut.
used Surface finishes may suffer if machining parameters are not set appropriately for the
material.
Lubrication Some lubricants can allow for higher feed rates and deeper depths of cut than others.
type
Cutting Some cutting tools are capable of making deeper cuts and maintaining faster feed rates
tool type than others.
Machine Excessive depth of cut and high feed rates place greater strain on the spindle than
capabilities allowable.

10.4. SELECTING LUBRICANTS AND COOLANTS


Lubricants remove heat from the tool and workpiece and are often used when high production rates are
required or when cutting very hard materials, such as stainless steel. A mixture of one part soluble oil to
six parts water may be used on steel to assist in producing a smoother finish and to reduce tool chatter.
Aluminum and aluminum alloys may require the use of paraffin, oil or kerosene to prevent chips from
welding to the tool’s cutting edge. Brass and cast iron are always turned dry.
When lubrication is necessary, small amounts of water-soluble cutting fluids are recommended for use
on the BenchTurn turning center. Lubricants should be wiped from the machine after use, as some
petroleum-based fluids may damage the electrical wiring insulation and other components.
Short runs of parts on Delrin or aluminum, such as would be performed in a school or college laboratory,
do not require the use of coolant.

The BenchTurn 7000 turning center is designed for flood cooling. A cooling accessory is
available. Contact your dealer or Intelitek.
Take Note

10.5. TOOL TYPES


Cutting tools are usually made from hardened steel and are ground to various shapes. The clearances
ground behind cutting edges are adjusted for the type of material the tool will cut and the direction the
tool will be fed along the workpiece. Tools are often ground to shape by the operator to suit a particular
cutting requirement.
Insufficient clearance behind the cutting edge will cause the tool to rub against the workpiece. Excessive
clearance will produce a ridged or wavy finish due to the small length of tool edge in contact with the
workpiece. Standard tool types are: turning tools, side tools, parting tools and boring tools. Carbide
tooling has become popular in recent years. Carbide is more brittle than steel, but has a longer tool life.

‎10 An Introduction to CNC Turning


‎10.5 Tool Types 169
The following common tool types are described in the sections that follow:
Section Contents: Tool Types
Section Name Page
‎10.5.1 Side Tools 170
‎10.5.2 Parting Tools 171
‎10.5.3 Boring Tools 171
‎10.5.4 Profiling Tools 172
‎10.5.5 Threading Tools 172

10.5.1. Side Tools


Side tools are used to face-off the ends of shoulders or to make facing cuts in the surface of a workpiece
held in a chuck. They may also be used as turning tools.
Side tools are used to reduce the workpiece to a desired diameter.
The shape of the cutting edge and the clearance (behind the point between the end of the tool and the
workpiece) determine the surface finish of the workpiece. Rough cuts are made in small increments
until the tool is within approximately 0.010 inch (0.25 mm) of the desired diameter. Final cuts are made
at slow feed rates with a very shallow depth of cut.
Side tools cut very flat surfaces and can be used to produce a part with an exact thickness.
Side tools are available for right side and left side turning:

Right side (or right-hand) tools feed from right to left.

Left side (or left-hand) tools feed from left to right.

‎10 An Introduction to CNC Turning


‎10.5 Tool Types 170
10.5.2. Parting Tools

A parting tool has a dual-edged,


dovetail-shaped cutting end which
is used to cut workpieces. The
parting tool is plunged into the
workpiece and the cross slide is
moved across the lathe bed until
the workpiece is severed, as shown
here.

Parting tools are clamped to a special tool post with a minimum of over-hang for maximum rigidity and
chatter-free operation.
The cutoff point should be located as close to the spindle center as possible. The cutting end of the
parting tool should be perpendicular to the workpiece to avoid sideward drift. A small square is useful in
aligning the tool perpendicular to the workpiece. Additionally, the height of the tip of the tool should be
positioned so it is vertically aligned with the center of the stock.
Cutoff operations are performed at a slow turning speed because the parting tool has a large amount of
cutting edge in contact with the workpiece. If the tool chatters or produces noise, the turning speed and
feed rate should be reduced.
Make sure to align the tip of the cutoff tool with the center of the stock, as shown below.

10.5.3. Boring Tools

Boring tools are used to enlarge or


modify a drilled or cored hole in a
workpiece. Clearance must be
maintained behind the cutting point
of the tool

‎10 An Introduction to CNC Turning


‎10.5 Tool Types 171
A slow feed rate and frequent tool withdrawals are required when boring because chips cannot freely
escape from the hole. Depth of cut and feed rates must be reduced to avoid chatter. The tool should not
be driven deeply into a hole. When boring a hole where a flat bottom is required, stop the feed at least
0.002 inch from the desired depth of the smaller hole being bored out.

10.5.4. Profiling Tools

Profiling tools are quite popular in CNC applications


because they can cut on both sides and in both
directions. A profiling tool cuts in the same way as a
side tool.

10.5.5. Threading Tools

Most threads are cut with a 60̊ threading tool. For fine
threads, the tool can be ground to a sharp point. For
coarse threads, you may wish to radius the point.
A threading tool is used for external threading
operations. An inside threading tool is used for internal
threading, such as on a nut.

10.6. MOUNTING THE CUTTING TOOL


Each cutting tool used in the turning operation must be sharp and tightly inserted in the tool turret. The
cutting edge of the tool must be on the centerline or just below the centerline (0.004 inch or 0.1mm
maximum) of the axis of rotation of the lathe. For more information on aligning tools by adjusting their
heights, see ‎4.4 Adjusting Turret Tool Heights, pg. 41.
The cutting tool is mounted by loosening the mounting screws at the top of the tool turret and
positioning the tool in the slot beneath the mounting screws. To assure a rigid mounting and to avoid
chatter, the cutting edge of the tool should not protrude more than necessary from the tool post. The
further the tool extends from the tool post, the more chatter will occur.
Make sure that only the very tip of the tool is doing the cutting. All tools must be positioned in a manner
that allows them to access all areas they are to cut. The exception to this is the cutoff tool, which should
always be perpendicular to the stock.

‎10 An Introduction to CNC Turning


‎10.6 Mounting the Cutting Tool 172
The table below illustrates correct and incorrect tool angles for a right-handed turning tool.
Info Table: Correct and incorrect tool angles

Correct Incorrect Incorrect

10.7. SHARPENING THE TOOLS


A cutting tool must be sharpened regularly to preserve its original cutting angle and shape. Longer tool
life will be obtained from cutting edges if they are finished with a small oilstone. Only the cutting end
and sides of the tool should be ground as required. Never grind the top face of the tool.
Alternatively, replace tools as required.

‎10 An Introduction to CNC Turning


‎10.7 Sharpening the Tools 173
11. Automation lntegration
This section provides information and instructions required to integrate the BenchTurn 7000 within a
flexible manufacturing system (FMS).
Section Contents: Automation Integration
Section Name Page
‎11.1 Integration Instructions 174
‎11.2 CNC Programming for Robotic Communication 178
‎11.3 Sample Robot - CNC Communication Sequence 179
‎11.4 Sample Robotic - CNC lntegration Programs 188

11.1. INTEGRATION INSTRUCTIONS


In order to be integrated into an FMS the BenchTurn 7000 must be able to work with machine related
automation functions like an automated shield and an automated clamping device. It must also be able
to communicate with a robot for the loading and unloading sequence and be able to run a G Code by
command from an external control device, such as a robot program, device driver or other control
entity.
This section provides instructions on how to integrate the BenchTurn 7000 with various other
components.
Section Contents: Integration Instructions
Section Name Page
‎11.1.1 Integrating with an Automated Shield (Pneumatic) 174
‎11.1.2 Integrating with an Automated Clamping Device (Pneumatic) 176
‎11.1.3 Interfacing with a Robot or other FMS Entity 177

11.1.1. Integrating with an Automated Shield (Pneumatic)

Detailed installation instructions are provided with each optional accessory purchased.

Take Note

‎11 Automation lntegration


‎11.1 Integration Instructions 174
The automated shield must be closed during machine operation to protect the operator, as shown in the
photograph below (left). The shield must be opened to allow access for an automated loading device.
Sensors on the pneumatic piston send signals indicating its current open/closed status to the machine
through an input port. The machine sends open/close commands to the shield through an output port.
The I/O ports are located at the right side of the machine, as shown in the photograph below (right).

The automatic shield opener, in closed position The I/ ports located at the right side
of the machine

‎11 Automation lntegration


‎11.1 Integration Instructions 175
Wiring guidelines are presented in the diagram and table below.

From Shield Opener To Machine I/O


Assembly Panel
24V A 24 V
24V B 24 V
OPEN OUT
CLOSE COM

11.1.2. Integrating with an Automated Clamping Device (Pneumatic)

Detailed installation instructions are provided with each optional accessory purchased.

Take Note
The automated clamping device, shown in the photograph below (left), closes and holds the part
securely during the machining process. The device opens to allow an automated loading device to load a
new workpiece or remove a finished part.
The pneumatic pressure regulator system, shown in the photograph below (right), is mounted on the
spindle motor access door on the left side of the machine as shown. This system regulates the air sent
to the pneumatic chuck forcing it to clamp onto the work piece.

The automatic chuck The pneumatic pressure regulator

‎11 Automation lntegration


‎11.1 Integration Instructions 176
The machine sends open/close commands to the automated clamping device through an output port.
The I/O ports are located at the right side of the machine.
Wiring guidelines are presented in the diagram and table below.

From Air Chuck Kit To Machine I/O


Panel
COM (Blue) COM
+ 24 V (Yellow/Green) 24 V
+ 24 V (Brown) 24 V
OUT (Black) CLAMP

11.1.3. Interfacing with a Robot or other FMS Entity


The BenchTurn 7000 CNC machine has a simple interface for integration in an FMS cell. Such integration
facilitates, for example, automated part loading and unloading between turning operations.
Most vertical articulated robots on the market can be integrated with Intelitek CNC machines.
Specific G Codes, called CHAIN TO FILE and CHAIN to COM G Codes, allow the BenchTurn 7000 to receive
string information. An external control device, such as a robot or device driver, can run any CNC
program via this interface. The BenchTurn 7000 in turn notifies the external control device that the
requested CNC program has been completed, via a machine output. Unlike for the machine automation
devices, such as an automated shield or clamping device, the “handshake” output from the CNC
machine to an external control device is wired via a relay to separate the electrical circuits of the CNC
machine and the external controller.

‎11 Automation lntegration


‎11.1 Integration Instructions 177
Follow the procedure below to set up the wiring for output activation.
Procedure: Wiring for Output Activation
1. Wire the 24V outlet on the CNC machine’s I/O interface to the A1 leg of the relay, including a flyback diode
for protection against spikes.

2. Wire the A2 leg to the desired output on the CNC machine.

3. When the selected output changes to ON, it will connect the 24V output to COM, thus energizing the
relay.
0 .

11.2. CNC PROGRAMMING FOR ROBOTIC COMMUNICATION


This section provides information on writing CNC programs for use in an FMS.
Section Contents: CNC Programming for Robotic Communication
Section Name Page
‎11.2.1 NC Codes for Robotic Communication 178
‎11.2.2 G Code Programming for Input Signals 179

11.2.1. NC Codes for Robotic Communication


The following table lists the NC codes used for robotic communication.
Info Table: NC Codes for Robotic Communication
Code Function
G25 Wait for High signal

See ‎11.2.2 G Code Programming for Input


G26 Wait for Low signal Signals, pg. 179.

M25 Transmit High signal

M26 Transmit Low signal

H# Specifies the input or output number. The default is H1.


The H code is used in conjunction with the Wait and Transmit codes.

Example - G25H3
Input
This code tells the CNC machine to wait until the state at input #3 goes High.
Assuming the robot’s initial output state is Low, if this line of code is placed at the
beginning of the program, the CNC machine waits until input #3 goes High, then executes

‎11 Automation lntegration


‎11.2 CNC Programming for Robotic Communication 178
the next line of code.
Example - M25H1
Output
This code tells the CNC machine to output a High signal through output #1.

11.2.2. G Code Programming for Input Signals


Both the G25 and G26 codes pause program operation until a signal change in the specified direction is
registered at the specified input. This is summarized in the following table.
Info Table: G Code Programming for Input Signals
Code Function If the signal is initially Program will continue after
signal
G25 Wait for High signal Low changes to High
High changes to Low and then
back to High
G26 Wait for Low signal Low changes to High and then
back to Low
High changes to Low

If the CNC machine does not respond to the robot as you have programmed it to, check
that you have wired the robot to the interface correctly and that the robot’s initial output
state was not changed to High while connecting the robot.
Product Care

In most cases the G commands can be omitted by using a VB script to send commands from
the robot to the CNC machine (for example, to open the door, open the clamping device,
etc.)
M commands used to send signals from the CNC machine to the robot cannot be replaced
Take Note by VB script.

11.3. SAMPLE ROBOT - CNC COMMUNICATION SEQUENCE


This section presents a sample communication sequence between a robot and a BenchTurn 7000 CNC
machine, and includes sample programs. Note that you may need to customize the samples for your
specific CNC machine.
This sample is based on a configuration that uses one CNC output Chain to File option. One could
alternatively create a working interface based on one CNC output and one CNC input, using the G and M
codes presented previously and corresponding sequences in the robot program.
This sample shows a typical sequence with a robot run by the SCORBASE programming language from
Intelitek, with the robot defined as the master and the CNC as the slave. The machine is waiting in
standby by running a program that monitors the communication channel (either a RS232 port or a file).

‎11 Automation lntegration


‎11.3 Sample Robot - CNC Communication Sequence 179
The robot uses program code and script to send commands to the machine and monitors the machine’s
status via an input.
Step 1
The CNC program (START.NC) sets the CNC output so that the robot’s input will be ON when START.NC is
running.
START.NC (Sample)
;-------------------------------------------
; First program to run
;-------------------------------------------
M25 H11 ;USER OUT#1 ON
M20;CHAIN TO PROGRAM
CHAIN_FILE O:\project_name\WS3\TURN\CHAIN_FILE.TXT

Step 2
The robot program uses a script file similar to the script below to send commands to the CNC machine.
CHAINL.VBS (Sample)
' File: CHAIN.VBS Date: 03-10-2014
Set objArgs = WScript.Arguments
NameofFile = objArgs(0)
'WScript.Echo NameofFile
writeFile NameOfFile
Sub WriteFile(NcProgram)
Const FileDirectory = "O:\JERANTUT\WS3\TURN\"
Const ForReading = 1, ForWriting = 2, ForAppending = 3
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
Dim fs, f, ts, s,TempfileName
Set fs = CreateObject("Scripting.FileSystemObject")
TempFileName = FileDirectory + "chain_file.$$$"
FileName = FileDirectory + "chain_file.txt"
fs.CreateTextFile TempFileName 'Create a file
Set f = fs.GetFile(TempFileName)
Set ts = f.OpenAsTextStream(ForWriting, TristateUseDefault)
ts.Write FileDirectory 'write into the file
ts.Write NcProgram 'write into the file
ts.Close ' close the file
fs.Copyfile TempFileName,FileName
fs.deletefile TempFileName
End Sub

Sub CLEAR()

‎11 Automation lntegration


‎11.3 Sample Robot - CNC Communication Sequence 180
WriteFile("CLEAR.NC")
End Sub

Sub OCHUCK()
WriteFile("OCHUCK.NC")
End Sub

Sub CCHUCK()
WriteFile("CCHUCK.NC")
End Sub

Sub ODOOR()
WriteFile("ODOOR.NC")
End Sub

Sub CDOOR()
WriteFile("CDOOR.NC")
End Sub
Sub SendFile(CNCProgNumber)
WriteFile(CNCProgNumber & ".nc")
End Sub

Step 3
The robot checks the input signal received from the CNC machine. If the machine signals that it is idle,
the robot sends a command to the CNC machine to clear the loading area, and will start the loading
procedure. By this time the robot will already have picked one part from a local storage device.
If Input 1 Off Call Subroutine BT7000 NOT READY
Call Subroutine PLACE TOOL TURRET IN LOADING POSITION
Remark: ************************************************************************************************
Set Subroutine PLACE TOOL TURRET IN LOADING POSITION
Call Subroutine SCRIPT.CLEAR
Call Subroutine SYNCHRONIZE_WITH_BT7000
Return from Subroutine
Remark: ************************************************************************************************

Step 4
The program name is transferred to the CNC control via the script file and the machine executes the
task.
CLEAR.NC (Sample)

‎11 Automation lntegration


‎11.3 Sample Robot - CNC Communication Sequence 181
M26 H11 ;USER OUT#1 OFF
G0X55Z185
G04F1;MAKE SURE OUTPUT IS SEEN
M20;CHAIN TO PROGRAM
START.NC

Step 5
The robot monitors the CNC’s input signal. The robot opens the door if the machine signals that it is idle.
If Input 1 Off Call Subroutine BT7000 NOT READY
Call Subroutine OPEN DOOR
Remark: ************************************************************************************************
Set Subroutine OPEN DOOR
Call Subroutine SCRIPT.ODOOR
Call Subroutine SYNCHRONIZE_WITH_BT7000
Return from Subroutine
Remark: ************************************************************************************************

Step 6
The program name is transferred to the CNC control via the script file and the machine executes the
task.

ODOOR.NC (Sample)
M26 H11 ;USER OUT#1 OFF
M25 H102 ;OPEN DOOR
G04F2;MAKE SURE OUTPUT IS SEEN
G25 H132; Wait door open
M20;CHAIN TO PROGRAM
START.NC

Step 7
The robot monitors the CNC’s input signal. The robot opens the clamping device if the machine signals
that it is idle.
If Input 1 Off Call Subroutine BT7000 NOT READY
Call Subroutine OPEN CHUCK
Remark: ************************************************************************************************
Set Subroutine OPEN CHUCK
Call Subroutine SCRIPT. CHUCK
Call Subroutine SYNCHRONIZE_WITH_BT7000
Return from Subroutine
Remark: ************************************************************************************************

‎11 Automation lntegration


‎11.3 Sample Robot - CNC Communication Sequence 182
Step 8
The program name is transferred to the CNC control via the script file and the machine executes the
task.
OCHUCK.NC (Sample)
M26 H11 ;USER OUT#1 OFF
M26 H4;CLOSE CHUCK
G04F1;MAKE SURE OUTPUT IS SEEN
M20;CHAIN TO PROGRAM
START.NC

Step 9
The robot monitors the CNC’s input signal. If the machine signals that it is idle, the robot inserts the part
into the clamping device and then closes it.
Go to Position SCRIPT.P3 Speed 50 (%)
Go to Position SCRIPT.P2 Speed 50 (%)
Go Linear to Position SCRIPT.P1 Speed 30 (%)
Go to Position SCRIPT.PB1 Speed 5 (%)
If Input 1 Off Call Subroutine BT7000 NOT READY
Call Subroutine CLOSE CHUCK
Remark: ************************************************************************************************
Set Subroutine CLOSE CHUCK
Call Subroutine SCRIPT. CCHUCK
Call Subroutine SYNCHRONIZE_WITH_BT7000
Return from Subroutine
Remark: ************************************************************************************************

Step 10
The program name is transferred to the CNC control via the script file and the machine executes the
task.
CCHUCK.NC (Sample)
M26 H11 ;USER OUT#1 OFF
M25 H4;CLOSE CHUCK
G04F1;MAKE SURE OUTPUT IS SEEN
M20;CHAIN TO PROGRAM
START.NC

‎11 Automation lntegration


‎11.3 Sample Robot - CNC Communication Sequence 183
Step 11
The robot monitors the CNC’s input signal. If the machine signals that it is idle, the robot exits the
machine and closes the door.
Open Gripper
Go Linear to Position SCRIPT.P2 Speed 30 (%)
If Input 1 Off Call Subroutine BT7000 NOT READY
Go to Position SCRIPT.P3 Speed 50 (%)
Go to Position SCRIPT.P4 Speed 50 (%)
If Input 1 Off Call Subroutine BT7000 NOT READY
Call Subroutine CLOSE DOOR

Step 12
The program name is transferred to the CNC control via the script file and the machine executes the
task.
CDOOR.NC (Sample)
M26 H11 ;USER OUT#1 OFF
M26 H102 ;CLOSE DOOR
G04F2;MAKE SURE OUTPUT IS SEEN
G25 H131; Wait door closed
M20;CHAIN TO PROGRAM
START.NC

Step 13
Depending on the system environment, the manufacturing CNC code can be activated via an external
control program (i.e. device driver) or directly from the robot program. In both cases the robot
controller will monitor the CNC machine status and will wait until the CNC program is finished. The
monitoring is done via an input interrupt to allow the robot to perform other tasks while waiting. The
interrupt is defined at the start of the program and is enabled or disabled as required in the program.
Remark: ****************************************************************************
Set Subroutine INITC
Load script file: PCPLC3.VBS
Disable Input Interrupt 1
On Input Interrupt 1 On Run Subroutine BT7000_CYCLE_FINISHED
Return from Subroutine
Remark: ****************************************************************************

BRASS_STEP.NC (Sample)
M26 H11 ;USER OUT#1 OFF
M3 S1500
N10 g00 x10 z54
;**************************************
Between these two lines the actual manufacturing code is written

‎11 Automation lntegration


‎11.3 Sample Robot - CNC Communication Sequence 184
;**************************************
G0 X20 ; Retract
M5
G00 X20Z150
M20; CHAIN TO PROGRAM
START.NC

Step 14
If the input interrupt that monitors the CNC machine is activated, the robot will start the unloading
sequence as soon as the robot is available. The sequence starts with the robot checking the input signal
coming from the CNC machine. If the machine signals that it is idle the robot will start the unloading
procedure.
If Input 1 Off Call Subroutine BT7000 NOT READY
Call Subroutine PLACE TOOL TURRET IN LOADING POSITION
Remark: ************************************************************************************************
Set Subroutine PLACE TOOL TURRET IN LOADING POSITION
Call Subroutine SCRIPT.CLEAR
Call Subroutine SYNCHRONIZE_WITH_BT7000
Return from Subroutine
Remark: ************************************************************************************************

Step 15
The program name is transferred to the CNC control via the script file and the machine executes the
task.
CLEAR.NC (Sample)
M26 H11 ;USER OUT#1 OFF
G0X55Z185
G04F1;MAKE SURE OUTPUT IS SEEN
M20;CHAIN TO PROGRAM
START.NC

Step 16
The robot monitors the CNC’s input signal. The robot opens the door if the machine signals that it is idle.
If Input 1 Off Call Subroutine BT7000 NOT READY
Call Subroutine OPEN DOOR
Remark: ************************************************************************************************
Set Subroutine OPEN DOOR
Call Subroutine SCRIPT.ODOOR
Call Subroutine SYNCHRONIZE_WITH_BT7000
Return from Subroutine
Remark: ************************************************************************************************

‎11 Automation lntegration


‎11.3 Sample Robot - CNC Communication Sequence 185
Step 17
The program name is transferred to the CNC control via the script file and the machine executes the
task.
ODOOR.NC (Sample)
M26 H11 ;USER OUT#1 OFF
M25 H102 ;OPEN DOOR
G04F2;MAKE SURE OUTPUT IS SEEN
G25 H132; Wait door open
M20;CHAIN TO PROGRAM
START.NC

Step 18
The robot enters the machine, reaches the part and closes its gripper. It monitors the CNC’s input signal,
and opens the clamping device if the machine signals that it is idle.
Go to Position SCRIPT.P3 Speed 50 (%)
Go to Position SCRIPT.P2 Speed 50 (%)
Open Gripper
Go Linear to Position SCRIPT.P1 Speed 30 (%)
Go to Position SCRIPT.PB1 Speed 5 (%)
Close Gripper
If Input 1 Off Call Subroutine BT7000 NOT READY
Call Subroutine OPEN CHUCK
Remark: ************************************************************************************************
Set Subroutine OPEN CHUCK
Call Subroutine SCRIPT. OCHUCK
Call Subroutine SYNCHRONIZE_WITH_BT7000
Return from Subroutine
Remark: ************************************************************************************************

Step 19
The program name is transferred to the CNC control via the script file and the machine executes the
task.
OCHUCK.NC (Sample)
M26 H11 ;USER OUT#1 OFF
M26 H4;CLOSE CHUCK
G04F1;MAKE SURE OUTPUT IS SEEN
M20;CHAIN TO PROGRAM
START.NC

‎11 Automation lntegration


‎11.3 Sample Robot - CNC Communication Sequence 186
Step 20
The robot monitors the CNC’s input signal. If the machine signals that it is idle the robot extracts the part
from the clamping device and closes it.
Go to Position SCRIPT.PB1 Speed 5 (%)
Go to Position SCRIPT.P2 Speed 50 (%)
Go to Position SCRIPT.P3 Speed 50 (%)
If Input 1 Off Call Subroutine BT7000 NOT READY
Call Subroutine CLOSE CHUCK
Remark: ************************************************************************************************
Set Subroutine CLOSE CHUCK
Call Subroutine SCRIPT. CCHUCK
Call Subroutine SYNCHRONIZE_WITH_BT7000
Return from Subroutine
Remark: ************************************************************************************************

Step 21
The program name is transferred to the CNC control via the script file and the machine executes the
task.
CCHUCK.NC (Sample)
M26 H11 ;USER OUT#1 OFF
M25 H4;CLOSE CHUCK
G04F1;MAKE SURE OUTPUT IS SEEN
M20;CHAIN TO PROGRAM
START.NC

Step 22
The robot monitors the CNC’s input signal. If the machine signals that it is idle, the robot exits the
machine and then closes the door.
Open Gripper
Go Linear to Position SCRIPT.P2 Speed 30 (%)
If Input 1 Off Call Subroutine BT7000 NOT READY
Go to Position SCRIPT.P3 Speed 50 (%)
Go to Position SCRIPT.P4 Speed 50 (%)
If Input 1 Off Call Subroutine BT7000 NOT READY
Call Subroutine CLOSE DOOR

Step 23
The program name is transferred to the CNC control via the script file and the machine executes the
task.
CDOOR.NC (Sample)
M26 H11 ;USER OUT#1 OFF

‎11 Automation lntegration


‎11.3 Sample Robot - CNC Communication Sequence 187
M26 H102 ;CLOSE DOOR
G04F2;MAKE SURE OUTPUT IS SEEN
G25 H131; Wait door closed
M20;CHAIN TO PROGRAM
START.NC

Step 24
The robot transfers the part to the next process or to its target storage.

11.4. SAMPLE ROBOTIC - CNC LNTEGRATION PROGRAMS


This section presents a selection of sample programs used for integrating a CNC machine in an FMS.
Section Contents: Sample Robotic – CNC Integration Programs
Section Name Page
‎11.4.1 Sample NC Programs 188
‎11.4.2 Sample Device Driver Script File 191
‎11.4.3 Sample SCORBASE Programs 192
‎11.4.4 Sample VB Script File 200

11.4.1. Sample NC Programs


START.NC
;-------------------------------------------
; First program to run
;-------------------------------------------
M25 H11 ;USER OUT#1 ON
M20;CHAIN TO PROGRAM
CHAIN_FILE O:\project_name\WS3\TURN\CHAIN_FILE.TXT

CLEAR.NC
M26 H11 ;USER OUT#1 OFF
G0X55Z185
G04F1;MAKE SURE OUTPUT IS SEEN
M20;CHAIN TO PROGRAM
START.NC

‎11 Automation lntegration


‎11.4 Sample Robotic - CNC lntegration Programs 188
ODOOR.NC
M26 H11 ;USER OUT#1 OFF
M25 H102 ;OPEN DOOR
G04F2;MAKE SURE OUTPUT IS SEEN
G25 H132; Wait door open
M20;CHAIN TO PROGRAM
START.NC

CDOOR.NC
M26 H11 ;USER OUT#1 OFF
M26 H102 ;CLOSE DOOR
G04F2;MAKE SURE OUTPUT IS SEEN
G25 H131; Wait door closed
M20;CHAIN TO PROGRAM
START.NC

OCHUCK.NC
M26 H11 ;USER OUT#1 OFF
M26 H4;CLOSE CHUCK
G04F1;MAKE SURE OUTPUT IS SEEN
M20;CHAIN TO PROGRAM
START.NC

CCHUCK.NC
M26 H11 ;USER OUT#1 OFF
M25 H4;CLOSE CHUCK
G04F1;MAKE SURE OUTPUT IS SEEN
M20;CHAIN TO PROGRAM
START.NC

BRASS_STEP.NC
M26 H11 ;USER OUT#1 OFF
M3 S1500
;G0 X30 Z70
;**************************************
N10 g00 x10 z54
N20 ;*******************first step**************************
N30 g01 x9.0 z53.8 f300 ;18.0mm diameter
N40 m03 s2000

‎11 Automation lntegration


‎11.4 Sample Robotic - CNC lntegration Programs 189
N50 g01 z13.5 f300
N60 g01 x10
N70 g00 z54
N80 g01 x8.5 z53.8 f300 ;17.0mm diameter
N90 g01 z13.5 f300 s2050
N100 g01 x10
N110 g00 z54
N120 g01 x8.0 z53.8 f300 ;16.0mm diameter
N130 g01 z13.5 f300 s2100
N140 g01 x10
N150 g00 z54
N160 g01 x7.6 z53.8 f300 ;15.2mm diameter
N170 g01 z13.5 f300 s2150
N180 g01 x10
N190 g00 z54
N200 g01 x7.5 z53.8 f300 ;15.0mm diameter
N210 g01 z13.5 f50 s2500
N220 g01 x10 f300
N230 g00 z54
N240 ;*******************second step**************************
N250 g01 x7.0 z53.8 f300 ;14.0mm diameter
N260 g01 z33.5 f300 s2200
N270 g01 x10
N280 g00 z54
N290 g01 x6.5 z53.8 f300 ;13.0mm diameter
N300 g01 z33.5 f300 s2250
N310 g01 x10
N320 g00 z54
N330 g01 x6.0 z53.8 f300 ;12.0mm diameter
N340 g01 z33.5 f300 s2300
N350 g01 x10
N360 g00 z54
N370 g01 x5.5 z53.8 f300 ;11.0mm diameter
N380 g01 z33.5 f300 s2350
N390 g01 x10
N400 g00 z54
N410 g01 x5.1 z53.8 f300 ;10.2mm diameter
N420 g01 z33.5 f300 s2280
N430 g01 x10
N440 g00 z54
N450 g01 x5.0 z53.8 f200 ;10.0mm diameter

‎11 Automation lntegration


‎11.4 Sample Robotic - CNC lntegration Programs 190
N460 g01 z33.5 f50 s2500
N470 g01 x10 f300
N480 g00 z54
N490 ;*******************arc 1**************************
N500 g01 x3 z53.5 f300 ;start point for arc
N510 g02 x8 z48.5 i3 k48.5 f50
N520 g01 x10 f300
N530 g00 z54
N540 g01 x2 z53.5 f300 ;start point for arc
N550 g02 x7 z48.5 i2 k48.5 f50
N560 g01 x10 f300
N570 g00 z54
N580 g01 x1 z53.5 f300 ;start point for arc
N590 g02 x6 z48.5 i1 k48.5 f50
N600 g01 x10 f300
N610 g00 z54
N620 g01 x0 z53.5 f300;start point for arc
N630 g02 x5 z48.5 i0 k48.5 f50
N640 g01 x10 f300
N650 ;*******************arc 2**************************
N660 g01 x6.25 z33.5 f300 ;start point for arc
N670 g02 x7.5 z32.25 i6.25 k32.25 f50
N680 g01 x10 f300
N690 ;*******************arc 3**************************
N700 g01 x8.25 z13.5 f300 ;start point for arc
N710 g02 x9.5 z12.25 i8.25 k12.25 f50
N720 g01 x10 f300
N730 g00 z54
N740 M05
;**************************************
;G0 X20 ; Retract
;x20z150
M20;CHAIN TO PROGRAM
START.NC

11.4.2. Sample Device Driver Script File


Shown below is a sample device driver script file for use in OpenCIM or FMS.
REQUEST ACTION RETURN
OPERATE0 DRAW( ---BT7000 OPERATE --- )
sendmsg(2581)

‎11 Automation lntegration


‎11.4 Sample Robotic - CNC lntegration Programs 191
REQUEST ACTION RETURN
DRAW( -- OPERATING ---)
MSWINDOWS(cscript O:\project_name\WS3\TURN\CHAIN.VBS P1)
SENDSTR(V1,RUN WAIT_CYCLE_END_BT7000)
WAITSTR(V3,18000000)
SENDMSG( 2582 )
SENDMSG( 2580 )
DRAW(---END---)
END
ABORT ABORT()
END
INITC
END
OPEN DOOR DRAW( ---OPEN BT7000 DOOR --- )
MSWINDOWS(cscript O:\ project_name \WS3\TURN\CHAIN.VBS ODOOR)
END
CLOSE DOOR DRAW( ---CLOSE BT7000 DOOR --- )
MSWINDOWS(cscript O:\ project_name \WS3\TURN\CHAIN.VBS CDOOR)
END
OPEN CHUCK DRAW( ---OPEN BT7000 CHUCK --- )
MSWINDOWS(cscript O:\ project_name \WS3\TURN\CHAIN.VBS OCHUCK)
END
CLOSE CHUCK DRAW( ---CLOSE BT7000 CHUCK --- )
MSWINDOWS(cscript O:\ project_name \WS3\TURN\CHAIN.VBS CCHUCK)
END
CLEAR DRAW( ---CLEAR BT7000 TURRET--- )
MSWINDOWS(cscript O:\ project_name \WS3\TURN\CHAIN.VBS CLEAR)
END

11.4.3. Sample SCORBASE Programs


Shown below is a sample SCORBASE program for use in a typical FMS station in an OpenCIM/FMS
environment.
Remark: $ Beginning of automatically generated code
Call Subroutine $PICK_AND_PLACE_0,31,1,1,3,101
Set Subroutine $PICK_AND_PLACE_0,31,1,1,3,101
Set Variable TASK_ID = 300014
Set Variable PART_ID = 0
Set Variable SOURCE_DEVICE_ID = 31
Set Variable SOURCE_DEVICE_INDEX = 1
Set Variable TARGET_DEVICE_ID = 1

‎11 Automation lntegration


‎11.4 Sample Robotic - CNC lntegration Programs 192
Set Variable TARGET_DEVICE_INDEX = 3
Set Variable PICK_AND_PLACE_NOTE = 101
Call Subroutine AUTOEXEC
Call Subroutine GET031
Call Subroutine PUT001
Return from Subroutine
Remark: $ End of automatically generated code
Remark: ****************************************************************************
Set Subroutine INITC
Load script file: PCPLC3.VBS
Disable Input Interrupt 1
On Input Interrupt 1 On Run Subroutine BT7000_CYCLE_FINISHED
Return from Subroutine
Remark: ****************************************************************************
Set Subroutine AUTOEXEC
Set Variable SCRIPT.PART_ID = PART_ID
Set Variable SCRIPT.SOURCE_DEVICE_ID = SOURCE_DEVICE_ID
Set Variable SCRIPT.SOURCE_DEVICE_INDEX = SOURCE_DEVICE_INDEX
Set Variable SCRIPT.TARGET_DEVICE_ID = TARGET_DEVICE_ID
Set Variable SCRIPT.TARGET_DEVICE_INDEX = TARGET_DEVICE_INDEX
Set Variable SCRIPT.PICK_AND_PLACE_NOTE = PICK_AND_PLACE_NOTE
Return from Subroutine
Remark: ************************************************************************************************
Set Subroutine GET001
Print to Screen: GET TEMPLATE FROM CONVEYOR (CNV1)
Call Subroutine SCRIPT.GET_FROM_CNV1
Print to Screen: P1,P2,P3,PB1: 'SCRIPT.P1', 'SCRIPT.P2','SCRIPT.P3','SCRIPT.PB1'
Go to Position SCRIPT.P3 Fast
Go to Position SCRIPT.PB1 Fast
Open Gripper
Go to Position SCRIPT.P2 Fast
Go Linear to Position SCRIPT.P1 Speed 30 (%)
Close Gripper
Go to Position SCRIPT.P2 Fast
Send Message $Start to MANAGER ID=TASK_ID
Return from Subroutine
Remark: ************************************************************************************************
Set Subroutine PUT001
Print to Screen: PUT TEMPLATE ON CONVEYOR (CNV1)
Call Subroutine SCRIPT.PUT_TO_CNV1
Print to Screen: P1,P2,P3,PB1: 'SCRIPT.P1', 'SCRIPT.P2','SCRIPT.P3','SCRIPT.PB1'

‎11 Automation lntegration


‎11.4 Sample Robotic - CNC lntegration Programs 193
Go to Position SCRIPT.P3 Fast
Go to Position SCRIPT.PB1 Fast
Go to Position SCRIPT.P2 Fast
Go Linear to Position SCRIPT.P1 Speed 50 (%)
Open Gripper
Go Linear to Position SCRIPT.P2 Speed 30 (%)
Go to Position SCRIPT.P3 Fast
Send Message $Finish to MANAGER ID=TASK_ID
Send Message $End to MANAGER ID=TASK_ID
Return from Subroutine
Remark: ************************************************************************************************
Set Subroutine GET031
Print to Screen: GET FROM BUFFER3
Call Subroutine SCRIPT.GET_FROM_BUFFER3
Print to Screen: P1,P2,P3,PB1: 'SCRIPT.P1', 'SCRIPT.P2','SCRIPT.P3','SCRIPT.PB1'
Go to Position SCRIPT.P3 Fast
Go to Position SCRIPT.PB1 Fast
Open Gripper
Go to Position SCRIPT.P2 Fast
Go Linear to Position SCRIPT.P1 Speed 30 (%)
Close Gripper
Go Linear to Position SCRIPT.P2 Fast
Send Message $Start to MANAGER ID=TASK_ID
Return from Subroutine
Remark: ************************************************************************************************
Set Subroutine PUT031
Print to Screen: PUT TO BUFFER3
Call Subroutine SCRIPT.PUT_TO_BUFFER3
Print to Screen: P1,P2,P3,PB1: 'SCRIPT.P1', 'SCRIPT.P2','SCRIPT.P3','SCRIPT.PB1'
Go to Position SCRIPT.P3 Fast
Go to Position SCRIPT.PB1 Fast
Go to Position SCRIPT.P2 Fast
Go Linear to Position SCRIPT.P1 Speed 30 (%)
Open Gripper
Go Linear to Position SCRIPT.P2 Fast
Send Message $Finish to MANAGER ID=TASK_ID
Send Message $End to MANAGER ID=TASK_ID
Return from Subroutine
Remark: ************************************************************************************************
Set Subroutine GET032
Print to Screen: GET FROM LATHE (BT7000)

‎11 Automation lntegration


‎11.4 Sample Robotic - CNC lntegration Programs 194
Call Subroutine SCRIPT.GET_FROM_LATHE1
Print to Screen: P1,P2,P3,P4,PB1,PB2: 'SCRIPT.P1', 'SCRIPT.P2','SCRIPT.P3','SCRIPT.P4','SCRIPT.PB1','SCRIPT.PB2'
Go to Position SCRIPT.P4 Speed 50 (%)
Go to Position SCRIPT.PB1 Fast
If Input 1 Off Call Subroutine BT7000 NOT READY
Call Subroutine PLACE TOOL TURRET IN LOADING POSITION
If Input 1 Off Call Subroutine BT7000 NOT READY
Call Subroutine OPEN DOOR
Go to Position SCRIPT.P3 Speed 50 (%)
Open Gripper
Go to Position SCRIPT.P2 Speed 50 (%)
Go Linear to Position SCRIPT.P1 Speed 30 (%)
Go to Position SCRIPT.PB1 Speed 30 (%)
Close Gripper
If Input 1 Off Call Subroutine BT7000 NOT READY
Call Subroutine OPEN CHUCK
Go to Position SCRIPT.PB2 Speed 30 (%)
Go Linear to Position SCRIPT.P2 Speed 30 (%)
Go to Position SCRIPT.P3 Speed 50 (%)
Go to Position SCRIPT.P4 Speed 50 (%)
If Input 1 Off Call Subroutine BT7000 NOT READY
Call Subroutine CLOSE DOOR
Send Message $Start to MANAGER ID=TASK_ID
Return from Subroutine
Remark: ************************************************************************************************
Set Subroutine PUT032
Print to Screen: PUT_TO_LATHE (BT7000)
Call Subroutine SCRIPT.PUT_TO_LATHE1
Print to Screen: P1,P2,P3,P4,PB1,PB2: 'SCRIPT.P1', 'SCRIPT.P2','SCRIPT.P3','SCRIPT.P4','SCRIPT.PB1','SCRIPT.PB2'
Go to Position SCRIPT.P4 Speed 50 (%)
Go to Position SCRIPT.PB2 Fast
If Input 1 Off Call Subroutine BT7000 NOT READY
Call Subroutine PLACE TOOL TURRET IN LOADING POSITION
If Input 1 Off Call Subroutine BT7000 NOT READY
Call Subroutine OPEN DOOR
If Input 1 Off Call Subroutine BT7000 NOT READY
Call Subroutine OPEN CHUCK
Go to Position SCRIPT.P3 Speed 50 (%)
Go to Position SCRIPT.P2 Speed 50 (%)
Go Linear to Position SCRIPT.P1 Speed 30 (%)
Go to Position SCRIPT.PB1 Speed 5 (%)

‎11 Automation lntegration


‎11.4 Sample Robotic - CNC lntegration Programs 195
Call Subroutine CLOSE CHUCK
Open Gripper
Go Linear to Position SCRIPT.P2 Speed 30 (%)
If Input 1 Off Call Subroutine BT7000 NOT READY
Go to Position SCRIPT.P3 Speed 50 (%)
Go to Position SCRIPT.P4 Speed 50 (%)
If Input 1 Off Call Subroutine BT7000 NOT READY
Call Subroutine CLOSE DOOR
Send Message $Finish to MANAGER ID=TASK_ID
Send Message $End to MANAGER ID=TASK_ID
Return from Subroutine
Remark: ************************************************************************************************
Set Subroutine GET033
Print to Screen: GET PART FROM GRAVITY FEEDER (GFDR1)
Call Subroutine SCRIPT.GET_FROM_GFDR1
Print to Screen: P1,P2,P3,PB1: 'SCRIPT.P1', 'SCRIPT.P2','SCRIPT.P3','SCRIPT.PB1'
Go to Position SCRIPT.PB1 Fast
Go to Position SCRIPT.P4 Speed 50 (%)
Wait Until Digital Input 2 is ON
Go to Position SCRIPT.P2 Speed 50 (%)
Open Gripper
Go Linear to Position SCRIPT.P1 Speed 30 (%)
Close Gripper
Go Linear to Position SCRIPT.P3 Speed 50 (%)
Go to Position SCRIPT.P4 Speed 50 (%)
Send Message $Start to MANAGER ID=TASK_ID
Return from Subroutine
Remark: ****************************************************************************
Set Subroutine PUT033
Print to Screen: PUT TO GRAVITY FEEDER
Print to Screen: SHOULD NEVER HAPPEN
Return from Subroutine
Remark: ****************************************************************************
Set Subroutine GET034
Print to Screen: GET FROM RACK2
Call Subroutine SCRIPT.GET_FROM_RACK2
Print to Screen: P1,P2,P3,PB1: 'SCRIPT.P1', 'SCRIPT.P2','SCRIPT.P3','SCRIPT.PB1'
Go to Position SCRIPT.P3 Speed 50 (%)
Go to Position SCRIPT.PB1 Fast
Go to Position SCRIPT.P2 Speed 50 (%)
Open Gripper

‎11 Automation lntegration


‎11.4 Sample Robotic - CNC lntegration Programs 196
Go Linear to Position SCRIPT.P1 Speed 30 (%)
Close Gripper
Go Linear to Position SCRIPT.P2 Speed 50 (%)
Go to Position SCRIPT.P3 Speed 50 (%)
Send Message $Finish to MANAGER ID=TASK_ID
Send Message $End to MANAGER ID=TASK_ID
Return from Subroutine
Remark: ****************************************************************************
Set Subroutine PUT034
Print to Screen: PUT TO RACK2
Call Subroutine SCRIPT.PUT_TO_RACK2
Print to Screen: P1,P2,P3,PB1: 'SCRIPT.P1', 'SCRIPT.P2','SCRIPT.P3','SCRIPT.PB1'
Go to Position SCRIPT.P3 Speed 50 (%)
Go to Position SCRIPT.PB1 Fast
Go to Position SCRIPT.P2 Speed 50 (%)
Go Linear to Position SCRIPT.P1 Speed 30 (%)
Open Gripper
Go Linear to Position SCRIPT.P2 Speed 50 (%)
Go to Position SCRIPT.P3 Speed 50 (%)
Send Message $Finish to MANAGER ID=TASK_ID
Send Message $End to MANAGER ID=TASK_ID
Return from Subroutine
Remark: ************************************************************************************************
Set Subroutine SYNCHRONIZE_WITH_BT7000
Print to Screen: Synchronizing with BT7000 for Loading/Unloading
BT7000_IDLE_OFF:
Wait Until Digital Input 1 is OFF
Wait 1 (10ths of seconds)
BT7000_IDLE_ON:
Wait Until Digital Input 1 is ON
Wait 1 (10ths of seconds)
BT7000_SIGNAL_ON:
Return from Subroutine
Remark: ************************************************************************************************
Set Subroutine WAIT_CYCLE_END_BT7000
Wait 10 (10ths of seconds)
Print to Screen: WAIT_CYCLE_END_BT7000
Enable Input Interrupt 1
Return from Subroutine
Remark: ************************************************************************************************
Set Subroutine BT7000_CYCLE_FINISHED

‎11 Automation lntegration


‎11.4 Sample Robotic - CNC lntegration Programs 197
Print to Screen: BT7000 is ready
Disable Input Interrupt 1
Print to Screen: Send message ENDTURN to Dev. 32
Send Message ENDTURN to Device Driver ID=32
Return from Subroutine
Remark: ************************************************************************************************
Set Subroutine OPEN DOOR
Call Subroutine SCRIPT.ODOOR
Call Subroutine SYNCHRONIZE_WITH_BT7000
Return from Subroutine
Remark: ************************************************************************************************
Set Subroutine CLOSE DOOR
Call Subroutine SCRIPT.CDOOR
Call Subroutine SYNCHRONIZE_WITH_BT7000
Return from Subroutine
Remark: ************************************************************************************************
Set Subroutine OPEN CHUCK
Call Subroutine SCRIPT.OCHUCK
Call Subroutine SYNCHRONIZE_WITH_BT7000
Return from Subroutine
Remark: ************************************************************************************************
Set Subroutine CLOSE CHUCK
Call Subroutine SCRIPT.CCHUCK
Call Subroutine SYNCHRONIZE_WITH_BT7000
Return from Subroutine
Remark: ************************************************************************************************
Set Subroutine PLACE TOOL TURRET IN LOADING POSITION
Call Subroutine SCRIPT.CLEAR
Call Subroutine SYNCHRONIZE_WITH_BT7000
Return from Subroutine
Remark: ************************************************************************************************
Set Subroutine BT7000 NOT READY
Print to Screen & Log: BT7000 NOT READY!!! CHECK AND RESTART PRODUCTION!!!
Print to Screen & Log: OR CONTINUE PRODUCTION FROM CURRENT LOCATION.
Return from Subroutine
Remark: ************************************************************************************************
Set Subroutine SHUTDOWN
Print to Screen: MOVING TO SHUTDOWN POSITION (Robot&LSB)
Go to Position 499 Speed 50 (%)
Close Gripper
Return from Subroutine

‎11 Automation lntegration


‎11.4 Sample Robotic - CNC lntegration Programs 198
Remark: ************************************************************************************************

‎11 Automation lntegration


‎11.4 Sample Robotic - CNC lntegration Programs 199
11.4.4. Sample VB Script File
CHAINL.VBS
' File: CHAIN.VBS Date: 03-10-2014
Set objArgs = WScript.Arguments
NameofFile = objArgs(0)
'WScript.Echo NameofFile
writeFile NameOfFile
Sub WriteFile(NcProgram)
Const FileDirectory = "O:\JERANTUT\WS3\TURN\"
Const ForReading = 1, ForWriting = 2, ForAppending = 3
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
Dim fs, f, ts, s,TempfileName
Set fs = CreateObject("Scripting.FileSystemObject")
TempFileName = FileDirectory + "chain_file.$$$"
FileName = FileDirectory + "chain_file.txt"
fs.CreateTextFile TempFileName 'Create a file
Set f = fs.GetFile(TempFileName)
Set ts = f.OpenAsTextStream(ForWriting, TristateUseDefault)
ts.Write FileDirectory 'write into the file
ts.Write NcProgram 'write into the file
ts.Close ' close the file
fs.Copyfile TempFileName,FileName
fs.deletefile TempFileName
End Sub

Sub CLEAR()
WriteFile("CLEAR.NC")
End Sub

Sub OCHUCK()
WriteFile("OCHUCK.NC")
End Sub

Sub CCHUCK()
WriteFile("CCHUCK.NC")
End Sub

Sub ODOOR()
WriteFile("ODOOR.NC")
End Sub

‎11 Automation lntegration


‎11.4 Sample Robotic - CNC lntegration Programs 200
Sub CDOOR()
WriteFile("CDOOR.NC")
End Sub

Sub SendFile(CNCProgNumber)
WriteFile(CNCProgNumber & ".nc")
End Sub

‎11 Automation lntegration


‎11.4 Sample Robotic - CNC lntegration Programs 201

You might also like