Professional Documents
Culture Documents
AB Bandit III Programming
AB Bandit III Programming
PROGRAMMING MANUAL
MILL REVISION Cl
. I
. .
Proprietary
Objective
Copyright 1983
h .
TABLE OF CONTENTS
1. INTRODUCT I ON 1. 1
i
2.9.2 PERMITTED CHARACTERS EIA AND ASCII/ISO ...... 2.14
2. 9. 3 WORD ADDRESSES. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2. 15
3. WORD DESCRIPTIONS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3. 1
3•3 E WORD. • • . • . • • . . • . . • • • • • . • • • . • . • . . • • . • • • • • • • • • • • • • . • 3. 2
ii
r -c.
3.5.25
...
G73- POINT-TO-POINT INTERPOLATION MODE ..... 3.33
3 . 5.30
.
G81- DRILL AUTOCYCLE . . . . . . . . . . . . . . . . . . . . . . . 3.43
3.6 L WORD- REPEAT COUNTER ... ... .. . .... ..... . . ....... . . 3.54
iii
3.7.4 M30- END OF PROGRAM, TAPE REWIND . . . . . . . . . . . 3.57
4 . 1. 2 TOOLING . . . . . . . • . . • . • • • • • • . . • . • • . • . . . . . . . . . . . . 4•4
4. 1. 3 FIXTURE OFFSETS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4. 6
4. 2 EXAMPLE PROGRAM. . . . • • • • • • • • . . . . . . . . . . . • • • . . • . . • . . . • . 4. 7
iv
MD I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4. 17
JOG HANDWHEEL . . . . . . . . . . . . . . . . . . . . . • . . . . . . . . . . . 4. 20
4.3.2 JOB SET-UP .. .................... 4.20
INCH/METRIC .. 4.21
BLOCK DELETE . . . . . . . . . . . . . . . . . . . . . . • . . . . . . . . . . . 4. 2 2
DIRECTORY . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . 4.26
PROGRAM NAME. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4. 2 7
PROGRAM NUMBER. . . . . . . • . . . . . . . . . . . . . . . . . . . . . . . 4. 2 7
CHARACTERS.................................. 4.28
AVAILABLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.28
RENUMBER TO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4. 28
EDIT . . . . . . . . . . . . . . . . . . . . . 4.28
DELETE . . . . . . . . . . . . . . . . . . . 4.29
v
LIST EDIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.33
~
SOFT LIMITS. . . • . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4. 40
RAPID. 4.41
GRID. 4.41
4. 6 PROGRAM EXECUTION. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4. 4 2
5. INPUT/OUTPUT . . . . . . . . . . . . . . . . 5.1
5. 1 PROGRAM OUTPUT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5. 2
5. 2 PROGRAM INPUT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • 5. 4
vi
6.1.4 RCIJ COMMAND • . . . . . . . . . . . . . . . . . . . • . . . . • . . . . . . . 6.9
SPIRALS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 . 17
MESSAGES. • . • • • • • • • • • • • • • • • • • • • • • . • • . • • . • • • • . • . • • a-2
B. 1 INTRODUCTION. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b- 2
B.2 GENERAL CONCEPTS AND COORDINATE SYSTEM ...•.•........ b-2
.
II
I
I
I
1
Vl.l.
LIST OF FIGURES
viii
3-21 Peck Drill Autocycle. .................................. 3.49
lX
6-7: RA Command Examples . . . . . . . . . . . • . . . . . . . . . . . . . . • . . . . . . . . • 6.8
6-8: RCI'-J Polar Corrunand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.9
6-9: RCI ..J Command Examples .. . . • • . • . . . . . . . . . . . . . . . . . . . • . . . . . . 6.10
6-10: Polar Programming Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.12
X
B-20: Resolving Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b-22
XJ.
1. INTRODUCTION
l.l
Figure 1-1: Axes On a Vertical Mill
If, in the course of reading this manual , you discover any errors
or inadequacies , please advise Technical Documentation/Commercial
Services , Allen-Bradley Company/Systems Div.ision, 747 Alpha Drive,
Highland Heights, OH 44143
The Allen-Br a dley Company reserves the right to update this doc-
ument through whatever means necessary without prior notice.
1.2
2. CONTROL DESCRIPTION
VERTICAL
MILL
PENDANT
MODULE
AUTOMATIC TOOL CHANGER
(POWER DRAW BAR, ~PM CHANGER)
SPINDLE
CONTACTOR
BOX LOGIC
CONTROL
MODULE
DRIVE ENCLOSURE
2.1
Figure 2-2: Vertical Milling Machine Installation
2.2
2.1.1 FRONT PANEL
MANUAL OPERATE
PROGRAM OUTPUT
~ ., .... t 14
•o®"o
40
30
20 140
120
30
~~ ~ 10 '50
® ALLEN-BRADLEY
~ ' •~EEDRATE "'aSPIN OLE SP£EO
2.3
. '
3. ALPHA-NUMERIC KEYBOARD -- A full alpha-numeric keyboard
allows the programmer to specify required word addresses and
numeric data for part programs . For more complete
documentation , programs can also incorporate comments, which
may be entered using the front panel keyboard . Secondary
characters are accessed by simultaneously pressing the SHIFT
key and a k e y from the numeric keyboard.
4. DELETE AND INSERT KEYS -- The DELETE and INSERT keys are use-
ful during p rogram editing. They are used in conjunction
with the CRT c u rsor to insert or delete individual characters
or complete data blocks.
2.4
10. START CYCLE BUTTON -- This green illuminated button will ini-
tiate continuous execution of a prograM or other function when
it is pressed. The button is normally off, but will illuminate
when pressed and remain on until the particular progran or
function is completed .
12. HALT CYCLE BUTTON -- This red illuminated button will halt
execution of a program or other function when it is pressed.
Axes will decelerate and hold in position when the HALT CYCLE
button is pressed and the button will be lighted when the
control is in a halted state. Program execution is resumed
by pressing the START CYCLE or SINGLE CYCLE buttons.
2.5
2.3 AXIS DRIVE MODULE
The Axis Drive Module uses the motor drive signal (from the Logic
Control Module) to run the Axis Motor Packages at a desired velo-
city and in a given direction. The Axis Drive Module also
monitors a tachometer feedback signal from the Axis Motor
Packages. Four separate motor drivers may be incorporated to
automate a vertical milling machine (3 linear axes, and 1
rotary axis, for example), but the Bandit III CNC can direct up
to six independent axes.
2. 5 DRIVE ENCLOSURE
The only power switch for the system is the door interlock on the
Drive Enclosure. There is no power switch on the Pendant Module.
If the system is not "ON," first push the Emergenct Stop button
into the "OFF" position. If the system is equipped with an
Automatic Toolchanger make sure that its power switch is "OFF" as
well prior to turning the Bandit III "ON".
2.7
NOTE: If errors are detected during control sta r t -
up, the system will either show a flashing
message on the screen denot1ng the error, or
stop 1n a memory fail condition. For system
detected errors, refer to Appendix A of th1s
manual for d1agnos1s and/or refer the prob-
lem to qualified service personnel.
With the Mode Select page shown on the CRT, and the control pro-
perly in1talized, the system is ready for normal use .
The soft-keys and the EXIT key are used to move between the
various pages of ·the control. The soft-keys provide the means of
moving into pages; the EXIT key is used to move out of a current -
page to the page that was previously displayed. Fo l d-out figure
2-4, at the end of this section, gives a summary of the page
address structure for the Bandit III CNC; i.e., a "soft- key tree . "
Each page of the control has a corresponding block in the tree.
The soft-key used to access a given page is noted immed1ately
above each page block. Note that there are six primary branches
in the structure. Each of these branches are accessed from the
main page of the control, the Mode Select page.
2.8
A convenient method is provided for exiting immediately to the
Mode Select page from virtually any point in the soft-key
structure. Press and hold the SHIFT key then press the EXIT key
(referred to as SHIFT EXIT). The Mode Select page will be shown
and another branch can be selected. The various branches of the
page address/soft-key structure are discussed briefly below.
Manual Operate also gives the opti?n of MDI (Manual Data Input).
This allows commands to be entered one at a time from the-
keyboard in a manner similar to Prompt Edit (see section 4.4.3).
MDI commands are executed immediately and do not affect program
memory.
The functions associated with the Job Set-up page prepare the
control for part production. T~ese functions include selection
of inch or metric (millimeter) definitions for program units,
block delete, and optional stop. The Tool Offsets pages can be
accessed for entry of tool length and diameter values. The
Fixture Offsets page is available for entry of fixture offset and
backlash compensation values. The user can also choose to view
2.9
the program memory directory, and call a program from memory for
editing or execution.
The user can choose to examine the control's Status page where
the current parameters assumed by the control are shown. The
Graphics page is selectable for viewing the tool path in detail.
The Bandit III CNC has five distinct states that it can assume
during normal operation. These states are IDLE, RUNNING,
FEEDHOLD, HALTED, and FAULT. Each state will be shown on various
pages of the control when it occurs.
2.10
The IDLE state is assumed by the CNC when none of the remaining
- conditions are detected. It simply means that the system is not
performing a selected function and is completely available for
use. (The control assumes itself to be IDLE when Jog Handwheel
and Jog Continuous are used, but these are the sole exceptions.)
2.11
Also, if a change is made between inch and metric units on the
Jog or Job Set-up pages or is programmed, a Machine Home is
required before using MDI, any of the Check Out modes, or Auto
Operate.
2.12
2.7.6 DEFAULT CONDITIONS
5. Jl1irrors off.
7. Autocycles off.
2.13
Backlash compensation is applied only before a change in axis
movement occurs. If an axis move occurs in the same direction as
the previous move of the axis, no compensation will take place
since the slack has already been taken up.
A data block may contain any of the following words, codes, and
characters:
2.14
2.9.2 PERMITTED CHARACTERS EIA AND ASCII/ISO
The list below shows the valid word addresses for the Bandit III
CNC in alphabetical order, and their primary uses with position-
ing codes or in autoroutine/autocycle . definitions.
Rectangular pocket
(G26) finish feedrate
(cont . )
2.15
WORD ADDRESS POSITIONING AUTOROUTINE/AUTOCYCLE/ETC
Rectangular pocket
(G26) finish cut in X
M Miscellaneous functions
N Sequence numbers
p Program identification Subprogram identifi-
cation
2.17
WORD ADDRESS POSITIONING AUTOROUTINE/AUTOCYCLE/ETC
Rectangular pocket
(G26) opposite corner
in X
Pre-cycle X move
(G81-G85)
y Y axis positional coding Bolt-hole circle (G24)
start reference in Y _
Rectangular pocket ~
(G26) opposite corner
in Y
Y axis scaling {G72)
factor
Pre-cycle Y move
(G81-G85)
On a control system with fewer than 4 axes, some of the axis word
addresses above are invalid. Refer to the particular machine ' s
configuration for details of which axes are present .
2.18
2.9.4 PROGRAMMING FORMATS
INCH METRIC
2.19
3. WORD DESCRIPTIONS
3.2 D WORD
3.1
3.3 E WORD
3.4 F WORD
The F word (format: inch F3.1, metric F4) specifies the feedrate
at which one or more axes should move in inches or millimeters
per minute. During simultaneous moves, the velocity of each axis
is calculated to give a vector feedrate equal to the specified
current F value.
3.5 G WORD
3.2
A preparatory function is defined by the word address "G,"
followed by a 2 digit numeric value (although codes GOO to G09
can be invoked by a single digit if required}. The G code may be
placed anywhere within a block, between an initial sequence
number (if present} and the End of Block character (#}.
The list below summarizes the valid G codes which are available
on the Bandit III CNC system.
3.3
~------------------------------------~--------------------------------------------------/
3.5.2 GOl -LINEAR INTERPOLATION MODE
Z+ Z+
Y+
G 19 : YZ PLANE
0 INITIAL POSITION
+ CENTER (It, j-) ( i -, j-)
e END POSITION
+I, J CENTER
\
II -
+C-EN-TE-R--+-~- '/
I I
(INITIAL START /I
CUTTER '- /
---
POSITION) ........ / (it, jt) ( ·-. jt)
....... /
The G02 code is not modal, however it cancels GOO and sets the
GOl mode for subsequent moves.
2.0 R END
k: -1.0607
_L
G90# G91#
Gl9# Gl9#
G03 YL0607 ZI.0607 JO KO # G03 YO ZO J -1.0607 K-1.0607 #
~START = END
_\~20"
\~~01 I \
3.0
/\30°
-60° \ j= o
X-5. ------~~ __L START _L ____'+---
Y-2.
START
2 X- ·
Y-2 .
CENTER
f.- ;. 3.~ CENTER
G90# G91#
G02 I-2. J-2. Cl20. # G02 I3. JO C- 60. #
3.6
3.5.5 G04 -DWELL
The G04 code is used to program a dwell, for which the duration
~ is defined by an associated D value. The first time a G04 word
appears in a program, it must have an associated D word included
1n the block, defining the dwell time duration.
Subsequent part program blocks need specify only the G04 code if
the same dwell time is required: otherwise a new D value can be
specified by itself or in conjunction with a G04 in later blocks
as required. During the dwell period the control displays a
countdown of the time on the Status page as it elapses. Dwells
may be necessary in some machining operations, or can be used to
give the operator time to read a part program comment on the Sta-
tus page, in which case the comment block should immed1ately fol-
low the G04 block.
The G04 code is non-modal and does not cha.nge the status or func-
tioning of the control in any way except to 1nsert a pause of the
designated duration. On completion of the dwell time, the
control continues execution of the next block.
r-
3.5.6 Gl7 - PLANE SELECTION XY
3.7
NOTE: The helix move concludes when the Z axis
reaches final programmed position. The final
positions for X and Y axes can conclude any-
where on the circle as determined by the ratio
of Z to K. For example, (in incremental mode)
if Z is 1 and K is .5, two revolutions in X
and Y will occur. Similarly, if Z is . 5 and
K is 1, one-half revolution will result.
Therefore, it is recommended that the next X
move and the next Y move after a helix should
be programmed in Absolute (G90) positioning.
I
1.25
i
.25 ':':I
1;:
J:
t
f =: ' : : ]
1
; ;
r
:
G90#
GOI XO Y2. F 10. #
G 22 I I. J 2 . Z - I. K . 2 5 #
XI. Y2. #
3.8
G90 #
GOO xo Yl. 5 #
GOl Z-2. #
.......... G9l #
.... G02 xo YO IO J-1.5 #
G22 IO J-1. 5 K. 5 Z.25 #
G22 IO Jl.375 K.5 Z.25 #
G22 IO J-1. 25 K.5 Z.25 #
G22 IO Jl.l25 K. 5 Z.25 #
G22 IO J-1. K.5 Z.25 #
G22 IO J.875 K.5 Z.25 #
G22 IO J-.75 K.5 Z.25 #
G22 IO J.625 K.5 Z.25 #
G02 xo YO IO J-.5 #
M02 #
XO
Yl.5 STA1n
1.5 R
END
zo
Z-2.
t
Z.25 '
K.5
t
Figure 3-5:
START
'
Incremental Helical Interpolation
3.9
3.5.10 G23 -HELICAL INTERPOLATION (CCW)
The G24 code rapids the tool to the first execution point and
performs the programmed operation of a subprogram and/or auto-
cycle. Subsequent movement to other execution points is also
made at rapid, and the autoroutine ends at the last specified
execution po1nt with any current autocycle still in effect.
where:
3.10
I,J - defines the coordinate of the circle center in Absolute
(G90) positioning or the direction and distance to the cen-
ter in incremental (G91) positioning. If not programmed,
the current tool position is assumed to be the circle cen-
ter.
R,C - defines the radius (R) of the circle and the start refer-
ence position on the circle as an angle (C) from the posi-
tive X axis in Absolute (G90) or from the initial tool
position in incremental (G91). Rand C values cannot be
entered if both I, J and X, Y entries are made . They may
be used 1f I, J or X, Y are entered.
3.11
Note that L defines the number of execution points, and W or B
define the spacing of points around the circle. For example, if
L = 5 and W = 10, points are spaced according to 360°/W = 36°
between points, and only 5 points will be executed; i.e., a half
circle. If L = 5 and B = 45., then 5 points will be executed
with 45° between successive points, or 5/8 of the entire circle.
e EXECUTION
___f..___
/ /
-- ~, ~
!pt. 2 ........ so+
/ • pt. 3 ' I ' \
FIRST POINT
I I \
I I
I
W6= 860. I CENTER
l ----
L6 = FULL CIRCLE 1---r--- ~~-'<.:-~
I,J
1?--;-r---,
~pt. 4 \ "'-...#co- / Ao+
\ \ cC~,:/~START REFERENCE
',
'
j '(
\pt.~ ~
~~'T
' ........_ pt. 5 ...,.., ._,.\ I y
~--- I
-----L---+---~ --+---..........__
~·
INITIAL TOOL POSITION
3.12
:::::
::::
=:::::~::::~~:1: ::::::
:::::: :::::
:::::::::::
::.:.: .;::::
'i: tA
:::::
:::::
,:!::
:::::
::::~ It !}}
-I ill""
::::~:::::
::::
~
::::]! .ili-!1!,:;:::
""
')
!: : :~::~:
)) ::::::
:::: \,
J f); :::::
:::::::::: :{
:::::: I[;', }
1:::::::: =:::::::::;:: 1:)) ::''\:
II!" }} \
:::::::: I'=V:l
1<<0'>:'
':::~
:::::: ::: i.f
!) ' ::;::
,,.,... . :::: ~ ~: .:::
:::::::
}}
::::=:::::: E~
,:,:::,:~:·~: :: {''
jJiJjl!0~
:::
:r f:.
~
::::;
' /..
/, m:::~
:?
::: ::: ::::::::~ :-=:-,: : .: ::~:::
>> :::::::: ::~:::~:~~~
-~: -~: ::~-:::: >><< ::-~: ~: :::::::::: :::::;: :=:::: ::::::
::-::- ~ : :-~ ::::::
:::::: :::::::
:::::: ::::::::::::: :;:::,::: :,:,::::::::: ::~ ::;:::;:::tr/ \) >> ::::.:::·:.::::: ::::::::::::::
R f
.7
!
G90# G90*F
G81 Z-.6 R.l # G81 Z- .6 R.l #
OR
G24 IO JO XO Yl.5 L5 W5 # G24 XO Yl.5 Rl.5 C90. L5 W5 #
G80# G80 #
3.13
3.5.12 G25 - STEP AND REPEAT AUTOROUTINE
where:
3.14
r-x=l. ~ -
G----o----o--· -e---o---@
_L pt. 6
P2
G90** G91#
G81 Z-.6 R.l FlO. PO# GOO XO YO#
G25 XI . Yl. I5 J2 P2# X.25 Y.25 #
G80 X.25 Y-.25 #
M02 1* M02#
.............
Figure 3-8: G25 Programming Examples
3.15
3.5.13 G26 - RECTANGULAR POCKET CLEARANCE AUTOROUTINE
G26 X Y Z (I) (J) (K) (W) (U or L) (F) (H) (V) (R) (T) (P)
where:
3.16
U defines the rough cut thickness for the Z axis. If not
programmed, the L value is used to determine the rough cut
thickness. If the L value is also not programmed only one
rough cut is performed.
Absolute (G90): R - Z - K
L
or
incremental (G91): Z - K
L
3.17
.,...__ _ _ _ _ _ _ _ 4 .00
2.50
2·
)1· OPPOSITE
Y-1.25
G 90 #
G 26 X2. Y-1.25 Z-.5 I .01 J.OI K.OI W.2· U.2 F20. H40 .VIO.R.I Tl PO#
The G29 code calls for the execution of the last autocycle wh1ch
was active in a program. The autocycle is performed in response
to this code even if it has been cancelled by a G80 code. The
autocycle is performed only once and is not restored to active
status (if previously cancelled} by the G29 code. The current
feedrate need not be rapid (GOO} for performance of the autocycle.
The G29 block may contain a P word which calls a subprogram for
execution. The rapid moves of this subprogram will not have the
autocycle applied to them if the autocycle has been previously
cancelled. If the autocycle has not been cancelled it will be
performed after rapid moves. The G29 block -may also contain an
L word which specifies the number of executions for the entire
block up to 255 times.
3.18
3.5.15 G30 -CANCEL MIRROR IMAGE
This code cancels any mirror imaging on the specified axes (e.g.
G30XZ cancels mirror imaging on axes X and Z). All sense of axis
motion is restored to the normal directions of operation. The
code is modal, and is automatically selected when power is first
turned on. It cancels code G31. A G30 by itself defaults to
cancelling any mirror, on all axes.
The G40 code is modal and cancels ,G41 and G42. The G40 mode is
selected by the control at power up or at the beginning of a
program. Refer to the programming examples beginning on page
3.24 and to figure 3-12.
3.19
3.5.18 G41 - CUTTER RADIUS COMPENSATION, LEFT
The G41 code selects cutter radius compensation with the cutter
assumed to be left of the part being machined, viewed in the
direction of travel of the cutter.
The G41 data block may include axis entries which specifies the
last assumed position of the cutter. This simplifies the pro-
cess of applying compensation to subsequently programmed move-
ments . Compensation is applied with appropriate XY movements
according to the assumed previous move (specified in the G41
block), and according to the next programmed XY move. This
forgoes the need for programm1ng "dummy moves" to correctly
initiate compensation in certain circumstances.
The G41 code is modal and cancels codes G40 and G42. Refer to
the programming examples starting on page 3.24 and to figure
3-12.
3.20
3.5.19 G42 -CUTTER RADIUS COMPENSATION, RIGHT
The G42 code selects cutter radius compensation with the cutter
assumed to be right of the part being machined viewed in the
direction of travel of the cutter.
The G42 data block may include axis entries which specify the
assumed previous location of the cutter. This simplifies the
application of compensat1on for subsequently programmed moves.
Compensation is applied with appropriate XY movements according
to the G42 specified previous location, and according to the
next programmed X and/or Y move following the G42 block. This
foregoes programming "dummy moves" to correctly initiate cutter
compensation in certain circumstances.
The G42 code is modal and cancels G41 and G40. Refer to the
programming examples beginning on page 3.24 and to figure 3-12.
3.21
3.5.20 CUTTER RADIUS COMPENSATION - GENERAL
The tool diameter value entered on the Tool Offsets pages may be
the actual diameter of the tool, which implies that compensation
will be applied directly to programmed part dimensions. The
tool diameter value may also be a difference entry, that is, an
amount by which a tool diameter used for an operation differs
from the one originally used to calculate the tool path. In
this case, a positive entry will apply compensation to the out-
side of the programmed tool path and a negative (-) entry will
compensate inside the original tool path. Thus, if a part is
programmed for a tool of specific diameter, the path can be
adjusted for oversized tools (+entry), undersized tools or for
tool wear (-entry).
3.22
In general, a cutter compensation value specified through a pre-
viously programmed T word is interpolated into the first XY
feedrate moves after a G41 or G42. To properly invoke cutter
compensation (without the use of "dummy moves" or "look ahead
start" moves, to be explained later) a move that is equal to or
greater than the tool radius must be programmed following the
G41 or G42. This is also true for the complete removal of com-
pensation following a G40.
MOVE 4
XO
Y3.
a
+ X- 2.5
y 1.5
MOV E 5
MOVE I START
X. 5
Y- .5
START
XO
YO
L OOK AHEAD
START MOVE
3.23
As an illustration of compensation programming examine the fol-
lowing example program and figure 3-12a.
X-4. # Move 1
Yl.5 # Move 2
xo # Mo v e 4
YO # Move 5
3.24
The preceding example invoked cutter radius compensation with an
entrance move to the part that was greater than the tool radius.
Compensation could also have been activated with a "dummy move"
- (or a "look ahead start" move). Figure 3-12b shows the same
part contour as figure 3-12a, but with an interior pocket added.
The following program produces this part and invokes compensation
with "dummy moves". Note that the program start point has been
changed for this example.
Yl. 5 # Move 2
xo # Move 4
YO # Move 5
3.25
DATA BLOCK COMMENT
X-1.5 # Move 6
Yl. # Move 7
X-3.5 # Move 8
Yl. 5 # Move 9
x-.5 # Move ll
Y.5 # Move 12
3.26
The final example of cutter rad~us compensation programming to
be presented here illustrates the use of "look ahead start"
moves to invoke and remove compensation. "Look ahead start"
moves are accomplished with axis entries ~ncluded ~n the G40 -
G42 commands. The following program produces the part shown in
figure 3-12c, which is identical to figure 3-12b. Note that
the start point of ' pocket has been changed.
DATA BLOCK COMMENT
~LOOK AHEAD# Program name
Yl. 5 # Move 2
xo # Move 4
YO # Move 5
3.27
DATA BLOCK COMMENT
Yl. # Move 7
X-3.5 # Move 8
Yl. 5 # Move 9
x-.5 # Move 11
Y.5 # Move 12
3.28
The preceding example programs have illustrated the three methods
of invoking and cancelling cutter radius compensation: entrance
move, dummy move and look ahead start move.
r- CORRECT
_/
ERROR
OUTSIDE MOVE
/ INSIDE MOVE
/I
4
8
G·~
INSIDE MOVE
. . . - - - - - 1-
OUTSIDE
3.29
3.5.21 G66 - GRAPHICS CONTROL
where:
The G7l code selects a metric definition for all axis dimensional
move information, feedrates, clearance planes and offsets. When
entered at the start of a program requiring metric definitions,
the control will suspend program execution if the operator has
selected metric units during Job Setup or Jogging. The relevant
formats for metric mode are shown in section 2.9.4
3.30
The G71 code must be programmed in a block by itself. If the
dimensional units are changed at the start of a part program
between inch and metric, then the operator must perform a Machine
Home, and a message specifying this need is automatically dis-
played. The G7l is modal, cancelling G70.
3.31
The programmer should be aware of the affect of scaling Absolute
(G90) positioning moves. In this case scaling is applied to the
coordinate system directly. For example, assume that the current
tool postion is Xl. Yl. Now, a G72 X.5 Y.5 is programme d. The
position of the tool in the scaled coordinate system becomes X2.
Y2., and if a Xl. Yl. is now programmed, movement of the axes
will result. See figure 3-14.
Y+ pt. A
)( I.
y I.
XI.
Yl.
pt.A +
X2. Y2.
X-I X I.
Yl. y I.
X+ X+
xo xo
YO YO
~
x- I. X I.
v- I. Y-1.
G72 X .5 Y5#
EFFECT OF SCALING
'\ ABSOLUT.E MOVES
X -I. XI.
y -I. Y-1
3.32
Pl
P2 # P2
M02 # Return to Pl
3.33
3.5.26 G74 - PARTS ROTATION
3.34
'
...,~rr Y+
I G90•
t
e
I G74 II. J2. C30. #
I XI
Y2.
I
G7~
G90 #
IO JO C30• W I
I
- - - - STANDARD SYSTEM
- - - ROTATED SYSTEM
x- . . . - - - - - - x- +-- - - - - - --..x +-
'1-~o
- - - STANDARD SYSTEM
- - - ROTATED SYSTEM
I
I I
I t
y•
ROTAT ION ABOUT ZERO
• Y-
ROTAT ION ABOUT A. POIN T
When X and or Y are included in the G74 block they can establish
a reference position for subsequent moves in the rotated coord1-
nate system when X andY are defined as Absolute (G90). This is
because the X and Y moves are made according to the rotated coor-
d inate system. Each time the G74 block is executed, the axes
move to specified XY coordinates in the rotated system. The
programmer can precise l y locate the beginning point of a sequence
of actions in this way. For example, the following program was
written to produce the pattern shown in figure 3-16.
3.35
NOTE: P2
G9l X # X incremental 1n P2
M2 # End subprogram
G74 Il. Jl. C45. X2. Yl. Rotation center Xl. Yl.; lncre-
P2 L7 # mental rotation angle = 45 ° ;
reference X2. Yl.; perform sub-
program P2; perform block 7 times.
M2 # End program
0
0
0 0
0 0 0
0 0 0
0 0
/!I"TYP X2. 0.25 DRILL THRU
0000 / l_Ov1.0
-fx.vi. -1 TYP
O.!lo 1-
60
0 0
0 0 0
0 0 0
0 0
0
0
Figure 3-16: Rotation Programming . Exanple 1
3.36
Programming C as Absolute (G90) will rotate the coordinate system
to a single angular position. If the G74 block is repeated, in
this case, there will be no further rotation (provided IJ are
Absolute) . However, if Cis incremental and the G74 block is
repeated, the coordinate system will rotate angle C with each
execution of the block.
3 . 37
DATA BLOCK COMMENT
Subprogram, P2
x-.7513 Y-1.3013 # D to A
3.38
A= X .6392 Y 1.357
8= X -.6392 Y 1.357
C = X-1.3905 Y 2 .6583
0 = X 1.3905 Y 2.6583
E = X 0 Y 3 .5
O=XO YO
E
3 . 39
Once an autocycle G79, G81-G85 has been defined it executes
after every rapid (GOO) X ann/or Y move until autocycles are
cancelled with a G80 code.
The G29 code is used to call for the execution of the last
active autocycle even if it has been cancelled w~th a G80 code.
See section 3.5.14.
The remaining autocycle codes, G81 through G85, are used to spe-
cify infeed (or Z axis) movements at rapid XY locations. These
codes have certain parameters in common which will be described
here and also briefly in the section pertaining to each code.
The word addresses that are common to each code of the G81-G85
series are:
3.40
X,Y- programs a ~ove 1n X and/or Y to be performed prior to the
first execution of the cycle. This move is made with
Absolute (G90) or incremental (G9l) positioning depending
on the mode in effect for the individual axes and at feed-
rate or rapid traverse depending on the mode active at
cycle definition. If the rapid mode is active, the auto-
cycle will be performed following the move.
Other word addresses that are unique to each cycle are used to
describe details of the infeed operation and will be explained
in the following sections.
It is programmed as:
G79 P (L)
where:
Program, Pl
3.41
DATA BLOCK COMMENT
Subprogram, P2
In this example, the main program (Pl) rapids from Machine Zero
to X-10. Y-4. z-.5. This point is established as Program Zero.
The G79 autocycle is programmed and a subprogram (P2) conta1ns
the moves which will be performed at subsequent rapid positions
in Pl. ~he action of P2 is to feed to depth, move to the peri-
meter of a 0.25 inch circle, perform the circle and then return
at rapid to the start position of the cycle. This action is
produced 4 times along the X axis in Pl, then the cycle is can-
celled an~ the axes return to Machine Zero. Refer to figure
3-18.
3.42
X,Y- programs a nove in X ann/or Y to be performed prior to the
first execution of the cycl e . This move is made with
Absolute (G90) or incremental (G9l) positioning depending
on the mode 1n effect for the individual axes and at feed-
rate or rapin traverse depending on the mode active at
cycle definition. If the rapid mode is active, the auto-
cycle will be performed following the move.
Other word addresses that are unique to each cycle are used to
describe details of the infeed operation and will be explained
in the following sections.
It is programmed as:
G79 P (L)
where:
Program, Pl
3.41
DATA BLOCK COMMENT
Subprogram, P2
In this example, the main program (Pl) rapids from Machine Zero
to X-10. Y-4. Z-.5. This point is established as Program Zero.
The G79 autocycle is programmed and a subprogram (P2) contains
the moves which will be performed at subsequent rapid positions
in Pl. The action of P2 is to feed to depth, move to the peri-
meter of a 0.25 inch circle, perform the circle and then return
at rapid to the start position of the cycle. This action is
produced 4 times along the X axis in Pl, then the cycle is can-
celled ann the axes return to Machine Zero. Refer to figure
3-18.
3.42
X-10.
+Y-4.
START
~I. Ll L2 L3
where:
3.43
Z - programs the Z position of hole bottom in Absolute (G90) or
the distance below the R-plane to hole bottom in incremen-
tal (G9l) mode.
Z INITIAL
t .75
P*O RETRACT
"~!
R PLANE - .•!oil __
z --.f.-----
0
PO RETRACT
.5"
RAPID FEED
G90# G91#
G81 Z-.5 R.l PO# OR G81 z-.6 R-.75 PO#
ABSOLUTE INCREMENTAL
3.44
In common with all autocycles, the G81 cycle is modal . It
operates automatically following a programmed rapid (GOO) ax1s
move in the XY plane until cancelled with a G80 code.
It is programmed as follows :
where:
3.45
~
Z INITIAL
R PLANE
•!
r
.75
11
RAPID
I
FEED
zo
G90# G91#
G82 Z-.1 R.l D.5 PO** OR G82 Z- . l R-.75 D.5 PO#
ABSOLUTE INCREMENTAL
G83 Z (R) (F) I (J) (K) (D) (W) (U) (P) (X) (Y)
where:
3.46
Z - programs the Z position of hole bottom in Absolute (G90)
or the distance below the R-plane to hole bottom in incre-
mental (G9l) mode.
last peck - J ~ K
3 . 47
w specifies a chip break retract increment. This is an
incremental Z positive movement which occurs at feedrate
after the tool has made each peck, allowing chip removal
to occur. The next peck will occur f r om the W retract
position, so the magnitude of W must be less than I (or K
if programmed). If W is not programmed , and U is not
programmed the control assumes W to be 0.01 inch or 0.10
mm depending on the current program dimensions. However ,
if W is not programmed, and D is programmed, the control
assumes W = 0 .
3.48
RAPID FEED
G90>*
G83 Z- 2. R.l FlO. ~ . 6 W. l U3. PO#
(ABSOLUTE)
OR
G91 #
G83 Z-2 I R-1 . FlO. ~. 6 W. l U3. PO ....
(INCREMENTAL)
Z INITIAL Z INITIAL
D
G90#
G83 Z-2. R.l FlO. 1 .6 J.2 K2 Ul .2 0! . PO#
G90#
(ABSOL UTE)
G83 Z - 2 . R. l 1.6 01. PI#
(ABSOLUTE) OR
OR
G91#
G91 # G83 Z-2.1 R-1 . FlO. 16. J.2 K.2 U1. 2 01. PO#
G83 Z-2.1 R -1. L6 01. PI # (INCREMENTAL)
\INCREMENTAL)
3.49
3.5.33 GB4 - TAPPING AUTOCYCLE
where:
3.50
II
Z INI TIAL
i
R PLANE
.75"
,.I ~ --~-
I I
I
~
FEED RAPID
zo :
..
= ~
...·.
r :
. .. ..
. .. . .:
...
..
iI = F=
._SPINDLE RE VERSE
where:
3.51
D - calls for a dwell in seconds (0.01 to 99.99) a total hole
depth. If not programmed, there is no dwell at depth.
p - specifies the retract position between executions of the
cycle. If not programmed, or programmed as zero, the R-
plane is the retract position for X and Y movements. If
programmed non-zero (l to 99), the retract position is the
initial too l position at cycle definition.
Z INITIAL
R PLANE
,r. ___
.lu .,
II 1_1
]==tll'l:'I:I'JJIIIU~-
zo
.6
: :· RAPID F- FEED V-FEED
.. . .
. : . . :. : D = .5 SEC
3.52
3.5.37 ABSOLUTE PROGRAMMING MODE
X Y Z WV U I J K A B C R
Programming G90 and any of the above listed word addresses will
establish Absolute mode for those words. Programming G90 by -
itself in a data block establishes Absolute mode for all of the
listed axes and parameter.
The G90 code is modal and cancels G91 for the axes involved.
x y z w v u i j k a b c r
3.53
as listed on the Status page of the control. Axes that cur-
rently respond to incremental programming are listed on this page
with lower case letters. Those that are Absolute (G90) are shown
in upper case.
Programming G91 and any of the above listed word addresses will
establish incremental mode for those words. Programming G91 by
itself in a data block establishes incremental mode for all of
the listed axes and parameters.
The G91 code is modal and cancels G90 for the axes specified.
3.54
When the L word is used as a repeat counter for a data block, L
has a range of l to 255. The numeric value specifies the number
of executions of the entire data block in which it appears. For
example , programming
G9l #
G8l z-.5 R-.5 PO FlO. #
GOO X-1. LlO #
P4 LSO #
3.55
There are four M codes which are predefined by the control and
which are not completely ladder dependent. There are:
MOO - Programmed stop
MOl - Optional stop
M02 - End of program
M30 - End of program (and tape rewind for units
with tape reader control)
The MOO code causes a Program Stop. The messages "HALTED" and
"Awaiting start cycle" are then displayed to the operator on the
CRT. Whether the MOO code causes any other machine operations,
such as turning off coolant flow, depends on the detailed imple-
mentation of the I/O ladder for the machine. Part program execu-
tion continues normally with the next block when the operator
presses the START CYCLE button.
The MOl code is ignored during part program execution unless the
operator has selected the ~PTIONAL STOP function on the Job Set-
up page. If this option has been selected · (being displayed 1.n
reverse video) then an MOl code operates identically to the MOO
code .
NOTE: MOl is ignored by the c ontrol during
Check Run (see section 4.5 . 1).
3.56
3.7.4 M30 - END OF PROGRAM (TAPE REWIND WITH READER CONTROL)
The M30 code behaves identically to the M02 code, but addi-
tionally may cause an automatic rewind of the paper tape reader
to a rewind-stop character at the start of the paper tape if this
option is incorporated. The rewind occurs when the block con-
taining the M30 code is read from the paper tape reader, not
when the roo code executes so that the tape can be removed imme-
diately.
3.57
,
3.8 N WORD - SEQUENCE NUMBERS
Level 0 Pl calls
Level l P2 calls
Level 2 P3 calls
Level 3 P4 calls
Level 4 P5 calls
Level 5 P6 calls
Level 6 P7
3 . 58
At the end of P7, program execution eventually returns to Pl.
If nesting beyond 6 levels deep is attempted the error message
P NESTING TOO DEEP will appear on the CRT and program execution
will stop.
Each program and subprogram must end with an M02 code. When M02
ends a subprogram, execution automatically reverts back to a
calling program. When M02 terminates a program, execution halts
and Program Comp1eted is shown on the CRT. If the control
detects the absence of an M02 code in a program or subprogram
the error message P** NO M02 is indicated and ** will give the
number of the offending program.
3.59
3.11 SWORD - SPINDLE SPEED CODING
3.60
On systems which incorporate an automatic toolchanger, the four
digit T word enables selection of the required tool from th_e___
toolchanger, and definition of which offset values from the tool
offset table should be used. The format of the four digit T word
is: Tttoo where "tt" is the tool number required from the
toolchanger, and "oo'' is the tool offset number as a reference
into the Tool Offsets Tables.
3.61
3.13.1 LINEAR AXES (X, Y, Z)
3.62
For a rotary move programmed by itself in a separate data block,
you must program a feedrate (F word) for rotary feedrate in
Degrees Per Second (DPS). The format of the F word in this par-
ticular case is F2.3. The maximum permitted feedrate is likely
to be limited by rotary table characteristics, and the maximum
value should be established by reference to the machine's
specifications.
3.63
3.13.5 SECONDARY AXES (U,V,W)
3.64
4. PART PROGRAMMING AND CONTROL OPERATION
4.1 PRE-PROGRAMMING
The details of the part will generally dictate which machine and
which tool to use. Pro~uctivity is increased by using the
machine and the tool in the most efficient manner.
Axis feeds and spindle speeds are a function of the tool required
for a particular machining proc ess, and the f1nish requirements
of the part. They should be programmed assuming 100% settings on
the control's override switches.
4.1
3. Can several parts be machined with one job set-up; e.g . , can
fixture offsets be used?
~'=----~~
6 PL .
.5000 DIA.THRU,
EQUAL SPACED ON
3.0000 DIA.BOLT
CIRCLE
1.0000 R
:::,:
: : ·: :. r " ~ .. . ,,
35000
: •,
.. 1.5000
~ :.
·. . :.
4.2
The phyical location of Machine Home is set by the system
installer. Switches are placed at specific locations on the
machine axes. When an operator commands a Machine Home sequence
using the Manual Operate mode the axes move in order toward
their switches until they are tripped. Then, the axes are moved
away from the switches until a zero location (encoder marker
pulse) is detected by the control. All subsequent axis movements
are measured from this position~ Absolute XO YO ZO, or Machine
Zero.
To program a part, the control must be told the significant coor-
dinates of the part, and the type of movement required between
coordinates. This requires the programmer to calculate the
coordinates of the part relative to some point. The programmer
should be aware of the mathematics required to calculate part
coordinates. For a brief review of calculation procedures, see
Appendix B.
4.3
Assuming that radius compensation will be programmed, figure 4-2
shows the example part of f1gure 4-1 with its significant coor-
dinates calculated. Note the extablished XO YO location used
as Program Zero in the XY plane. ZO is considered to be the top
surface of the part.
X-1 .25 XO
.--+Y.!...:3~.-----+-Y'-'3"-
. ----~~ j6726
©
xo
Y2.7!1
X-.70
XO
X- 2.05 Yl. !l
Yl.4
X2 2!:-
·'!_~1.-------... YI.
0
X-1.75
I
0
Xl.75
X I 8598
Y.6098
+X 2 125
y 3447
0 0 :,~,.
0 X2.0625
Y- I .
+X 2 0625
y - .6875
X 2 25
y- I .
xo + )(.1.25 X2.25
©
X-1.75 Y-2. Y-2 . Y- 2.
Y-2.134
xo
Y-2.375
X - I. 25 X 1.25
y- 3. y -3.
4.1.2 TOOLING
Once the tools that will be used to machine the part have been
determined, tool length offsets and cutter diameter values can
be entered. These values are specified for a particular tool on
the Tool Offsets pages of the control in Job Set-up mode (see
section 4.3.2).
4.4
Figure 4-3 shows typical tools and tool holders and the d imen-
sions associated with them.
l
A
j__U
c
. ..
. :::::: : ~ .~ ~ : : :. ::
Figure 4-3: Tool Length Dimensions
Dimension "A" is the tool length, the distance from the gage line
on the holder taper to the tip of the tool.
Dimension "B" is the tool length offset , the distance from the
tip of the tool to the clearance plane.
Dimension "D" 1s the sum of "A" and "B " for the longest tool
used. (Measured with Z at tool change position, for example) .
The tool length offset, dimension "B," for each tool is usuallly
determined by subtracting the "A" dimension of each tool from
dimension "D."
Once each tool's length offset has been determined , it is ente red
at a corresponding location on the Tool Offsets pages. If cutter
radius compensation is programmed, then each tool's diameter
should be entered at the same T # location.
4. 5
When the program is run, an appropriate T command will call for a
specific tool. This command has the format Tttoo where "tt" is
the tool number of the tool in an Automatic Toolchanger, and "oo"
is the tool offset entry number from the Tool Offsets pages. The
control can automatically change the tool and apply its corres-
ponding offsets. If an Automatic Toolchanger is not incorporated,
the T command has the format Too where "oo" is the desired entry
from the Tool Offsets pages.
Fixture offsets can be used to move the tool between the indivi-
dual parts before performing identical machining operations.
Fixture offsets are specified with appropriate X, Y, Z or W axis
dimensions and are entered at given locations on the Fixture
Offsets page of the control in Job Set-up mode (see section
4.3.2). Figure 4-4 shows a three part job set-up for the pro-
grammeo example part. Note the specified XY dimensions.
......- - - 6 . 0 " - - - - 1 4 - - - - - 6 . 0 II
@ @ @
000
0
0
0
000
0
0
0
000
0
0
0
a 0 0
@ @ @
This section gives one possible program that will produce the
part shown in figures 4-1, 4-2, and 4-4. It is assumed that the
part contour will be finish milled with a 5/8 inch diameter end
mill cutter. This cutter will also be used to mill the counter-
bores, and rough-out and finish the rectangular pocket. A ~
inch diameter drill will be used to drill (and peck-drill) the
required holes through the part. Fixture offsets will be uti-
lized to machine three identical parts with one job set-up.
The entire program consists of a main program (Pl) and three
subprograms (P2-P4). The main program Pl-FIXTURES invokes fix-
ture offsets for moving between parts, performs tool changes,
controls the spindle and coolant, and calls the major subprograms
which actually produce the parts.
This part program is intended only for example purposes, and tlie
experienced programmer should examin~ it for possible improve-
ments. The beginning programmer should use this example to
become familiar with programming features. After studying the
word descriptions in section 3, experiment (safely) with oper-
ating and programming features. Refer to section 4.4 for Pro-
gram Entry procedures.
4.7
DATA BLOCK COMMENT
. 4. 8
-
DATA BLOCK COMMENT
4.9
DATA BLOCK COMMENT
Nl360 xo YO # Dummy mov e to c ause rapid movement to
E3 location.
4 . 10
N201
N202
N218
N217
N200
N400
N223
N224
N430 N204
N216
0 N410
N420
0 0
N221
N222
0 0 N210
0 N211
~
N223
N-225
N214 N430
N213 N212
..
4.11
DATA BLOCK COMMENT
N208 Y-.6875 #
N211 Y-2. #
N212 G02 X 1.25 Y-3. Clockwise circular arc; arc end point,
!1.25 J-2. # X and Y; arc center, I and J
4.12
DATA BLOCK COMMENT
N213 X-1. 25 #
N215 Y. 5 #
4.13
4.2.3 SUBPROGRAM P3 - INC C-BORE
4.14
4.2.4 SUBPROGRAM P4 -DRILL
N400 G92 XO Y3. Z.l # Preset absolute position for start point
of P4.
4.15
DATA BLOCK COMMENT
The Bandit III CNC provides extensive facilities that allow the
operator to prepare the machine and the contro l for a particular
job. The machine is prepared with Jog, MDI, and Machine Home
operations. The control is prepared by entry of job related data
and parameters such as tool offsets, fixture offsets, inch/metric
selection, block delete, and optional stop. The following sec-
tions briefly describe machine and control preparation
facilities.
MDI
MACHINE HOME
4.16
MACHINE HOME
MDI
4.17
MACHINE HOME
MDI
4.17
Before the user presses START CYCLE (or SINGLE CYCLE) the control
will display the IDLE state . When START CYCLE is pressed, the
control will display RUNNING until the command is completed. If
the CNC detects an error in coding of the data block, FAULT will
be displayed along with an appropriate flashing error message.
The data block should be examined for erroneous coding. (Refer
to Appnedix A for a summary of system messages and error
diagnosis.) At this time the system will s how "EXIT to Clear
Error, 11 and pressing the EXIT key will remove the FAULT state and
the error message.
JOG INCREMENTAL
4.18
NOTE: Entering a negative jog increment and
then pressing a positive axis soft-key
will move the axis in the negative direc-
tion. Pressing a negative axis soft-key
with a negative increment moves the axis
in the positive direction.
A display of axis position is shown next to each set of + and
- axis soft-keys. The numeric display usually shows axis posi-
tion referenced to Machine Zero. However, the user can change
the function of the displays by pressing and holding the SHIFT
key and then pressing the ENTER key. The user can select:
l. MACHINE ZERO -the position of the axes as referenced to
Machine Home, the default mode of the displays.
The displays will sequence through these modes as SHIFT and ENTER
are pressed.
The user can also select whether to display the XYZ or the UVW
axes by pressing the F2 soft-key. A change between inch and
metric operation can be made by pressing the Fl soft-key.
JOG CONTINUOUS
4.19
The facilities for choice of d~splay mode, axis selection (XYZ or
UVW), and inch/metric operation are similar to those mentioned
above for Jog Incremental.
0% FEEDHOLD
" FEEDHOLD
10% 0.0001 " O,OOlmm
20% 0 . 0002" 0,002mm
30% 0.0005" 0,005mm
40% 0.001" O,Olmm
50% 0 . 002" 0,02mm
60% -o. oos " 0,05mm
70% 0.01" O,lmm
80% to 150% 0.02 " 0,2mm
4.20
!JOB SETU~ liNCH!
BLOCK DELETE
OPTIONAL STOP
TOOL
FIXTURE
DIRECTORY
CONTOUR
IL!Program 2 NEXT PROG
INCH/METRIC
Pressing the Fl soft-key on the Job Set-up page will change the
control's definition of dimensional units between inch and metric
(mm). The current state, whether inch or metric, is displayed ln
highlighted video.
4.21
BLOCK DELETE
OPTIONAL STOP
TOOL OFFSETS
Pressing the F4 soft- key while the Job Set-up page is displayed
will access the Tool Offsets page shown in figure 4-8. The
values used in the example program are shown.
This i s one of two Tool Offsets pages. The one shown in figure
4-8 is designated for tools 1 through 24. The second page is
displayed when the Fl key is pressed , and handles tools 25
through 48 .
4.22
TOOL OFFSETS
The Tool Offsets pages allow entry of tool length and diameter
data for use in length offset and cutter diameter compensation
programming. A particular set of values is applied in a program
by specifying a data block containing an appropriate T command.
The T command should have the format Too where "oo" corresponds
to the number of the tool offset entr~. If a toolchanger is -
interfaced to the control, the T command will have the format
Tttoo where "tt" corresQonds to the number of the tool in the
toolchanger, and "oo" i~ the number from the Tool Offsets pages.
4.23
lighted video. If the diameter value requires a change,
pressing F4 moves the cursor to the "INCREMENT DIA" position.
At this point, a positive or negative number can be keyed-in.
When ENTER is pressed, the diameter of the selected tool will
be changed by the specified amount. If ENTER is pressed
again, the value will change once more. Length offsets can
be edited in the same way by pressing the F3 soft-key.
FIXTURE OFFSETS
4.24
FI XTURE OFFSETS
E'+t X y z w
BACKLASH COMPENSATION
4.25
When entering backlash compensation v alues, first establish the
inch or metric modes used for the particular operation. Then,
pos i tion the cursor to the left of the desired location. Key-in
an appropriate numeric value and press ENTER to c omplete the
entry. If the cursor is moved away from its position during
entry, any previous value is restored. (See also section 2.8).
DIRECTORY
NEXT PROGRAM
!PROGRAM ENTRYI
CONTOUR DIRECTORY
~?]Program 2
Characters 708
Any program that is entered into memory must have a number desig-
nation, or P number. The P number is used by the CNC to identify
programs internally. When a P number appears in a data block of
program (not having the same P number) the control executes a
subprogram.
Entering a part program begins by specifying its P number on the
Program Entry page. A program is considered to be in edit mode,
or "in the editor," when its number is displayed on the this page.
It also becomes the currently active program for Check Out (see
section 4.5) and actual execution (se~ section 4.6).
PROGRAM NAME
PROGRAM NUMBER
4.27
CHARACTERS
AVAILABLE
Any program that is called to the editor can have its associated
P number changed to a new value, provided that the new value dif-
fers from any already in storage. To renumber a progra~ move the
cursor to "Program,• specify the number of the program to be
renumbered, and press ENTER. Then move the cursor to "Renumber To,•
key-in a new P number and press ENTER. ' The program's P number
will now assume the new value. If the user attempts to renumber
a program with a P value ~lready in memory, a flashing error
message, "INVALID PROGRAM NO" will appear along with "EXIT to
Clear Error. •• When the EXIT key is pressed, the program whose ('
number was specified (inadvertantly) will be in the editor.
The soft-keys on the Program Entry page are used to call for
input from an external device, manage program memory, call a
program from memory, or begin entry of a program from the
keyboard.
EDIT
4.28
DELETE
DIRECTORY
NEXT PROG
4.29
a b
Fl
\f COORD CTRL
F6
l
F7
-
DIRE CTORY
FB
any data block that the programmer may wish to have ignored
by the control during program execution . Pressing SHIFT and
7 at the same time will put a 1 in this position, followed 11 11
the sole ways of moving the cursor to this line of the CRT.
To remove a I character, position the cursor over the I and
press DELETE.
4.30
b. N SPACE -- The N space begins immediately following the " / "
space. It is designated for a sequence n umber entry,
programmed as N and up to four digits . Sequence numb ers are
completely optional within a program and need not be
specified. They are useful for program documentation and
program search purposes. Pressing N will enter it in this
position followed by the cursor. A number can then be
keyed-in. To delete an entire sequence number entry, move
the cursor over ~ and press DELETE.
4.31
f. OPTIONAL PARAMETER SPACE --When prompts are displayed for
autoroutines or autocycles, several letter addresses may be
considered optional. These letters will be listed vertically
in this space, and will "flash" to indicate that they are not
required. If the programmer specifies an optional letter in
the data block, it will stop flashing and move over one
space, immediately followed by the cursor. A numeric value
can then be specified. Positioning the cursor over a spe-
cified optional parameter letter and pressing DELETE will
remove any numeric value and return the letter to its
flashing state.
The remaining area of the Prompt Edit page has the full range of
the cursor, and thus any character that is not a letter address,
";"or"/" can occupy this space. The DELETE key is used in this
field to erase individual characters (single press) or entire
lines of code (press and hold). Simply position the cursor over
the unwanted character or to the left of the unwanted line.
Positioning the cursor over a character ahd pressing INSERT will
allow one character to be inserted to the left of the cursor.
Part program data blocks are entered and displayed one at a time
in Prompt Edit mode. The programmer can simply key-in a valid
data block and let the control format the block on the CRT. The
control considers a data block to be completely entered when EOB
is pressed. At this point, the command will be placed in program
memory and the CRT screen will empty, leaving the cursor in the
first letter address position. The next data block in the
program can now be keyed-in.
4.32
f. OPTIONAL PARAMETER SPACE --When prompts are displayed for
autoroutines or autocycles, several letter addresses may be
considered optional. These letters will be listed vertically
in this space, and will "flash" to indicate that they are not
required. If the programmer specifies an optional letter in
the data block, it will stop flashing and move over one
space, immediately followed by the cursor. A numeric value
can then be specified. Positioning the cursor over a spe-
cified optional parameter letter and pressing DELETE will
remove any numeric value and return the letter to its
flashing state.
The remaining area of the Prompt Edit page has the full range of
the cursor, and thus any character that is not a letter address,
";"or"/" can occupy this space. The DELETE key is used in this
field to erase individual characters (single press) or entire
lines of code (press and hold). Simply position the cursor over
the unwanted character or to the left of the unwanted line.
Positioning the cursor over a character and pressing INSERT will
allow one character to be inserted to the left of the cursor.
Part program data blocks are entered and displayed one at a time
in Prompt Edit mode. The programmer can simply key-in a valid
data block and let the control format the block on the CRT. The
control considers a data block to be completely entered when EOB
is pressed. At this point, the command will be placed in program
memory and the CRT screen will empty, leaving the cursor in the
first letter address position. The next data block in the
program can now be keyed-in.
4.32
SHIFT CURSOR DOWN (SHIFT with CURSOR DOWN) will display a sub-
sequent block in a program .
LIST EDIT
Pressing LIST EDIT, Fl, puts the control in List Edit mode where
program data blocks are shown sequentially. List Edit possesses
all of the editing capabilities of Prompt Edit , but more cursor
movement is required when altering data blocks.
-
If the last block of a program has been entered in Prompt Edi~
and List Edit is then selected, noth~ng, will appear on the List
Edit page except the cursor . The cursor will be positioned in
the upper left corner ' f the screen. The listed program is above
the cursor, off the screen. To view the program in this case,
press and hold the CURSOR UP key to scroll the program down into
view . To scroll the program up, press and hold the CURSOR DOWN
key when the cursor is at the bottom of the screen.
The cursor may be positioned anywhere on the List Edit page using
the cursor control keys. Thus, any portion of a program can be
entered or changed at will.
Moving the cursor to a particular data block and entering charac-
ters at any point in the block will change the program. To
change a particular character in a data block, simply move the
cursor over the erroneous entry and key- in a new one.
4.33
Using a SHIFT INSERT has the same effect as INSERT (leaving a
blank line for entry of characters), except that the cursor is
positioned to the first position of the blank line. The
inserting process is terminated by CURSOR UP or CURSOR DOWN.
A SHIFT DELETE with the cursor at any point in a data block will
delete the entire block. If the cursor is to the right of an EOB
on a line, the next listed block is erased.
The programmer may swi£ch between List Edit and Prompt Edit modes
as required. Pressing the Fl soft-key on the List Edit page
brings the control back to Prompt Edit mode. If the cursor is at
some position in a data bl~ck under List Edit, pressing Fl will
display the block in Promp~ Edit format. The cursor will be at a
position just below the G character space of the data block.
SEARCH
The control stops its search when the first match is found . To
resume search, press START again.
4.34
4. 5 CHECK OUT
The Check Run page is shown in figure' 4-12. Since Check Run 1s a
program execution mode, this page has the same general format as
the Test Run, Dry Run, and Auto Operate pages.
u 00000 X 0 0000
v 0.0000 y - 3 3125
A 0 . 000 z - 1 1000
STATUS
[2jp I FIXTURES
GRAPHICS
The Check Run page (and other program execution pages) displays
the current program's P number, and the sequence number of the
last executed command. Axis position displays are also shown,
and the function of the display can be changed by pressing SHIFT
4.35
and ENTER simultaneously. (See Test Run, below). Note that the
cursor is positioned just below the axis displays and to the left
of the program's P number. The user can select a given program
for Check Run (Test Run, Dry Run or Auto Operate) by keying-in
the desired P number and pressing ENTER.
The Graphics and Status pages are active in Check Run. Job Set-
up, Jog and MDI capabilites mentioned below for Test Run also
apply. If errors are detected during execution, the program will
be stopped in a FAULT state and appropriate flashing error messa-
ges will be displayed. To remove the FAULT condition press EXIT.
Access the Status page to examine the error producing code.
The Test Run mode, selected by pressing F2 on the Check Out page,
also runs a program without axis movement or M functions.
However, programmed commands are executed at specified feedrates,
and the front panel override switches are active.
4.36
3. PROGRAM ZERO - the position of the axes as referenced to
an established zero coordinate within a program.
Note that the Job Set-up, Jog and MDI modes are selectable from
the Test Run page . (See sections 4.3.1 and 4.3.2). The user can
also select which program to run, as shown by the position of the
cursor.
Prior to execution, the user has full use of the machine's Jog
and MDI capabilities. No machine movement will occur, but the
position displays and the Graphics and Status pages will respond
as if actual movement has taken place.
The Test Run mode posesses all of the capablities of Check Run
with regard to error detection .
When Dry Run is chosen by pressing Fl on the Check Out page, the
program is executable with X and Y movement, and M functions (but
not coolant flow) active. No Z axis movement is allowed but
spindle rotation will occur with a programmed spindle command.
Maximum feedrate for XY moves performed in Dry Run is limited by
firmware to 50 ipm. Jogging the X and Y axes is allowed, with
Jog-in-Auto and Jog-and-Return features active. The rules
applying to Check and Test Run Job Set-up also apply to Dry Run.
The Status page is called from the Check Out and Auto Operate
pages by pressing the F7 soft-key.
4.37
..-- .
ABS/1nc XYZUVWIJKABCR FIXTURES P I
Dimensions ENGLISH Program L I
Interp Mode' RAPID G 99 M 2 E 0
Auto Routine' T elF 3 00. 0
Auto Cycle' N 4 30 D 0. e>e>
C:irc Plane' XY
Cutter Comp' RPM% e>
I /0 Mode'
TOOL 'It 0 r-----..J
u 0 0000 M I H 1---------,
Program Completed
NI430M0 2 #
4.38
offset, E, are shown on the next line . Moving down one line, the
current T offset number and feedrate are shown. The next line
gives the sequence number of the last executed data block having
a sequence number, and the dwell time read-out. If a spindle
speed has been programmed, this is shown at the next line down
with the current tool number from an automatic tool changer shown
below the spindle speed.
4.5.5 GRAPHICS
!Program Completed I
0 0 0
0 0 0
0 0 0
The Graphics page is accessed from the Check Out or Auto Operate
pages by pressing the FB soft-key. In Check Run, the graphics
display is drawn as rapidly as possible. All other program exe-
cution modes trace moves at specified feedrates.
4.39
Options listed at the bottom of the screen provide control of the
way in which the graphics display is drawn. These options are
cursor selectable. The cursor is positioned to the left of a
desired feature when activating or changing an option.
The user can change these limits by positioning the cursor to the
left of each option, keying-in a number, and pressing ENTER. If
the cursor is moved away from the option during entry, the origi-
nal value is restored. By specifying appropriate limit values,
the user can examine any portion of the ' graphic display, in any
required detail. Any time a limit is changed, the ERASE option
will flash, indicating tha~ what is drawn on the screen no
longer corresponds to the chosen limits and should be erased.
SOFT LIMITS
The graphics picture can be drawn with respect to the soft limits
of machine axis travel. (Soft limits on the axes are determined
in firmware, and are typically located just within any
established hard travel limits.) This will display the trace as
it occurs when viewed in the full range of axis motion, and give
an indication of the part's position with respect to travel
limits.
To select SOFT LIMITS, move the cursor to the left of this option
and press ENTER. SOFT LIMITS will be displayed in highlighted
video and the LEFT, RIGHT and BOTTOM LIMITS will assume soft tra-
vel limit values. ERASE will flash to call for deleting the
currently displayed picture.
4.40
RAPID
When the user selects the RAPID option, all rapid moves are
displayed on the Graphics page in addition to the usual feed
moves. RAPID is displayed in highlighted video when selected.
To remove the RAPID option once selected, place the cursor to the
left of the option and press ENTER once more.
GRID
The GRID option, when selected, will place a grid on the screen.
The grid is composed of 10 horizontal by 6 vertical squares .
The GRID option is used by the programmer to locate features on
the graphics picture more precisely in relation to established
LEFT, RIGHT and BOTTOM limits. It provides a roughly scaled view
of any displayed pattern. For example, with GRID and SOFT LH1ITS
active the distance between each vertical and horizontal line is
about 3 inches. The graphics limits can be changed accordingly
to focus-in on a particular portion of the display. When the
limits are changed the grid will correspond to a new set of
dimensions. The displayed size of the grid never changes.
When the program is run, the limits on the screen will be "pushed
out" according to the moves in the program. After execution is
completed, the screen will be properly scaled to display all of
the moves in the program. The LEFT, RIGHT, and BOTTOM limits
will have assumed new values. However, the picture may be un-
recognizable due to the limit expansion process. All that is
required is to erase the picture and re-run the program. This
should display the pattern correctly.
4.41
ERASE
4.42
AUTO-HALTED JOB
.... ~
......
A 0 .00 0 z 0 .0000
4.43
JOG-IN-AUTO AND JOG- AND-RETURN
Selecting Jog from the Auto Operate page allows the axes to be
jogged in appropriate directions . (Refered to as Jog-in-Auto.)
4.44
5. INPUT/OUTPUT
Each character in EIA code has odd parity; that is, it has an odd
number of positions representing each character. ASCII, on the
other hand has even parity. The control uses this parity dif-
ference initially to determine the code type during input, and
subsequently to check for parity errors, errors in coding, inva-
lid characters, or damaged media.
5.1
r
I
c. Use tape well into the cassette . The tape at the ends of the
cassette is subject to more stress and wear.
CONTOUR DIRECTORY
~Program 2 NEXT PROG
Characters 708 SERI AL PUNCH
PARALLEL PU NCH
CASSETTE
5. 2
Prior to output, the user should spec1fy the output code, either
EIA or ASCII, with the Fl soft-key. The code that is currently
selected is shown in highlighted video.
!CASSETTE! START
CONTOUR
[21 Program 2
Characters 708
5.3
5.2 PROGRAM INPUT
!CASSETTE I START
*NEW PROG *
[2] Program 2
Characters 0
Available 13131
5.4
.........
~--
5.5
6. ADVANCED PROGRAMMING
cct,c+
/
/
/ IF I,J:: XO, YO
~RI.5 C30.
R-1.5 C-150.- Xl.299 Y.75
R 1.5 c- 330.
R-1.5 C210.
CW A-,C-
1J
/
,-/' I
..,."' I
~"" I .... .....
~... ·I ..... .....
J I
....
I
I
I
L ___ - - - - - - - - - - ---or------'L---4•~ X+
6.1
Note in figure 6-1 that the description of a point with polar
coordinate values (R and C) can be accomplished in four different
ways, where as the rectilinear system defines this point in only
one way.
6.2
6.1.1 CIJ COMMAND
+ CENTER
0 INITIAL POSITION
• END POINT
"G02
/
' / ./ '
/
/
/
/
~'
\:/
/
\ GOO
GOt
"
"~ c• G73
/ \ G03
I,J~ - - • x+
' c•
I ',j
I , r,
i I ':!J
I ' ',
''
I ''
L-- -- --- -- - - ~
i
/
~ G02
G CIJ
where:
6.3
J - specifies the Y coordinate of the angle origin in Absolute
(G90), or theY direction and distance from the initial tool
position to the angle origin in incremental (G91).
/
/
X2 .7906
/ V3.7906
il.
XI. ::::-----,
V3.5
5 /
'?';2~'t
,.(, GOI
J J:2 . . . C4~'
\ J3. \ J 3 · 1' '!c75.565
cl46.565 \ C-60. . 51
J. I
~ ......_ ......_
~ L __ - - -
i-1.
X3.
V2.5
G90# G90#
G02 C-60. I2. J3.
(ABSOLUTE)
'**- GOI C45. I2. J3. #
(ABSOLUTE)
OR ·, OR
G91 # G91 #
G02 cl46 .565 il. j -.5# GOI c75.565 i-1. j.5 #
(incremental) (incremental)
L9
X2 .1414
Y4 .3435
L3
L2
G90#
G91 C#-
GOI c-15. I2. J3. L9 #
(incremental c with repeat)
6.4
6.1.2 RIJ COMMAND
G RIJ
where:
R - specifies a radial length value measured from the angle ori-
gin to the desired end point in Absolute (G90), or measured
from the initial tool position to the desired end point in
incremental (G9l).
6.5
X3.5251
Y4.41149
I
'2 l
J 'I
I
X6.
Y2.
G90 # G91#
GOI R-3.5 I4. J4. # GOI r-3.5 i-2. j2.**-
(ABSOLUTE) ( incremental)
OR OR
G90 # G90 #
G91 I J # G91 R #
GOI R-3.5 i-2. j2. # GOI r -3.5 I4. J4. #
(incremental i, j) (incremental r)
~ _AX7.
r-1.~
/ \ , j Y5.7
R 2. 4482 .,.- ...- _,XS.I 3 :
/ Y5.207 I j-1.7
// I
I4.¥-------J
J4. i-3.
G90 # G90 #
GOI R5. I4. J4. # GOI R2.4482 I4. J4. #
(ABSOLUTE) (ABSOLUTE)
OR OR
G91# G91#
GOI r 1.5518 i -3. j -1.7 # GOI r-1. i-3. j-1.7 #
(incremental) (incremental)
6.6
6.1.3 RA COMMAND
The RA polar command positions the XY axes from the initial tool
position along a straight line to an end point defined by an
incremental radial length and an angle. The R radial length
should always be defined as incremental prior to execution of
the RA block. The angle A can be defined as either Absolute or
incremental. When A is Absolute, the angle is measured from the
positive X axis extending from the initial tool position. When
A is incremental, the angle is measured from an imaginary exten-
sion of the previous move passing through the current tool posi-
tion. Thus, if A is incremental, movement must be programmed
prior to execution of the RA block.
G RA
where:
6.7
X 1°8660
y 2°5000
XI. 0
Y20 ~-150
f\
r2 o a60. \
Ll
r2o r 20
L2
'
L3
r 20
L4
r 20
\
\ a600
G91# '{
GOI XI. #
r2o al20o#
r 2° a 60
0 L50
(incrementa I r 'a # repeat)
weth
RA C .
Figure 6-7: ommand Examples
6.8
6.1.4 RCIJ COMMAND
The RCIJ polar command moves the XY axes from the init1al tool
position along a straight line to an intersection with an angle.
The angle is defined with a C word and is measured from the ini-
tial tool position in incremental (G91) or from the positive X
axis extending from the angle origin in Absolute (G90). The
origin of the angle is defined with I and J values. The inter-
section point with the angle is defined with an R word which
represents an offset value from an imaginary intersection point.
The imaginary intersection on the angle is equal to the length
of a radius extending from the angle origin to the initial tool
position . When R is Absolute, the real intersection with the
angle is measured from the angle origin. When R is incremental
it is measured from the imaginary intersection point. R, C, I,
and J can be individually defined as Absolute or incremental.
Positioning codes that are valid for the RCIJ command are:
G RCIJ
where:
R - programs a radial length from the angle origin (IJ defined
center point) to the end point in Absolute (G90) or a radial
length from the imaginary intersection with the angle to the
end point in incremental (G91).
6.9
I - specifies the X coordinate of the angle origin in Absolute
(G90), or the X axis direction and distance from the initial
tool position to the angle origin in incremental (G91).
;--·
.._
"' .,..,
I '-
~ 1x3.7016 '--,
X-2. , 1 Y6.6792 \
Y4.
,------ -, i3. Q>l \
I '~Jtol \
~-
I ', I ~~ \
I""__L_J \
I ' lj - 2 .
', I
I /', I II. / ' c98.660 I
I I ' I J2. I I C60.
c78.690 Jt-~-- 1.~'
J2. I
I
\ \/~C-135 . I ', I
/
I ...._' I
\ / j4.1 , , I
~./
\ ~/
I .....
\
/ L ___·,._ _ _ _ _ _:: ::: I X6.
/
X-1. 8284
' / /
i - 5. Y-2 .
Y-.8284 /'-.{
~r . 3944
G90# G90.#
GOI R4. C-135. II. J2 GOI R5.4031 C60 . II. J2.#
(ABSOLUTE) (ABSOLUTE)
OR OR
G91 # G90 #
GOI r.3944 c 78. 69 i3. j-2. G91 R#
GOI r-1. C60. II. J2.
(incremental) (i ncremental r)
~30.
A
G91 #
G90 IJ #
GOI X. 6 #
GOI r. 05 c30. IO JO L 36 #
(incremental rand c with repeat)
6.10
6.1.5 POLAR PROGRAMMING EXAMPLES
Rl. 5 IO JO # B to C
G03 Cl80. IO JO # D to E
C-135. IO JO # E to F
Rl. 5 C-45. IO JO # F to G
R2. IO JO # G to H
G03 co IO JO # H ·to A
GOO zo # Rapid Z up
6.11
/
1.5 R
I. 625 R
E START
2.0 R
0 = XO YO
A= X2. YO
It can be readily seen that us1ng polar programming for the pre-
ceeding example results in a short and simple program. The pro-
gramming process itself was shortened by not having to calculate
part coordinates. The part was programmed by knowing angles
radii n.nd the center of the part. This was, of course, an over
simplified example but the advantages of polar programming in
certain situations should be clear.
6.12
When an arc is generated with a series of chords having length
L, the amount by which the chord approximation differs from the
true arc is represented by the chordal error, e.
e = R - l R2 - (L/2) 2
Figure 6-11 gives the chord length, L, and the chordal error, e,
for the circle radius and sector angle shown. The value for e
given by the above equation is a "worst case" approximation.
Since the control uses continuous path motion (G01-G03) the
resulting chordal error will be somewhat less as the arc is
generated.
1.5 R
'-SECTOR DISTORTED
BELOW
R = CIRCLE RADIUS
C = SECTOR ANGLE
L = CHORD LENGTH
CHORDAL ERROR, e
6.13
DATA BLOCK COMMENT
GOO ZO # Rapid Z up
Note in figure 6-11 that the chordal error for the example circle
is 0.0009". A typical value for maximum chordal error used by
the control for its circular interpolation routine is 0.0002".
So, why use this method? There are se v eral reasons:
(R
= 2 42 - (4 .0002)2
= 0. 08" (max)
6.14
NOTE: The control actually generates a fixed
number of chords for a given range of
radius values using binary man1pulations.
The number of chords in this range is
805 resulting in a chord length of approx-
imately 0.06" with execution at a maximum
possible feedrate of roughly 400 ipm.
= 0.0000125" ( 1)
Pl
G9l C # incremental C
P2 L6 # executes P2 si x times
NOTE: P2
M02 #
GOO ZO #
G99 XO YO ZO #
M02 #
6.15
ELLIPTICAL SHAPES WITH SCALING
1
b=l.5
2.0
--~~-------------- 4-
2.0
--------------~~-
j_
'START
xo
YO X2.5
YO
a= 2.5 ---~..
minor axis = 2b
major axis = 2a
2 a2 L s:2
2.5 =a
6.16
a = 2.5 = 1.6667
b 1.5
GOO ZO # Rapid Z up
SPIRALS
6.17
C should be chosen so that when execut1on is at the spiral's
largest radius, movement is still approximating a circle to the
desired degree of prec1sion. A subprogram call may be need to
achieve the total required number of spiral revolutions. (See
the discussion of polar l1ne segment arcs, above.)
P2
6.18
END
X2.8
YO
CONCLUSION
6.19