User Manual FADAL
User Manual FADAL
User Manual FADAL
Table of Contents
Summary ...................................................................................................................... 1
NC Word Summary ...................................................................................... 1
G Codes ..................................................................................................... 2
Default Status ............................................................................................. 5
M Functions ................................................................................................ 6
Program Tape Input ..................................................................................... 9
Program Numbers, Protection & Storage ........................................................ 10
Program Protection ....................................................................................... 11
Format Classification Sheet ........................................................................... 14
M Functions ................................................................................................................. 21
M0 Program Stop ........................................................................................ 21
M1 Optional Program Stop ............................................................................ 22
M2 End of Program (Format 1) .................................................................. 22
M2 End of Program (Format 2) .................................................................. 22
M3 Spindle CW ............................................................................................ 23
M3.1 Sub-Spindle On, Ignore Magnet ............................................................. 23
M3.2 Acknowledge Spindle Magnet ................................................................ 23
M4 Spindle CCW .......................................................................................... 24
M4.1 Sub-Spindle On, Ignore Magnet ............................................................. 24
M4.2 Acknowledge Spindle Magnet ................................................................ 24
M5 Spindle Off ............................................................................................ 24
M6 Tool Change .......................................................................................... 25
M7 Coolant One On ...................................................................................... 26
M7.1 Programmable Coolant On .................................................................... 27
M8Coolant Two On ...................................................................................... 27
M8.1Programmable Coolant On ..................................................................... 27
M9 Coolant Off ............................................................................................. 28
M10 Cancel Reciprocation ............................................................................. 28
M11 X Axis Reciprocation .............................................................................. 28
M12-M16 Reciprocation for Y, Z, B, A ............................................................. 29
M17 End of Subroutine ................................................................................. 29
M18 Air Ratcheting Indexer ........................................................................... 30
M19 Spindle Stop and Orient ......................................................................... 31
M20 General Purpose Indexer ....................................................................... 31
G Codes ........................................................................................................................47
G0 Rapid Travel ........................................................................................... 47
G1 Linear Interpolation .................................................................................. 48
G2 Circular Interpolation Arc Clockwise ........................................................... 48
G3 Circular Interpolation Arc Counterclockwise ................................................. 48
G4 Dwell ..................................................................................................... 48
G5 Non Modal Rapid ..................................................................................... 49
G8 Acceleration (No Feed Ramps) .................................................................. 49
G9 Deceleration (Feed Ramps) ....................................................................... 50
G10 Programmable Data Input ....................................................................... 51
G15 YZ Circular Interpolation With The A Axis ................................................... 54
G17-G19 Plane Selection .............................................................................. 54
Keyboard ......................................................................................................................127
Key Lock Switch (Edit Protection) ...................................................... 127
Block Skip Switch ......................................................................................... 127
Optional Stop Switch .................................................................................... 127
Light On/Off Switch ...................................................................................... 127
Video On/Off Switch ...................................................................................... 127
Rapid Travel Selector .................................................................................... 128
Feed Rate Override Potentiometer .................................................................. 128
Spindle Speed Override Potentiometer ............................................................ 129
Jog Key and the Hand Wheel ......................................................................... 129
Shift ........................................................................................................... 129
Interpolation ................................................................................................................287
VMC Interpolation Modes ............................................................................... 287
Arc Center ................................................................................................... 290
Arc Direction ................................................................................................ 291
Circle Examples ........................................................................................... 291
Circular Interpolation Using Radius Designation ................................................ 301
Helical Interpolation ...................................................................................... 302
Repeating Helical Moves ............................................................................... 302
Cutter Radius Compensation with Helical Moves ............................................... 306
Partial Arcs and Helical Moves ....................................................................... 307
Thread Milling .............................................................................................. 307
Communications ..........................................................................................................311
Communications .......................................................................................... 311
Commands ................................................................................................. 315
VMC Communications Procedures .................................................................. 322
Device Communications Procedures ............................................................... 324
Tape Punch / Teletype .................................................................................. 325
Graphics .......................................................................................................................485
CNC 88HS Graphics ...................................................................................... 485
Function Menu ............................................................................................. 487
The Function Menu Display ............................................................................ 492
Formats .........................................................................................................................511
Overview ..................................................................................................... 511
Format 1 Programming ................................................................................. 511
Format 2 Programming ................................................................................. 514
Default Parameters, SETP Command .............................................................. 516
Parameters Applicable to FORMAT 2 Only ....................................................... 530
Index .............................................................................................................................1
Section 1: Summary
NC Word Summary
Table 1: NC Word Summary
NC Word
Definition
Summary
A A axis angular motion command (or optional Servo Coolant)
B B axis angular motion command
C C axis angular motion command
D Tool diameter offset
E Fixture offset
F Feed rate, or spindle speed for tapping
G Preparatory function
H Tool length offset or Length and diameter offset for Format 1
I X axis distance to arc center or Initial peck size for drilling (G73 G83) or X axis shift in boring cycle (G76) JY
axis distance to arc center or Reducing value of the initial peck (G73, G83) or Y axis shift in boring cycle (G76)
J Y axis distance to arc center or Reducing value of the initial peck (G73, G83) or Y axis shift in boring cycle
(G76)
K Z axis distance to arc center or Minimum peck size for drilling (G73, G83)
L Subroutine definition or call or Subprogram repeat function (M98) or Programmable data input function (G10)
or Line repeat function or Fixed cycle repetitions
M Machine function code
N Program sequence number
O Program identification number
P Dwell time in milliseconds (G04) or Percentage factor for retracting feed on tapping cycles or Fixture and tool
offset number (G10) or Subprogram number (M98) or Value for R0-R9 (G10) or Sequence/ line number jump
(M99) or Feed distance before peck (G73 G83) or P1 with G17 Q to use B axis during mapping or Angular tol-
erance for Feed Forward
Q Peck size in drill cycles (G73, G83) or Thread lead in tapping cycles (G74, G75, G84) or Diameter for auto-
matic tool diameter override (H99) or Scale factor for Flat Cam programming on the rotary table or Length tol-
erance to ignore Feed Forward
R Subroutine parameter input R0 through R9 R0 Plane for fixed cycle or Radius designation (circular interpola-
tion, G2 & G3) or Tool offset value amount (G10) Parametric Variables R0, R1 - R9
S Spindle speed (RPM)
S.1 Set belt range to low
S.2 Set belt range to high
NC Word
Definition
Summary
T Tool number selector for turret
V Variables in Macros (V1-V100)
X X axis motion command
Y Y axis motion command
Z Z axis motion command
Character Definition
0-9 Numerical digits
A-Z Alphabetical characters
% Program start or end, rewind to start
+ Plus, positive
- Minus, negative
( Comment start (standard NC program), or Engraving text start (L9201 Fixed Subroutine), or Mathematical
operator (Macro Programming)
. Decimal point
, Comma
EOB ENTER key, carriage return / line feed (ASCII 13,10)
* Comment start
/ Optional block skip
: Program identification number (Format 2)
# Macro Line Identification
G Codes
Preparatory Codes are divided into groups or families to distinguish which codes can
Functions function simultaneously in a program. Codes belonging to a similar group
cannot function together. Codes from different families or groups can function
together.
Exception: A G90 and G91 can appear on the same line. Each will affect the
motion words to the right of the G90 or G91 codes.
Modal & Non Modal Modal: These codes remain in effect until modified or canceled by another
Functions modal code with the same group designation code letter.
Non Modal: These codes only affect the line in which they appear and do not
cancel modal codes.
Group
Code Modal Non Modal Description
Designation
G0 A Yes - Rapid Travel (Point-to-Point Positioning)
G1 A Yes * see note Linear Interpolation
G2 A Yes * see note Circular Interpolation Clockwise
G3 A Yes * see note Circular Interpolation Counterclockwise
Note: G2 and G3 cancel G0 and remain active until canceled by each other. With G2 or G3 active, a move without I, J, K, or R
is considered linear (G1).
G4 B - Yes Dwell
G5 A - Yes Non Modal Rapid Travel
G8 D Yes - Acceleration (No Feed Ramps)
G9 D Yes - Deceleration (Feed Ramps & In-Position Check)
G10 I - Yes Programmable Data Input
G15 C Yes - YZ Circular plane with simultaneous A axis
G17 C Yes - XY plane selection
G17.1 C* Yes - AB word swap
G17.2 C Yes - AB word swap cancel
G18 C Yes - XZ plane selection
G19 C Yes - YZ plane selection
G20 M - Yes Check parameters for inches mode set in SETP
G21 M - Yes Check parameters for metric mode set in SETP
G28 I - Yes Return to current zero (set home) position
G28.1 I - Yes Return from Jog Away
G29 I - Yes Return from current zero (set home) position
G31 I - Yes Probe touch function (Skip Function)
G31.1 I - Yes Probe no touch function
Group
Code Modal Non Modal Description
Designation
G40 D Yes - Cutter compensation canceled
G41 D Yes - Cutter compensation left (climb)
G42 D Yes - Cutter compensation right (conventional)
G43 J Yes - Tool length compensation positive
G44 J Yes - Tool length compensation negative
G45 I - Yes Tool offset single expansion
G46 I - Yes Tool offset single reduction
G47 I - Yes Tool offset double expansion
G48 I - Yes Tool offset double reduction
G49 J Yes - Tool length offset cancel
G50 J Yes - Ramp slope control cancel
G50.1 J Yes - Mirror image cancel
G51 J Yes - Ramp slope control
G51.1 J * Yes - Mirror image
G51.2 J* Yes - Tool Load Compensation
G51.3 J* Yes - Axis Scaling
G52 I Yes - Coordinate system shift
G53 I - Yes Machine coordinate system
G54 O Yes - Fixture offset 1 (E1)
G55 O Yes - Fixture offset 2 (E2)
G56 O Yes - Fixture offset 3 (E3)
G57 O Yes - Fixture offset 4 (E4)
G58 O Yes - Fixture offset 5 (E5)
G59 O Yes - Fixture offset 6 (E6)
G66 C Yes - Modal subroutine
G67 C Yes - Modal subroutine cancel
G68 C Yes - Rotation
G69 C Yes - Rotation cancel
G70 M Yes - Check parameters for inches mode set in SETP
G71 M Yes - Check parameters for metric mode set in SETP
G73 E Yes - Peck drill cycle
G74 E Yes - Left hand tapping with compression holder
G74.1 E Yes - Left hand Rigid tapping
G74.2 E Yes - Prepare for Left hand Rigid tapping (optional)
G75 E Yes - Tapping cycle with self-reversing head
Group
Code Modal Non Modal Description
Designation
G76 E Yes - Fine bore cycle
G80 E Yes - Fixed cycle cancel
G81 E Yes - Spot drill cycle
G82 E Yes - Counter bore cycle
G83 E Yes - Deep hole drill cycle
G84 E Yes - Right hand tapping with compression holder
G84.1 E Yes - Right hand Rigid tapping
G84.2 E Yes - Prepare for Right hand Rigid tapping (optional)
G85 E Yes - Bore in, Bore out
G86 E Yes - Bore in, Spindle off, Rapid out
G87 E Yes - Bore in, Bore out
G88 E Yes - Bore in, Dwell, Bore out
G89 E Yes - Bore in, Dwell, Bore out
G90 F Yes - Absolute programming
G91 F Yes - Incremental programming
G91.1 P Yes - High speed execution
G91.2 P Yes - High speed execution cancel (Format 2 only)
G92 I Yes - Programmed coordinate system preset
G93 K Yes - Rotary axis 1/T feed rate specification
G94 K Yes - Rotary axis DPM, IPM feed rate specification
G98 G Yes - Return to initial plane after final Z
G99 G Yes - Return to R0 plane after final Z
* Modal Code but not cancelled by similar group designation.
Default Status The codes below are the default codes utilized by the control. They are in effect
at power on, the beginning of program execution, when entering MDI, and after
M2.
Reset Format 1 will default to this status automatically. Format 2 will use this default
status after the HO command is used. Use HO like a reset button when in the
Format 2 mode. By typing the command HO then pressing the enter button,
the control will go into the WAITING stage. At this point the control is reset. If it
is desired to move to home, press the START button, if not, press the MANUAL
button. The SU (Sum) command will reset and use the default status from the
SETP parameters in both format 1 and 2.
G/M code At beginning of program, upon entering MDI, after M2 By reset only
G0 - P 1 2
G1 - P 1 2
G8 Format 2 2 (Unless G9 is used in Auto - Then by reset)
G9 Format 1 1
G17 - P 1 2
G18 - P 1 2
G19 - P 1 2
G40 1&2
G49 1 2
G50 1 2
G80 1 2
G67 1&2
G69 1 2
G98 1
M5 1&2
M9 1&2
M10 1&2
M47 1 2
M48 1 2
M96 - P 1&2
M97 - P 1&2
Note: The 1 indicates the code is in effect in Format 1. The 2 indicates the
code is in effect in Format 2. The P indicates that these codes may be
established by the parameters established with the SETP command.
M Functions
Modal These codes remain in effect until canceled by another modal code.
Non Modal These codes only affect the line in which they appear and do not cancel modal
codes.
Note: For M60 through M64 only, the use of a minus sign before the number
(M-60) will cause the function to occur after motion. This allows the rotary
motion and brake application prior to any fixed cycle execution.
Program Tape Input The following is an example of the input format the control reads from a paper
tape or computer file:
%
N0.001 O100 (DRILL PROGRAM
N1 M6 T1
N2 (TOOL #1 CENTER DRILL
N3 G0 G90 S10000 M3 E1 X1. Y2.
N4 H1 M7 Z.1
N5 G73 G99 R0+.1 Z-.75 F25. Q.1 X1. Y2.
N6 X2.
N7 Y1.
N8 M5 M9 G80
N9 G90 G0 H0 Z0
N10 E0 X0 Y0
N11 M2
%
The first “%” character signals the start of data. The CNC data follows the first
percent character. The second “%” character signals the end of the program.
1) EIA RS-358-B
2) EIA RS-244-B
3) ASCII
1) Use the Change Device (CD, __ ) command to establish the proper baud
rate (see Baud Rate).
3) Start reading the paper tape or send data from the computer.
Program Numbers,
Protection & Storage
Program Number The program number is identified by the letter O and a numeric value from 1 to
9999. O1 - O9999 placed on the first line of program designates the program
number.
O Word An axis move or other words are not allowed to be coded on the line with the O
word. The O word line may contain a comment.
N1 O1 (PROGRAM 1
N2 M6 T1
N3 (TOOL #1 1/2 END MILL
N4 G0 G90 S10000 M3 E1 X1. Y2.
N5 H1 M7 Z.1
N6 G1 Z-.1 F10.
N7 X1.F60.
N8 M5 M9
N9 G90 G0 H0 Z0
N10 M2
N1 :1 (PROGRAM 1
N2 M6 T1
N3 (TOOL #1 1/2 END MILL
N4 G0 G90 S10000 M3 E1 X1. Y2.
N5 H1 M7 Z.1
N6 G1 Z-.1 F10.
N7 X1.F60.
N8 M5 M9
N9 G90 G0 H0 Z0
N10 M30
Program Protection
NOEDIT
To delete a NOEDIT program from memory the NOEDIT program must not be
the current program in memory. By choosing the option DELETE PROGRAM
from the Program library menu (PR), the user can now delete the NOEDIT
program. Once again, this is only true if the NOEDIT program is not the current
program in memory.
A program with NOEDIT in the comment of the O word line, is a program that
may never be edited at the CNC.
A NOEDIT program will not allow commands CH, DE, IN, NU, NE, CO, LE, PU or
from PA: C, I, O, N, and R (see the PA command).
The only functions allowed to be used with the Page Editor and the NOEDIT
programs are graphics, viewing the program, changing to another program,
starting a new program, and running auto.
Key Lock The KEY LOCK in the horizontal position locks out the availability to edit the
program on the CNC. On a 32MP pendant the DOS side will also be locked out.
Emergency Stop The EMERGENCY STOP BUTTON in the depressed position locks out the
Button availability to edit. Release the button by turning it clockwise and then press the
JOG button to reset the control.
Program Storage Programs stored in memory can be managed by using the PR command (see
the COMMAND SECTION). The PR menu allows the operator to switch, display,
start, copy and remove programs. Enter PR command to see the following
menu:
EXAMPLE: Option #1
EXAMPLE: Option #2
This option displays the programs in memory. The programs are listed in
numerical order. If the address contains a comment, 16 characters of the
comment are displayed as a program label.
EXAMPLE: Option #3
This option starts a new program. Active memory is cleared and a new block
(N.001) is created containing the new program number. Program input is from
the machine’s keyboard.
EXAMPLE: Option #4
EXAMPLE: Option #5
This option deletes any program stored in memory. The program is removed
from the machine’s memory without any chance of recovery.
EXAMPLE: Option #6
Program Data Input There are two procedures in which to save the current program in memory and
input another program.
2) Select option #3 and enter the program number. The new program
becomes active with the first block already containing the new O word.
4) Enter the IN,1 command to begin keyboard input after the line containing
the program number. Alternatively, use the PA command and use the insert
I command to begin input from the keyboard.
1) The first block of the active program should contain a program number.
Format D617.524.665
Classification
Shorthand D variable block format contouring/positioning system
N5.4
G2.1
X+3.4 Y+3.4 Z+3.4 I+3.4 J+3.4 K+3.4 B+3.4 R+3.4 Q+3.4
A+4.3
C+5.1
M2.1 H2 T2 D2
F4.2
S5.1, O4
L4 P4
MILLIMETERS MODE
N5.4
G2.1
X+3.3 Y+3.3 Z+3.3 I+3.3 J+3.3 K+3.3 B+3.3 R+3.3 Q+3.3
A+4.3
C+5.1
M2.1 H2 T2 D2
F4.2 S5.1 L4 P4 O4
G Function Codes 0, 1, 2, 3, 4, 5, 8, 9, 10, 15, 16, 17, 17.1, 17.2, 18, 19, 20, 21, 28, 28.1, 29,
31, 31.1, 40, 41, 42, 43, 44, 45-48, 49, 50, 50.1, 51, 51.1, 51.2, 51.3, 52,
52.1, 53, 54-59, 66-71, 73-76, 80-89, 90, 91.1, 91.2, 92-94, 98, 99
M Function Codes 0, 1, 2, 3, 3.1, 3.2, 4, 4.1, 4.2, 5, 6, 7, 7.1, 8, 8.1, 9-16, 17-20, 30, 31, 32,
32.1, 33, 33.1, 41-43, 45-47, 48, 48.1, 48.2, 48.3, 49, 49.1, 49.2, 49.3, 60-
69, 80, 81, 90-93, 94, 94.1, 95, 95.1, 96, 97, 98, 99
F Function Range The F word is used to define the feed rate. It is modal and remains in effect for
G1, G2, and G3 moves until another F word is used in the program or in the
MDI mode. See G93 and G94 in the index for more information.
S Function The S word represents the PRM to be used when the spindle is turned on with
the M3, M4, or SPINDLE ON/OFF with the shift button combination. The lower
belt range RPM amounts can be used from the upper belt range by using a .2
at the end of the interger. For example, S1000.2 would result in 1000 would
result in a belt range to the lower range.
WARNING: The S word is modal and will remain in effect until another S
word is used in auto or the MDI mode.
VMC 15 HP
75 to 2500 Top belt range, S.1 used to override belt to Top belt range
2501 to 10000 Bottom range, S.2 used to override belt to Bottom belt range
40 to 2500 Top belt range, S.1 used to override belt to Top belt range
2501 to 10000 Bottom range, S.2 used to override belt to Bottom belt range
T Function Code The T word specifies turret location selection. The number will range from 1
through 30 depending on the available turret locations in the tool changer. The
T word is usually used in conjunction with the M6 tool change M function. It
would appear as an M6T# on a line by itself (See M6 for details). However the T
word is modal and can be used on any line prior to the M6 code.
Note: The use of a minus sign with the T word (T-5) will rotate the turret until
the pocket is located directly opposite from the spindle. This might be used
to rotate long tools in the turret to some location to avoid hitting a part
during program execution. At the next tool change the turret will rotate
automatically back to its original position.
D Function Code The D word specifies which diameter or radius offset to use from the tool table
for cutter radius compensation. It ranges from 1 through 99. This code is not
necessary in Format 1, but may be used for cutter diameter override.
The H word will pick up the diameter, and tool length offset from the tool table.
It ranges from 1 through 99. It is also used for Tool timers selection.
H99 Q Value
H99 is used for automatic tool diameter override with CRC (see CRC).
Programming Format 2:
In Format 2 the H word will only pick up the tool length offset. It is also used for
Tool timers selection.
VMC 2016L
VMC 2216
VMC 8030
Section 2: M Functions
M0 Program Stop M0 temporarily suspends program execution and cancels the spindle and
coolant functions. The CNC enters the WAITING state until the operator pushes
one of the following buttons:
Using the jog away feature, any axis can be moved away from its current
position without disturbing the CNC’s memory of that position. This allows an
optional automatic return of the jogged axes to that position to complete the
machining cycle (see Section 7, SLIDE HOLD, Jog away from).
EXAMPLE: G80
M5 M9
G53 Z0
M6 T3 (TOOL #3, .5 2FL HSS EM .01 C'RADIUS
M0 (OPERATOR CHANGE CLAMPS FROM POSITION 1 TO POSITION 2
(The program will stop at this line, and will not continue until the START or
AUTO button is pressed).
Note: The look ahead processing does not continue past an M0. Look ahead
processing begins after the START or AUTO button is pressed while in the
WAITING state.
M1 Optional M1 is similar to M0 with the exception that the program will stop only when the
Program Stop optional stop switch is in the ON position. This code could be included in a
program for the convenience of the operator to allow the program to stop at
certain points. For machine pendants without an optional stop toggle switch,
type MU after the AUTO button is pressed or any time while the program is
being executed, and select Option 2 from the Run Time Menu.
M2 End of Program M2 indicates the end of the main program, and will cause the following events:
(Format 1)
• Cancel the current tool length offset.
• Cancel the fixture offset and move to the current position at E0.
• Return all axes to the home position and move to the SETH position.
• Cancel the spindle and coolant function.
• Reset preparatory functions (See Section 1, Default Status).
The CNC then enters the WAITING state ready to run the program again.
Note: The CNC continuously processes data, filling the look ahead buffer. The
WAITING state appears when the buffer is full. If the AUTO, MANUAL, or
START button is pressed while processing, the CNC will immediately enter
the WAITING state, allowing the operator to press START or AUTO to begin
execution.
M2 End of Program In Format 2, M2 acts as an M30 to mark the end of the main program and will
(Format 2) only:
M5 M9
G53 Z0
M6 T1
E0 X0 Y0
M2 (This is the end of the main program).
M3.1 Sub-Spindle M3.1 is used to start a sub-spindle. Normally an M3 would be used to start the
On, Ignore Magnet main spindle. When this occurs, the control is looking for the magnet on the
pulley. If the control does not see the magnet turning, a “Motor Overload”
SPECIAL message will appear on the screen. The M3.1 will ignore the pulley magnet and
9 FEATURE direct the sub-spindle to start.
An S word on the line or before the M3.1 will establish an RPM to use when the
spindle starts. An S word after the M3.1 will direct the spindle to rotate at the
new RPM. An M function board needs to be installed to redirect the Spindle-On
command to the drive system of the sub-spindle. Use an M5 to stop the sub-
spindle from rotating. See also M3.2 to use the main spindle after the sub-
spindle is used.
M3.2 Acknowledge Use an M3.2 to acknowledge the spindle magnet of the main spindle after an
Spindle Magnet M3.1 was used. If this is not used after an M3.1, the M3 would start the sub-
spindle again.
SPECIAL
9 FEATURE
M4 Spindle CCW This function is used to start the spindle rotation in a counterclockwise
direction.
M4.1 Sub-Spindle M4.1 is used to start a sub-spindle. Normally, an M4 would be used to start the
On, Ignore Magnet main spindle. When this occurs the control is looking for the magnet on the
pulley. If the control does not see the magnet turning, a “Motor Overload”
SPECIAL message will appear on the screen. The M4.1 will ignore the pulley magnet and
9 FEATURE direct the sub-spindle to start.
An S word on the line or before the M4.1 will establish an RPM to use when the
spindle starts. An S word after the M4.1 will direct the spindle to rotate at the
new RPM.
M4.2 Acknowledge Use an M4.2 to acknowledge the spindle magnet of the main spindle after an
Spindle Magnet M4.1 was used. If this is not used after an M4.1, the M4 would start the sub-
spindle again.
SPECIAL
9 FEATURE
M5 Spindle Off M5 stops the spindle and the coolant. The spindle will neither orient nor lock.
Using M5 on a line prior to an M6 will reduce the time of a tool change by
TIME
SAVER
stopping the spindle before the head returns to the tool change position.
M6 Tool Change M6 changes tools in the spindle. The M6 usually appears in a line with a T#
code. The T# will specify which tool to pick up next. The M6 can be used from
any position on the table.
• The current tool length offset will be canceled, and the Z axis will move
to the cold start position.
• The spindle will stop and orient, and the coolant will stop.
• The tool changer will move out to the tool in the spindle, and the head
will rise above the tool.
• The turret will rotate to the position specified by the T word, and then
the head will move down over the tool, installing that tool into the spin-
dle.
• After exchanging the tools, the Z axis will move to the SETZ position if
the M6 is used in a position other than the Z axis CS position.
Note: Execution of this code will cancel the Z portion of a fixture offset. This Z
axis amount will be applied with the next H or Z words.
SETP Parameter The SETP option SPINDLE ON AFTER M6 can affect the M6. The factory
recommends the NO setting.
last programmed spindle speed. This may cause an over-speed of the next
tool. It is recommended that this parameter is set to NO.
T-# Move Tool A T-# in a line by itself (with no M6) will rotate the turret so that the turret #
Changer specified is opposite the spindle. See Example 2 below.
SPECIAL
9 FEATURE
EXAMPLE: M5 M9
G90 G0 G53 Z0
M6 T21 (TOOL #21, MP-8 PROBE (The tool is changed to tool #21 at this line).
EXAMPLE: M5 M9
G90 G0 G53 Z0
X-10. Y5. (MOVE TO CLEARANCE POSITION
M6 T2 (TOOL #2, 10 INCH 1.25 SPADE DRILL
(Tool #2 is changed into the spindle).
T-10 (The turret will rotate so that tool #10 is opposite the spindle).
M7 Coolant One On The M7 function activates the power supply either to the electrical receptacle
labeled “FLOOD” or to the electrical receptacle labeled “MIST”. Both
receptacles are located on the back of the control box, and each is 110 VAC / 6
amps and may be used for various electrical devices. The receptacle that is
activated by M7 depends on the SETP option selected (see the Coolant Options
table below).
SETP Parameter The M7 code will activate the Coolant One (flood) receptacle only when the
SETP parameter is set for M7 as flood. If M7 is set to mist, then M7 will activate
the Coolant Two (mist) receptacle and M8 will activate the Coolant One (flood)
M7.1 Programmable The M7.1 activates the optional Servo Coolant and the electrical receptacle
Coolant On labeled “FLOOD” (Coolant One) only if M7 is selected as the Flood Coolant in
the SETP parameter page (see the Coolant Options table above). See the
Miscellaneous Section of this manual for more details on operation and
programming of the Servo Coolant system.
SETP Parameter The M7.1 code will activate the optional Servo Coolant only when the SETP
parameter is set for M7 as flood. If M7 is set to mist, then M8.1 must be used
to activate the optional Servo Coolant.
M8 Coolant Two On The M8 function activates the power supply either to the electrical receptacle
labeled “MIST” or to the electrical receptacle labeled “FLOOD”. Both
OPTIONAL receptacles are located on the back of the control box, and each is 110 VAC / 6
9 FEATURE amps and may be used for various electrical devices. The receptacle that is
activated by M8 depends on the SETP option selected (see the Coolant Options
table above).
SETP Parameter The M8 code will activate the Coolant One (flood) receptacle only when the
SETP parameter is set for M8 as flood. If M8 is set to mist, then M8 will activate
the Coolant Two (mist) receptacle and M7 will activate the Coolant One (flood)
receptacle.
M8.1 Programmable The M8.1 activates the optional Servo Coolant and the electrical receptacle
Coolant On labeled “FLOOD” (Coolant One) only if M8 is selected as the Flood Coolant in
the SETP parameter page (see the Coolant Options table above). See Chapter
OPTIONAL Nine, Miscellaneous Section of this manual for more details on operation and
9 FEATURE programming of the Servo Coolant system.
SETP Parameter The M8.1 code will activate the optional Servo Coolant only when the SETP
parameter is set for M8 as flood. If M8 is set to mist, then M7.1 must be used
to activate the optional Servo Coolant.
M9 Coolant Off The M9 code will cancel both Coolant One and Coolant Two (M7, M8, M7.1 and
M8.1).
EXAMPLE: E0 X0 Y0
M5 M9 (The coolant will be canceled at this line).
M10 Cancel The M10 code cancels reciprocation. The reciprocated move will stop and
Reciprocation complete its motion at the end point of the original move.
SPECIAL
9 FEATURE
M11 X Axis The M11 code will reciprocate the last X axis move made in the program. As the
Reciprocation X axis is moving back and forth from the beginning point to the end point of the
move, all other axes can be moved while the X move is reciprocating.
SPECIAL
9 FEATURE The feed rate of the reciprocated move is separate from the advancing moves.
The F word before the M11 will apply to the reciprocated move. The F word
after the M11 will apply to the advancing moves. The feed rate for the
advancing moves is usually much lower than the feed rate for the first or
reciprocated move.
5.000
START POINT
FIRST MOVE
END POINT
0
ADVANCING MOVES
.100
Z+
0
Y+ X+
.250
.425
2.250
3.000
2.000
Figure 2-2 M11 X Axis Reciprocation
M12-M16 These codes are similar to M11, however, they apply to the Y, Z, B, and A axes.
Reciprocation for Y,
Z, B, A
M17 End of The M17 code is used to mark the end of a subroutine. No other coding is
Subroutine allowed on the same line with the M17. See the subroutine section for more
details.
SPECIAL
9 FEATURE
Optional:
Optional:
Required:
M18 Air Ratcheting This code is used with the Cushman® (PCB-0022) and Erickson® (PCB-0023
Indexer or PCB-0024) style rotary indexer interface boards from FADAL. The M18
sends a signal to index, then the CNC will wait for a cycle-complete signal from
the indexer before continuing with execution of the program. If the M18 is used
with a fixed cycle, the M45 code must be used to execute the cycle because the
control does not recognize the M18 as a move (see M45).
M19 Spindle Stop This is used to stop and orient the spindle. This orientation lock is released by
and Orient using an M3 or M4 or by pressing the SPINDLE ON/OFF button.
M20 General This is used to send a start signal to a device attached to the indexer interface
Purpose Indexer board (PCB 0008 or PCB 0007) from FADAL. After the start signal has been
sent, the CNC will wait for a cycle-complete signal from the device before the
OPTIONAL CNC will continue execution of the program. If the M20 is used with a fixed
9 FEATURE cycle, the M45 code must be used to execute the cycle because the control
does not recognize the M20 as a move.
M30 End Of All This code is used for two reasons: to mark the end of the subroutine section of
Subroutines a program, and to end a main program.
(Formats 1&2)
End of subroutine section marker: This is a Format 1 feature, however, it can
be used in a Format 2 style program because features from the two styles can
be intermixed. If the M30 is used for an end of subroutine marker, use M2 as
the end of the main program (see Section 5 for more details). This code must
be the only code on the line.
When the auto button is pressed or the AU command is used, the control will
recognize the L100 as a subroutine and then search for other subs and then
the M30 code. Program execution will start from the line just after the M30
line.
M30 End Of Program This is a format 2 feature. The M2 and the M30 both function as end of
(Format 2) program codes. If this code is used in Format 1 it will act like the M2 code acts
in Format 1.
M31 Exchange M31 performs a pallet exchange. The pallet changer will store the current pallet
Pallets and load the other pallet. No other machine movements will be made. This is
the only code allowed on the program line.
OPTIONAL
9 FEATURE Note: All fixture and machine offsets MUST be canceled prior to attempting a
pallet exchange (see Section 17, Pallet Changer).
Note: The table move to the pallet position may be stopped with the SLIDE
HOLD button. The pallet movement to and from the stored position may
also be stopped with the SLIDE HOLD button.
M32 Load and Store When Pallet B is in the load position, M32 will store Pallet B and the pallet arm
Pallet A will move to Pallet A. The machine will be placed in the WAITING state and the
pallet door will remain open until the START button is pressed. When the START
OPTIONAL button is pressed Pallet A will be returned to the load position.
9 FEATURE
When Pallet A is in the load position, M32 will store Pallet A. The machine will
be placed in the WAITING state and the pallet door will remain open until the
START button is pressed. When the START button is pressed Pallet A will be
returned to the load position.
Note: All fixture and machine offsets MUST be canceled prior to attempting a
pallet change (see Section 17, Pallet Changer).
Note: The table move to the pallet position may be stopped with the SLIDE
HOLD button. The pallet movement to and from the stored position may
also be stopped with the SLIDE HOLD button.
M32.1 Load Pallet A When Pallet B is in the load position, M32.1 will store Pallet B and load Pallet A.
& Verify Pallet A Has
Been Loaded If Pallet A is at the load position M32.1 will verify Pallet A is at the load position.
No movement will occur (see Section 17, Pallet Changer).
OPTIONAL
9 FEATURE Note: The table move to the pallet position may be stopped with the SLIDE
HOLD button. The pallet movement to and from the stored position may
also be stopped with the SLIDE HOLD button.
M33 Store and Load When Pallet A is in the load position, M33 will store Pallet A and the pallet arm
Pallet B will move to Pallet B. The machine will be placed in the WAITING state and the
pallet door will remain open until the START button is pressed. When the START
OPTIONAL button is pressed Pallet B will be returned to the load position.
9 FEATURE
When Pallet B is in the load position, M33 will store Pallet B. The machine will
be placed in the WAITING state and the pallet door will remain open until the
START button is pressed. When the START button is pressed Pallet B will be
returned to the load position.
Note: All fixture and machine offsets MUST be canceled prior to attempting a
pallet change (see Section 17, Pallet Changer).
Note: The table move to the pallet position may be stopped with the SLIDE
HOLD button. The pallet movement to and from the stored position may
also be stopped with the SLIDE HOLD button.
M 33.1 Load Pallet B When Pallet A is in the load position, M33.1 will store Pallet A and load Pallet B.
& Verify Pallet B Has
Been Loaded If Pallet B is in the load position, M33.1 will verify that Pallet B is at the load
position. No movement will occur (see Section 17, Pallet Changer).
OPTIONAL
9 FEATURE Note: The table move to the pallet position may be stopped with the SLIDE
HOLD button. The pallet movement to and from the stored position may
also be stopped with the SLIDE HOLD button.
M41-M43 Belt Drive Newer machines have automatic high/low belt changes.The M41 - M43 codes
Range are used on older machines that require a manual belt range change. This
code could be used in MDI to indicate which belt range was selected:
M45 Execute Fixed This code is used to execute a fixed cycle or a modal subroutine. Execution will
Cycle occur at the current location. Normally, motion to a new position causes a cycle
to execute. Use the M45 when execution of a cycle is desired without making a
move.
M45 Used with M45 is also used when motion to the next fixture offset is at the same point as
Fixture Offsets the current fixture. For example E1 X1. and E2 X1. would appear to the
machine as no motion, even if the operator can see the motion from one fixture
to the next. When the move is to the same position on the next fixture this is
called a “null move” and is recognized as not having moved. The M45 is then
used to execute the cycle after this null move.
M46 Positive This code causes the machine to move the X and Y axes in a negative, then
Approach positive, direction before the execution of a fixed cycle (G73-G89).
SPECIAL The X and Y axis move .015 in the negative direction at 25 inches per minute,
9 FEATURE then move .015 in the positive direction at 3 inches per minute. This returns the
machine back to the original location and then the fixed cycle will execute.
A Q word on the line with an M46 will define the amount to move for the
positive approach if more or less than .015 is desired.
M46 can be coded on any block of the program except for blocks containing
any words that need to be on a line by themselves. Only the X and Y positions
that follow a fixed cycle are affected by this code. This function is modal and
will remain in effect until canceled by an M47.
The feed and speed pots are disabled during the positive approach moves, and
are enabled after the moves are complete.
M47 Cancel Positive This code is used to cancel the positive approach mode.
Approach
M48 Potentiometer This code enables the operator to override the programmed feed rate and
Controls In spindle RPM by use of the potentiometers located on the pendant just above
the jog selection switches. This code would only be required when an M49
code is used in the program.
EXAMPLE: M49 (Cancel the operator's ability to override the feed rate and RPM).
G85 G99 R0+.3 Z-.7 F100. X3.78 Y1.
X3. Y5.M48 (Enable the operator to alter the feed rate and RPM).
M49 Potentiometer This code disables the potentiometers located on the pendant just above the
Controls Out jog selection switches. See the M48 example above.
M48.1 & M49.1 M48.1 enables and M49.1 disables the override pot. This is to allow and
Servo Coolant disallow manual movement of the nozzle from the override pot for the servo
Potentiometer coolant nozzle.
Controls In/Out
OPTIONAL
9 FEATURE
SPECIAL
9 FEATURE
M48.2 & M49.2 M48.2 enables and M49.2 disables the Pallet A rotary table axis override pot.
Pallet A Rotary Table This potentiometer is available on VMCs with the pallet changer/rotary table
Override combination. When Pallet A is in the store or in the working position, this
Potentiometer potentiometer allows the operator to rotate the rotary table on Pallet A for
loading and unloading parts (see Section 17 Pallet Changer).
OPTIONAL
9 FEATURE M49.2 will automatically return the rotary table, A axis, to the original position
before rotation with the pot and must always be used when the M48.2 is used.
Occasionally a G4 P# will have to be used after the M49.2 to insure that it
rotates to its original position.
Note: When using the M48.2 or M48.3 with the A or B axes, insert a new line
after the M48.2 or M48.3 and place a G4 P99 on this line. The G4 P99 is a
code used to dwell or wait a millisecond amount of P. The dwell in this case
is used to wait 99 milliseconds until the A or B axis has returned to a set
position before continuing the program. (99 milliseconds is a suggested
amount for this situation. The P can be increased or decreased.) If the wait
(P amount) is not long enough, the control will time out waiting for the A or
B axes to return to position.
M48.3 & M49.3 M48.3 enables and M49.3 disables the Pallet B rotary table axis override pot.
Pallet B Rotary Table This potentiometer is available on VMCs with the pallet changer / rotary table
Override combination. When Pallet B is in the store or in the working position, this
Potentiometer potentiometer allows the operator to rotate the rotary table on Pallet B for
loading and unloading parts. (See Section 17 Pallet Changer)
OPTIONAL
9 FEATURE
SPECIAL M49.3 will automatically return the rotary table, B axis, to the original position
9 FEATURE before rotation with the pot. This must always be used when the M48.3 is used.
Occasionally, a G4 P# will have to used after the M49.3 to insure that it rotates
to its original position.
Note: When using the M48.2 or M48.3 with the A or B axes, insert a new line
after the M48.2 or M48.3 and place a G4 P99 on this line. The G4 P99 is a
code used to dwell or wait a millisecond amount of P. The dwell in this case
is used to wait 99 milliseconds until the A or B axis has returned to a set
position before continuing the program. (99 milliseconds is a suggested
amount for this situation. The P can be increased or decreased.) If the wait
(P amount) is not long enough, the control will time out waiting for the A or
B axes to return to position.
M60 - M69 User Relay sockets are provided for the attachment of special devices such as
Attached Devices brakes and clamps. Refer to the VMC Maintenance Manual for information
regarding user attached devices.
If the VMC is equipped with Renishaw probe options, M64 is used to activate
the MP8, MP11, and MP12 probe. M65 is used to activate the TS-20 or TS-27
tool setter. For the MP11 or the MP12, M66 is required along with the M64. For
the Laser Probe, M67 is required along with the M64.
M-60 & M-62 for The use of a minus sign (M-60 or M-62) will cause execution of these
Fixed Cycles functions after machine positioning and before execution of a fixed cycle.
OPTIONAL
9 FEATURE
OPTIONAL
9 FEATURE
M90-M93 Gain These codes are used to determine the way that the axes will respond during
Setting contouring moves. When using feed rates lower than F50. ipm, the M91 code
should be used. M91 is the factory setting in the SV menu. When using high
feed rates for contouring (above F50. imp), the M92 code would allow the
machine to track closer. The M93 code is only used internally for the rigid
tapping cycle.
M90 Change Axis This is the gain for each axis where a value of 100 is normal and 120 is 20%
Gain: P Word more than normal. Gain has a multiplying effect on the response of a servo
system. Gain controls how hard the motors are driven. Larger numbers make
the motors more responsive to velocity changes, but a gain that is too large will
cause the system to be unstable and cause overshooting (as the feed rates
increase, the gain should increase as well.) With the appropriate value of gain
chosen, the axes will meet detail at higher feed rates. At around 150 IPM, a
gain of 125 should be used. Below 40 IPM, a gain of 100 is appropriate.
The default (at power on) is determined by the setting on the axis controller
card. The SV command is used to write the settings to the controller card.
M94 Feed Forward The M94 code is used for linear moves only, to increase accuracy during high
Function speed surfacing where radical changes in direction occur. These moves are
generally at a feed rate of 50 ipm or higher. CNC programs for 3D surfaces use
SPECIAL many small linear moves (G1) to form surfaces and the G8 code is used to
9 FEATURE eliminate hesitation between each move. In most cases this is desirable,
except where radical changes in direction occur.
X
DIRECTION THIS ANGLE IS USED
OF MOTION WHEN THE PREVIOUS
P WORD MOVE IS LESS THAN
ANGLE THE Q WORD LENGTH
DECELERATION
APPLIED
The Feed Forward function affects the way the control accomplishes the
acceleration and deceleration at the beginning and end of each move. When a
move falls into the range assigned by the M94 parameters, the control will
monitor axis servo feedback to determine how to move, instead of using
reprocessed moves as it normally would.
The M94 and its parameters must be on a line with NO other codes. It is modal
and is canceled by an M95. It only operates with the -3 processors or higher,
and is not operational in the G91.1 mode.
Deceleration occurs when the angle between moves is smaller than the P word
and the move length is greater than or equal to the Q word. The Q word is not a
required parameter, and is used to filter out extremely small moves.
M94 P91 Q.003 (This sets the decel/accel for any move that is both .003 or
longer and smaller than 91 degrees from the last move).
P Word The P word sets the angular tolerance for the feed forward mode, and must be
less than 180 degrees. When the angle between the current direction and the
next programmed direction is less than the P word, the machine initiates a high
speed deceleration to increase the accuracy of the directional change.
Acceleration then begins regardless of the length of the following moves. The
acceleration may occur over an unlimited number of program blocks. Full
acceleration is accomplished over a distance of two hundred thousandths
when no further deceleration is required.
Q Word The Q word is used to set the length tolerance for the feed forward mode. When
the length of the next programmed move is equal to or longer than the Q word,
the control checks the angle between the current move and the next move. If
this angle is less than the P word value, deceleration occurs.
Note: M94 and M94.1 can both be in effect at the same time.
M94.1 Feed Forward The M94.1 code is another type of feed forward mode used for high speed
by Feed Rate surfacing. The feed rate will be modified if the angle of the next move falls in
Modification the range established by the parameters of the M94.1 code line.
TIME
SAVER
No other codes can be in the same line as the M94.1 and its parameters. The
feed rate must be specified before the M94.1 line. No other F Word may be
specified after M94.1 until an M95.1 is used. G0 moves can be used after
M94.1 but will not be modified by the M94.1 coding. The M94.1 is modal and
is canceled with an M95.1 code. It is available on -3 or higher controls. This is
not compatible with the G91.1 code.
EXAMPLE: The second move is 135 degrees from the first move, therefore the feed will be
modified because the move is less than 170 degrees (set with the P word).
SPECIAL Because the second move is less than one inch (set by the R1+1 word), the
9 FEATURE feed will be modified. The angular difference between the P word angle and the
second move is 35 degrees. Every 15 degrees of angular difference (R2+15.),
the feed will be modified by 10 percent (Q10). In this case the feed will be
modified by 20 percent. In order for a move to be modified, it has to be less
than the P value and less than the R1 value.
P Word The P word represents an angle. If the angle between the current move and the
next move is less than the P word angle, the feed rate will be modified.
Q Word The Q word represents a percentage. This will be the amount that the feed rate
will change each time it is modified (see R2 below for frequency of the
modification).
R0+#
ANGULAR
DIFFERENCE
USE M94.1 IF
MOVE IS WITHIN
THIS RANGE
The R0+# represents a percentage. This states that the modified feed rate
should reduce no more than this percentage of the programmed feed rate.
R1+# The R1+# represents a length. This states that if the next move is longer than
this amount, then use the programmed feed rate for that move.
R2+# The R2+# represents angular degrees. With the Q word modification
percentage, this will be used to determine how the feed will be modified. This
will modify the feed rate (by the percentage assigned to the “Q” word) every
R2+# degrees for the current difference in angular moves by the percentage
assigned to the “Q” word.
Note: M94.1 and M94 can both be in effect at the same time.
Note: The feed rate to be modified must be specified before the M94.1. No
other F Word may be specified after M94.1 until an M95.1 is used. A new
feed rate may be specified and then the M94.1 can be used again.
M94.2 Advanced The advanced feed forward option is designed to satisfy the needs of high
Feed Forward speed machining. Normally the gain, acceleration rate, deceleration rate, and
detail factor on a machine tool is established to satisfy a large range of
OPTIONAL customer needs. Until now this did not directly target the specific needs of high
9 FEATURE speed contouring on surfaces. AFF allows the user to tune the machine to
specific needs.
Production rate is important! AFF allows the machine to cut loose and fast for
roughing cuts, tighter for semi-finish cuts, and very close tracking for finish
cuts.
One method for controlling surface integrity is feed rate. Other controls will use
what is termed “look ahead” to analyze angular change in a series of moves.
The more dramatic a change, the lower the feed rate. This results in lower cycle
times. AFF differs in that the feed rate is constant resulting in faster cycle times.
• Gain
• Deceleration
• Acceleration
• Detail
• Feed Rate
These factors can be altered on-the-fly, can be hard coded in the program, or
the parameters can be used from and stored in a parameter page.
R1 Deceleration: The time to decelerate the axes from programmed feed rate to
a full stop measured in milliseconds. Deceleration is important to slow the tool
down for smooth transitions into or around corners. The deceleration will
improve the ability of higher feed rates to be used. At higher feed rates, a larger
deceleration may be necessary to provide a smoother transition into the
corners and to meet the specified detail. There is a point when the deceleration
will not improve the quality of the part but will adversely affect the total part
time. Pick a deceleration value that gives good part times while meeting the
desired tolerances of the part. Values of 20 to 80 are appropriate for most feed
rates. The deceleration ranges from 5 to 250 milliseconds.
R2 To pick up values from the DFF table, set the value of R2 to the corresponding
tool number in the table. The parameters will then be used from the table.
P Word Acceleration: The time to accelerate the axes from a full stop to the
programmed feed rate measured in milliseconds. The tool is accelerated out of
corners or part details to the programmed feed rate. This is the approximate
total time for the acceleration curve to bring the tool up to full speed. Values of
10 to 40 are appropriate for most feed rates. The acceleration ranges from 5 to
250 milliseconds.
Q Word Detail: The minimum detail acceptable is measured in inches. The detail
parameter will hold the X, Y, and Z axes to a specified detail amount. This detail
will dynamically change for each axis depending on the contour, but will always
meet the programmed detail value. The ability of the axes to meet their detail is
directly affected by the other AFF parameters. A larger gain will help the axis be
“driven” to meet the detail specified. The deceleration will help the axes to
softly move from the programmed feed rate down to zero speed and to the
detail desired. The acceleration will not directly help the detail but will help
when using faster feed rates. It will improve the transition from zero speed to
the programmed feed rate. The detail value ranges from .0002'' to .0250''. The
appropriate value depends on the part and tool. If it is a roughing tool, a larger
detail should be used.
M95 Feed Forward This code is used to cancel the M94 mode. It is non modal and must be the
Cancel only code on the line.
This code can also be used as a non modal form of the G9 code. If the program
is in the G8 mode, an M95 on a line by itself will affect the next line in the
program so that it will decelerate and accelerate. After the move is complete,
the G8 mode will continue.
M95.1 Feed Forward This code is used to cancel the M94.1 mode. It is non modal and must be the
by Feed Rate only code on the line.
Modification Cancel
M95.2 AFF Cancel This code is used to cancel the optional Advanced Feed Forward mode.
M96 Intersectional This code is used to cancel intersectional cutter radius compensation. The M96
Cutter code is modal and will remain in effect until the M97 code is used (see Section
Compensation 9 for details).
Canceled (Roll CRC)
CIRCULAR PATH
M97 Intersectional This code is used to start the intersectional cutter radius compensation mode.
Cutter The M97 code is modal and will remain in effect until the M96 code is used (see
Compensation Section 9 for details)
M98 Subprogram This code is used to call a subprogram (see section 5 for details).
(Formats 1 & 2)
M98 P# L#
M99 End Of This code can be used to mark the end of a subprogram. If this is at the end of
Subprogram a program, this is the code that identifies a program as a subprogram. No other
(Formats 1 & 2) codes or parameters should be on the line with the end of subprogram marker
(see section 5 for details).
M99 Line Jump This code can be used for a line jump. With the P word parameter on the line
(Formats 1 & 2) with the M99, it becomes a line jump.
M99 P#
Section 3: G Codes
G0 Rapid Travel G0 moves from one point to another point at the maximum traverse rate of the
machine. G0 is generally used when cutting will not take place when moving
from one location to another.
Multiple axis moves begin by all axes moving together at the same rate until
each axis move is completed. This gives the appearance of a forty-five degree
move at the beginning of the move. For the remaining distances, each axis will
continue to move to the end point.
When using MDI, a rapid Z axis move will move independent of the X, Y, A & B
axes. When the Z axis is to move in the positive direction, it moves prior to X, Y,
A, & B axis motion. When the Z axis is to move in the negative direction, it
moves after X, Y, A, & B axis motion.
G0 can appear at any point on a line to make all moves on the line rapid.
The rapid travel switch on the pendant can be used to alter the rapid travel rate.
The feed rate potentiometer will only affect the rapid rate during single step,
just after a slide hold, and while in any of the dry run modes. See also G5 Non
Modal Rapid.
G1 Linear This code is used for linear interpolation. Linear moves can be made by one, or
Interpolation any combination of, all the active axes. See Section 13 for more details on
linear interpolation. See also Section 12 for rotary axis interpolation details.
G2 Circular G2 is used for CW circular interpolation and helical moves. See Section 13 for
Interpolation Arc more details.
Clockwise
G2 X1. Y1. I-1. J0
G3 Circular G3 is used for CCW circular interpolation and helical moves. See Section 13 for
Interpolation Arc more details.
Counterclockwise
G3 X1. Y1. I-1. J0
A pause may be used to allow the spindle and coolant to fully turn on after
using the M3 and M7 or M8 codes. This often happens with a tall part or fixture,
where the tool gets to the top surface before the spindle is up to speed.
The G4 would also be used in a situation where the tool needs to dwell to allow
for spindle rotation, such as a spot face or counter bore situation. A general
rule to follow is to dwell for at least three revolutions. To calculate elapsed time
during three revolutions divide 180,000 by the RPM used. The 180,000
represents time in milliseconds for three minutes.
G1 F10. Z-.25
G4 P36 (Dwell for 36 milliseconds; 3 revolutions at 5000 RPM).
Z0 G0
G4 as an In-position The use of a G4 without the P word will perform an in-position check. This
Check would be non-modal and would only affect the line in which it existed. See also
G9.
G4 as a Program The use of a G4 with P66000 forces an endless dwell or a program stop,
Stop placing the machine in the waiting state. When in the WAITING state the spindle
and coolant will remain on, as opposed to M0 and M1 which turn them off. To
SPECIAL continue program execution press the Start or Auto button.
9 FEATURE
G5 Non Modal Rapid The G5 code is used for non modal rapid moves. It exhibits the same motion as
G0, however, this code will only affect the line in which it exists.
SPECIAL
9 FEATURE
G8 Acceleration (No This code is used when no hesitation is desired between moves. If the tool
Feed Ramps) hesitates the tool pressure lessens and the tool will leave a tool mark on the
contour. The G8 code would be used to eliminate the tool marks.
TIME
SAVER
• The M95 code is used as a non modal form of the G9 code. It is gener-
ally used when G8 is in effect. See M95 for more details.
G9 Deceleration This code is used when hesitation is desired between moves. When the tool
(Feed Ramps) hesitates the tool pressure lessens and the tool will leave a tool mark on the
contour. The G9 would be used to help the tool move from place to place when
inertia may be a problem. The use of the G9 code as opposed to using the G8
code will help insure contouring accuracy.
The deceleration will only slow the tool down at the end of the move. (It will not
come to a complete stop).
• This code is modal and will remain in effect until the G8 code is used.
• This code is default for format one.
EXAMPLE: X1.0 G9
X2.0
X3.0
G9 as an In-Position To stop the tool completely at the end of each move, an in-position check must
Check be used. The G9 code, used in succession on two or more lines, causes an in-
position check. Because of the look ahead processing, the line with the first G9
in successive order will use the in-position check. See also G4 and M95 for
other forms of in-position check.
EXAMPLE: X1.0 G9 (Because of the look ahead, the first G9 will be an in-position check).
X2.0 G9 (In-position check).
X3.0 G9 (In-position check).
G10 Programmable This code is used to replace, alter, or read the values of fixture offsets, tool
Data Input offsets, and parameters R0 through R9.
• When G10 is used in the absolute mode (G90), the current value is
replaced by the value identified by X, Y, Z, R0, or P.
• In the incremental mode (G91), the current value is altered by the posi-
tive or negative value of X, Y, Z, R0, or P.
• L# identifies the operation.
• P# selects the offset # or identifies the value for parameter R0 - R9.
• X#, Y#, Z# identifies the axis and the value to be changed.
• R0# identifies the value.
With G90
G10 L2 P5 X1.356 Y2.63 Z-.01 (This replaces the current value of fixture
offset #5 with X1.356 Y2.63 Z-.01).
With G91
G10 L2 P5 X-1. (This subtracts one inch from the current X value of fixture
offset #5).
L2 Used to offset the part home position with a coordinate system shift (see G52).
L10 Used to replace or alter tool length offsets: L10 P1-99 R0#
With G90
G10 L10 P12 R0 -5.467 (This replaces the current value of TLO #12 with -
5.467).
With G91
G10 L10 P12 R0+1. (This adds one inch to the current value of TLO #12).
With G90
G10 L12 P1 R0+.52 (This replaces the current value of dia. offset #1 with .52).
With G91
G10 L12 P1 R0-.02 (This subtracts .02 from the current value of dia. offset
#1).
G10 L13 P2 (The R0 variable = the Z amount, the R1 = X, and the R2 = Y).
L14 Used to read the value of a tool length offset: L14 P1-99
With G90
G10 L102 P-6.5 (This replaces the current value of the R2 variable with -6.5).
With G91
G10 L102 P+.543 (This adds .543 to the current value of the R2 variable).
G15 YZ Circular This code is used when the bottom of a cutter is required to cut an arc with Y, Z,
Interpolation With and A axis motion. See Section 12 for more details.
The A Axis
SPECIAL
9 FEATURE
G17-G19 Plane Plane selection codes are used to identify the plane for such functions as:
Selection
• Circular Interpolation (G2, G3)
• Cutter Compensation (G40-G42)
• Coordinate Rotation (G68, G69)
• Flat Cam, XY Plane Conversion to XA/XB Motion (See Section 12)
Y+ Z+ Z+
G2 G3 G2
G3 G2 G3
X+ X+ Y+
G17 G18 G19
VIEW FACING MACHINE VIEW FACING MACHINE VIEW FACING MACHINE
LOOKING Z- LOOKING Y+ LOOKING X-
TOOL MOTION TOOL MOTION TOOL MOTION
G17.1-G17.2 A/B The G17.1 word activates B-axis command substitution for the A-axis
Word Swap command. This allows the use of the A axis rotary moves in one program for
use with rotary heads on both pallets. If the program calls for an A axis move
SPECIAL and the rotary device is connected to the B axis controller, the G17.1 code will
9 FEATURE swap the A word for a B word. Existing programs written for the dual 4th axis
setups that contain both A and B words are allowed. The G17.1 will
automatically swap the B words to A words. The G17.2 word cancels A/B axis
command swap mode.
G20 Inch This code is used to verify that the operator has set the CNC to the INCH mode.
Programming This code does not place the machine in the inches mode. The inch mode is
set with the SETIN or SETP command. See Section 8, SETIN and SETP
commands. See also the G70 code.
G21 Metric This code is used to verify that the operator has set the CNC to the METRIC
Programming mode. This code does not place the machine in the metric mode. The metric
mode is set with the SETME or SETP command. See Section 8, SETME and
SETP commands. See also the G71 code.
G28 Return to Zero This code is used to return all axes (Format 1) or a specific axis (Format 2) to
the current Tooling Coordinate System (Home Position). The G28 code acts the
same in absolute and incremental mode.
Format 1 Typically it is used to move home after a G92 or G52 code is used. The G28 will
ignore the G92 preset position or a G52 shift and move to the positions
established by the SET(X,Y, Z, A, B or H) commands or by a fixture offset. The
G92 and G52 codes will remain in effect after the G28 move.
If a fixture offset is in effect, the G28 will return all axes to the fixture home
position, unless a motion word appears with the G28 code. The G28 will not
cancel the fixture offset. If a Z offset is in effect that is larger than +4.0 inches
and the Z axis SET position is at the cold start position, the Z axis will over travel
on the G28 line. It would be best to not use a G28 in this case. Instead, use an
M6 to cancel the Z offset, then use an E0 X0 Y0.
EXAMPLE: M5 M9
G28 Y6. The Y axis will move to Y6.0 (the initial position) then all axes move
home
Format 2 Format 2 programming requires the axis to be specified in the block with the
G28 for it to move to that position.
EXAMPLE: G28 Z0 Only the Z axis will move to the zero position
G28 X0 Only the X axis will move to the zero position
G28 will cancel the current fixture offset and move to the location established
with the motion word on the same line as the G28 code, unlike Format 1 where
G28 moves to the location in reference to the last called out fixture. The G28
moves are relative to the CS position or the SETX, SETY, SETZ, SETA, SETB, or
SETH commands, whichever was used last.
G28.1 Cancel JOG This code is used to cancel the jog away amount and return specified axes to
AWAY the current programmed position. This code is only intended to be used with
option number two from the jog away return selection menu. The G28.1 code
acts the same in absolute and incremental mode.
EXAMPLE:
JOG AWAY
PROGRAMMED POSITION MACHINE POSITION
OFFSET
X3.0 Y3.0 X3.1000 Y3.1000 X0.1000 Y0.1000
G28.1 X0 X3.0000 Y3.1000 X0.0000
Y0.1000
Note: The value in the axis word with the G28.1 is irrelevant and is only used
to determine which axis to cancel jog away.
G29 Return from This code is used to return all axes to the initial position established with the
Zero last G28 code used in the program. Motion words in the same block as the G29
will be executed after the axes are returned to the initial position.
This only returns the X axis to the INITIAL position before moving incrementally
the programmed amount. All other axes remain at their current location.
G31 Probe Touch The G31 is only used in conjunction with a probe. This code causes the
Function machine to stop motion when the probe is touched and then execution
continues at the next line in the program. The G31 can be used with table or
spindle probes (see also G31.1).
Note: Program a move that would normally be excessive. For example if a one
inch move is required to get the probe up to a wall, use a two inch move in
the program. The probe will stop the motion, and whatever motion is
remaining for that line will be discarded and the control will continue
execution of the program at the next line.
Expect some over travel, if the feed rate used with the move is high, and also if
the stylus in the probe is long. A method for accuracy would be to use the G31
and the G31.1 codes together. Use the G31 at a high feed rate to get up to the
wall. With the high feed rate the stylus is angled and over the edge because of
the time required to read the probe and stop the motion. Then reverse the
motion to move away from the wall with the G31.1 code in the line. Do this at a
slow feed rate. At F1. the motion is slow enough that it will usually stop within
one tenth. The G31.1 will stop motion when the probe is not touching. This
means that the stylus will be perpendicular to the table and directly at the edge
of the wall when the probe is not touching.
If the stylus is not running true, or a chip is in the spindle, the probe will not
give a true position reading. For consistency, use an M19 to orient and lock the
spindle at the same position each time the probe inserted in the spindle. If an
operator is to place the probe in the spindle by hand, orient the spindle prior to
inserting it in the spindle. Sometimes the stylus will work itself loose, confirm
that it is tightly screwed in before using the probe.
Storing Probed
Positions
Saving Positions 1) Any software designed to save data from the port will be sufficient to retain
Through the the data.
Rs-232 Port
2) When a touch is made, the motion will stop and the current position will be
output through the port.
G1 G31 X1. F50. This line sends just the X axis location to the port
G1 G31 X2. Y5. F50. This line sends the X and Y locations to the port
G1 G31 X3. Y-4. Z-2. F50. This line sends the X, Y and Z locations to the port
3) Macro SPRINT statements can be used just before the probe line to identify
the information being saved.
Saving Positions to 1) P1, P2, and P3 are used to save the touch positions when the fixed probe
P Words subroutines are going to be used in the program. See Touch Probe, Section
15.
2) P1, P2, and P3 can be used with the macro PX1-3, PY1-3, PZ1-3, PA1-3,
and PB1-3 variables. When a probe touch (G31) or probe no-touch (G31.1)
is used on a line with a P1, P2, or P3 each axis position is stored regardless
of the axis that moved to get the touch point.
Saving the Position 1) The current position can be saved to a V variable by using a macro AX, AY,
As a V Variable AZ, AA, or AB command.
G31.1 Probe No This code causes the machine to stop motion when the probe is not touching
Touch Function and then execution continues at the next line in the program. The G31.1 can be
used with table or spindle probes. This code functions exactly like the G31
code. See also G31.
G40 Cutter This code is used to cancel cutter radius compensation. See Section 9 for
Compensation details.
Cancel
G41 Cutter This code is used to activate cutter radius compensation to the left. See
Compensation Left Section 9 for details.
G42 Cutter This code is used to activate cutter radius compensation to the right. See
Compensation Right Section 9 for details.
G43 Tool Length This code is used to apply tool length compensation to the Z axis in the positive
Compensation direction. This code is not required in programs primarily running on the FADAL
Positive control. This code is supported for compatibility with other controls. The
direction of motion is determined by a combination of the sign of the offset
value and the programmed G code (G43, or G44). See the chart below with
G44.
G44 Tool Length This code is used to apply tool length compensation to the Z axis in the
Compensation negative direction. See the chart below. This code is not required in programs
Negative primarily running on the FADAL control. This code is supported for
compatibility with other controls. The direction of motion is determined by a
combination of the sign of the offset value and the programmed G code (G43,
G44).
G45 Tool Offset This code is used for extending the programmed axis move by a value stored in
Single Expansion the tool offset table. The value is determined by an H word. Program the H
word in the same block with the G45 code and an axis move. Only the block
containing the G45 code is extended.
Note: The G45, G46, G47, or G48 codes may only be used in X only, Y only, or
quarter arc moves. No angular movements or full circles are allowed.
These codes were commonly used before CNC equipment had cutter radius
compensation and fixture offsets.
EXAMPLE: G0 G91
G45 X1.0 H1
The above example extends the 1.0 axis move by the tool length value of offset
#1. Tool length offset is not applied to the Z axis.
G46 Tool Offset This code is used for reducing the program axis move by a value stored in the
Single Reduction tool offset table. See G45.
EXAMPLE: G0 G91
G46 X-1.0 H1
G47 Tool Offset This code is used for extending the program axis move by a value stored in the
Double Expansion tool table. It is similar in function to a G45, but the value determined by the H
word is doubled. See G45.
G48 Tool Offset This code is used for reducing the program axis move by a value stored in the
Double Reduction tool table. It is similar in function to a G45, but the value determined by the H
word is doubled. See G45.
G49 Tool Length This code cancels the current tool length offset programmed by the H word. It
Offset Cancel causes the Z axis to move in the opposite direction and distance of the offset in
the tool table.
• If the position of the Z axis is more than four inches above the program
Z zero, using this code will cause the machine to over travel in the Z
axis. If the tool is higher than four inches, use a G53 Z0 in place of the
G49 Z0 codes. If the G53 Z0 is used, the M6 will automatically cancel
the tool length offset.
G50 Ramp Control This code resets the ramp control to the default values. See G51.
Cancel
G50.1 Mirror Image This code is used to deactivate the mirror image mode.
Cancel
EXAMPLE: G51.1 X0
X3. Y-3.
G50.1 Deactivates mirror image
G51 Ramp Control This code is used to increase or decrease the length of time for the feed ramps
between moves. A feed “ramp” is the time against feed rate on a graph. When
TIME
SAVER
a feed rate is specified it requires the user to specify the amount of time to
reach that feed rate and a specify the amount of time to slow down at the end
of a move. Imagine a truck at a stop sign. It takes a certain amount of time to
get up to speed, as opposed to a car at the same stop sign, it would take less
time to get up to speed. With less weight on the table, the ramps could be
reduced. With a heavier weight on the table, the ramps may need to be
lengthened.
A value between .5 and 2, default being 1, is specified with the R0 word. Values
less than 1 will decrease the time, and values greater than 1 will increase the
time.
The sign (+ or -) of the value identifies the controlled axis. For example, R0
used with a negative value controls the ramp length of the X and Y axis.
Positive values control the Z axis.
EXAMPLE: G51 R0-.6 This will decrease the length of all XY feed ramps
G51 R0+.6 This will decrease the length of a Z axis feed ramps
amplifier faults, and motor overload faults. If the operator notices any of
these symptoms, lengthen the ramps.
G51.1 Mirror Image This code activates the mirror image mode.
The axes to be mirrored are identified in the same block with the G51.1 code.
G51.2 Tool Load This code activates the Tool Load Compensation (TLC) option. The G51.2 and
Compensation (TLC) the following parameters have been designed to automatically adjust the feed
rate according to tool load conditions.
OPTIONA
9 L This option is a time saver because the feed rates can be increased
automatically when conditions allow. Instead of using a generalized “safe” feed
rate, the feed rate can be calculated for the maximum condition, and then
automatically reduced by tool load conditions when it is being cut.
R1 = Target Spindle The R1 variable represents the target spindle load to maintain. If the tool load is
Load (percentage) less than this amount, the feed rate will be increased; if the tool load equals or
exceeds this amount, the feed rate will be reduced.
R2 = Minimum The R2 parameter represents the lowest percentage to modify the feed rate.
Percentage Feed The lowest modification allowed is 20 percent. By reducing the feed rate the
Rate Reduction chip load will also be reduced. If the R2 parameter is too low, the reduced feed
rate may cause excessive tool wear.
R3 = Maximum When cutting conditions are correct and the spindle load is lower than what the
Percentage Feed R1 parameter is set for, the feed rate will be modified by the R3 percentage.
Rate Increase This parameter must be considered carefully because it will affect the chip load
of the tool. If the feed rate increases, so does the chip load. If the chip load
increases too much it may cause the tool to break. It is suggested to select a
maximum percentage for which the tool is designed. To determine this
percentage, select an appropriate feed rate, multiply it by two thirds (.66666),
and use the result for the feed rate in the program. Use an R3 value of +150.
with G51.2 code. For example, if the appropriate feed rate is 30. then
30.*.66666=19.9998 or 20. Modifying 20. by 150% will result in maintaining
the appropriate feed rate when the spindle load is lower than the target load
factor.
R4 = Number of If the feed rate is programmed at the lowest feed rate modification established
Seconds at Minimum by the R2 parameter for longer than the R4 parameter value, the machine will
Feed Rate Until the be placed in SLIDE HOLD. The R2 parameter is the lowest feed rate
Control Activates modification. When used, it is an indication that the tool is getting dull or the
Slide Hold cutting condition is excessive for the tool.
EXAMPLE: G0 G90 E1 X0 Y0
H1 Z1. M7
G51.2 R1+60.0 R2+50.0 R3+150.0 R4+15.0 Activate TLC
G1 F100. Z-.1 ** cut part**
G51.2 R1+0.0 Cancel TLC
M6 T2 An M6 will also cancel TLC
Note: The feed rate to be modified is on the line after the line where the G51.2
was used. No other feed rates should appear after the initial feed rate or
until the G51.2 is canceled.
Canceling G51.2 Use the G51.2 R1+0 in the program at the point where TLC is to be canceled.
(TLC) An M6 will also cancel the TLC mode. See the program example above.
TLC Manual Target When the TLC is active in AUTO, the parameters will be displayed in the upper
Power Override right portion of the screen. As the control adjusts the feed rates, the display will
reflect the changes as they occur. During AUTO the operator may press the +
or - button to manually override the specified target load parameters.
G51.3 Axis Scaling This allows the programmer to scale all or individual axis dimensions. The
G51.3 code with the R1# parameter will scale all axes. The R2# will scale the X
axis only. The R3# is used for the Y axis, and the R4# for the Z axis. The # with
the parameters represents a percentage to scale. The percentage is
represented in the decimal form. For example 2.0 would double the size, .5
would half the size.
Circular moves will be scaled according to the axis being scaled. If the X axis is
scaled, the I for the circle center description will be scaled in the same
proportion. The same would apply for the Y and Z axis. When the circles are to
G52 Coordinate This code is used to shift the current Tooling Coordinate System (TCS) similar
System Shift to the way a fixture offset would be used except that the data for the shift is
coded in the program. The current TCS would have been established by either
the CS command, the SETH or SET(axis letter) commands, the G92 code, or
the fixture offset codes G54-59 and E0-48.
Note: G52 does not cause any motion to take place. It only references the new
location on relation to the original zero.
G53 Machine This code causes the control to use the machine tool coordinate system. The
Coordinate System machine tool coordinate system is established when the cold start, CS
command was used. This code is useful when it is desired to move to an object
that is secured to the table. The object may be something that is used by many
fixtures or tools from many different jobs. One use may be the TS-27 probe for
setting tools. Another use may be a diamond, used for dressing grinding tools.
The G53 is a non modal code. It will affect only the line in which it exists.
EXAMPLE: M5 M9
G53 Z0
M6 T4
G53 X-19.75 Y-9.8 (MOVE TO TABLE PROBE
Z-30. G1 F60. G31
• A G53 Z0 is usually used on the line just prior to an M6. This will make a
quicker tool change, and it offers some insurance when doing mid tape
starts that the tool will not crash into the part.
G54-G59 Fixture These codes may be used for fixture offset locations E1 - E6. Specify a G54
Offsets code to access fixture offset number 1, a G55 code for number 2, and up to a
G59 code for number 6. For fixture offsets after number 6, the E words must be
used.
These codes are supported for compatibility and can be used in both format
one and two. See Section 11, Fixture Offsets for more details.
G66 Modal This code defines a subroutine as being modal. The subroutine is executed at
Subroutine each X, Y, A, B position programmed or when an M45 is coded, in the same
manner as any fixed cycle would be repeated.
SPECIALF
9 EATURE This code is a time saver (and a memory saver) in that the programmer does
not have to type the sub call after each positioning move. It is a memory saver
because the memory space used for each sub call is no longer needed.
EXAMPLE: O1
L100
G0 G90 Z.05
G1 G91 X.2 Z-.05 F10.
I-.2 G3 Z-.1
I-.2 G3
X-.2
G90G0 Z.05
M17
M30
M6 T1
G0 G90 S3000 M3 E1 X0 Y0
H1 Z1. M7
G66 L101 Defines subroutine 1 to be modal
X3. Y-3. Repeat Subroutine 1 at this location
X6. Y-3. Repeat Subroutine 1 at this location
G67 Cancel G66
EXAMPLE: This is the incorrect form of fixed cycles and subroutines in a sub.
O1
L100
G81 G99 R0+.1 Z-.5 F40.
L9307 R0-.75 R1+0 R2+45.
M17
M30
M6T1 (DRILL
G90 G0 S10000 M3 E1 X3. Y-3.
H1 Z.1 M8
G66 L101
This is the correctly modified form when fixed cycles and subroutines are in a
sub.
O1
L100
G67 Cancel the modal subroutine at the beginning of the sub
G81 G99 R0+.1 Z-.5 F40.
L9307 R0-.75 R1+0 R2+45.
G66 L101 Make the subroutine L100 modal at this point
M17
M30
M6T1 (DRILL
G90 G0 S10000 M3 E1 X3. Y-3.
H1 Z.1 M8
L101 The sub will be repeated at X3. Y-3.
X6. The sub will be repeated at this location
Y-6. The sub will be repeated at this location
X3. The sub will be repeated at this location
G67 The modal sub is canceled here
G67 Cancel Modal The G67 cancels a modal subroutine. The G67 works in the same way as a G80
Subroutine cancels a fixed cycle.
G68 Coordinate The G68 activates a mode to rotate the coordinate system of the current plane
System Rotation (Selected by G17, G18 or G19). In G17 only X, Y, I, and J are rotated. In G18
only X, Z, I, and K are rotated. In G19 only Y, Z, and K are rotated.
Rules
G69 Coordinate This code cancels the coordinate system rotation mode (see G68 for program
System Rotation example).
Cancel
G70 Inch This code is used to verify that the operator has set the CNC to the INCH mode.
Programming This code does NOT place the machine in the inches mode. The inch / metric
mode is set with the SETIN or SETP command. See Section 8, SETIN and SETP
commands.
G71 Metric This code is used to verify that the operator has set the CNC to the METRIC
Programming mode. This code does NOT place the machine in the metric mode. The inch /
metric mode is set with the SETME or SETP command. See Section 8, SETME
and SETP commands.
G73-G76, G81-G89 These are a preset series of operations which direct Z axis movement and/or
Fixed Cycles cause spindle operation to complete such actions as boring, drilling, tapping.
The fixed cycle selection is modal. The cycle is repeated after each M45 or X, Y,
A, or B axis move, until the cycle is canceled by a G80. See also Chapter 4,
Fixed Cycles.
G80 Fixed Cycle This code cancels the current fixed cycle.
Cancel
In Format 2, the Z axis will return to the plane indicated by the use of the G98 or
G99 code.
G90 Absolute Input A control mode in which the motion data input is in the form of absolute
dimensions. The values programmed with the axis words are the locations to
move to in relation to the current zero position. See also Coordinate System,
Section 11.
Since blocks are processed in a left to right order, both G90 and G91 may
appear in the same block. G90 and G91 are position sensitive, therefore the
moves to the left of the G90 code will be in absolute until the G91 code is used.
The G90 code is modal and will remain in effect until the G91 code is used.
EXAMPLE: N12 G90 X2. G91 Y1. The X move will be absolute, the Y move will be
incremental
N13 Z-.02 G5 This Z move will be incremental
N14 G90 X4. This X move will be absolute
G91 Incremental This is a control mode in which the motion data input is in the form of
Input incremental data. The values programmed with the axis words are the distance
and direction to move in relation to the current location.
Since blocks are processed in a left to right order, both G90 and G91 may
appear in the same block. G90 and G91 are position sensitive, therefore the
moves to the left of the G91 code will be in incremental until the G90 code is
used. The G91 code is modal and will remain in effect until the G90 code is
used.
EXAMPLE: N12 G90 X2. G91 Y1. The X move will be absolute, the Y move will be
incremental
N13 Z-.02 G5 This Z move will be incremental
N14 G90 X4. This X move will be absolute
G91.1 High Speed A control mode which enables high speed data block execution. Using the
Execution 1400-2 processor, the CNC executes up to 72 data blocks per second
throughput, whereas normal execution is about 22 per second.
SPECIAL
9 FEATURE • When using the 1400-3 or -4 processor, it is not necessary to use
G91.1, since the throughput is 250 data blocks per second.
The following codes are the only codes allowed during this mode of execution:
G0, G1, G2,G3, G8, G9, M2, M3, M4, M5, M7, M8, M9, M95, X#, Y#, Z#, A#,
B#, F#, I#, J#, K#, S#.
Note: This is best used in Format 2. The G91.1 code is canceled with the
G91.2 code.
G91.2 High Speed The G91.2 is used to deactivate the high speed execution mode in Format 2
Execution Cancel only. High speed execution is best used in Format 2. The G91.1 code is
(Format 2 Only) canceled with the G91.2 code. See Section 2, M Codes, M94.1 for high feed
rate machining.
G92 Absolute Preset The G92 is used to establish a temporary Program Coordinate System (PCS).
The axis words coded in the same line with the G92 establish the current axis
position to those axis words. For example, G92 X3. Y2. would establish the
current position of the machine to X3. Y2. Then all subsequent axis words will
be relative to this new position.
A G28 code can be used to return to the original tool coordinate system. To
cancel the G92, move to the original tool coordinate system with a G90 G28 X0
Y0 or equivalent move, then code a G92 X0 Y0.
• No other codes are allowed in the same block with the G92 except X, Y,
Z, A, or B.
G93 I/T (Inverse A control mode in which the feed rate is specified as one divided by the time to
Time) Feed Rate complete the move. This value is usually computed by dividing the desired feed
Specification (IPM/ rate by the length of the actual tool path. See Rotary Axes, Section 12, for more
inches, DPM/ details.
degrees)
G94 Feed Rate This is the default code and does not need to be coded in the program. The
Specification MMPM, mode insures that the feed rate will be specified by Millimeters Per Minute,
IPM or DPM Inches Per Minute, or Degrees Per Minute. When rotary axes are programmed
the feed rate is automatically in degrees per minute. When G93 is used, this
code MUST be coded before a linear or rotary axis motion is programmed. See
Rotary Axes, Section 12, for more details.
G98 Return to Initial This is a control mode in which, after performing the fixed cycle, the Z axis is
Plane returned to the Initial plane. This location is identified by the Z axis location
prior to a fixed cycle definition.
G90
H1 Z1. M7
G81 G98 R0+.1 Z-1. F20.X0 Y0
(AFTER DRILLING, Z RAPIDS UP TO INITIAL Z1.
Definition A Fixed Cycle is a series of operations that directs Z axis and spindle movement
to execute such actions as boring, drilling, and tapping. G codes 73-76 and
81-89 define the operation, while F, I, J, K, P, Q, R0, and Z words (cycle
parameters) define the style of execution.
I Plane The I plane (initial plane) is automatically established by the last Z axis position
when the fixed cycle is defined. This is commonly called the maximum Z
clearance position. It is usually established above the highest object on the
part or fixture. It is used with the G98 code to “jump” over obstacles on the part
or fixture. The I plane must always be equal to or above the R plane.
R Plane This represents the location of the R0 plane (or minimum clearance plane). The
R0 plane is where the tool will begin to feed into the material. This location
must be below or equal to the I plane.
G 98 Return to I G98 is modal and will remain in effect until the G99 code is used. This code is
Plane after Final Z also a default code. It is in effect after the HO command is used, or in format 1
when entering the MDI mode or when the auto button is pressed.
When this code is in effect, the tool will return to the I plane after reaching the
final Z axis position. This code is used when the tool must “jump” over any
obstacle. For this reason, it is important to establish the I plane above any
obstacle. When this code appears on a line with a positioning move the tool will
return to the I plane after the cycle has been executed and the tool has reached
the final Z axis position. (See the fixed cycle example in this section.)
G99 Return to R0 This code is modal and will remain in effect until the G98 code is used. When
Plane after Final Z this code is in effect, the tool will return to the R0 plane after reaching the final
Z axis position.
Cycle Execution
Format 1 Fixed Cycles are activated by one of the following which is determined by the
machine parameter settings (see SETP command):
Note: For Option 2, the positional move can be in the cycle definition line. If
any position words exist in the cycle definition line, the cycle will execute.
The advantage of option two is that a cycle can be initialized from any location,
and then wait for positional moves. The positional moves can all be within a
subroutine or subprogram. The first hole location does not have to be used in
the cycle definition line.
Format 2 Fixed cycles, in format two, will always execute immediately when the cycle is
defined. The first location to execute the cycle must be in the cycle line or
established prior to the cycle line. An L0, used for cycle suspension, can be in
the cycle definition line to suspend execution.
Format 1 & Format 2 If one or more axis moves appear on the same line as the fixed cycle, the cycle
will be executed at the specified position. The cycle will execute at the end of
the move. The move can be a G0, G1, G2, or G3 move. The feed rate
established before the cycle line is the feed rate that will be used for the
positional moves made with G1, G2, or G3. The feed rate on the cycle line will
only affect the Z axis move.
A cycle can remain in effect when moving from one fixture offset to another. If
the position from the first offset to the next offset is the same, an M45 must be
used to execute the cycle. If a cycle is to be executed without a positional
move, use an M45 code to cause execution of the cycle at the current position.
A cycle definition must appear after a G68 line when rotation is being used. The
positioning moves are the only moves that will be affected by the G68 code.
When using a rotary axis the brake may be applied before the execution of the
cycle. Use an M-60 on the same line with the angular position. The machine
will rotate to the angular position, apply the brake, then execute the cycle.
Fixed Cycle
Parameters
F Word Feed rate for drilling and boring.
RPM for tapping (G74, G74.1, G75, G84 and G84.1) Format 1.
Feed rate for tapping (G74, G74.1, G84 and G84.1) Format 2
2) Decimal thread lead for tapping (G74, G74.1, G75, G84, G84.1).
Inch mode: Divide 1 by the threads per inch. Example:1/4-20 tap 1/20=.05
Metric mode: Multiply .03937 by the lead. Example: 8mm x 1.25 tap (1.25 is
the lead): .03937 X 1.25= .0492. This will be the inch equivalent for the lead.
1) Parameter used with G73 and G83 which specifies how far to stop above
the bottom of the last peck. When no P word is specified, the tool will
return, in rapid, to the bottom of the last peck.
2) Percentage factor to alter the retracting feed rate on tapping cycles (G74,
G74.1, G75, G84, G84.1). When the value is 10 percent or less, only the
feed rate is modified. Values over 10 percent modify the feed rate and the
spindle speed.
I Word: Initial Peck, X 1) Initial Peck, the value of the first peck (G73, G83).
Axis Shift G76
2) X axis shift amount before raising the Z axis (G76).
L Word: Cycle Repeat This represents a cycle repeat or suspend. The cycle will repeat at the line with
and Suspend, L# or this code the number of times indicated. The use of L0 will suppress the cycle
L0 at that line. This can be used to move around an obstacle without executing the
cycle.
R Plane: R0 +/- # This represents the location of the R plane (or minimum clearance plane). The
R plane is where the tool will begin to feed into the material. This location must
be below or equal to the I plane.
In the absolute mode (G90), the value for this location is relative to Z zero. In
the incremental mode (G91), the value for this location is relative to the I plane.
The R0 value in the incremental mode can never be a positive value.
S Word Spindle Speed for tapping (G74, G74.1, G84 and G84.1) Format 2.
Z Word The Z word establishes two separate locations. The first is the Initial Plane. This
is the location of the Z axis when the fixed cycle is defined. This should be the
minimum clearance above all clamps and fixtures. When a G98 is coded the Z
axis returns to the Z axis location after completion of the final Z depth. The
second use for Z is the final Z depth of the cycle. In absolute mode (G90), it is
the depth relative to zero. In incremental mode (G91), it is the depth below the
R0 plane. The use of the Z word while a cycle is active will redefine the cycle's
final Z depth until the cycle is canceled or changed. It does not redefine the
Initial Plane. When it is desired to change the return point of the Z axis, the R0
must be redefined with the new final Z depth (see example).
2.50
.50
.35
.70
1.05
R PLANE
INITIAL PLANE
.10
.50 .45
1.0 1.2
FINAL DEPTH Z
EXAMPLE: The following example performs the same functions as before with various Z
depth changes.
G90 Z.1
G81 G98 R0+.1 Z-.5 F40 X1.0 Y1.0
X2.0 Z-.7 R0+.1
X
X3.0 Z-.3 R0+.1
Y-1.0
Y-2.0 Z-.8 R0+.1
G73 Peck Drilling N3 G73 G99 R0+.1 Z-1.2 F10. Q.1 P.02 X-.50 Y-.35
Using Q
Drill .25 each step (Q.26), returning incrementally +.05 after each peck, then
down -.03 (.05 -.02 due to P.02) to the next peck plane, until the final depth is
accomplished. The Q word can be calculated by dividing the distance from the
R plane to the final Z by the number of desired steps. Example: 1.2+.1=1.3 for
total distance then 1.3 (distance) / 10 (steps)=.1 for the Q value.
G73 Peck Drilling N3 G73 G99 R0+.1 Z-1.2 F10. I.4 J.09 K.01 P.02 X-.50 Y-.35
Using I, J, K
Drill using varying step sizes, returning incrementally +.05 after each peck,
then down -.03 (.05 -.02 due to P.02) to the next peck plane, until the final
depth is accomplished. (See Deep Hole Drilling in this section for details.)
G74 Left Hand N3 G74 G99 R0+.4 Z-1.2 F550.2 Q.05 X-.50 Y-.35
Tapping
Tap at 550 RPM in the high range, with a thread lead of .05 (20 threads per
inch) to the final Z depth, then the spindle stops and reverses, retracting the Z
axis. (See Tapping cycles in this section for details.)
G74.1 Left Hand N3 G74.1 G99 R0+.4 Z-1.2 F2000. Q.05 X-.50 Y-.35
Rigid Tapping
Tap at 2000 RPM in the high range at a feed rate calculated by the CNC, the
spindle stops and reverses, retracting the Z axis to the R plane. (See Tapping
Cycles in this section for details.)
G75 Tapping Head N3 G75 G99 R0+.4 Z-1.2 F2000. Q.050 X-.50 Y-.350
Cycle
Tap at 2000 RPM in the low range, with thread lead of .050 (20 threads per
inch) to the final Z depth, then feed up to the R plane,. (See Tapping cycles in
this section for details.)
G76 Fine Boring N3 G76 G99 R0+.1 Z-1.2 F10. Q.01 X-.50 Y-.35
Bore Z-.55, spindle stop-orient (the orientation will be the opposite of the
starting spindle direction), shift the Y axis +.01, retract the Z axis, then move
the Y axis -.01.
G81 Spot Drilling N3 G81 G99 R0+.1 Z-1.2 F10. X-.50 Y-.35
G82 Counter Boring, N3 G82 G99 R0+.1 Z-1.2 F10. P23 X-.50 Y-.35
Center Drilling, Spot
Facing
Bore to depth, dwell for 23 milliseconds then retract the Z axis at high speed.
Dwell time for three revolutions: 180000/RPM = P word value.
G83 Deep Hole N3 G83 G99 R0+.1 Z-1.2 F10. Q.1 P.02 X-.50 Y-.35
Drilling Using Q
Drill .1 each step, returning in rapid after each step to the R plane, then down in
rapid to .02 (P.02) above the last step until the final Z depth is accomplished.
The Q word can be calculated by dividing the distance from the R plane to the
final Z by the number of desired steps. Example: 1.2+.1=1.3 for total distance
then 1.3 (distance) / 13 (steps)=.1 for the Q value.
G83 Deep Hole N3 G83 G99 R0+.1 Z-1.2 F10. I.4 J.09 K.01 X-.50 Y-.35
Drilling Using I, J, K
Drill using varying step sizes, returning after each increment to the R plane then
down until final depth is accomplished. (See Deep Hole Programming Using
G73 and G83 I, J, and K in this section for details.)
G84 Right Hand N3 G84 G99 R0+.1 Z-1.2 F550.2 Q.05 X-.50 Y-.35 (Format 1)
Tapping
Tap at 750 RPM in the high range, with a thread lead of .05 (20 threads per
inch) to final Z depth, then the spindle stops and reverses, retracting the Z axis.
(See Tapping Cycles in this section for details.)
G84 Right Hand N3 G84 G99 R0+.1 Z-1.2 F550.2 Q.05 P2 X-.50 Y-.35
Tapping Using P
Word Tap at 750 RPM in the high range at a feed rate calculated by the CNC, the
spindle stops and reverses, retracting the Z axis to the R plane at a rate faster
than the in feed rate by 2%, as stated by the “P” word. (See Tapping Cycles in
this section for details.)
G84.1 Right Hand N3 G84.1 G99 R0+.1Z-1.2 F2000.2 Q.05 X-.50 Y-.35 (Format 1)
Rigid Tapping
Tap at 2000 RPM in the high range at a feed rate calculated by the CNC, the
spindle stops and reverses, retracting the Z axis to the R plane. (See Tapping
cycles in this section for details.)
G85 Bore In, Bore N3 G85 G99 R0+.1 Z-1.2 F10. X-.50 Y-.35
Out
G86 Bore In, Spindle N3 G86 G99 R0+.1 Z-1.2 F10. X-.50 Y-.35
Off, Orient, Rapid
Out
G87 Bore In, Bore N3 G87 G99 R0+.1 Z-1.2 F10. X-.50 Y-.35
Out
G88 Bore In, Dwell, N3 G88 G99 R0+.1 Z-1.2 F10. P23 X-.50 Y-.35
Bore Out
Bore in at a feed rate of 10 IPM. Dwell for 23 milliseconds, then bore out. Dwell
time for three revolutions: 180000/RPM = P word value
G89 Bore In, Dwell, N3 G89 G99 R0+.1 Z-1.2 F10. P23 X-.50 Y-.35
Bore Out Bore in at a feed rate of 10 IPM. Dwell for 23 milliseconds, then bore out. Dwell
time for three revolutions: 180000/RPM = P word value.
Dwell at Spindle at
Code Movement In Movement Out Typical Usage
Bottom Bottom
G73 Steps - - Rapid Peck Drilling
G74 Feed - Reverses Feed LH Tap Compression Holder
G74.1 Feed - Reverses Feed Left Hand Rigid Tapping
G75 Feed - No Reverse Feed Self Reversing Tapping Head
G76 Feed Yes Orient, Axis Rapid Fine Boring
Shift
G81 Feed - - Rapid Drill
G82 Feed Yes - Rapid Center Drill, Counter Bore
G83 Intermittent - - Rapid Deep Hole
G84 Feed - Reverses Feed RH Tap Compression Holder
G84.1 Feed - Reverses Feed Right Hand Rigid Tapping
G85 Feed - - Feed Boring
G86 Feed - Orient Rapid Boring
Dwell at Spindle at
Code Movement In Movement Out Typical Usage
Bottom Bottom
G87 Feed - - Feed Boring
G88 Feed Yes - Feed Boring
G89 Feed Yes - Feed Boring
R PLANE
(G99)
Q
P
Q
P
.
Q
Z FINAL
DEPTH
Q=PECK SIZE
P=FEED DISTANCE
(BEFORE PECK)
RAPID MOVES
FEED RATES
Figure 4-2 Peck Drilling Using Q
R PLANE
(G99)
I
P
.
P
.
K P
.
K
Z FINAL
DEPTH
I=INITIAL PECK
J=REDUCING VALUE
PREVIOUS
PECK MINUS J
K=MINIMUM PECK
P=FEED DISTANCE
(BEFORE PECK)
RAPID MOVES
FEED RATES
Figure 4-3 Peck Drilling Using I, J, K
I PLANE
X,Y (G98)
SPINDLE
REVERSE
R PLANE
(G99)
. Z FINAL
DEPTH
SPINDLE FORWARD
F=RPM
Q=THREAD LEAD
P=RETRACT FEED %
(OPTIONAL)
RAPID MOVES
FEED RATES
Figure 4-4 Left Hand Tapping (1)
I PLANE
X,Y (G98)
SPINDLE
REVERSE
R PLANE
(G99)
. Z FINAL
DEPTH
SPINDLE FORWARD
F=RPM
P=RETRACT FEED %
(OPTIONAL)
RAPID MOVES
FEED RATES
Figure 4-5 Left Hand Tapping (2)
I PLANE
X,Y (G98)
SPINDLE
REVERSE
R PLANE
(G99)
. Z FINAL
DEPTH
F=RPM
Q=THREAD LEAD
P=RETRACT FEED %
(OPTIONAL)
RAPID MOVES
FEED RATES
I PLANE
X,Y (G98)
R PLANE
(G99)
X+
SHIFT
. Z FINAL
DEPTH
SPINDLE STOP
AND ORIENT
Q=AMOUNT OF Y+ SHIFT
RAPID MOVES
FEED RATES
Figure 4-7 Fine Boring Using Q
I PLANE
X,Y (G98)
R PLANE
(G99)
X&Y
SHIFT
. Z FINAL
DEPTH
SPINDLE STOP
AND ORIENT
I PLANE
X,Y (G98)
R PLANE
(G99)
. Z FINAL
DEPTH
RAPID MOVES
FEED RATES
Figure 4-9 Spot Drilling
G82 - Counter Use this for center drilling, counter sinking, and counter boring.
Boring
Dwell time for three revolutions is calculated: 180000/RPM=P word value
G82 G99(G98) RO...Z...F...P...
I PLANE
X,Y (G98)
R PLANE
(G99)
DWELL
. Z FINAL
DEPTH
P=AMOUNT OF DWELL
(IN MILLISECONDS)
RAPID MOVES
FEED RATES
Figure 4-10 Counter Boring
I PLANE
X,Y (G98)
R PLANE
(G99)
Q
Q
Z FINAL
DEPTH
L=PECK SIZE
P=FEED DISTANCE BEFORE
PECK (OPTIONAL)
RAPID MOVES
FEED RATES
Figure 4-11 Deep Hole Drilling Using Q
R PLANE
(G99)
I
P
.
P
.
K P
.
K
Z FINAL
DEPTH
I=INITIAL PECK
J=REDUCING VALUE
PREVIOUS
PECK MINUS J
K=MINIMUM PECK
P=FEED DISTANCE
BEFORE PECK
RAPID MOVES
FEED RATES
Figure 4-12 Deep Hole Drilling Using I, J, K
I PLANE
X,Y (G98)
SPINDLE
FORWARD
R PLANE
(G99)
. Z FINAL
DEPTH
SPINDLE REVERSE
F=RPM
Q=THREAD LEAD
P=RETRACT FEED %
(OPTIONAL)
RAPID MOVES
FEED RATES
Figure 4-13 Right Hand Tapping (1)
I PLANE
X,Y (G98)
SPINDLE
FORWARD
R PLANE
(G99)
. Z FINAL
DEPTH
SPINDLE REVERSE
F=RPM
P=RETRACT FEED %
(OPTIONAL)
RAPID MOVES
FEED RATES
Figure 4-14 Right Hand Tapping (2)
G85 - Bore In, Bore
Out G85 G99(G98) RO...Z...F
I PLANE
X,Y (G98)
R PLANE
(G99)
. Z FINAL
DEPTH
RAPID MOVES
FEED RATES
Figure 4-15 G85-Bore In, Bore Out
R PLANE
(G99)
. Z FINAL
DEPTH
SPINDLE STOP
AND ORIENT
RAPID MOVES
FEED RATES
Figure 4-16 G86-Bore In, Spindle Off, Rapid Out
I PLANE
X,Y (G98)
R PLANE
(G99)
. Z FINAL
DEPTH
RAPID MOVES
FEED RATES
Figure 4-17 G87-Bore In, Bore Out
G88 - Bore In, Dwell, Dwell time for three revolutions is calculated: 180000/RPM=P word value
Bore Out G88 G99(G98) RO...Z...F
I PLANE
X,Y (G98)
R PLANE
(G99)
. Z FINAL
DEPTH
DWELL
P=DWELL IN MILLISECONDS
RAPID MOVES
FEED RATES
Figure 4-18 G88-Bore In, Dwell, Bore Out
G89 - Bore In, Dwell, Dwell time for three revolutions is calculated: 180000/RPM=P word value
Bore Out
I PLANE
X,Y (G98)
R PLANE
(G99)
. Z FINAL
DEPTH
DWELL
P=DWELL IN MILLISECONDS
RAPID MOVES
FEED RATES
Figure 4-19 G88-Bore In, Dwell, Bore Out
Tapping Cycles The fixed cycle used for tapping is depends on which tapping attachment is
being used. The cycles and examples given here have been approved by the
tapping attachment manufacture specified.
Clearance:
The rapid plane (R0 Plane) should be at least .4 above the hole to be tapped.
This insures that the tap fully retracts prior to movement to the next position.
Spindle Speed:
When using the G74 and G84 cycles, the spindle should be programmed for
the high gear range. This will provide better spindle reversal for tapping. This is
accomplished by programming a “.2" at the end of the S word or F word. For
example, S1000.2 or F1000.2 sets the spindle speed at 1000 rpm in the high
gear range.
Feed Rate:
The feed rate is determined by the thread lead and spindle RPM. The thread
lead is calculated as 1 divided by the number of threads per inch. When using
G74 and G84, the feed rates may be programmed differently for Format 1 and
Format 2. When using the G85 cycle for tapping, the feed rate must be
calculated by the programmer for Format 1 or Format 2. When using rigid
tapping in Format 2 and the F word requires decimal entries, use at least three
place accuracy.
Format 1 The feed rate is calculated by the control. These cycles are programmed using
the F word for RPM and the Q word for thread lead. G74, G75 and G84
calculate the feed rate as the RPM times the thread lead. These cycles
automatically use 100 percent of this calculation for the feed rate into the hole
and 105 percent for the feed rate out of the hole. The P word may be used to
increase or decrease the feed rate out of the hole. Use a positive P to increase
and a negative P to decrease the feed rate out of the hole.
Format 2 The feed rate must be calculated by the programmer. These cycles use the F
word as feed rate and do not use the Q word. The F word in the cycle indicates
the calculated feed rate.
Feed Rate The feed rate programmed should use 100 percent of the optimum feed rate.
Calculation The optimum feed rate is the RPM times the thread lead.
Blind Holes:
The procedure described is ONLY a guideline for blind hole tapping. Begin
tapping to a depth 2/3 of the desired final Z depth. Gradually increase the
programmed depth until the final Z depth is reached. This method reduces the
possibility of feeding the tool into the material at the bottom of the hole.
Tap Sizes:
Tapping attachments vary with the desired size of the tap. Insure the proper
attachment is used for the tap size. The chart below lists the recommended
minimum and maximum size tap for each attachment.
Table 2: TAPMATIC
Table 3: PROCUNIER
Note: The maximum cutting and forming tap sizes for the Tapmatic are based
on free machining steel. When tapping aluminum, the tap size should not
exceed the tapping attachment maximum size.
Program Coding:
Program coding varies with the tapping attachment and the machine format.
Below are examples of the most common uses and attachments.
Metric Threads:
Metric threads may be cut in the inches mode. The Q word is calculated using
the thread pitch of the tap. The thread pitch is multiplied by .03937 to convert
to inches for the control. For an m8 x 1.25 thread, the Q word is calculated as
follows:
EXAMPLE: Format 1
Q = 1.25 * .03937
Q = .0492
H1 Z1.0 M8
G84 G98 R0+.4 Z-1.025 F500.2 Q.0492 X.5 Y-.5
Program Examples The following examples describe the program for a 1/4-20 thread, .3 deep, at
2000 rpm.
EXAMPLE: Format 1
N52 G0 G90 S2000 M3 E1 X0 Y0
N53 H1 M7 Z.4
N54 G84 G99 R0+.4 Z-.3 F2000 Q.05 X0 Y0
N55 X.5
N56 X1.
N57 G80
Rigid Tapping Rigid tapping may be accomplished for right or left hand threads. The rigid
tapping cycles are programmed in the same manner as the compression tap
OPTIONAL holders. The taps may be held in a collet or solid tool holder.
9 FEATURE
Note: Rigid tapping requires a special drive for operation. The machine must
also have a C axis controller for the spindle. In the back panel of the VMC,
the spindle driver should be labeled with Horsepower and Rigid Tap. If the
VMC only has a Horsepower label, it does not have Rigid Tap. Please refer
to the VMC Maintenance Manual for further information.
Note: 10,000 rpm spindle 3,000 rpm max, 7,500 rpm spindle 1,500 rpm
max, 15,000 rpm spindle 3,000 rpm max.
The program codes for rigid tapping are G74.1, G74.2, G84.1, and G84.2. The
G74.1 and G84.1 are coded the same as G74 and G84. Prior to beginning the
tapping cycle, the machine prepares the spindle. This is an automatic process
accomplished by four revolutions of the spindle. The preparation is done after
the H offset is applied and just before the cycle begins. The use of the G74.2 or
G84.2 prepares the cycle for execution during the H offset application.
The machine uses the low range for tapping at 750 rpm and below. When the
rpm is above 751 the machine uses the high range. When using the G84.2 or
G74.2, and the programmed rpm is above 750, the S#.2 should be used on the
initial spindle speed call. This sets the proper belt range for the cycle
preparation. The G84.1 and G74.1 automatically set the proper range for
preparation. The G74.1 and G84.1 automatically release the spindle
orientation lock. The rpm specified, before and after the H word must be the
same.
The Gain parameter setting (in SETP) is used to adjust the spindle speed and
feed rate correlation. The gain may be set from 0 to 255. Please contact your
dealer or refer to the VMC maintenance manual for further information.
The Ramp parameter setting (in SETP) is used to adjust the acceleration time
of the spindle. The ramp may be set from 0 to 100. The higher the ramp
number, the longer the time for acceleration.
EXAMPLE: N52 G0 G90 S.2 M5 G80 M90 Do not turn the spindle on!
N53 G84.2
N54 H1 M7 Z.4
N55 G84.1 G99 R0+.4 Z-.3 F2000.2 Q.05 X0 Y0
N56 X1.
N57 G80
EXAMPLE: N52 G0 G90 S2000.2 M5 G80 M90 Do not turn the spindle on!
N53 G84.2
N54 H1 M7 Z.4
N55 G84.1 G99 R0+.4 Z-.3 S2000.2 F100. X0 Y0
100% feed calculation here
N56 X1.
N57 G80
Tapmatic NCR Series The tapping heads in this series should use the G85 Bore Cycle. The feed rate
and spindle potentiometers should be disabled. The following formula
calculates the required feed rate.
M48, M49:
When using the Bore Cycle (G85), the feed rate and spindle speed
potentiometers must be disabled. With the potentiometers disabled the
machine uses the programmed feed rates. This is accomplished with the M49
code. At the completion of the cycle the potentiometers should be enabled with
the M48 code.
Tapmatic SPD Series The tapping heads in this series should use the G75 Tapping Cycle.
Procunier Series The tapping heads in this series should use the G75 Tapping Cycle.
N1 O1 (PROCUNIER SERIES
N2 G0 G8 G90 S2000 M3 E1 X0 Y0
N3 H1 M7 Z.4
N4 G75 G99 R0+.4 Z-.3 F2000. Q.05 X0 Y0
N5 X1.
N6 G80
N7 M5 M9
Compression (non These tapping heads should use the G84 or G74 Tapping cycle. It is best to use
self-reversing) Tap these in the high range (S word with a .2). The P word may be used to increase
Holder Series the feed rate of the tap when it reverses, if the F word is used for the RPM and
the Q word is used for the lead. The G74 is used in Format 1 style ONLY.
EXAMPLE: Format 1:
EXAMPLE: Format 2:
Deep Hole The G73 and G83 I, J, K programming options allow the programmer to
Programming Using customize the drill cycle steps up to the final Z depth. This would be used when
G73 and G83 I, J, the steps can be large at the top of the hole and need to be reduced as the tool
and K feeds deeper into the part.
Initial Peck: I# The I word represents the depth of the first peck starting from the R plane
(minimum clearance plane). The rule of thumb for this value is 2 to 3 times the
diameter of the drill but may be larger or smaller as required. This value is
always an incremental value.
Reducing Factor: J# The J word represents a reducing value. The J value will be subtracted from the
I value for the second peck and from each subsequent peck. Each peck will be
smaller than the last peck by the amount of the J value until the peck size is
equal to the K value. This value is always an incremental value.
Minimum Peck: K# The K word represents the minimum peck value. The I value will be reduced by
the J value until the K value is reached. The remainder of the hole will be drilled
in a series of pecks each equal to the K value.
Feed Distance The P word represents the distance to feed before the next peck. Without the P,
Before Next Peck: P# the tool will rapid all the way to the next peck. The P will specify how far above
he next peck to begin feeding into the material. This parameter is especially
helpful if chips fall into the hole during a retraction move. The tool will not crash
into the chips if the P value is large enough.
Peck Drill: G73 The G73 peck drilling cycle is a chip breaker cycle that does not retract all of the
way out of the hole. The retract distance is set by the CNC and cannot be
changed by the programmer. It is an excellent cycle for free machining
materials and drill geometries that allow for efficient chip removal. In these
cases there is a time savings in the cycle because the drill does not retract out
of the hole.
Deep Hole Drill: G83 The G83 Peck Drilling Cycle retracts to the R plane (minimum clearance plane)
on the completion of each peck. It is an excellent cycle to break and clear chips
and for drill geometries that are prone to packing chips.
EXAMPLE: This example is for a 1/4 dia drill drilling 1 1/4 inches deep.
EXAMPLE: G73:
Subroutines Subroutines are used for contours, hole patterns, or any actions that repeat or
are used in many locations. Typically subroutines will contain only positional
moves. Feed rates, tool changes, spindle speeds, rotation, and other codes are
reserved for the main program. However, most codes can be in a subroutine.
All user defined subroutines must be at the beginning of the program before
the main section of the program. Only the O word and comments may be used
prior to the first subroutine. Subroutines cannot be defined in a
subprogram. However, if the START macro command is used, subroutines can
be defined in subprograms (see Section Eighteen, Macros).
EXAMPLE: L0100 (or L100) This would define the beginning of subroutine number 1
L2300 This would define the beginning of subroutine number 23
Calling a Subroutine The format for the subroutine call is LNNKK. NN is the subroutine number (01-
99). KK is the number of repetitions (01-99).
EXAMPLE: L101 This would call, or use, subroutine number 1, one time
L2315 This would call, or use, subroutine number 23, fifteen times
The LNNKK word must be the only word in the block in which it appears with
the exception of R parameter definitions, G66, and a parenthesis or an asterisk
for a comment. After a subroutine has been executed, it will return to the line
where it was called and the program will continue from that line.
Ending a Subroutine A subroutine ends with the L word that starts the next subroutine or with an
M17. The M17 must be the only word in the block in which it appears.
The last subroutine in the program MUST have an M17 coded at the end.
Main Program An M30 marks the end of the subroutine section and the start of the main
program. An M17 marks the end of the last subprogram, which must be on a
line before an M30. The M30 must be the only word in the block in which it
appears.
When the operator presses the auto button the control will process the
program. The control will recognize the existence of subroutines by the L #00 at
the beginning of the program. The control will then recognize the beginning of
the main program by the M30 code. When the control is ready to run, the line
just after the M30 will be the first line to appear on the screen of the pendent.
When the M30 is used to end the subroutine section, an M2 is used to end the
program. At the end of the program, the M2 will cause the program to begin
again at the line after the M30 code.
Nesting A subroutine may be called for execution from another subroutine. This is
called subroutine “nesting.”
Subroutines may be nested as many as seven deep. This means that at some
point in a subroutine another subroutine can be called, and then from that
subroutine another can be called and so forth up to seven times.
Drill cycle
N12 G81 G99 R0+.1 Z-.475 F20.
N13 L101 Call Subroutine 1
N14 N15 M6 T2 Tool #2 tap
N16 G0 G90 S600 M3 E1 X0 Y0
N17 H2 M7 Z.25
N18 G84 G98 R0+.1 Z-.5 F600. Q.05 Tap Cycle
N19 L101 Call Subroutine
N20 M5 M9
N21 G0 G49 G90 Z0
N22 E0 X0 Y0
N23 M6 T1
N24 M2
Upon execution of the program, the CNC always begins processing from the
first block. When the first block contains the L word, the CNC examines each
following block, until the M17, M30 codes are encountered. The execution
begins with the block following the M30.
The example program begins execution from block N8. Block N13 causes
program execution from block N2 until the M17 is encountered at block N6.
After completing the subroutine call, the program execution is returned to the
next block following the subroutine call (N14).
Parametric Generalized subroutines can be written with the use of subroutine parameters.
Programming In a generalized subroutine, the numerical value of the A, B, E, F, G, H, I, J, K,
L, M, P, Q, R, S, T, X, Y, Z words need not be specified directly. Values that are
to be determined at the time of the subroutine call are specified indirectly by
the use of the parametric reference "R". There are ten parameters, R0 through
R9.
X+R1 directs the CNC to take the current value of parameter R1 as the value for
the X word. X-R1 directs the CNC to take the negative of the current value of
parameter R1 as the value for the X word.
The values of the parameters are modal. They are modified by programming
an R word in a line of code. For example:
R0+.137 defines the value of parameter R0 to +.137. This value is used by any
R0 in the program until it is redefined.
All R values are modal, and are not cleared at the beginning of a program. The
values are cleared at power on and are zero until they are defined.
N1 L100
N2 E1 X.45 Y-1.05
N3 G81 G99 R0+.1 Z-.75 F80. X.5 Y-1.
N4 X2.5
N5 G80
N6 Z1.
N7 E0 X0 Y0
N8 G4 P66000 The machine is in the Waiting state, spindle & coolant on
N9 M17
N10 M30
N11 G90 G0 S10000 E1 X.45 Y-1.05
N12 H1 Z1. M7
N13 L101.1 The .1 extension repeats sub #1 an indefinite number of times
N14 M2
Subprograms Subprograms function for the same purpose as a subroutine. They can be
used instead of subroutines. For program editing purposes a program that
uses subroutines is easier to edit. The operator can edit both the main and
subroutine section of the program without switching to another program.
Editing a subprogram requires that the operator first switch to the subprogram,
edit, then switch back to the main program. The main program must be
currently active to execute the program.
H1 D1 Z1. M8
G82 G99 R0+.1 Z-.25 F45.
M98 P2 L1 Call subprogram #2 one time. This is where the sub returns after
execution
M5 M9
G80
G90 G0 G49 Z0
M6 T2 (TOOL #2
G90 G0 S2000 M3 G54 X0 Y0
H2 D2 Z1. M8
G83 G99 R0+.1 Z-2.1 F37. Q.3143
M98 P2 L1 Call subprogram #2 one time. This is where the sub returns to after
execution
M5 M9
G80
G0 G90 G49 Z0
G59 X0 Y0
M30
O2 (SUBPROGRAM FOR HOLE LOCATIONS
X2. Y1.
X3. Y1.
M99 End of subprogram and return to main program
Definition Fixed Subroutines are dedicated cycles, standard in the memory of the control.
They are called by the use of an L word (L9101 - L9901) and will use
parameters (R0-R4, Z, & F). Fixed subroutines can be used during programs
run from memory or DNC operations. Subroutine calls are not allowed in MDI.
Engraving
L9201 Engraving Engraving functions are invoked by using the L9201 code. The L9201 function
Functions is capable of engraving either a constant text/number string or a serialized text/
number string. All lettering is uppercase.
2) The Z word defines the final depth of cut for the cycle. The maximum Z
depth from R0 plane to final is 2.5 inches.
3) The R0 word is used to define the clearance plane for the tool to move
above the part. The tool retracts to this plane when moving between
characters, changing position to continue the same character, or after the
last character is engraved.
4) R1 defines mode selection of four options:
7) R4 is the serialization increment selector (1-9). Enter the R4 value for the
increment amount. R4+1. increments the number by one for each part. R1
must be R1+2 or R1+3 to allow R4 to function.
8) F is the feed rate.
9) The comment or words typed after the ( (left parenthesis) will be engraved.
2) When serializing, the last part of the text/number string must be the
number to increment.
Engraving a The procedure to engrave the word “ENGRAVE” .125 inch high, using a .015
Constant String inch diameter engraving tool, is shown below:
X0
90ß
Y0 45ß
.625
ENGRAVE
180ß 0ß
270ß -45ß
.375
Figure 6-1 Engraving a Constant String
1) Position the X and Y to the start position (see Computing Start Position on
page 6-6).
Note: This is true for engraving at an angle of zero degrees (see figure above).
When engraving on a non-zero angle the X and Y axis must be shifted
properly for the angle programmed.
When serialization is coded, the machine changes the program code to reflect
the next number to be engraved. The program code is changed after the
control processes the engraving line. To reset the number, the operator must
manually change the program code.
Note: When the same number is to be engraved on each part, DO NOT use
serialized engraving.
Serialization Range Serialized engraving uses the number of digits at the end of the initial
engraving string to set the range of serialization. For instance, if the end of the
string is 5 digits (00001), the maximum number engraved will be 99999, and
the number engraved after 99999 will be 00000.
The preceding example engraves ENGRAVE 1 on the first part and ENGRAVE 2
on the second and so on. This example will engrave the numbers 1, 2, 3, 4, 5,
6, 7, 8, 9, and 0. After the 0 the number 1 is engraved again. Further, the
maximum number of digits that could be coded in this example is five (00000
through 99999), because 58 characters on the L9201 line are used by
program code, including the spaces, right parenthesis, and constant portion of
the engraving text.
EXAMPLE: ENGRAVE 01 serializes the numbers 01 through 99, then 00, and then restarts
at 01.
ENGRAVE 0001 serializes the numbers 0001 through 9999, then 0000, and
then restarts at 0001.
Spacing, Positioning, The L9201 Fixed Subroutine uses the Letter Box (the rectangular area around
& Tool Path each character) to calculate the tool path for the engraving, beginning at the X,
Calculations Y position specified in the program.
WIDTH
1/2 WIDTH
PROGRAM HEIGHT
START
START
SPACING
CL
END
SPACING
Figure 6-2 Letter Box
Computing Actual The L9201 Fixed Subroutine calculates the actual height of the tool path as
Letter Height from follows:
the R2 Variable
Actual height = (desired letter height) - (tool diameter)
Computing Start The L9201 Fixed Subroutine calculates the start spacing for each character as
Spacing follows:
Computing End The L9201 Fixed Subroutine calculates the end spacing for each character as
Spacing follows:
Computing Start X: The L9201 Fixed Subroutine will move to the X position specified in the
Position program, and then move in X the amount calculated for the start spacing of the
first character, before beginning the engraving cut.
Y: The program must specify a starting Y position that takes into account the
tool diameter, so that the tool is initially positioned one-half the tool diameter
above the desired baseline of the engraving.
3) Calculate the width factor for the engraving, using the Letter Width Table to
sum the width for each character or space.
EXAMPLE: Calculate the length of the word “ENGRAVE” to be engraved at a height of .125
inches with a tool diameter of .015 inches.
2) Actual height = (desired letter height) - (tool diameter) = .125 - .015 inches
= .110 inches
3) Total width factor = the sum of the Letter Width Table’s width factors for
each character or space.
E(.8853)+N(.9573)+G(.9588)+R(.9749)+A(1.0506)+V(1.0147)+E(.885
3)=6.7269
Note: The tool diameter must be entered in the offset page, and an H word
and/or D word must be used in the program prior to calling the L9201.
Letter Width Factor The letter width is based on the box space for each letter. The Start and End
Values factors are used to calculate the distance from the edge of the letter box to the
start and end points of the letter.
The letter width is based on the box space for each letter. The Start and End
factors are used to calculate the distance from the edge of the letter box to the
start and end points of the letter.
Bolt Circle
L93NN Bolt Circle 1) R0 represents the I definition of a circle. This is the X direction and
distance from the starting position to the center.
(X0,Y0)
Figure 6-3 1st Hole Drilled
The drawing above is a 3.0" diameter, 8 hole, evenly spaced bolt circle. The
procedure is as follows:
1) Position the X,Y axes to the starting position (the last hole of the bolt circle
to be drilled) and the Z axis to the I plane.
Mill Boring
L94NN Mill Boring 1) A tool must have been specified by an H or D word and the tool diameter
Cycle MUST be in the tool table.
Counterclockwise
2) R0 represents the feed rate.
START
The drawing above is a 1.5 diameter hole to be mill bored. The procedure is as
follows:
L95NN Mill Boring 1) A tool must have been specified by an H or D word and the tool diameter
Cycle Clockwise MUST be in the tool table.
START
The drawing above is a 1.5 diameter hole to be mill bored. The procedure is as
follows:
2) Position the Z axis to finished depth, selecting the proper H word or D word
to specify the diameter the tool is using.
Rectangular Pocket
Clean-out
L9601 Rectangular 1) A tool must have been specified by an H or D word and the tool diameter
Pocket Clean-out MUST be in the tool table.
Counterclockwise
2) R0 represents the feed rate.
Note: This can be used to regulate the step over distance. The larger this
number, the less the amount of step over.
START
The tool path drawing above shows how a 3.25 by 1.75 rectangular pocket
would be cleaned out with a .25" diameter tool. The procedure is as follows:
L9701 Rectangular 1) A tool must have been specified by an H or D word and the tool diameter
Pocket Clean-out MUST be in the tool table.
Clockwise
2) R0 represents the feed rate.
Note: This can be used to regulate the step over distance. The larger this
number, the less the amount of step over.
START
The tool path drawing above shows how a 3.25 by 1.75 rectangular pocket
would be cleaned out with a .25" diameter tool. The procedure is as follows:
Circular Pocket
Clean-out
L9801 Circular 1) A tool must have been specified by an H or D word and the tool diameter
Pocket Clean-out MUST be in the tool table.
Counterclockwise
2) R0 represents the feed rate.
Note: This can be used to regulate the step over distance. The larger this
number, the less the amount of step over.
START/END
The tool path drawing above shows how a 1.75 diameter circular pocket would
be cleaned out by a .25" diameter tool. The procedure is as follows:
L9901 Circular 1) A tool must have been specified by an H or D word and the tool diameter
Pocket Clean-out MUST be in the tool table.
Clockwise
2) R0 represents the feed rate.
Note: This can be used to regulate the step over distance. The larger this
number, the less the amount of step over.
START/END
The tool path drawing above shows how a 1.75 diameter circular pocket would
be cleaned out by a .25" diameter tool. The procedure is as follows:
Section 7: Keyboard
Key Lock Switch VERTICAL POSITION: Enable editing the CNC program.
(Edit Protection)
HORIZONTAL POSITION: Disable editing the CNC program.
Block Skip Switch DOWN POSITION: The down position (OFF) causes the control to ignore the
“/” symbol and execute the program block (see Section Eight, Commands,
Run-time Menu).
UP POSITION: The up position (ON) causes the control to read the “/” symbol
and skip the program block. The /N# line in the program will suppress the look
ahead feature of the control with the switch in the up position (ON) (see Section
Eight, Commands, Run-time Menu).
Optional Stop Switch DOWN POSITION: The down position (OFF) causes the CNC to stop at the M1
function code and enter the WAITING state (see Section Two, M Functions; see
Section Eight, Commands, Run-time Menu).
UP POSITION: The up (ON) position causes the CNC to ignore the M1 function
code (see Section Eight, Commands, Run-time Menu).
Light On/Off Switch This switch controls power to the work lamp.
Video On/Off Switch This switch controls the power going to the video screen. The operation of the
machine is not affected by this switch.
Rapid Travel Selector This switch selects the rapid movement speed (G0, G5).
Feed Rate Override This potentiometer controls the speed of axis motion.
Potentiometer
1) AUTOMATIC mode: Axis motion can be increased to 150% or reduced to
0% of the programmed feed rates. Rapid moves are not affected. The
maximum non-rapid feed rate is 375 ipm. A programmed feed rate above
250 ipm may only be overridden to 375 ipm. (For a 900 ipm rapid travel
machine, the maximum non-rapid feed rate is 600 ipm. A programmed
feed rate above 400 ipm may only be overridden to 600 ipm.)
2) SINGLE STEP mode: All AXIS motion, rapid, or feed rate is controlled by this
override potentiometer.
3) DRY RUN mode: All AXIS motion, rapid, or feed rate is controlled by this
override potentiometer.
• After pressing the SLIDE HOLD key, the completion of the current move
is subject to the override potentiometer. During a rapid move, if the
Slide Hold is pressed, when the START key is pressed the feed rate
potentiometer can override the rapid feed rate. If the next program
block is programmed as a rapid move, the feed rate potentiometer will
not override the feed rate.
• An M49 code in the CNC program disables this potentiometer (see Sec-
tion Two, M Functions, M49 Function).
Spindle Speed This Potentiometer controls the programmed spindle RPM. The maximum
Override override is 200% of the last programmed spindle speed (S word) executed by
Potentiometer the CNC program or in MDI.The override percentage will not exceed the current
drive RPM range (see Section 1, S Function Range).
!
Jog Key and the Pressing the JOG key while in the command mode, or during the WAITING
Hand Wheel state while in the AUTO mode, initiates the JOG mode.
Once in the JOG mode, you can select an axis by turning the axis selector
switch on the control panel, or using the keyboard to select the axis to jog by
pressing X, Y, Z, A, B, or C keys.
The jog direction is selected by pressing the + or - key or by the direction the
hand wheel is rotated clockwise for positive and counterclockwise for negative.
Short moves can be made by pressing the JOG key repeatedly or by turning
the hand wheel. If you hold down the JOG key, continuous motion can be
made.
The speed of axis motion can be modified by the feed rate override pot. This
can be used only when the JOG key is held for jog motion. The feed rate
override pot does not affect the speed when using the hand wheel.
To exit the JOG mode, press the MANUAL key. The keyboard uses the familiar
typewriter format for alphanumeric and special characters. The special function
keys are described below (see SLIDE HOLD for JOG AWAY).
Shift This key must be pressed along with another key to get the “upper” character
displayed on that key. The shift key has no effect when pressed with keys that
have only a single character. This key must be depressed while pressing the
Spindle On/Off key to start the spindle manually.
Enter This key is used to indicate that you have completed the entry of your
command or a line of data.
Delete This key stops input of data on the program line. The data entered prior to the
delete key is disregarded and the control is ready to receive the new data.
Backspace This key allows you to move the cursor backward to correct a keying error. All
characters to the right of the cursor, after backspacing, are disregarded by the
control when the enter key is pressed. This data must be entered again to be
entered in the program.
Spindle On/Off This is an alternating switch that controls the spindle manually. As a safety
feature, in order to turn the spindle on, you are required to first have the SHIFT
key depressed before pressing the SPINDLE ON key. The spindle must be
started manually after the external slide hold has been activated.
SPINDLE OFF does not require the use of the SHIFT key.
Pressing this key in the command mode the CNC displays the AUTO MODE
screen. Pressing AUTO again initiates program processing. The control
continues to process the program until the buffer is filled. If the AUTO key is not
pressed the control enters the WAITING state when the buffer is filled.
When the machine enters the WAITING state, the program may be executed by
pressing the START key or returning to the COMMAND mode by pressing the
MANUAL key.
The AUTO key is also used to end the WAITING state or when you want to end
the SINGLE STEP mode.
Typing MU during the machining cycle causes the CNC to display the
BACKGROUND EDIT MENU. This allows the operator to select dry run options
(run time menu), the offset menu or the functions menu. The changes made in
the BACKGROUND EDIT MENU are not effective until after the last program
block that was processed prior to the change being entered.
Pressing the space bar toggles between the BACKGROUND EDIT MENU and the
AUTO MODE screen (see Background Editing).
Slide Hold The SLIDE HOLD button stops the movement of the X,Y, Z, A, & B. The Spindle
and coolant are not affected by the SLIDE HOLD. The CNC will resume motion
after the START or AUTO button is pressed.
! Coolant was shut off. If so, manually turn on the Spindle by depressing the
SHIFT and SPINDLE ON button. To turn on the Coolant, press the COOLANT
button.
Slide Hold, JOG By pressing the JOG button while in SLIDE HOLD, any axis can be moved
AWAY away from its current position. This Jog Away feature allows an optional
automatic return of the jogged axes to that position to complete the machining
cycle. The MANUAL key exits JOG and returns the CNC to SLIDE HOLD.After
pressing the MANUAL key the CNC prompts the operator:
Pressing 1: The CNC will return the axes to the position before the JOG was
initiated. This motion is accomplished at a rapid feedrate. Make sure the Z axis
is in a position to clear work and fixturing.
WARNING: Slide Hold or Feedrate Override Pot will not function while the
! CNC is returning the axis to original location! The Rapid Travel selector will
change the return speed.
Pressing 2: The CNC will continue the machining operation, change the
position read-out to the last machined position, while retaining the JOG offset
until one of the following conditions cancels the jog offset:
Pressing 3: The CNC will continue the machining operation, retain the JOG
offset, and the position read-out will reflect the current position including the
JOG offset. This will remain active until one of the following are initiated:
Note: A tool change is commanded (M6) does not cancel JOG AWAY for X or
Y axis.
External Slide Hold When the machine is running a program and the doors are opened the external
slide hold is activated. The machine motion and the spindle are stopped. When
the doors are closed and the start button is pressed a message to turn the
spindle on will appear if the spindle is turned off manually.
Spacebar, To use background editing, the programmer must have the control in AUTO
Background Editing and press the SPACE BAR at the keyboard.
The space bar toggles the screen between the BACKGROUND EDITING MENU
and the AUTO MODE screen. While in the BACKGROUND EDIT MENU the
programmer now has three options to choose from. The active program
currently running in AUTO will be displayed to the screen, and below it will be
displayed the background edit options:
OPTION 1 DRYRUN OPTIONS: Selection will display the dryrun options run
time menu.
OPTION 2 OFFSETS: The operator can edit the FIXTURE and TOOL OFFSETS,
TOOL TIME and the MACRO VARIABLES tables (See the DF, DT, DTT and FO
commands in Section 8 for a detailed description of these tables and their
uses).
OPTION 3 HELP: The operator has several options that are similar to the PAGE
EDIT (PA) command. The active program currently running in AUTO can be
edited.
U-UPT-TOPC-CHANGES-SEARCHP-PROGRAM
D-DOWNB-BOTTOMI-INSERTR-REPLACEJOG
ENTER-PAGE DOWN BACKSPACE-PAGE UP DEL-DELETE
U KEY, move the cursor up.
D KEY, move the cursor down.
T KEY, move the cursor to the top of the program.
B KEY, move the cursor to the bottom of the program.
C KEY, change line or edit the line on which the cursor points.
I KEY, insert below the cursor line.
S KEY, search for a specified word.
R KEY, search and replace a specified word.
P KEY, change or review programs in memory.
JOG KEY, JOG away from the current position.
! program in auto!
Background editing will allow the programmer to change, add, or delete any
line of program code other than the lines that are currently being processed by
the control. If a line of code to be changed is within the LOOK AHEAD BUFFER
the control will display a message “CONFLICT WITH AUTO” and the
programmer must wait until the BUFFER has passed by the line to be edited.
This prevents the interruption of continuous machining of the current part
during AUTO. The macro WAIT will prevent the LOOK AHEAD at the M2 (see
Section Eighteen, Macros).
Single Step This key issues the SINGLE STEP command which causes the CNC to enter the
WAITING state between each program block. While in the SINGLE STEP mode
all rapid moves are subject to the feed rate pot override. The WAITING state is
ended by pressing one of the following keys:
Start This key is used to terminate a WAITING state that has been initiated in one of
the following situations:
1) You have just initiated the operation of the machine by use of the AUTO,
HOME or MANUAL DATA INPUT command.
2) The WAITING state has been entered to give you time to make any
necessary preparations for the move.
6) The CNC is in the SINGLE STEP mode. This key is also used to override a
programmed dwell command (see Section 3, G4 code).
Emergency Stop This switch is used to disconnect the control from all machine axes and the
spindle. The control will be put in the COMMAND mode. To restart the program
after an emergency stop, reset the EMERGENCY STOP button by turning it
clockwise and press the JOG key to restart the servo amplifiers. The axes in
motion and the spindle will coast to a stop.
Manual This key interrupts the current activity of LIST PROGRAM, PAGE PROGRAM,
SUM PROGRAM, DISPLAY TOOL TABLE, DISPLAY FIXTURE OFFSETS, MENU or
JOG and returns the CNC to the COMMAND mode.
When the CNC is executing a CNC program, this key is ignored unless the CNC
has been put in the WAITING state by the SLIDE HOLD command, M0
command, M1 command, a problem during tool change, the SINGLE STEP
command or an M2 or M30 (end of program) function.
Coolant-1 (FLOOD) This is an alternating switch that controls the COOLANT-1 function manually.
Same as M7 or M8.
Coolant-2 (MIST) This is an alternating switch that controls the COOLANT-2 function manually.
Same as M7 or M8.
Turret CW When this button is pressed, the turret will be rotated clockwise to the next tool
station. If this button is depressed, the turret will rotate as long as the button is
held down.
Turret CCW When this button is pressed, the turret will be rotated counterclockwise to the
next tool station. If this button is depressed, the turret will rotate as long as the
button is held down.
Section 8: Commands
Auto
AU, From, To, Dry This command is used instead of the AUTO key when a mid-program start or a
Run, Direct Block dry run is desired. The “From” parameter specifies the first block to be
Start executed. If it is zero, the first program block of the main program is assumed.
For mid- program starts, all machine axes are automatically positioned to the
location they would have been prior to the block specified, and all modal
function codes specified before the starting block are automatically in effect
(Spindle ON, Coolant ON, Absolute Mode, etc.). The "To" parameter specifies
the block to end program execution. If it is zero, the program is executed until
an M2 or M30 (Format 2) end of program. If the third parameter is a 1, 2, or 3,
the program will be executed in a DRY RUN mode. In this mode, all rapid moves
are under control of the feed rate override pot.
EXAMPLE: DRY RUN OPTIONS: If the third parameter is 1, the interpolation moves are
made at the programmed feed rates and point-to-point moves are at 150 IPM.
If the third parameter is 2, the interpolation moves are made at 150 IPM and
point-to-point moves are at 150 IPM.
If the third parameter is 3, the interpolation moves are at 75 IPM. and point-to-
point moves are at 300 IPM.
If the fourth parameter is a 1, execution begins directly and the control will not
search for modal function codes specified before the block number in the first
parameter; caution must be taken. If the fourth parameter is greater than 1, the
CNC begins the modal code search starting at the block # specified by the
fourth parameter.
Backlash
BL, Axis No., Amount This command is used to display axis backlash. It is also used to enter an
At Center, At - Limit, amount of backlash for each axis into the memory of the CNC. Each axis is
At + Limit addressed by a number.
X = 1, Y = 2, Z = 3, A = 4, B = 5
Enter: BL,2,4
Change Device
CD, Baud Rate, Line The primary use of this command will be to prepare the RS-232-C serial I/O
Feed Option, port to send or receive data to or from another device such as a tape punch or
Command Echo another computer (see Section 14, Communications).
Option, Device
Option
Baud rates above 9600 should only be used with Xmodem protocol. This
protocol uses error checking that is more suitable for the higher baud rates.
See the communications section for an explanation of protocol types.
Note: The 57,600 and 115,200 baud rates can only be established from the
Command Mode.
EXAMPLE: LINE FEED OPTION: 1=NO LINE FEEDS TRANSMITTED TO THE RS-232 PORT
EXAMPLE: COMMAND ECHO OPTION: 1=NO COMMAND ECHO TO THE RS232 PORT
Change Program
CH, From, Through This is a command used to change one or more blocks of the program. The
CNC displays the block of data starting with the “From” parameter and
proceeds by pressing the ENTER key until the “Through” parameter (optional)
is reached. You do not need to retype the entire block. You may add, delete or
change a character already in the block.
TO ADD:G90
TYPE:G0 G90 (if not the G0 is replaced by G90)
BLOCK CORRECTED:N30 G0 M8 G90
When using the through parameter, the computer prompts you with each
block, starting with the first parameter and ending at the second parameter.
You may press the ENTER key to advance to the next block whether or not you
made any changes. At any time you want to abort this mode, push the
MANUAL key.
Command Lock
CL The Command Lock menu is a method of locking out specific commands that
the user does not want other users to have access to. Commands that are set
to "LOCKED", will only be available if the key lock has been disabled (Key lock
switch is set to the vertical position). To edit any values, the user must move a
selector cursor defined by a * symbol around the screen. This selector cursor
can be moved up, down, left, or right by pressing the "backspace" or "U",
"enter" or "D", "L", or "R" keys respectively. To change the status of any given
command, move the selector cursor to that command's position, and press the
space bar to toggle that commands lock/unlock status. Press the "manual" key
to save the current settings and exit from the command lock menu.
There are three commands that will not lock/unlock without the user entering a
special password. These commands are the SURVEY MENU, DIAGNOSTICS,
and the MACHINE CONFIGURATION options. If these three commands are in
the locked position, they will remain locked regardless of the key lock switch
position. These are the commands that should only be altered by a service
person.
Copy Program
CO, From, Through, This copies one or more blocks specified by “From, Through” parameters to
To Just After just after the block specified by “To Just After” parameter. The original blocks
are not deleted. The copied blocks are renumbered as necessary to fit between
the block specified by the third parameter and the following block.
Using the following program, copy blocks from 1 through 3 to just after block 3.
Type command CO,1,3,3.
Cold Start
CS On System 97 machines the operator does not have to manually cold start the
machine. During the power on process the machine will automatically go
through the cold start procedure.
This command reinitializes the absolute table location which is required after
power on. This is Machine Zero (see Section 11, Machine Coordinate System).
The procedure is as follows:
1) Jog each axis to its indicator (Machine Zero), within .050 of either side.
3) Inspect the cold start indicator positions, making sure that each indicator is
aligned.
After the Cold Start procedure has been initialized the CNC will prompt the
operator to move to the last home position or the operator can go directly to the
command mode.
Press AUTO or START to move to that position and establish the Tooling
Coordinate System (see SETH command). Press MANUAL to return the CNC to
the COMMAND mode.
Display Bucket #
DD Displays the bucket number and tool number table, and identifies the bucket
number located at the bucket ready position with an asterisk.
1) SWAP TOOLS- Option 1 within DD is SWAP TOOLS, which will exchange the
tool in the spindle for the tool in the bucket ready position. The table will be
updated.
2) SORT TOOLS- Option 2 within DD will sort the tools automatically until each
tool number is located in the same bucket number. Upon completion, tool
number 1 will be in the spindle.
Delete Blocks
DE, From, Through This deletes specified blocks from the program. For example:
DE,10 will only delete block 10. DE,10,1000 will delete all blocks starting with
10 through and including block 1000.
Display Feed
Forward Parameters
DFF (optional) This command is used to display advanced feed forward parameters for tools 1
through 30. The menu at the bottom of the display is a summary of keys used
to page through the feed forward table, edit the 5 feed forward parameters,
and exit the display. Only 1 of 3 pages is displayed at a time, showing the
parameters of 12 tools. The ENTER key advances to the next page while the
BACKSPACE key pages returns to the previous page. The #1 key will allow you
to change the parameters of a tool. The space bar will exit to the tool length
offset menu.
Display Fixture
Offsets
DF This displays the current table of the 48 fixture offsets. In the example below,
offset 2 has a -1.0 value for the X, Y, Z, A, and B axes.
Diagnostics
DI This command is used by trained maintenance personnel. The Emergency
Stop history can be obtained by entering DI and pressing ENTER then entering
DE and pressing ENTER.
Direct Numerical
Control
DNC, Video Option, This command causes the CNC to execute NC code as it is received from the
Error Option, Dry RS-232 port (see Section 14, DNC).
Run, Start Block
Num. A value of 1 for the Video Option will disable the video display. The video
parameter is also used to perform Mid Tape Starts. Enter the line number to
begin execution from. The control then processes the program from the
beginning to this line. All modal codes are processed.
A value of 1 for the Error Option disables error checking. A value of 0 checks for
syntax errors such as XX or Y—, and lines of code with only a comment.
Dry Run options are the same as the AU command Dry Run options.
The Start Block Num. is the block number to begin execution of the program.
The control ignores all program code prior to this block. This is the same as a
direct block start in AU. This parameter may be used in conjunction with the
Mid Tape Start.
XModem Direct
Numerical Control
DNCX, Video Option, This command operates the same as the DNC command. This command uses
Error Option, Dry the Xmodem protocol instead of the XON/XOFF protocol. The Xmodem protocol
Run, Start Block allows for long term DNC operations at higher baud rates with longer
Num. communications cables. The Xmodem protocol sends data in packets of 128
data bytes. After sending the block of data, checksum is performed. The next
packet is sent if no error is detected.
Draw
DR This command is used to display the graphics menu. The graphics menu of the
page editor has been designed to allow the user to view the part path of the
current program in memory. The graphics can be accessed by pressing the G
Key from the page editor or by entering the command DR.
A second menu will appear, allowing the user to choose from several options.
All of these options can be selected while plotting is taking place.
A = AUTO Pressing the A key runs the current program completely through the part path
showing interpolation moves only (movement programmed at a feed rate
G1,G2,G3).
C = CLEAR Pressing the C key clears the screen and continues auto part path draw at full
table plotting.
F = FULL TABLE Pressing the F key clears the screen and continues auto part path draw at full
table plotting. This is used after the part path plot has been ZOOMED inward
and the user wants to see the whole part path again on a full table display.
M = TOGGLE Pressing the M key will toggle the options differences displayed along with the
DISPLAY MODE graphics plot. Toggle display options are incremental moves, absolute
positions, and modal codes. The M key can be pressed while plotting in order
to view the various modes.
O = OPTIONS Pressing the O key displays an additional menu allowing the user to choose
PLOTTING from:
Once the option key has been pressed, the plotting continues.
S = SINGLE STEP By pressing the S key, one program line will be plotted. Repeated pressing of
the S key allows the user to step through the program in line-by-line execution.
This can be canceled at any time by pressing the START button. During single
step plot the current program line will also appear on the screen in G91
incremental value.
V= VIEW TOP OR The V Key can be pressed at any time during plotting to change the view from
ISOMETRIC top to simple isometric view. The plotting will restart from the beginning of
program. This view may not be rotated.
JOG = ZOOM During the plotting process, or after the full plot, pressing the JOG button
allows the user to ZOOM in or ZOOM out the display. The PULSE GENERATOR
(the Jog Hand Wheel) now controls the position where the ZOOM BOX will be
located on the screen (in this mode, JOG does not jog the machine). X and the
Hand wheel moves the box left to right. Y and the Hand wheel moves the box
up and down. Z and the Hand wheel increases or decreases the size of the box.
Locate the box and place it around the portion of the part path the user wants
to see in a larger detail. Press the ENTER button and the part path contained in
the ZOOM box will be redrawn larger. After each successive ZOOM, the pixel
size representation is located to the right of the axis location of the displayed
part path.
In program FORMAT 1, an H word applies the length factor in this table for tool
length compensation and applies the diameter factor for cutter radius
compensation. In program FORMAT 2, an H word applies the length factor for
tool length compensation; the D word applies the diameter or radius (see the
SETP command) factor for cutter radius compensation.
The user may choose from the following DTT table options:
1-SET USED This feature is for the expired time or USED time of the tool
2-SET TIME This feature is for the current used time or TIME the control counts
3-RESET ALL USED This feature clears expired time or USED time for all tools
4-RESET ALL TIME This feature clears current time or TIME for al tools
Depending on the SETP feature chosen, the tool times may be used to monitor
USED time and or TIME. There are 3 pages to the Tool Time Table; one page is
displayed at a time. The ENTER key advances to the next page while the
BACKSPACE key returns to the previous page. Exit the tool table display by
pressing MANUAL.
Following are the SETP options for TIMERS and a brief explanation of their use.
Timers
1) ALL TOOL TIMING OFF Do not check the tool time table; factory set to off.
2) DO NOT CHECK Tool timers will be active and count, will not check USED
time.
3) END OF TOOL(AT M6) Tool timers active and will check USED after every
M6. If US time exceeds TIME for tool specified, control will show a screen
display: TOOL HAS EXPIRED!
4) AFTER EACH MOVE Tool timers active and will check USED after every
move. If USED time exceeds TIME for tool specified, control will show a
screen display: TOOL HAS EXPIRED!
Select the desired option and set a value in the STT table for USED. The TIME
value will be inserted by the control.
Display Variable
Table Command
DV This command is used to display macro variables 1 through 100. Variables are
accessible through a table display.
Fixture Offset
FO, Offset Number, X This command enters the specified distance(s) in the fixture offset table. The
Value, Y Value, Z offsets are relative to the Tool Coordinate System (Home). The first parameter
Value, A Value, B selects one of the 48 offsets available.
Value
EXAMPLE: FO,2,-2.0,-2.0,2.0,100.0,205.7
Enters for offset number 2 a value of X-2.0, Y-2.0, Z+2.0, A100.0, and B207.5
FO,2,,,-2.0
This command will not change the X,Y,A and B values. The Z parameter will be
changed to a value of -2.0 (see Section 11, FIXTURE OFFSETS).
Home Axis
HO Automatic return to zero position of the Tooling Coordinate System. Note that
this command operates the same as G28 in Format 1. The HO command acts
as a reset button when in Format 2. R values are not reset with the HO
command. This command is accomplished in one of two ways, according to
the current position of the Z axis.
• If the current Z axis position is above (+) the Z0 position, the X and Y
axes will move to zero first, then the Z axis will move in the negative
direction to zero.
• If the current Z axis position is below (-) the Z0 position, the Z axis will
move in a positive direction, to zero first, then the X and Y axes will
move to zero.
After the moves are computed, the CNC enters the WAITING state. The
operator can command the execution of the moves by pressing the START key
or abort the moves by pressing the MANUAL key.
Insert Blocks
IN, From, Increment Insert blocks in the program. The “From” parameter specifies the starting
sequence number. If “From” is not specified, 1 is assumed. The next sequence
number will be determined by adding the “Increment” parameter to the present
sequence number. If the “Increment” parameter is not specified, 1 is assumed.
The smallest increment allowed is .001, thus allowing insertion without
renumbering the entire program.
EXAMPLE: IN
Insert blocks starting with 1 and incremented by 1 thereafter.
EXAMPLE: IN,2.5,.001
Insert blocks starting with 2.5 and incremented by .001 thereafter.
EXAMPLE: IN,10,10
Insert blocks starting with 10 and incremented by 10 thereafter.
Each time the editor is ready to receive a block it prompts you by printing the
next sequence number. Enter a block by typing the various words you desire in
the block.
Jog Axis
J(Axis ID) (Direction) This command places the CNC in JOG mode. The axis identification must be
one of X, Y, Z, A or B. The direction is + or -. For example, to JOG Y in the
negative direction you would type JY- and then press ENTER. The commas for
parameter separation are not used with this command. Once in the JOG mode,
the axis, direction, and feed range will be displayed. To exit the JOG mode,
press the MANUAL key (see Section 7, Jog Key and the Hand Wheel).
Learn Mode
LE, First Block The primary use of this command is to enter blocks into the program from the
Number, Increment, jog mode. One example of use is the cleaning out of an irregular pocket. The
Tool Number first parameter is the starting block number, the second parameter is the
increment of numbering (the first and second parameters are used the same as
the insert command), the third parameter is the tool length offset being used.
Once in the learn mode the CNC will prompt you to “PRESS JOG TO CONTINUE
OR MANUAL TO EXIT”. Steps for using the learn mode are as follows:
1) Enter the command LE with desired block number, increment and tool
being used (a length must have been specified in the tool table or the CNC
will use the total Z length from the zero position).
2) Once in the learn mode press the jog key.
3) Jog the machine to the desired position and then press the manual key.
After the manual key has been pressed, the CNC displays the move to be
inserted into memory. The move may be edited by typing the desired data
at the line number prompt, or accepted by pressing the ENTER key.
4) Edit the move (if necessary), then press the ENTER key. The prompt PRESS
JOG TO CONTINUE OR MANUAL TO EXIT is displayed.
5) To continue, press JOG and repeat steps 2-4, to exit press the MANUAL
key.
List Program
LI, From, Through Command used to list program on the CRT display.
The speed of the display may be altered by pressing the number keys 0
through 9 while the display is in process. Each of these keys sets a different
speed. “0" halts the display. Keys 1 (slowest) - 9 (fastest) will restart the
display at various speeds. To exit the List mode, press the MANUAL key (see
PA command for an alternate).
Macro
MA This command is used to set the Debug and Run modes for macros. This may
be used to read variable data in memory.
1) Type MD then press ENTER to put the control in the MDI mode.
3) At completion of each block, the VMC waits for another block of code.
Note: The MDI mode can also be entered by pressing the MANUAL key while
in the command mode.
Memory
ME This command will display the percentage of free memory in the control.
Menu
MU (when used in This command is used to access the menu of commands that are used in the
the command mode) command mode. This allows you to find a command that you do not know.
Upon entering the MU command, a directory of commands and the page
number on which they appear is displayed. Type the page number on which
the desired command resides and then press the ENTER key. The ENTER and
BACKSPACE keys are used to page forward and backward through the menu.
To exit the Menu mode press MANUAL.
New Program
NE This command is used to remove the active program (see PR command). The
program in current memory is deleted from the control. Before removing the
active program the CNC will compress memory then verify your decision by
prompting you for a Y (yes) or N (no) response.
Renumber Program
NU, Increment Renumbers the current program. The value supplied as “Increment” is used as
the first block number and then is used as the step between blocks for the rest
of the program. If the “Increment” parameter is left blank, the control assumes
1.
The cursor is to the left of the listing and is controlled by one of the six following
keys.
Function Menu
Using the Function The Function menus are accessed through the Page Editor by pressing the F
Menus key. The screen will display 9 different function titles and function numbers.
This menu consists of many independent functions that solve various
geometric problems. Each is designed to help the user calculate items such as
ANGLE, LINES, INTERSECTIONS, TANGENT, BLEND RADIUS, CIRCLE, and
TRIANGLE. It is also designed for creating TOOL CALL or END OF PROGRAM
coding and for defining FIXED CYCLES or SUBROUTINES.
Cursor Movement Once in the Function menus, move the cursor up or down in the menu and
describe the items by filling the values in. To move the cursor down press the
ENTER button. To move the cursor UP press the U key.
If the value has been entered incorrectly, move the cursor to where the error is.
Then press the backspace key until it has the incorrect data is removed. When
all the data has been entered, press the C key to compute the geometry.
Getting Started The user should always be aware of what position in the current program the
cursor is. The user should place the cursor on a line of the current program
before entering the Function menu. This line should be above the area where
the calculated information needs to be inserted. When the Function menu
inserts information into the Page editor, a comment is also inserted to indicate
which function was used.
The Menus Once in the function title listing, select the number of the function titles until
you arrive at the individual Function menu. The cursor is located at a specific
geometric question. Fill in the blank, and then press the ENTER button to move
the cursor down to the next question. If the data has been entered incorrectly
press the U key to move the cursor upward to the data and use the Backspace
key to back over the information. Retype the data.
When all data has been successfully entered, press the C key for compute. The
geometry will automatically be computed and displayed at the bottom portion
of the screen.
By pressing the D key graphics will enlarge to cover the entire screen. To ZOOM
in, press the - key; to reduce the view, press the + key. If the solution is not
what the user wants, Press the S key for same function and retype the
information until the desired solution is found. When the solution is accepted,
the data may be inputted and saved to the current program after the current
cursor location. Pressing the I key will insert data into the editor. This will also
return the display to the Page editor. The current program will contain new code
with appropriate comments from the Function menu.
An entire G code program can be written by choosing from the other functions
available on the menu. Repeat the above instruction until the program is
complete. Be sure to insert the appropriate feeds and speed and Z milling
values. View program on the Graphics Menu before machining. Dry run
program before cutting the part.
Background Editing
SPACE BAR or MU To use background editing the programmer must have the control in AUTO and
(when used in the press the SPACE BAR at the keyboard. Pressing the space bar changes the
AUTO mode) screen and the background editing menu will appear.
While in the BACKGROUND EDIT menu the programmer now has several
options 1-DRYRUN OPTIONS, 2 - OFFSETS, 3-HELP.
Offsets Four tables can be edited: tool offset, fixture offset, tool time and macro
variables tables (See DF, DT, DTT and FO commands).
Help The Functions Menu is used for editing of the active program, a program in
memory, or writing a new program, similar to PAGE EDIT (PA). The currently
active program that is running in AUTO will be displayed to the screen. At the
bottom of the screen the editing features are displayed as follows:
! program in auto!
Program
Maintenance Library
PR, Program # This command displays the Program Maintenance Library menu. This menu is
the only means to display the list of programs in memory, or copy an old
program. The menu options are as follows:
EXAMPLE: PR,22
The above command causes program #22 to be the active program. An O word
must be inserted in the active program before the Program Maintenance
Library menu is displayed (see Section One, Multiple Part Program).
The second parameter, “Code Option”, selects the desired code as follows:
0 = ASCII code
1 = EIA code
The third parameter, “TTY Option”, selects whether or not tape leader and nulls
are sent to the receiving device. The options are as follows:
Reinitialize
RI This command is used to reinitialize the memory of the CNC. Three options are
given as follows:
Enter the RI command. The CNC requires a Y (Yes) or N (No) response for each
of the 3 options. The memory is cleared for each Y response. A Y response for
option C requires you to Cold Start the machine (see CS command) and reset
tool order (see SETTO command). A memory compression is accomplished
by the control whether the answers to the options are Y or N.
position. When executing a CNC program, a G28 returns the axes to this
position.
SETX Set current absolute location of the X axis as its home position.
SETY Set current absolute location of the Y axis as its home position.
SETZ Set current absolute location of the Z axis as its home position.
SETA Set current absolute location of the A axis as its home position.
SETB Set current absolute location of the B axis as its home position.
Metric Programming
SETME This command is used to switch from the Inch mode to the Metric mode. All
input data will be processed as Millimeters. In this mode all data (tool and
fixture offsets, feed rate, etc.) is to be in Metric units.
Note: This command is to be entered only when machine is at the Cold Start
position.
Inch Programming
SETIN This command is used to switch from the Metric mode to the Inch mode. All
input data will be processed as inches. In this mode all data (tool and fixture
offsets, feed rate, etc.) is to be in Inch units.
Note: This command is to be entered only when machine is at the Cold Start
position.
Set System
Parameters
SETP This command is used to access the machine’s system parameters. System
parameters configure the software for the model of your machine for such
things as axis travel, axis configuration, spindle adjustment, spindle drive type,
tool changer capacity and pendant style. Generally these parameter settings
will not change. Other parameters are for selecting modes for RS-232
communications, modal code defaults and programming formats to suit the
user’s preference.
The factory settings for your machine are listed on the inside of the pendant
door. Update this listing any time you make a change.
The parameter settings and their values are displayed as a menu with the
individual parameter with the “*” displayed at the bottom of the screen. The
cursor,"*", is moved with the Enter key, Backspace key, D key, and U key. When
the cursor is moved the parameter is displayed at the bottom of the screen.
Change the value by typing the number corresponding to the desired setting,
and then press ENTER.
All parameter settings are initialized when the machine is powered on and the
Cold Start procedure is executed. The default values for modal codes are
initialized when entering MDI, the AUTO mode, and in Format 1, when an M2
(end of program) is detected.
Pallet Programming
SETPA and SETPB These commands set which pallet is currently loaded in the machine. Use
SETPA (Set Pallet A) if the A pallet is loaded and SETPB (Set pallet B) if the B
pallet is loaded. The software will prompt the operator when to enter these
commands during the start-up procedure.
Programming
Formats
Formats There are two programming formats that are selectable by parameter settings.
These formats determine the style in which a program is formatted and
executed.
For the most part, Format 1 and Format 2 are identical with minor differences.
Format 2 maximizes compatibility with the 6MB, 10M or 11M controls.
Therefore, existing programs for these controls can be used in the CNC 88 and
CNC 88 HS.
The following are the screen displays for the various formats and processors.
These examples may not apply to your specific machine. The displays depicted
on the following pages are typical of the screens that you will see. The specific
data displayed is dependent on the processor in your machine and which
parameter you have selected with the cursor.
Format 1
Note: Depending on the parameter that the cursor is selecting, not all
parameters are displayed.
When selecting the A or B axes, the machine should be powered off. When the
power is returned the axes will be active.
The code selected is active at power on and when entering the MDI mode.
The code selected is active at power on and when entering the MDI mode.
BAUD RATE: 2400 ENTER THE DEFAULT BAUD RATE (THE RATE AFTER POWER-ON)
Note: The 57,600 and 115,200 baud rates are available but not listed. These
baud rates must be established from the Command Mode.
Select the desired option and set a value in the DTT table for USED. The TIME
value will be inserted by the control. See DTT command.
Select the correct spindle type for the machine. This parameter is set at the
factory.SPINDLE AFTER M6:
Spindle After M6 SHOULD SPINDLE COME ON AUTOMATICALLY AFTER A TOOL CHANGE WHEN
THE M6 HAD TO TURN THE SPINDLE OFF?
Select the appropriate pendant location for the machine. When option two is
selected the table may make a Y axis positive move before a tool change. This
occurs only when the Y axis is five inches or more, in the negative direction,
from the cold start position.
The operator must select the inch or metric mode for the machine. The G70,
G71, G20, and G21 check this setting to verify the operational mode.
This parameter is set to file for computer use. The punch tape format is used
when a tape reader is employed.
This parameter selects the default mode for intersectional cutter radius
compensation.
Binary Buffers 255 SELECT THE NUMBER OF BINARY BUFFERS FOR CNC LOOK-AHEAD.
Turret Factor ENTER THE ENGAGEMENT FACTOR FOR THE TOOL TURRET GENEVA GEAR
This parameter is set at the factory. For VMCs equipped with the Servo-Turret,
this factor MUST always be 1.
This parameter affects the spindle response during rigid tapping. The higher
the number the faster the spindle turns in relation to the feed rate. When the
speed is too fast the thread may be too loose.
High Torque/Rigid DO YOU HAVE THE HIGH TORQUE OR RIGID TAP OPTION?
Tap
This parameter sets the speed at which the spindle accelerates during rigid
tapping.
Select the appropriate option for the rotary table being used.
Select the appropriate option for the rotary table being used.
Select the option desired to activate or de-activate the air brake for the axis.
Select the option desired to activate or de-activate the air brake for the axis.
Tool Table WILL THE TOOL COMPENSATION TABLE HAVE THE RADIUS OR DIAMETER?
The cutter offset specification in the tool compensation table may be defined
as a diameter or radius. The SETP mode is exited by pressing the MANUAL key.
If new values were selected, the CNC requires that you perform the Cold Start
procedure (see CS command).
SETTO without a number parameter following resets all of the tool numbers to
that of the bucket numbers, regardless of where the tools are located, and sets
bucket 1 at t he bucket ready position, and tool 1 in the spindle.
1) Using Turret CW or Turret CCW, rotate bucket 1 to the bucket ready position.
3) All of the tool numbers will be reset to that of the bucket numbers. Tool
number 1 is in the spindle.
5) If Turret rotates in the incorrect direction, the Turret Motor may need to be
rephased.
SETTO,# SETTO,# is used to reset the Turret locations by specifying that “#” is the
number of the bucket (not the tool number) located at the bucket ready position
and ready to be exchanged. The remaining bucket and tool numbers are
recovered as the sequence is retained.
1) Rotate the Turret using Turret CW or Turret CCW at ;east one position until
the desired bucket number (not tool number) is at the bucket ready position.
2) If Turret rotates in the incorrect direction, the Turret Motoe may need to be
rephased.
3) From the <ENTER NEXT COMMAND> line, type SETTO,# where # is the
bucket number of the bucket now at the bucket ready position, and ready to
exchange tools.
4) The sequence of the remaining tools in the Turret is not changed, and the
new bucket numbers are updated in the DD table. The asterisk identifies the
bucket in the bucket ready position.
8) Press the ENTER key to insert this location in the tool table.
If the second parameter is a number other than zero, the current location of the
Z axis is ignored and the current value of the length offset in the tool table is
incremented by the value specified by the second parameter. For Example; If
tool #1 originally has a length offset value of -10.000 and the command SL,1,-
.025 is entered, the NEW offset will be -10.025.
Sum Program
SU, Display From, Sum the X, Y, Z, A, and B moves in the current program and display the final
Through, CRC location, relative to the programmed home position as: X= Y= Z= A= B=.
Option, Display
Option During the SUM process, the moves that the computer is processing are
displayed if the fourth parameter is 1, 2, or 3 (see the following examples). This
information can be outputted to a computer or paper tape punch (see CD
command).
SU,0,0,0,1 Sum the entire program, check the CRC generated moves. Display only the
incremental moves on the left side of the screen. Display the absolute location
of the end of the program as X= Y= Z= A= B=.
SU,10,0,1,1 Sum the entire program, ignoring CRC generated moves. Start displaying from
block number 10. Display only the incremental moves on the left side of the
screen. Display the absolute location of the end of the program as X= Y= Z= A=
B=.
SU,10,50,0,2 Sum from beginning, until block number 50, displaying all CRC generated
moves. Start displaying from block 10. Display the incremental moves on the
left side of the screen and the absolute locations of the moves on the right side
of the screen. Display the absolute location of the end of the program as
X= Y= Z= A= B=.
Survey
SV The survey command SV is a utility that manages the axis compensation data.
Each axis controller stores the screw compensation, zero offset for the scales,
and the servo gain settings. The survey menu automatically loads the survey
into memory, starting with the default X Axis survey. If no survey exists, a new
empty survey will be created. The survey is then automatically displayed on the
screen in groups of 40 values at a time. If more than 40 values in any given
survey exist, there will be an additional option located at the bottom of the first
column called "survey values". This option will allow the user to toggle between
Page 1 (the first 40 values) and Page 2 (the remaining values), of the survey.
The zero offset and gain options are also displayed on the bottom of the first
column.
A survey may be saved by either exiting out of the survey menu by pressing the
Manual key, or by selecting another survey to edit. On exiting, the CNC will
automatically cold start to enable the changes. If a survey has not been altered
before exiting, the CNC will not cold start. This new feature allows the user to
go into the survey menu just to look at the current settings, without having to
wait for a cold start when exiting.
If a mistake has been made and a user wants to reload an axis without saving
the changes, move the selector cursor to display the "Enter Axis ID" prompt. At
this prompt, re-enter the axis that is currently being edited. A "Do You Want To
Save Survey Before Re-Loading (Y/N)" message will appear. Press "N" to
reload the survey without saving the changes.
! MAINTENANCE PERSONNEL.
Tape (Program)
Input
TA, Device Option, The TA command first clears the current program and prepares to receive
Error Option, Add at program data blocks, tool offsets, or fixture offsets. If the current program has
the End Option an O word, it is placed into machine memory. If there is no O word in the
program, it is deleted from the machine memory.
The first parameter determines whether the data is from the tape reader of the
machine or from the RS-232-C port.
Enter a value of 1 for the third parameter if the input is to be added at the end
of the current program. After this input, the NU command is required before
editing or execution.
Note: The control will automatically delete a program from the library when the
file number of the program being received is same as the one in the library.
Tool Parameter
Definition
TO, Number, This command is used to manually enter data in the tool compensation table.
Diameter, Length The table contains tool diameter and length offsets for 99 tools.
Offset
EXAMPLE: TO,6,.75,-2.75
Enters data for tool 6; a diameter of .75; a -2.75 length offset
EXAMPLE: TO,6,,-2.75
Enters data for tool 6; the current diameter/radius of tool #6 is unchanged; a -
2.75 length offset
Tool Loading 1. From MDI mode, (MANUAL DATA INPUT), type M19, press ENTER and
Procedure START to orient Spindle.
3. Rotate the Turret using Turret CW or Turret CCW keys until bucket 1 is in the
bucket ready position.
4. Type SETTO to reset the bucket numbers with bucket 1 at bucket ready
position.
6. Load the first tool into the Spindle by pressing TOOL IN/OUT and insert into
the Spindle. Notice which of the two keyslots in the Tool Holder is deeper, or
has a protruding setscrew. Align the tool so that the deeper keyslot faces
forward and does not have any protruding setscrew to interfere with the
alignment key on the arm of the ATC.
7. Type M6T2, and the DATC will place the first tool in bucket 2, and wait for
the second tool.
11. Repeat as necessary until all of the tools have been loaded.
Utility
UT, Tool Number This command has six basic functions, tool setting cycle, fixture offset setting,
TS-20 test, and MP 8 test. The tool setting cycle may be used to input diameter
and length offsets for multiple tools. The fixture offset setting may be used to
set fixture offset locations into the fixture table. The TS-20 test is used to test
the operation of the TS-Series touch probes. The MP 8 test is used to test the
operation of the MP-Series probes. See the VMC Training manual for the
specific operation of this command.
The tool number parameter is utilized to retrieve a specific tool. UT,5 would
perform a tool change and place tool number five in the spindle.
When the UT command is entered without the tool number parameter, the
utility menu is displayed.
Offset Utility
Options:
This option displays the currently selected fixture data. The operator is then
prompted to select another fixture number. Enter the new fixture number or
press ENTER to use the same number. The fixture offset options are displayed.
After selecting this item, the user is prompted for the fixture number.
Enter the number of the fixture to be set. The user is then prompted for the
locator diameter.
When using an edge finder, enter the edge finding diameter. When using a dial
indicator, press ENTER to continue. The user is prompted for a spindle speed, if
a locator diameter is entered. Enter the desired RPM for the edge finder. The
RPM is set; however, the spindle is not started. The spindle MUST be started
manually when the operator is ready to find an edge. The fixture data and
offset options are displayed after the RPM is entered.
Note: The RPM is input without the letter S. The control returns to the
Command mode when the letter S is entered.
This option prompts the user to enter the Jog mode. The operator may enter
the Jog mode and find the part edge. The operator may return to the offset
option display at any time, by pressing the MANUAL button.
This option is used to record the fixture offset location to the fixture offset table.
Locator Diameter
When using a locator diameter, this option is used to adjust for that diameter.
When this option is selected, the compensation amount for the locator is
displayed with the prompt for the axis to set.
Press the letter of the axis to be entered into the fixture table.
Press the plus key if the locator touched the part on the axes positive side. The
control subtracts the locator compensation amount to the current location, and
stores that value in the fixture table. Press the minus key if the locator touched
the axes negative side of the part. The control adds the locator compensation
amount to the current location, and stores that value in the fixture table. Press
0 if the current location is desired. The current axis location is stored in the
fixture table. The operator is returned to the axis selection display to select the
next axis to set. Press any other key to return to the offset options. Repeat this
process for each axis to set.
Dial Indicator
The procedure for the dial indicator is the same; however, the compensation
options are not displayed. When the axis is selected the current location is
entered into the fixture offset table.
Using a edge finder in the jog mode, the center of a circle can be determined.
Enter the Jog mode by pressing the JOG button, touch the edge finder to the
circumference, then press the MANUAL button to enter the coordinates for the
first point. Repeat this procedure touching at 2 other points on the
The data can then be inserted into the fixture offset table by pressing the I
button.
Using the edge finder as described in the preceding paragraph, the mid point
between two planes or edges can be found and entered in the fixture offset
table.
Using the edge finder as described in the proceeding paragraph, the corner
between two intersecting planes or edges can be found and entered in the
fixture offset table.
Using the edge finder as described in the proceeding paragraph, a 90° corner
between two points can be found and entered in the fixture offset table.
The fixture offset calculated in Options 4-7 can be activated with this option.
This will move the machine to that fixture offset’s coordinates.
Item 9 Exit
The current time is displayed at the top. The power on time is the amount of
time since the last reset. Time is accumulative from each power on.
Running time is the total accumulative time that the machine has been in the
AUTO mode. The time is suspended when the machine is in the WAITING state.
This is time is accumulative from the last reset.
The last part time is running time of the last program run. When the AUTO
mode is entered the clock stops. The time stops when the M2 or M30 is
performed. Running time only is used.
The current part time is the current running time of the program in execution.
This option allows the user to set the current time. The previous time is
displayed with the prompt to enter the new time. Press ENTER to retain the
current time setting. Enter new times using a twelve hour clock. The AM or PM
MUST be entered.
Note: This setting cannot be changed with the key lock on.
When option three is selected, all clocks, except current time and tool time, are
reset to zero.
Note: This option is not functional when the key lock is on.
Item 4 Exit
Tape Verification
VT, Device Option This command reads a paper tape that is punched by the VMC. Using a check
sum routine, the control verifies the punched tape. The CNC displays the
message TAPE IS GOOD indicating a successful punch.
The “Device Option” parameter of 1 indicates use of the RS-232 port to read
the tape. This parameter is a 0 if the control is to use the machine tape reader.
The procedure is as follows:
Cutter Radius Cutter Radius Compensation (CRC) is used in a program to allow the operator
Compensation to alter the path of a cutter.
UNDERSIZED PART OUTLINE
PFAD 1
PFAD 2
EXAMPLE: After cutting the part with path 1, the operator measured the part and
determined that the part was undersized. By increasing the amount of the
diameter in the tool table and running the program again with another part in
the fixture, path 2 cut the part to the correct dimension.
Format 1 The H word in the program will pick up the tool length offset (TLO) and the tool
diameter offset. It should be used before using the G41 or G42 codes. The D
word can be used to pick up a new diameter, however, it is not necessary in
Format 1. If a D word is used, it should appear in the program after the H word.
Whatever diameter is picked up by the H word is then overwritten by the D
word. It can be used on the same line as the G41 or G42 codes.
M6 T1
G0 G90 S7500 M3 X-2. Y-1.
H1 M7 Z.1 The H will pick up the TLO and the diameter from the tool table
Format 2 The H word in the program will only pick up the tool length offset (TLO). It
should be used before using the G41 or G42 codes.
The D word must be used to pick up the tool diameter. It can be used on the
same line as the G41 or G42 codes or on any line before the G41 or G42 codes.
M6 T3
G0 G90 S800 M3 X3.641 Y-2.224
H3 D3 M8 Z.1 The H and the D words are used to pick up the TLO and the tool
diameter
G42 - Conventional The G40, G41, or the G42 can be used before or after other codes in a line,
Cut (cutter right) without changing what happens. G41 X1. G1 F35. and G1 X1. F35. G41 would
both function the same way.
Climb and
Conventional Cutting G41
G41
G41: CLIMB CUT THE PROGRAMMED
PATH
(see Section 8, SETP). The D word in the program (Format 2) indicated which
offset to use. In Format 1, the use of the D word will override any diameter
offset selected by the last H word. The next H word will override the previous D
word.
The use of the H99 with the Q word, in Format 1, may be used to specify a
specific tool diameter. This diameter value given to the Q word is placed into
the tool table location 99. This new value will be used until a new H word or D
word is specified.
Advantages of Climb When using climb cuts, the cutter will bend away from the wall being cut. This
Cutting will automatically leave stock on the wall. Because it will leave stock, this will
eliminate the need to program a different roughing pass around the part
outline. A roughing pass and a finish pass will result from using the same path
two times around the outline. After material has been removed on the first
pass, tool pressure is reduced and the tool will not bend on the second pass.
Sometimes more than two passes are required depending on the length and
type of cutter and on the type of material being cut. For a second pass use the
copy command to copy the program, or use subroutines or subprograms.
Simply increasing the diameter of the tool in the tool table will not always work
for a roughing pass. Inside radii could be a limiting factor. If the tool diameter is
increased to a size larger than an inside radius on the part outline, a “TOOL
DIAMETER TOO LARGE” message will appear.
.005/.015
FINISHED FLOOR
Figure 9-5
Note: The tool is bending the first time around, so program the tool to be .005
to .015 above any floors (the longer the tool the more it will bend). On the
second or final pass, program the tool to cut the floor. The second pass
may also use a different feedrate and spindle RPM.
Note: Because of the rigidity of a bed style vertical machining center, it is not
necessary to program a conventional cut around the part outline and then
finish the part with a climb cut. Although this is true for most materials,
plastics and hardened materials are the exception.
In most cases climb cutting will allow the tool to last longer. It is not
recommended to use climb cutting through a hardened surface, as in a
welded, flame hardened, flame cut, hard anodized, or a hot rolled surface.
Climb cutting allows a higher RPM to be used, and along with a higher RPM,
higher feed rates (as compared to conventional cutting).
The heat created at the tool and work piece is less with a climb cut than with a
conventional cut. With tools as short as possible and a high RPM, the chips will
take the heat away from the tool and the work piece.
Note: When using a higher RPM, use cutters with good chip clearance. Use
two or three fluted end mills in place of cutters with four or more flutes.
Advantages of Use conventional cutting to “scoop out” or cut through hardened material. If
Conventional Cutting the cutter is deep enough to start the chip in soft material, the chip will
continue to form up through the hard material. This will break down the cutter,
but it will last longer than using a climb cut.
The heat between the cutter and the work piece is greater with a conventional
cut, so a this cut is used for a finish cut for some plastics. It will leave a
smoother finish than a climb cut.
WARNING: Climb cutting causes the cutter to bend away from the wall
! being cut, and conventional cutting will cause the cutter to bend into the
wall being cut.
Guidelines for Using Use CRC (G41, G42) only when cutting a part outline (part path program).
CRC Program motion of the center of the tool when cutting areas other than walls,
using G40 (CRC cancel). When programming the motion of the center of the
cutter (tool path program) using G40, the control will not alter the path.
PART PATH PROGRAM
(CRC IS USED)
G40
G41
CRC (G41, G42) should only be used when cutting a part outline. Program the
outline of the part (using the print dimensions). The control will compensate for
the radius of the cutter being used and cut to leave the programmed part
outline.
TO CLEAN OUT THE POCKET
PROGRAM THE MOVEMENT OF THE CENTER
(TOOL PATH PROGRAM)
Figure9-7
General Rules
+ 1 4 +
G41 G40
2 3
1) G90 X-.4 Y.4 Position the tool, at least the tool radius away from the wall
to be cut
2) Y0 G41 G1 F10. With the move to the wall, use G41 to apply CRC
4) Y.4 G0 G40 With the move away from the wall being cut, use a G40 to
cancel comp
Note: The distance of the move up to the wall and away from the wall must be
greater than or equal to the radius of the cutter.
Examples of These examples represent part outlines and are intended to give general ideas
Applying and on applying and canceling cutter radius compensation.
Canceling CRC
G40
1 2 .
G41
1) Position the tool, at least the tool radius away from the boss.
4) Cancel CRC along with the move back to the first position.
G40
6 5
3 4 .
1 2
G41
Figure 9-10 Applying & Canceling CRC (2)
1) Position the tool, at least the tool radius away from the line from 2 to 3.
4 3 . 1 6
1) The radius of the lead in lead out radius must be larger than the radius of
the tool to be used.
G40
4 3
1 2
G41
1) Apply CRC with the move from position 1 to 2. Position 1 must be at least
the radius of the tool to be used away from the edge of the circle to be cut.
Position 1 does not need be at the center of the circle.
3) Cancel CRC along with the move away from the circle from position 3 to 4.
6 1 3 4
1) The radius of the lead in lead out radius must be larger than the radius of
the tool to be used.
12 1
G40 G41
11 2
3
4
10
5
9
7
8
Figure 9-14 Applying & Canceling CRC (5)
1) Apply CRC along with the move up to the part wall (from position 1 to 2).
3) Cancel CRC along with the move away from the part (from position 11 to
12).
G41
G40
1) Apply CRC along with the move up to the part wall. This move must be at
least the radius of the tool to be used away from the part.
2) Move in a general clockwise direction around the outside of the part (for
climb cut).
3) Cancel CRC along with the move away from the part. Again, this move must
be at least the radius of the tool to be used away from the part.
G40
G41
1) Apply CRC along with a move up to an extended wall from the part. This
move must be at least the radius of the tool to be used away from the part.
2) Move in a general clockwise direction around the outside of the part (for
climb cut) to an extended line off the wall of the part.
3) Cancel CRC along with the move away from the extended line. Again, this
move must be at least the radius of the tool to be used away from the
extended line.
O-Ring Groove In an O-ring groove, consider both circles of the groove as separate walls.
Example
1) Start at the midpoint between the walls.
Following the general rule, always cancel CRC when leaving a wall. When going
from one wall to the other, cancel comp moving to the midpoint, then apply
comp again moving to the other wall.
Perpendicular Rule
It is best to apply and cancel comp using moves perpendicular to the wall.
When perpendicular moves are used, the cutter will follow the programmed
move. Otherwise, the cutter will not follow the move to or away from the wall.
Moving perpendicular to and from a wall is best. When comp is on, the tool will
remain perpendicular (tangent) to the wall it is touching. Beginning and ending
the move perpendicular will keep the tool perpendicular for the entire
programmed path.
Comp can be applied with a move that is not perpendicular; however, the
actual move the tool will make when it is moving up to and away from the wall
cannot be predicted. Even though it is possible to turn comp on, with a move
that is not perpendicular the wall, this method is not recommended.
Any line, at any angle, that extends through the center of a circle is considered
perpendicular to the circle. When starting comp such a line is recommended
for contoured walls.
All features on a print have tolerances. Inside corner radii (“fillet” or “blend”
radii) usually have more tolerance than other features. Take advantage of this
and program inside corner radii larger than the radius of the tool to be used for
cutting the part. Also remember, when a larger tool diameter is going to be
used for a roughing pass, program fillet radii larger than the intended tool
radius. In the drawing above, the tool radius in the tool table is too large for the
programmed fillet radius. In the drawing below, the programmed fillet radius is
larger than the tool radius in the tool table. The operator can increase the tool
radius in the table up to the smallest inside fillet radius.
In the drawing above, the step down distance is smaller than the radius of the
tool. The cutter will not be able to step down, and a TOOL DIAMETER TOO
LARGE message will appear. The picture below shows how to program a fillet
radius from the corner of the step and tangent to the bottom wall. Again make
the fillet radius large enough to accept a radius for a roughing pass.
Program Example
The print above shows the inside radii as .375 in four places. A .75 end mill
could be used to form the inside radii; however, if the end mill is used to form
the inside radii, the cutter will bend into the corners and chatter. By
programming an inside corner radius larger than the radius of the tool to be
used, the problem of bending into the corner and chattering will be eliminated.
Drilling out the corners, slowing down, speeding up or dwelling in the corners
will not work!
Note: Never use a cutter to form an inside corner radius and expect good
results on the part!
The subroutine includes only the moves around the wall of the window.
Programming in this manner allows the subroutine to be called up two times for
two passes around the wall. The move up to the wall at N17 turns comp on,
and is using the feedrate from N16. A new feed at N18 is programmed and
then the sub is called one time at N19. A feedrate change is made at N20, then
the sub is called again at line N21. When running this program, the moves will
look as if they are continuous from the first time around to the second time
around. This is because all of these moves are preprocessed. The move away
from the wall, while turning comp off, is made at line N22.
Corner Rounding When cutter radius compensation is applied, it can use two different methods
to move around a corner: rolling and intersectional.
M96 Cancel
Intersectional CRC
(Rolling)
M97 Intersectional The M96 or M97, as default codes, can be selected when using the SETP
CRC command.
The M96 mode of CRC is more commonly used. In most cases it is also the
safer mode. Using this mode insures that the tool will always be touching the
programmed walls. An M97 allows the tool to move away from the
programmed walls, where it might gouge some other programmed feature.
These two codes are named by the way they move around any corner:
tangentially for M96 and intersectionally for M97.
When to use M96 Each code produces a different type of corner on the floor; however, both will
and M97 cut a mitered corner on all top edges.
M96 produces a rounded corner on the floor. M97 produces a mitered corner
on the floor.
Note: Some prints will specify the type of corner needed on the part. In most
cases the type of rounding used will only affect the part visually, not
functionally.
M96 and M97 are default codes, and can be established by using the SETP
command. M96 is more commonly used as default because M97 causes the
tool to bypass a corner which may cause the tool to bump into another portion
of the part.
If a part has steps, and blend radii were not used to move up and down the
steps, use M97. The control will accept the program better than in the M96
mode. As mentioned earlier in regards to fillet radii and step downs, it is better
to always program a fillet radius between two intersecting features, rather than
to leave these features as steps and intersections. If fillet radii are
programmed, use the M96 mode.
Grooves, slots, and O-ring grooves should use M96. This is most important
when the diameter of the tool is almost equal to the width of the slot or groove.
CRC & Z Axis Moves While CRC is in effect, a Z move can be made to move to a new Z level or to
execute a helical move. The control will “look ahead” of Z moves and
compensate the cutter for the next X or Y move.
Applying CRC can be applied along with a Z move. When comp is applied with a Z move,
Compensation with the cutter will offset tangent to the next X or Y axis move. The next line for the
a Z Move control to move tangent to can be a linear move or a circular move.
EXAMPLE: Format 1
A G41/G42 in the same line with a Z move will offset the cutter before making a
Z minus move and after a Z plus move.
Note: The example program above will operate differently in Format 2. See the
next example program for Format 2.
EXAMPLE: Format 2
In Format 2 the Z move and the offset move will be made together.
Z.1 G0 G40 Here the Z axis moves and the offset is canceled at the same time
The sample program below will operate in the same way for Format 1 and
Format 2.
Applying
Compensation with
a Z Move on a Circle
The sample program below will operate in the same way for Format 1 and
Format 2.
Compensation
Example
The sample program below will operate in the same way for Format 1 and
Format 2.
Error Messages
ABSOLUTE MODE The CNC must be in the G90 (absolute) mode during all probe functions. Probe
REQUIRED AT N = function L9101 is programmed in the G91 (incremental) mode.
AMPLIFIER FAULT ON This occurs at power on if the control does not detect an axis that should be
AXIS operational. This is often seen when the A axis is not in use and the dummy
termination plug has been installed. If the dummy termination plug is installed,
this message can be disregarded.
If this message appears for any of the other axes (X, Y, or Z), then power off to
check the motor overload relays. Power on and if the message appears again,
call the service department, noting the error message number. The motor
overload relays can be recognized by their white reset buttons. They are
located in both control enclosures. The white button must be pressed to reset a
relay.
This message also appears when the EMERGENCY STOP button has been
pressed. The operator must release the EMERGENCY STOP button and press
the JOG button to reset the amplifiers. (Depressing the EMERGENCY STOP
button disconnects the axis amplifiers. This is why this message appears.)
ARM MUST BE LEFT Before a pallet change can occur, the arm must be completely to the left with
the pallet on the table. The feed back on the arm is being read at this time.
ARRAY EXCEEDS This message will appear when the number on the array exceeds the expected
ALLOWABLE amount. This amount varies from variable to variable. For example, H(99) is
NUMBER acceptable, H(102) is not.
ATC FAILURE Check to see if the Z axis alignment was properly set at cold start. The
automatic tool changer has failed to respond to an M6 or the TC,1 command.
Try a power off and power on. If this does not help check the fuses F5, F6, F7,
and F8 to see if they are burned out. Circuit breakers 1 and 2 (if they are
present) should be pressed to see if they have been tripped.
WARNING: Power off the machine before checking fuses, relays, and/or
! circuit breakers.
If this message appears with the turret in the extended position, it may be an
indication that the sensor for turret extension is faulty; call the service
department.
ATC TURRET Check to see if the Z axis alignment was properly set at cold start. Then check
FAILURE to see if anything is caught between the sheet metal guard and the turret. If
not, this could be an indication that the sensor for turret rotation is faulty.
The fuses F5 and F6 should be checked to see if they are burned out. Circuit
breaker 2 (if it is present) should be pressed to see if it has been tripped.
WARNING: Power off the machine before checking fuses, relays, and/or
! circuit breakers.
ATC WILL NOT MOVE Check to see if the Z axis alignment was properly set at cold start. An attempt is
TO POSITION made to make a tool change and something prevents the turret from going all
the way out to the spindle. Check the tracks that allow the turret to slide out to
the spindle. Sometimes chips stick to the track and prevent the rollers from
rolling on the track.
When this message appears use the command SETCS then the command HO
which will bring the tool to the Cold Start position. It is important to visually
check the axis indicator markers to see if they are aligned; if not, jog the table
until the markers are aligned. Use the command CS, then answer Yes (Y) to the
“move to home?” question. This will bring the tool to the part’s home position
and enable the operator to begin running the program in AUTO again. It is also
possible that the turret extended sensor is faulty.
Fuses F5, F6, F7, and F8 should be checked to see if they are burned out.
Circuit breakers 1 and 2 (if present) should be pressed to see if they have been
tripped.
WARNING: Power off the machine before checking fuses, relays, and/or
! circuit breakers.
ATC AMBIGUOUS The Tool Count sensor indicates the Turret is located between Buckets, or has
TURRET POSITION, been interrupted. Move Turret to next Bucket position, and apply SETTO,#
VERIFY POCKET # where # is the Bucket number in the Bucket ready position.
WITH SETTO,# or,
TURRET LOCATION 1. Another system may have faulted while Turret was moving or the ATC
LOST, RESET was communicating. Correct the fault, and reset Turret locations
TURRET LOCATIONS with SETTO,#.
WITH SETTO,# 2. Check the Door Interlock System.
3. Check for power interruption to the Turret Motor, fuses, and circuit
breakers.
4. Check the Turret Motor for liquid contamination, or inoperative brake.
5. Check the Tool Count Sensor.
ATC AMBIGUOUS The Tool Up or Tool Down sensor indicates that Bucket is out of position, and
BUCKET POSITION, the Turret Locations may be lost. Correct Bucket Up/Down problem, and apply
VERIFY POCKET # SETTO,# where # is the Bucket number in the Bucket Ready position.
WITH SETTO,# or,
BUCKET NOT UP/ 1. Check Tool Up/Tool Down reed switches on Bucket Cylinder.
DOWN, RESET 2. Check for both air valves on at the same time.
TURRET LOCATIONS 3. Check for inadequate air supply.
WITH SETTO,#
ATC ARM IS NOT IN The Stopping Sensor or the Arm at Home Sensor indicates that the Arm is not
HOME POSITION in its Home Position, and must be before the machine can continue.
ATC ARM SOLENOID The Arm at Home Sensor indicates that the Arm has not moved away from ATC
SENSOR/HOME home position.
SENSOR FAILURE or,
ARM DID NOT MOVE 1. Check Door Interlock system.
FROM HOME 2. Check Head Position Sensor and Head Position.
3. Check for power interruption to Arm Motor, fuses, and circuit
breakers.
ATC BUCKET UP The Tool Up Sensor has not reported a successful move up of the Bucket in
SOLENOID/SENSOR preparation for rotating the Turret.
FAILURE or, BUCKET
DID NOT MOVE UP 1. Check the lower reed switch on the Bucket Cylinder.
ATC BUCKET DOWN The Tool Down Sensor has not reported a successful move down of the Bucket
SOLENOID/SENSOR in preparation for exchanging the tools.
FAILURE or, BUCKET
DID NOT MOVE 1. Check the upper reed switch on the Bucket Cylinder.
DOWN 2. Check for inadequate air supply.
3. Check air valve.
ATC A communication timeout has occurred between the CNC CPU and the DATC
COMMUNICATION Controller (1330).
ERROR WITH 1330
CARD 1. Route ribbon cable connecting the 1470 to 1330 away from fans.
2. If error occurs on power-up, there may not be an actual problem.
ATC INTERLOCK IS An inhibited ATC function has been attempted while interlocked.
ON
ATC TOOL CLAMPING The arm at Spindle Sensor or the Stopping Sensor has indicated that the Arm
FAILURE or, ARM DID has not arrived at the Spindle.
NOT ARRIVE AT
SPINDLE 1. Check for Arm Plunger latching problem.
2. Check Door Interlock system.
3. Check Head Position Sensor and Head position.
4. Check for power interruption to Arm Motor, fuses, and circuit
breakers.
ATC TOOL The Arm at Spindle Sensor or the Stopping Sensor has indicated that the Arm
UNCLAMPING did not leave the Spindle.
FAILURE or, ARM DID
NOT LEAVE SPINDLE 1. Check Door Interlock system.
2. Check Head Position Sensor and Head position.
3. Check for power interruption to Arm Motor, fuses, and circuit
breakers.
4. Check for tool release failure.
ATC TOOL ARM The Arm travel was interrupted before arriving at the Spindle.
OBSTRUCTED or,
ARM DID NOT 1. Check Door Interlock system.
ARRIVE AT SPINDLE 2. Check Head Position Sensor and Head position.
3. Check for power interruption to Arm Motor, fuses, and circuit
breakers.
ATC TOOL SENSOR The Stopping Sensor and the Arm at Spindle Sensor both indicate that the Arm
FAILURE or, ARM has not fully positioned at the Spindle.
NOT AT SPINDLE
1. Check Door Interlock system.
2. Check Head position Sensor and Head position.
3. Check for power interruption to Arm Motor, fuses and circuit
breakers.
4. Check for proper Spindle orientation.
5. Check for Tool alignment in ATC grippers.
CAROUSEL The Tool Count Sensor indicates that the Turret Motor has not rotated the Turret
SOLENOID FAILURE as expected within the allotted time.
(OR SENSOR) or,
TURRET HAS NOT 1. Check Door Interlock system.
ROTATED 2. Check for power interruption to Turret Motor, fuses, and circuit
breakers.
3. Check Tool Count Sensor and alignment.
DRAWBAR SENSOR The Drawbar Cylinder Sensor indicates that the Drawbar is still in release
FAILURE or, position, and has not retracted from the Spindle.
DRAWBAR NOT
CLAMPING TOOL 1. Check Drawbar mechanism for binding or no lubrication.
2. Check Drawbar Cylinder Sensor alignment.
DRAWBAR The Drawbar Cylinder Sensor indicates that the Drawbar could not fully release
SOLENOID FAILURE the tool from the Spindle and the Drawbar Cylinder Piston has not moved down
(OR NO AIR) or, full stroke.
DRAWBAR NOT
RELEASING TOOL 1. Check for inadequate air supply or inoperative air valve.
2. Check Drawbar Cylinder Sensor alignment.
3. Check for broken Drawbar Cylinder Piston.
ATTEMPT TO This message will occur when attempting to switch from G41 to G42, or vice
CHANGE CRC SIDE versa, on a linear move. However, switching from one to the other is permitted
WITHOUT G40 AT N during circular interpolation.
=
ATTEMPT TO This message occurs if a G41 or G42 is used in the program and a G40 code
CHANGE TOOL does not appear before an M6 code. The G40 cannot be on the same line with
WHILE IN CRC M6. An M6 will not cancel CRC.
MODE, N =
ATTEMPT TO SWITCH G40 must be in effect (CRC must not be on) when changing planes. The default
PLANE DURING CRC plane selection is G17. If CRC is in effect and a code to change to another
plane (G17, G18, G19) is used, this message will appear in the block where the
plane selection was called. G40 must be in effect (CRC must not be on) when
changing planes.
AXIS CONTROLLER This an indication that there is a communication problem between the CPU
DOES NOT RESPOND (1400) board and the axis controller (1010). Note error number and call the
DURING POWER UP service department.
SEQUENCE
AXIS CONTROLLER This an indication that there is a communication problem between the CPU
DOES NOT RESPOND (1400) board and the axis controller (1010). Note error number and call the
TO NC service department.
AXIS DATA This message is the result of a data transfer problem between the 1030 card
TRANSFER IS and a 1010 card. This message does not represent a serious problem and
STALLED should only be reported to the service department if it is persistent. Please note
error number.
AXIS DOES NOT This could be a problem with the 1010 card for the stated axis. Try a power off
RESPOND and a power on. If this does not help, call the service department.
AXIS FAULT(S) AS This appears when the EMERGENCY STOP button is pressed, a motor overload
FOLLOWS relay is tripped, or the machine places itself into the Emergency Stop mode. If
any message or error number is presented on the screen, record this message
and number and report them, if necessary, to the service department.
Release the EMERGENCY STOP button if necessary, then press the JOG button
which will reset the machine. If the machine does not reset, call the service
department.
If the EMERGENCY STOP button is not depressed, then power off the machine
and press the reset buttons of the motor overload relays to see if they are
tripped.
The motor overload relays can be recognized by their white reset buttons. They
are located in both control enclosures. The white button must be pressed to
reset a relay.
If the machine stalls for one reason or another, the control places itself into the
Emergency Stop mode. Press the JOG button and jog the tool out of the stalled
position.
An axis fault also occurs during an emergency stop because the control
removes the power to each of the axis servo amplifiers as a safety feature. The
control then analyzes the situation and, as a part of the report, shows a servo
amplifier fault, a result of having removed power to the amplifiers.
AXIS OVERFLOW The axis controller detected an overflow situation. Power off the machine at the
main power switch, wait ten seconds, and turn the power on again. If this
problem is persistent, call the service department.
BAD CIRCLE OR This can indicate an incorrect starting position for the circle, an incorrect
MISSING G AT N ending position, or an incorrect description of the arc center location relative to
the starting position of the circle. This can also indicate that the circle is
programmed in absolute or incremental and the G90 or G91 codes are
incorrect.
BAD DATA OR NO This occurs when an H word (in format 1) or the D word (in format 2) is missing
TOOL DIA. in the program. When a program uses cutter radius compensation (CRC) or a
fixed subroutine, an H word or D word must be specified. This also occurs
when no diameter value is placed in the tool table when using Fixed
Subroutines L94NN, L95NN, L9601, L9701, L9801, L9901. A DIAMETER
VALUE MUST BE USED.
When the fixed subroutine for engraving (L9201) is used, the Z depth and the
R2 variable must be included in the line. See the Users Manual for the correct
format. If the R0 variable is not specified, it is assumed as R0+0. If the R1
variable is not specified, it is assumed as R1+1.
BAD FIXTURE NO. Fixtures are numbered E1-E48. This message is displayed when a fixture offset
is programmed with a value greater than 48. Format 2: G54-G59 and E6-E48
are used.
BAD Check to see what type of move is intended for this block. G1, G2, and G3 are
INTERPOLATION the interpolation codes; G1 is for linear moves and G2 and G3 are for circular
TYPE AT N moves.
BAD R FIELD This occurs during input from the keyboard or through the RS-232 port (from
an off line computer) when the R0 was typed incorrectly. Example: If RO is
typed (R with the letter O) or R with no zero (0) is typed (R-.05 is accepted but
not R.05 or R+.05).
Correct the line in the CNC; or correct the line in the text editor and send the
program again.
BAD R1 USING L91 The R1 parameter is not present in the block containing L9101, or it is present
AT N = with an improper value. L9101 has 9 possible functions that are defined by the
R1 parameter; R1+1. through R1+9.
BAD T WORD AT N= This message occurs during a SUM command. It indicates that the T word
value is larger than the tool changer capacity.
BAD Z OR R0 IN This is a programming error due to the position of the R plane relative to the Z
CANNED CYCLE axis position when initializing a fixed (canned) cycle.
CALL, N =
Problem
Solution
Check to see if the program has the correct positioning mode (G90 or G91),
and check for correct signs and decimal point placement.
CALCULATED This is a programming error that could be due to a G90 or G91 code missing or
RADIUS ERROR OF being in the wrong place (e.g.: giving absolute positions while still in
incremental). Also, check the end point description, the beginning position,
and the arc center description (I, J, and K), or radius designation.
This message does not appear during the Auto mode. It appears when using
the SUM command (SU).
CANCEL CRC Before using CRC (G41, G42), mirror the desired axes (G51.1). Also, turn CRC
BEFORE G50.1 OR off (G40) before canceling mirror image (G50.1).
G51.1 AT N =
CANCEL CRC The control requires the G40 code to cancel cutter radius compensation before
BEFORE N = the line number listed. See the cutter radius compensation section for
suggestions.
CANCEL Z AXIS The G50.1 code must appear on a separate line before the M6.
MIRROR BEFORE
TOOL CHANGE AT N
CANNOT RETURN This is a background editing error message. The line that called the
FROM SUBPROGRAM subprogram or subroutine was deleted or cannot be found.
OR SUBROUTINE
CALLING LINE
CANNOT BE FOUND
CANNOT START A mid program start must begin from the main program. If it is necessary to
DIRECTLY IN A start the program in a subroutine, the COPY command can be used to copy the
SUBPROG. subroutine to the main program as many times as the subroutine will be
repeated. The programmer or operator can now do a mid program start to
where the subroutine was copied into the main program. After the part is
complete, delete the copied portion and run the program as before.
CHAR. SIZE OR Characters that are higher than 2.5 inches cannot be engraved using the
DEPTH EXCEEDS 2.5 Engraving mode (L9201).
IN.
CHECK EMERGENCY If the EMERGENCY STOP button (switch) is not pressed, it is necessary to check
STOP SWITCH AND the motor overload relays.
MOTOR OVERLOAD
RELAYS
WARNING: Power off the machine before checking fuses, relays, and/or
! circuit breakers.
The motor overload relays can be recognized by their white reset buttons. They
are located in both control enclosures. The white button must be pressed to
reset a relay.
Also, check the brake relay fuse (F17) to see if it is burned out. It is advised to
power off the machine when checking the fuses or motor overload relays.
CHECK SPINDLE When this message is displayed, it is necessary to check the way lube level,
LUBE, WAY LUBE spindle oiler level, and the air pressure gauge. It is advised to check these oil
AND AIR PRESSURE levels at least once a day.
CLEAR AN An emergency stop condition was invoked. To clear, gently rotate the red
EMERGENCY STOP EMERGENCY STOP button (if depressed) in the direction of the arrows on the
CONDITION button (clockwise), then press the JOG key. Wait 2 seconds for the amplifiers to
be reset, then continue.
COMMAND ERROR This occurs because a SET (parameter) command was typed in improperly. It is
suggested to look in the Users Manual or use the menu of the control to help
with any command format. The following is a list of available SET commands;
SETH, SETX, SETY, SETZ, SETA, SETB, SETCS, SETTO, SETP.
COMMAND With the key lock in the horizontal position, editing commands (CH, CO, DE, IN)
PROHIBITED BY THE cannot be used.
KEY LOCK
CRC CALLED WITH This occurs when the programmer has turned CRC on without an H word in the
NO TOOL ASSIGNED program (or in format 2 no D word).
AT N =
Table 1: CRC Called w/ No Tool Assigned at N=
Format 1 Format 2
N1 G41 N1 H1
N2 H1 This is incorrect N2 G41 This is incorrect
N1 H1 N1 H1 D1 Diameter must be specified for For-
mat 2
N2 G41 This is correct for Format 1 style N2 G41 Format 2 style programming &
only acceptable for Format 1 style
This is a common error in one tool programs when the Z axis is set with the tool
at the gauge point. Assign an H word with no tool length offset (only a tool
diameter) in the tool table.
D OR H TOO LARGE The control maintains a table of 99 tool diameters and 99 length offsets. The
control will only accept H words and D words up to 99.
DATA TRANSFER For this error, it is important to note which axis the transfer fault is on. Note the
FAULT error message number and report it to the service department.There is a data
transfer problem between the 1030 card (slot 8) and the 1010 card for the
stated axis.
DNC MODE This message appears after DNC is typed at the control. The VMC is then ready
for DNC operation and is waiting for CNC code from the RS-232 port.
DOOR BEGAN TO This message will occur if the door begins to close during a pallet change. The
CLOSE WHILE ARM feedback of the door may need adjustment or there may have been a drop in
WAS MOVING air pressure.
DO YOU WANT TO This is not an error message, but this message comes up each time the
MOVE TO THE LAST operator uses the CS command and a home position is established (SETH) in
HOME POSITION? memory.
DO YOU WANT TO This prompt is accessed by reinitializing the memory via the RI command. A ‘Y’
ZERO TOOL TABLE? response zeroes the tool offset table.
WARNING: All tool diameter and length offsets are deleted from memory!
!
DO YOU WANT TO This prompt is accessed by reinitializing the memory via the RI command. A ‘Y’
ZERO FIXTURE response zeroes the fixture offset table.
OFFSETS?
WARNING: A ‘Y’ response deletes all fixture offsets from memory!
!
DO YOU WANT This prompt is accessed by reinitializing the memory via the RI command. A ‘Y’
REINITIALIZE response zeroes the memory of the CNC.
MEMORY?
WARNING: A ‘Y’ response deletes all program data from memory! After
DRY RUN OPTION __ The selected dry run option (1, 2, or 3) is displayed prior to automatic
IS IN EFFECT execution. See the Run Time Menu for the appropriate option definition.
DUPLICATE NAME No two programs in the library can be identified by the same number. When
copying an existing program assign an unused number to the new, or copied
program. Use option 2 (display program numbers) of the PR menu to
determine which numbers have been used.
DUPLICATE OR BAD This will occur if a program is being input through the RS-232 port and the
PROG. NAME program has an O word in the first line that is a duplicate of an existing number
in the program library. Use option 2 (display program numbers) of the PR menu
to determine which numbers have been used. Change the O word to one not
being used, or remove it. Then send the program out to the control again.
If the program currently active in memory has an O word in the first line, the
program will be moved into the program library when the new program is
transferred through the RS-232 port. If the program currently active does not
have an O word in the first line, the program will be deleted when the new
program is transferred.
DWELL, HIT START This message is displayed when a G04 (dwell) is executed by the CNC. You can
TO INTERRUPT interrupt the dwell time and continue program execution by pressing the START
key.
E WORD MAY ONLY Fixture offsets cannot be on the same line with a circular move (G2, G3).
BE USED WITH G0
OR G1 N=
2) Press the JOG button which resets the amplifiers if the problem has been
resolved.
3) Type HO and press ENTER, then after the waiting message appears press
START (see note).
4) The operator may now resume the running of the part.
Note: It is not necessary to move the axes to their Cold Start position or
establish the part home again unless the message, JOG AXES TO HOME
POSITIONS, THEN ENTER THE CS COMMAND appears.
EMERGENCY STOP- An emergency stop has occurred. If the emergency stop button is depressed,
TAKE APPROPRIATE turn it clockwise until it returns to its normal position. Press the JOG button and
ACTION the message WAIT 2 SECONDS, THE AXES ARE BEING RESET appears. If this
message persists, call the service department.
ENTER AGAIN OR HIT This message comes up when inserting program coding at the keyboard (using
MANUAL TO EXIT the IN command) or when in Manual Data (MD) and Change (CH) mode. It is
referring to the line just typed. Something was not acceptable, for example the
letter O for the number zero (0) or anything else not correct. The control is still
on the line with the problem, so retype the entire line.
ENTER COMMAND The SETP procedure will ask questions regarding the machine and certain
SETP AND SET THE preferences. If any of the questions are not clear, call the service department
MACHINE for help.
PARAMETERS
ERROR This message is a program input error. It is displayed when a program block
containing an error is transmitted to the CNC, via the RS-232. It appears at the
time the error is received. Therefore, list the program at the control to display
the last block of code received. The following block of code in the program,
which was not received, is in error. This normally is caused by back to back
alpha characters, which must be separated by numeric characters. Also, a 0
could have been typed as an O(s).
ERROR IN USER See the Operators Manual for instructions on using the SUM (SU) command.
PROGRAM, ‘SUM’ TO This message will occur when the control lists an error message in the Auto
SEE MESSAGE mode, and the operator persists in running the program by pressing the START
or AUTO button. This message will appear when the line in which the error
exists is at the top of the stack of lines to be executed.
ERROR N WORD This error occurs when the sequence number is larger than 99999. The
EXCEEDS 99999 sequence number must be between .001 and 99999.
ERROR WHILE This is an indication that there may be a problem with the CPU board.
PROCESSING BLOCK
1) Send the machine back to cold start alignment markers.
2) Power off the machines main power, wait 15 seconds and power on the
machine.
1) Save all the programs and offset information currently in memory, write
down the present home position
3) Use the command RI and answer Yes (Y) to all the questions. If the above
does not work, please call the Service representative in your area.
ERROR(S) READING While the control is inputting a tape or program with the TA command, error
TAPE option 2, this message appears after input is complete. If the TA command and
error option 1 is used (TA,0,1 or TA,1,1), the input of the program would have
been stopped if an error in the program is detected.
If errors are detected, list the program and look for missing line numbers to find
which lines the control did not accept. Use the IN command to insert the
missing lines where needed.
FILE OVERFLOW This message could mean that the program has too many G codes and M
codes on the same line. It could also mean that during CRC, there were too
many blocks that the control had to look beyond for the next compensated
move (comment lines, Z moves, G code and M code lines, and dwells).
This message may also appear if a fixed cycle is in effect when attempting to
initiate cutter radius compensation.
FIXTURE OFFSET This message occurs when an E word value in the program exceeds 48 (or in
OUT OF RANGE Format 2 exceeds G54 - G59) or exceeds E1 - E48.
FIXTURE OFFSET Fixture offsets can not be applied on lines with circular interpolation (G2 or G3).
MUST BE APPLIED Fixture offset must be applied prior to commencing arc command line (at G0 or
WITH G0 OR G1 G1) or unused fixture offset removed if not applicable to arc.
G28 AND G29 USED Before the control can execute the codes G28 or G29, the program must turn
WITH CUTTER CRC off (G40).
RADIUS COMP AT
SEQ
G31 USED WITH AN Only G1, P, and F are allowed with a G31. No other codes are supported. CRC,
INCOMPATIBLE mirror image, rotation, and drill cycles are not allowed during the execution of a
WORD OR MODE G31 code.
G45-G48 & G52 ARE Codes G45-G48 and G52 are incremental offsets. Rotation can only be used in
NOT ALLOWED WITH the Absolute mode. Therefore, these codes are not allowed.
ROTATION, N =
G91.2 IS NOT The machine is in format 1 with the G91.2 code in the program. The G91.2
ALLOWED IN code can only be used in format 2. In format 1 you must remain in the
FORMAT 1 Incremental mode when G91.1 is coded.
G92 CANNOT BE The G92 code should be used in a line before CRC is turned on. The code G92
USED IN CRC MODE, can only be used after a G40 (G40 is a default code).
N=
G92 MUST BE ONLY There can be no other G codes in the line with a G92. The program does not
G CODE IN BLOCK need to be in absolute (G90) to use the G92 code.
GNN IS AN The G code displayed is not a supported code of the FADAL CNC 88.
UNSUPPORTED G
CODE AT N
HELICAL MOVE TOO See error message HELICAL RISE TOO STEEP.
SHORT, N =
HELICAL RISE TOO The radius of the circle and the helical rise are radically different in length
STEEP, N = (usually the rise is much longer in comparison to the radius). Also, depending
on the programmed feed rate, the control may or may not be able to handle the
situation. Reducing the feed rate in the program can sometimes correct this
problem.
ILLEGAL O WORD This error occurs during program input via the RS-232. The O word must have
a value of 1 through 9999. No other character or symbol is allowed.
ILLEGAL G CODE This message appears when an illegal G code is programmed while in G91.1.
DURING G91.1 See the Section Three for acceptable G codes.
MODE AT N =
IMPROPER USE OF This message may appear for the following reasons:
CANNED SUBR.
1) No tool diameter in the tool table or No D word was specified.
3) If the programmer does not cancel a fixed cycle with a G80, G28, G29, M6,
G49, or H0 before using a fixed subroutine, except for L93 (bolt hole).
4) Using L96 - L99, if R1 variable is equal to the radius of the tool. The R1
variable is used for the radius on the corner of the tool (fillet radius), not the
tool radius. For example, for a 1.0 diameter end mill with a .125 corner
radius, the R1 variable will be R1+.125, and the tool diameter entered in
the tool table will be 1.0.
5) The G41 or the G42 code has not been canceled with a G40 before using a
fixed subroutine.
INCHES MODE The CNC is in the Metric mode (SETME), and the program has a G20 or G70
REQUIRED - code to verify that the control is in the Inches mode. To run this program, the
OPERATOR MUST operator must set the CNC to the Inches mode by entering the SETIN
SET command.
INCOMPATIBLE G Some codes, even though they are modal and from different groups (families),
CODES AT SEQ are incompatible with one another. Break up the grouping of G codes on the
line by moving some of them to the line just before or after the line they are
currently on. This messages is also displayed when any G code is on the line
with a G53.
All of the lines or program blocks must have sequence numbers. The NU
command is used to renumber the lines in the program by the increment
specified in the first parameter. For example, entering NU,5 will renumber the
lines, incremented by five. If program is large, renumber by 1.
INCREMENT TOO This message occurs when the increment parameter of the program input (IN)
LARGE command causes the sequence numbers to exceed 99999 or a typing error in
the program has been given a value that is too large. Example: X-123456789.
INCREMENT TOO This message occurs when the increment parameter of the program input (IN)
SMALL command is less than .001. Example: IN, 0.00001.
INPUT XMODEM A packet has been missed or came out of order during Xmodem transmission.
TRANSMIT BLOCK
MISSED ERROR
JOG AXES TO HOME This message appears at power on. If the axes are at the Cold Start position
POSITIONS, THEN (machine home), enter the CS command. The operator needs only to jog the
ENTER THE CS axes if they are not at the Cold Start position.
COMMAND
This message also appears when the tool changer crashes and the AUTO
button is pushed or the MD command is used. However, the operator does not
have to jog to Cold Start. Use the SETCS command to reference the Cold Start
position, then enter HO to return the axes to home, and when the axes are back
at the Cold Start position, visually check, and then enter the CS command.
SETP will also make this message appear. If the operator used the SETP
command at the part home, handle the situation in the same way as suggested
for a tool changer crash (see above).
LOOK AHEAD WAS This indicates that the NO LOOK AHEAD buffer option of the Run Time Menu
CANCELED BY has been selected. The CNC processes only one block at a time, while
OPERATOR displaying only two blocks of the program on the screen. This option can be
selected or canceled using the Run Time Menu by typing MU in the Automatic
mode.
M,S,T LOCKOUT IS This message indicates the M function, Spindle, and Tool change lockout
IN EFFECT option of the Run Time Menu has been selected. In this mode, M function,
Spindle or Tool Change commands will not be performed during Dry Run. This
option can be selected or canceled using the Run Time Menu by typing MU in
the Automatic mode.
M FUNCTION TOO M functions cannot exceed a 2 digit value. See Section Eight, Commands or
LARGE AT N = the menu (MU) for a list of the accepted M functions.
MAIN PROG. NOT This is a programming error. There are subroutines written in the beginning of
FOUND the program without an M30. M30 is used to separate the subroutines from the
main program. Insert the M30 in the proper place. See Section Eight,
Commands for the accepted format for subroutines. The M30 code on the first
line of the program and a subroutine heading (L100) on the next line will also
cause this error message to appear.
N1 O1 (START OF PROGRAM
N2 (ACCEPTABLE PROGRAM EXAMPLE
N3 L100 (SUB #1
N4 X1.
N5 *
N6 L200 SUB #2
N7 L105
N8 M46
N9 X-5.Y-1.
N10 M47
N11 *
N12 L300 (SUB #3
N13 G91
N14 L204
N15 L104
N16 G90
N17 *
N18 M17 This ends the last subroutine
N19 M30 This separates the sub section from
N20 * The main program
N21 (MAIN PROGRAM
MEMORY ERROR, This is a memory error, turn the machine’s main power off. Then power on and
RELOAD PROGRAM reload the program. If this does not work, save all the programs in the memory
(PU,3) and use the RI command, answering Yes (Y) to all the questions. After
using the RI command, load the programs back into the control.
MEMORY ERROR, There is a possible hardware problem when this message appears. If the
RESPOND WITH Y TO operator answers Yes (Y) to this question, the control may delete some of the
DELETE BAD program in memory. Answer Yes (Y) only if the program in memory can be
BLOCKS replaced (if the program is stored on paper tape or on computer disk). Answer
No (N) if the program needs to be saved.
Turn the machine’s main power off, then power on and reload the program. If
this does not work, save all the programs in the memory (PU,3) and use the RI
command, answering Yes (Y) to all the questions. After using the RI command,
load the programs back into the control. If this does not help, call the service
department.
METRIC MODE At power on, the control is in the Inches mode. The Metric mode must be
REQUIRED - turned on by using the SETME command.
OPERATOR MUST
SET This message will appear if the G21 or G71 code is present in the program to
verify that the Metric mode has been turned on by the operator.
MOTOR OVERLOAD This is an indication that something has stalled or overheated a motor, and is
associated with an emergency stop (see EMERGENCY STOP).
MOVE EXCEEDS AXIS The most common reason this message appears is because of either a missing
LIMIT AT N =CHECK or an extra G90 or G91 code. This message will appear only when the control is
PROGRAM AND in the Auto mode or Manual Data (MD) mode. This message will not appear in
TOOL OR FIXTURE the Sum mode (SU).
OFFSETS
When the control is executing the program, processing of the program is ahead
of the current line that is being executed. If the control detects an over travel
situation while processing the program, then execution of the program will stop
immediately.
The setup person may have to consider moving the fixture to another location
on the table. The program may be correct, but the fixture may be set up
incorrectly. The programmer can provide information to the setup person,
indicating how close to the axis limits the fixture can be located.
MOVE TURRET TO When this occurs, the head will be above the tools in the turret with the turret
TOOL 1 AND ENTER ready for loading. Move the turret using the turret CW or CCW buttons so that
SETTO COMMAND the tool designated to be tool #1 is under the spindle, then remove tool #1 from
the turret. Press the JOG button. The head will stay where it is (4 above the Z
axis CS position), and the turret will move back to its home position. Now use
the command SETTO to establish this turret position as #1. Use the HO
command or jog the head down to the Z axis CS position. Next use the
command TC,1 to reopen the turret. Replace tool #1 in the turret and press the
MANUAL button to bring the head down over tool #1.
NEXT ENTRY IS OUT This message is displayed by entering pitch error compensation for the ball
OF RANGE screw when an entry exceeds the maximum allowable difference of 9 (see
Survey command in the Maintenance Manual). For example, if an entry is 15
and the next consecutive entry is 0, the difference is greater than 9.
NO ANGLE, THE The calculated angle of either function 3 or 4 of L9101 is the same as the
POINTS ARE THE expected angle.
SAME
NO MEMORY When this occurs, the operator will have to remove (delete) as many programs
AVAILABLE FOR NEW as necessary from the program library in order to input another program from
PROGRAM the RS-232 port. The standard memory capacity is 38K. FADAL distributors
have a memory expansion board available that increases the memory capacity
to 16 MEG.
NO OTHER WORDS If program coding is used on the first line of the program along with the O word,
ALLOWED WITH O this message appears. A comment is allowed with an O word and is used to
WORD identify each program in the library. The first sixteen characters of this
comment are shown when the program library menu displays the programs in
memory.
NO PARAMETERS OR This message occurs most commonly after the memory has been zeroed from
PARAMETERS the DI diagnostics mode. This will also occur if there is a memory error. Enter
CORRUPTED the machine parameters with the SETP command. The parameters to use are
MACHINE DEFAULTS usually found recorded on a check off sheet on the inside door of the pendant.
USED
NO RESPONSE FROM This happens when powering on the machine and the CPU (1400) does not get
AXIS a response from the axis controller (1010).
If this message appears for the X, Y, Z, A, or B axes, power the machine’s main
power off and then on again. If this does not help, call the service department.
NO TOUCH OR The move that causes the probe to touch the part was completed without a
INCOMPLETED touch. Increase the length of the move so that the probe touches. Also, you
POINT AT N = must activate the selected probe by coding an M64 for an MP8 probe, or M65
for a TS20.
NOTE ERROR THEN When the programmer is inputting a program through the RS-232 port (using
HIT MANUAL the command TA,1,0 or TA,1,1), the input will be terminated if the control
detects a bad programming word (EXAMPLE: O for 0, or double letters (XX1.5),
etc.). The programmer will have to edit the program at the computer or
Teletype before inputting the program again.
The control will ignore all errors in the program and continue input by using the
error option 2, with the TA command (EXAMPLE: TA,1,2). An error count is
given at the end of transmission. If there were errors detected, list the program
to find missing line numbers. If the lines are numbered in sequence before
transmission of the program, look for the numbers that are out of sequence.
After the numbers have been located, use the IN command to insert the
missing lines.
NUMBER OUT OF This message appears when a number of twelve digits or greater is typed in.
RANGE This error may be detected by the machine after making a calculation. The
calculated number may be out of range, for example, the macro calculation is
less than .0001.
OFFSET ENTRY This message is displayed using the Utility (UT) command, by pressing the
ERROR MANUAL key when the CNC prompts you for a tool diameter. It is also
displayed by entering a diameter value that is too large.
ONLY BLOCK SKIP The only non macro command allowed with a macro line is the block skip
ALLOWED WITH character.
MACRO
ONLY M3, M4 & M5 This message appears when the M6 is coded with an M function other than an
ARE ALLOWED WITH M3, M4, or M5. The unacceptable M function must be moved to another line.
M6 AT N =
ONLY Z, L, R & F This message appears when the programmer uses the fixed subroutine L9201
WORDS ALLOWED for engraving, and has programmed other words in the line with the L9201
other than Z, L, R, and F.
ORIENTATION Visually check the air pressure, it must be between 80 and 90 PSI. If this
FAILURE problem persists call the service department.
OUT OF FILE SPACE, This is a message that informs the programmer that the memory of the control
A FILE is almost full. It is usually displayed when editing the active program in
COMPRESSION IS memory, or during program input via the RS-232. This does not destroy any
BEING TRIED portion of the program. A file compression organizes the memory so that
unused portions are made available. The NE command will perform a file
compression before prompting you with a (Y or N) to delete the current
program. Also, a file compression is performed by deleting the current program
using option 5 from the PR menu. It is always best to retry the command that
caused this message to appear. After the compression, the command will
often work the second time. If unwanted programs are stored in the program
library, remove them to create more room in memory. If there is only one
program in memory, try to reduce the size of the program by removing
unnecessary comments and making full use of all modal codes. Create
subroutines for repetitive portions of the program wherever possible. The
program may have to be broken up into separate operations.
O WORD OUT OF This message occurs using the program input (IN) command when typing an O
RANGE word greater than 4 digits. O words must be an integer of 1 through 9999.
PALLET DISABLED IN This message occurs when a pallet changer command or code is used and the
PARAMETERS SETP parameters indicate no pallet changer exists on the machine.
PALLET IN STORAGE This message occurs when there is an attempt to store a pallet where a pallet is
already stored.
PALLET NOT FULLY This message occurs when the time to store a pallet exceeds the allotted time.
STORED The feedback on the arm may need to be adjusted. Call the service department
for assistance.
PALLET MUST BE This message occurs when both pallets are in storage and a command is given
CLAMPED to make a pallet change. One of the pallets must be loaded and clamped on
the table before a pallet change can occur. The feedbacks for pallet loaded and
pallet stored are being read at this time.
PARAMETER ERROR After a command is entered and a comma is typed, the control is expecting a
parameter. If a parameter is not typed before pressing the ENTER button, this
error message appears.
Note: If the operator is not using a parameter, for instance, the second and
third out of a possible four, then the parameters can be omitted when the
fourth parameter is typed in.
Also if the DE command is used to delete a line that does not exist, or the CO
command is used to copy lines that do not exist, this message appears.
PARITY ERROR This message appears during input through the RS-232 port and is caused by
several factors:
1) Unshielded cable is being used, and the cable is subject to electrical noise.
2) The baud rate is too fast for the length of cable used.
PARITY ERROR This occurs during DNC transmission of data (see the error message PARITY
DURING DNC ERROR).
PLEASE PUT AN O To use the PR command, the active program must have an O word and a
WORD AT THE FIRST number in the first line. The number must be different than the other numbers
OF THE CURRENT in the program library. This is why it lists the other programs in memory.
PROGRAM THE
FOLLOWING
PROGRAMS ARE IN
MEMORY
A comment can be added to the line with the O word. These comments help
identify the program.
POINTS ARE ON The 3 touch points of L9101 function 1 are on the same line. Check the
SAME LINE AT N = program for positioning errors.
POSSIBLE PROBE During the UT command, this error occurs for two cases:
OVER TRAVEL
1) when the Z axis home position is set below the Cold Start position; and the
tool change is made to the Probe.
2) when there is a positive offset value used, and the tool change is made to
the Probe.
POSITION LIMIT This message will occur when the program has instructed the tool to move out
beyond the axis limits. When the tool moves beyond the axis limit the CNC
issues an emergency stop. The machine will stop at the line that caused the
over travel.
PRESS Y TO KEEP These messages appear after jogging while in Slide Hold or Single Step
THIS POSITION modes. See Section Eight, Commands, for the proper application of the Jog
PRESS N TO RETURN Away feature.
TO LAST POSITION
PROBE TEST = Testing the probe by using the Utility (UT) command failed. Verify that the probe
FAILURE was properly interfaced. If an MP8 or MP9 is being tested, be sure the 9- volt
battery has a charge. Also remove any obstructions between the probe
(transmitter) and the collector unit (receiver).
PROBLEM This error only occurs during Cold Start, when the Glass Slides are not aligned
POSITIONING close enough to the indicators during Cold Start. Place the machine in Jog and
SLIDES TO ZERO manually align the Cold Start indicators more accurately.
PROGRAM DOES This happens when the selected program number does not exist in the
NOT EXIST RETRY program library. Enter a program number that does exist, or press the MANUAL
OR HIT MANUAL TO button, and then use the PR command again to display the programs that are
EXIT stored in memory (option 2).
The programmer may have put an O-1 or an O.1 as a program number. The
number will show up when the programs are displayed in the library but the
control will not be able to retrieve the program. If the operator uses the PU,3
command and presses the EMERGENCY STOP button when the lost program is
being displayed on the screen, that program is now active in memory and can
be edited. Delete the bad O word, from O-1 or O.1 (which appears as 1000
when it is listed in PR) to O1.
PROGRAM NOT This message is displayed when the PA command is used to display the active
FOUND program, and no program is active. Use the PR command to activate the
desired program stored in memory.
PROGRAM BLOCK This message is displayed when the LI command is used to list selected blocks
NOT FOUND of the active program, and the selected blocks are not found or the program is
not active. View the program by using the PA command.
P WORD TOO LARGE The P word for referencing a line number using M99 is too large of a value. Line
numbers can not exceed 99,999.
RESET THE The EMERGENCY STOP button has been pushed. Turn the button clockwise
EMERGENCY STOP until it is released and then push JOG.
SWITCH
RAILS NOT ALIGNED This message occurs when the rails for the palette hanger are not aligned or
the feedback switches need adjustment. Call the service department for
adjustment.
RETURN PALLET TO This message occurs when a pallet change is attempted and the other pallet is
THE LOAD POSITION away from the load position. The operator must slide the pallet into the load
position before the other pallet on the table can be changed. The feedback
from the pallet loaded and pallet stored are being read at this time.
ROTARY AXIS MOVE The maximum incremental rotary move for one block is 1080.00 degrees. If it
TOO LONG. N = is necessary to go further, break up the move into several blocks.
RS-232 ERROR This error only occurs during DNC operations. It may occur while using 9600
DURING DNC baud to DNC. Slow the baud rate. It may also indicate line noise or the
possibility of dropped characters. These would indicate a possible problem
with the RS-232 cable or the communications port. Check the cable and
communications port and retry DNC.
Also, failure of the CPU may cause this error. If the above corrections are
unsuccessful, contact the maintenance department.
SCALE ERROR A scale error has been detected. The LEDs in the scale interface box in the
back of the machine will indicate which axis gave the error. Call the service
department.
SEE MENU FOR NEW The CD command is different for some versions of software. See the menu for
CD FORMAT these changes.
SEQUENCE NUMBER This error occurs using the Program Input (IN) command when the ‘From’
TOO LARGE parameter is specified greater than the maximum allowable number. Sequence
numbers can not exceed 99,999.
SEQUENCE NUMBER This error occurs using the Program Input (IN) command when the ‘From’
TOO SMALL parameter is less than the minimum allowable number. Sequence numbers
can not be less than .001.
SERVO AMPLIFIER This message appears when the EMERGENCY STOP button is pressed. The
FAULT operator must pull the button out (for ‘85 and older models) or turn it clockwise
(for ‘86 to present models) and then press the JOG button to reset the
amplifiers. If the amplifiers do not reset, call the service department.
SINGLE STEP This message indicates that the control is in the Single Step mode. If the green
START button is pressed when in this mode, the following program block is
executed. The feed rate potentiometer affects all axis motion.
At the end of each block, the operator can press the JOG button and jog away
from the current position without aborting the operation. Program execution
can be continued at the new location, or the axes can be returned to the
position at which the Jog function was initiated. To exit single step, press the
AUTO button for continuous block execution.
SLIDE HOLD Pressing the SLIDE HOLD button stops all axis motion. The distance to finish
the move is presented under the blinking SLIDE HOLD message.
It is possible to press the JOG button and jog away from the current position
while in the Slide Hold mode without aborting the operation. Program execution
can be continued at the new location, or the axes can be returned to the
position at which the Jog function was initiated. To exit from the Slide Hold
mode, the operator must press the START button if in single step, or press the
AUTO button for continuous block execution.
SPINDLE Note the error number and see the list at the end of this chapter. This simply
CONTROLLER DOES could be a problem that occurs when the operator is powering on the machine.
NOT RESPOND Turn the machine’s main power off. Press the motor overload relay button, and
then power on again. If this does not help call the service department with the
error message and number.
The motor overload relays can be recognized by their white reset buttons. They
are located in both control enclosures. The white button must be pressed to
reset a relay. Call the service department first.
SPINDLE Note the error number and see the list at the end of this chapter. This message
CONTROLLER OR is displayed if the spindle was commanded to turn on after an emergency stop
DRIVER FAULT without pressing the JOG button to reset the amplifiers.
If this message appears when not in the Emergency Stop mode, take these
steps to help the service department analyze the problem:
1) Look at the air pressure gauge and write down the current air pressure (Do
not change it at the machine!)
4) Call the service department and report this problem (while the machine is
on).
SPINDLE The current software module (1610) detected spindle software that was not
CONTROLLER compatible. Call the service department.
SOFTWARE UPDATE
IS REQUIRED
SPINDLE DRIVER This is the result of the air pressure being too low while the spindle is on. Air
FAULT pressure should be set between 80 and 90 PSI. Visually check the air pressure
and start the program over again. If the air pressure is not the problem, power
off the machine and check the motor overload relays to see if they have been
tripped.
The motor overload relays can be recognized by their white reset buttons. They
are located in both control enclosures. The white button must be pressed to
reset a relay.
SPINDLE FAILURE If the spindle stops while in G74, G75, or G84 modes, this message will
WHILE TAPPING appear. Problems such as a dull tap, undersized hole, poor tapping lubricant,
or a shallow hole must be eliminated. The programmer may want to consider
SPINDLE FAILURE This will occur when an M3 and an M4 are in the same line. If the spindle stops
DURING REVERSAL while in G74, G75 or G84 modes, this message will appear. Problems such as
a dull tap, undersized hole, poor tapping lubricant, or a shallow hole must be
eliminated. The programmer may want to consider thread milling as an
alternative to tapping. Call the service department if this is persistent.
SPINDLE HAS Either the Hall Effect Switch on top of the spindle pulley has not recognized that
FAILED TO TURN ON the spindle is turning, or the spindle actually has not turned on and there is
another problem. Call the service department.
SPINDLE FAULT LINE The spindle inverter has detected a fault. See the fault number on the inverter
and report this to the service department.
SPINDLE MOTOR Check to see if the spindle fan is on. If it is not, turn machine’s main power off
TEMPERATURE and check the fuse for the spindle fan (F24). Allow time for the spindle motor to
FAULT cool down and attempt to run the machine again. If this message persists, call
the service department.
SPINDLE WOULD The spindle would not stop in the designated amount of time (12 seconds). If
NOT STOP this message is persistent, call the service department.
STACK OVERFLOW This message should be reported to the service department. It is caused by
excessive stacking of keyboard commands.
SUBR. DOES NOT This message indicates that a subroutine was called that is not in the
EXIST subroutine section of the program. Check to make sure that the subroutines
were numbered properly.
This message also appears if the G66 code is used on a line that does not have
a subroutine call on it.
SUBR. NESTING This is a message that occurs when a subroutine heading (L0100) is entered
ERROR after the M30 code.This message will also occur if a Fixed Cycle is still active
(use a G80 to cancel) or G68 (rotation) is still active when a tool change or end
of program is coded (use a G69 to cancel).
N20 M17
N21 M30
TAPE INPUT This message reports to the operator that the tape, or program input process is
TERMINATED complete.
TAPE IS GOOD When verifying a punched tape, this message appears if the tape is accepted.
This message also appears if no errors are detected in transmission when the
TA command is used.
TEMPERATURE For any temperature fault, the operator must check the cooling fans; if they are
FAULT not operational, turn the machine’s main power off and check the fan fuses
(F23, F24, F27, and F28). If this message is persistent, call the service
department.
TEMPORARY This message occurs when background editing is being used. The edit just
CONFLICT WITH made is in the area where AUTO is currently executing. The change will be
AUTO made when AUTO is out of that area.
THREAD LEAD NOT Fixed cycles G74, G75, and G84 need a Q word in the line that represents the
SPECIFIED AT N = decimal thread lead of the tap (see the Users Manual for the proper format). If
the Q word is omitted then this message will appear.
If the programmer uses the fixed cycles G74, G75, or G84 and does not cancel
the cycle with any of the following codes: M6, G28, G29, G49, G80, H0, then
this message will appear at the next Z move.
TOO MANY BLOCKS This happens when the CO (copy) command is used and there are too many
FOR GAP lines being copied between existing lines in the program. Use the NU
(renumber) command and copy again, now that the program is renumbered.
TOO MANY M This error occurs when another M function is coded with the M17 or M30.
FUNCTIONS AT N= These two codes must be the only M function on the line.
TOO MANY This error message appears if a program contains over sixteen consecutive
CONSECUTIVE NON comment blocks (with no program coding in the lines). Put coding between the
MOTION BLOCKS comment lines or put comments on lines with program coding, so that the
program can have comments on every line.
TOO MANY Commands have associated with them a certain number of parameters. If
PARAMETERS more parameters are typed in than allowed, this message appears.
Refer to Menu (MU) on the control for the correct format of each command.
TOO MANY SUBR. Nesting can only be seven deep. If the program goes further than seven deep,
CALLS then this message appears.
TOOL BREAKAGE When using the TS-20 touch probe is used for tool breakage detection, this
DETECTION = error message indicates the program line where the broken tool is detected.
FAILURE AT N = Replace the tool and continue the program.
TOOL DIAMETER This error message is displayed in cutter radius compensation when the
TOO LARGE AT N= programmed move is smaller than the radius of the cutter. To correct this
problem:
1) Check the tool diameter entered in the tool table to see if it was entered
correctly.
3) If the intention was to make a rough pass using a larger tool diameter than
the finish pass tool diameter, the smallest programmed inside radius, on
the part, should be as big as the tool radius (half the tool diameter) entered
for the roughing pass.
4) Check the math work to see that it is correct, and was transferred correctly
to the program.
When debugging a program that uses cutter radius compensation, use a zero
diameter in the tool table when running the program or when using the SUM
command for the first time. Then put the tool diameter in the tool table and try
it again. This will make the debugging process easier.
TOOL OFFSET NOT If mirroring the Z axis is desired, first call up the tool length offset, then code
ALLOWED DURING Z the G51.1 Z0. The H word must be on a line in the program before the G51.1
MIRROR Z0.
TOOL NN IS IN THE Identifies the current tool that is in the spindle. This is displayed when entering
SPINDLE the program execution (AU) and the Manual Data Input (MD) modes, and is
also listed in the tool table display (DT).
TOOL NUMBER TOO The starting tool number of the utility (UT) tool setting cycle must not exceed
HIGH that of the tool changer capacity.
TOOL TURRET Rotate the tool turret so that tool #1 is adjacent to the spindle and then type
LOCATION IS NOT SETTO.
SET
TROUBLE READING The feedback from the external slide hold switches is erratic or inconsistent.
THE EXTERNAL This is an indication that the external slide hold switch system is faulty. Call the
SLIDE HOLD SWITCH service department.
TYPE A Y TO This error message appears only after the message AXIS CONTROLLER DOES
IGNORE, OR TURN NOT RESPOND DURING POWER UP SEQUENCE. This is an indication that there
POWER OFF AND is a communication problem between the CPU and the axis controller. Call the
THEN ON AGAIN service department.
UNDEFINED MACRO This message will appear when situations during a macro execution cause the
ERROR system to fail, but there is no specific error or message associated to the
situation.
WAIT 2 SEC., THE This message occurs when the JOG key is pressed after an axis fault. The
AXIS DRIVERS ARE control returns to the Command mode after 2 seconds. The axis drivers are
BEING RESET reset and the machine can continue normal operation.
WAITING In the WAITING mode, the operator has the choice of pressing either the START
or AUTO button to execute automatic motion. Or, the operator can press the
MANUAL button to exit to the Command mode.
WAITING ON AIR When this occurs, the control is waiting on a signal from one of the air valves
VALVE indicating that the valve has completed its job; usually air pressure to the
machine has dropped below 80 PSI. If this message persists, call the service
department.
WARNING POSSIBLE Generally caused by math errors in the program. The CNC has processed a
GOUGE AT N = move that possibly could cause the cutting tool to damage the part. The error
usually is not large enough to make any noticeable difference on the machined
part. Therefore, only a warning is displayed. If there is a noticeable difference,
review your program math.
WAY LUBE Check the way lube oil level if this message appears.
PRESSURE SWITCH
FAILURE
X,Y OR Z MOVE Probe function #1 (L9101) has been programmed without an axis specified for
MUST BE SPECIFIED the given plane. For example, if probing is to be used in the XY plane (G17), X
AT N = and/or Y must be programmed in the same block as L9101 R1+1. Z can be
used if in the ZX (G18) or YZ (G19) plane.
YOU CANNOT To delete a program in memory, it must be in the library. Use the PR command
DELETE THE and switch the program currently in memory with a program in the library. The
PROGRAM THAT IS program can then be deleted. If there are not any programs in the library, use
CURRENTLY ACTIVE option 3 to start a new program. This will put the currently active program in
the library and then the program can be deleted. Or just simply use the DE
command and delete starting from the first block in the program to the last.
YOU HAVE A This occurs when the control detects that a new module has been inserted. See
VERSION UPGRADE the Maintenance Manual for proper zeroing procedures. This may also occur
OR MEMORY HAS because of a memory error and the memory needs zeroing.
BEEN CORRUPTED...
MEMORY NEEDS TO
BE ZEROED
YOU MUST ENTER The CNC does not have a valid backlash table. Enter the backlash for each axis
THE BACKLASH by using the BL command. The backlash set at the factory is documented on
TABLE the inside surface of the pendant door.
The backlash information is retained by the battery backed memory card. If this
message appears again after the BL command has been used, call the service
department.
YOUR VERSION OF The control has detected an incompatibility with the CNC memory manager
CNC MAIN NEEDS TO software on the 32MP pendant. Call the service department for an update.
BE UPDATED
Z, Q, OR F MISSING See Section Four, Fixed Cycles for the proper format for each fixed cycle.
IN CANNED CYCLE
CALL, N =
Z & M6 LOCKOUT IS This message indicates the Z axis and Tool Change Lockout option of the Run
IN EFFECT Time Menu has been selected. In this mode, Z axis movement and tool change
commands will not be performed during Dry Run. This option can be selected
or canceled by using the Run Time Menu.
Z AXIS MUST BE AT Check to see if the Z axis alignment was properly set at cold start. The operator
COLD START FOR cannot use the TC,1 command unless the Z axis is at the Z axis CS position.
TC,1 Use the HO command or jog the axis to the Cold Start (Z0).
If the SETZ command has been used, first use the HO command to bring all
axes home, then enter the SETCS command. Jog the Z axis to Z0 and then use
the command SETH so the X and Y home position is not lost. The TC,1
command can now be used to open the tool changer. If necessary return the Z
axis to the previous setting and use the SETZ command. (See the error
message JOG AXES TO HOME POSITIONS if the tool changer crashes.)
Axis/Spindle
Controller Error
Messages
Descriptions Error numbers help discern the source of the problem the axis or spindle is
reporting. The error number and text will follow the message CALL THE
SERVICE DEPARTMENT AND REPORT THE MESSAGE AND NUMBER ON THE
SCREEN TO CORRECT THESE PROBLEMS.
2. ENCODER NOT This message appears during the rigid tap operation if the encoder feedback is
RESPONDING interrupted during the spindle operation for any period longer than 3 seconds.
PROPERLY The spindle operation is halted and this error message is displayed.
3. LOGIC JUMPER This message appears on power up. An illogical motor-tach jumper
INCORRECT or configuration or failed component may cause the axis to run away in the
COMMAND SIGNAL opposite direction of the command signal. To prevent runaway, axis operation
MISSING is halted and this error message is displayed.
4. ENCODER IS NOT This message appears on power up, only for axes with a 1024-line encoder as
1024 LINE motor feedback, if the count of the encoder lines per revolution of the screw is
not 1024 lines per turn.
5. NO INDEX MARK This message appears during the cold start process, if the index mark of the
DETECTED axis’ primary feedback device, encoder, or scale is not detected.
7. RIGID TAP This message indicates that the spindle feedback is not functioning properly.
PRECYCLE ENCODER Prior to the rigid tap cycle, the spindle feedback is checked for operational
COUNT PROBLEM accuracy. Malfunction of the feedback results in termination of the cycle and
(NOT ENOUGH display of this error message.
COUNT)
8. SPINDLE MAGNET This message appears during spindle operation if the spindle magnet is not
NOT DETECTED or detected for any period longer than 3 seconds. This problem could be related
SPINDLE NOT to either command signal, spindle not turning, or spindle magnet malfunction.
RUNNING
9. SPINDLE FAULT The fault line signal down to the inverter should stay high during spindle
LINE DOWN operation. If this signal is held low when the spindle is running then this error
message is displayed.
10. ENCODER AND This is a spindle operation error message. During spindle operation, the
MAGNET NOT encoder feedback and spindle magnet are monitored. If no proper response
RESPONDING or from either of them is detected for any period longer than 3 seconds, then this
SPINDLE NOT error message is displayed. This error could also be caused by the command
RUNNING signal, i.e., if the spindle is not turning.
12. MOTOR This message appears at the completion of a move if the number of pulses
OVERLOAD. PULSE required to complete the move does not match the number of pulses received
COMMAND STEP from the CPU by the axis controller, usually indicating a hardware-related
COMMAND problem.
CHECKSUM ERROR
14. MOTOR This message appears if an axis move command is not initialized properly
OVERLOAD. MISSING (missing 0 or 1 command), usually indicating a hardware-related problem.
0 OR 1 COMMAND
15. TIME OUT ON This message appears during rigid tap precycle test if the spindle rotation is
RIGID TAP PRE- interrupted or the spindle magnet is not detected for a certain length of time.
CYCLE TEST
16. TIME OUT ON This message appears any time the resolver zero-crossing pulse is not
RESOLVER detected within the allowable time (4-10 msec). The zero-crossing pulse is
RESPONSE hardware-generated every 1 msec. This can also be caused by motor over
temperature or by severe motor vibrations.
17. BAD READING This message appears if the value of resolver “counts”, read from the resolver
ON RESOLVER PORT port when the “zero-crossing” pulse is detected is too large, indicating possible
failure of resolver cables, 1010-4(-5) card, or the resolver itself. This can also
be caused by motor over temperature or by severe motor vibrations.
18. SERVO This message appears if the axis card cannot detect the fault line signal from
AMPLIFIER FAULT the amplifier, or the fault line signal strength drops below 10V, indicating a
LINE DOWN possible amplifier fault.
19. STACK This message appears if the stack on the axis card (used to store CPU
OVERFLOW. commands until they have been serviced) overflows.
OVERLOADED WITH
STEP COMMAND
20. MOVE This message appears when an axis move command is improperly transferred
TRANSFER FAULT. to the axis card, as indicated by a checksum comparison between what the
INCOMPLETE DATA CPU sent and what the axis card received.
FOR MOVE
COMMAND
21. SPURIOUS This message appears if the interrupt currently being processed is an
INTERRUPTS. NOT undefined interrupt, and thus cannot be serviced, indicating possible failure of
SERVICEABLE the 1010-4(-5), 1030, or main CPU. This could also indicate a software
problem.
22. BAD SCALE This message appears if the feedback from the scale port is outside allowable
READING limits, indicating possible failure of the EXE box, scales, cables, or 1010-4(-5)
card. This can also be caused by severe motor vibrations.
23. MOTOR This message appears (in stand-by mode) when the following error exceeds
OVERLOAD. ERROR > the user-defined overload factor, which sets, in motor turns, the maximum
OVERLOAD following error for the axis operation. MESSAGES 23, 24, 25, AND 26 ARE NO
FACTOR IN STANDBY LONGER RELATED TO ERROR 13.
MODE
27. RETURN TO This message appears at the completion of the rigid tap cycle if the spindle
MAGNET TIME-OUT controller could not detect the magnet within 6 seconds while returning to
home position.
28. ORIENTATION This message appears if the spindle controller could not detect the magnet
TIME-OUT OR within 10 seconds, either during spindle orientation (M19, M6) or on the last
TAPPING rotation during rigid tap precycle.
CALIBRATION
FAILURE
30. SURVEY This message appears during cold start if the checksum, calculated from
CLEARED DUE TO reading the survey table, is not equal to the checksum stored in the survey
BLANK OR CORRUPT table. The survey will be zeroed.
SURVEY
31. TIME-OUT ON If the spindle magnet does not align within 10 seconds of an orient spindle
ORIENTATION then this error message is displayed.
32. SPINDLE WILL If the spindle does not stop in 3 seconds from entering a spindle stop
NOT STOP. CHECK command then this error message is displayed.
INVERTER ZERO
SPEED
33. ENCODER This message will display if the encoder connection for spindle motor is
CHANNELS ARE reversed at spindle control card.
REVERSED (RIGID
TAP)
Machine Coordinate The zero of the Machine Coordinate System (MCS) is the Cold Start Position.
System The Z axis cold start position is the tool change position. The coding of a G53
moves the machine to the programmed location in reference to the MCS. A
G53 X0 Y0 always returns the machine to the MCS position. If a Tooling
Coordinate System is not created, the CNC uses the MCS for the execution of
G28, tool length offsets and the HO command. The tool change function (M6)
automatically positions the Z axis to the zero of the MCS before executing the
tool exchange.
Tooling Coordinate The Tooling Coordinate System (TCS) is established as the X, Y, Z, A, B zero
System - Home position. The SET(axis) or SETH command is used to establish this position
(see Section 8). The Z axis is generally positioned at the cold start position for
safety. After entering the SETH command, the axes positions are displayed on
the video screen as the ZERO. Tool length offsets are measured relative to the
TCS. The TCS allows the operator to adjust all offsets simultaneously. The
operator may jog the Z axis up or down and perform a SETZ to adjust all
offsets. Fixture offsets are relative to the TCS.
The axes are positioned to the zero of this coordinate system when the
programmer issues a G28. The default Tooling Coordinate System is the MCS
(Cold Start).
Enter the command: SETCS, and HO to switch from the TCS to the MCS.
Fixture Offsets Fixture offsets are used to establish a part home position different from the
TCS. This is most commonly used to locate the home positions for multiple part
operations. This may also be used to establish a part change position, with the
TCS, and a part home position, with the fixture offset. The fixture offset gives
the user the capability to individually adjust each fixture. After the TCS is set
during the job setup procedure, the locations (X, Y and Z) of up to 24 fixtures
may be set in the Fixture Offset Table, each offset being relative to the TCS
(Home). To enter a fixture offset, see Section 8, the FO command. The
programmer references each offset, by use of the E word; E1 for offset #1; E2
for offset #2 etc. Fixture offsets 1-6 may also be referenced by programming a
G54-G59; G54 for offset #1; G55 for offset #2 etc.
N1 O1
N2 G90 G0 X0 Y0 Z0
N3 E1 X0 Y0
N4 G0 X1. Y-1.
N5 E2 X2.5 Y2.5
N6 Z2.5
N7 E0 X0 Y0
N8 Z0
N2.X0.Y0.Z0.
Block 2 the machine is already at X0 Y0 Z0 so no motion occurs.
N3.X1.Y1.Z1.E1.G0
Block 3 causes movement in all three axes because with format 1 the motion
for the fixture offset is applied immediately for all axes.
N4.X1.Y-1.G0
Block 4 will move to the X and Y value relative to the fixture offset 1 that has
already been applied for each axis.
N5.X2.5Y4.5Z1.E2.G0
Block 5 causes movement in all three axes because with format 1 the motion
for the fixture offset is applied immediately for all axes.
N6.Z2.5G0
Block 6 will move to the Z value relative to the fixture offset 1 that has already
been applied for each axis.
N7.X-4.5Y-4.5Z-2.G0
Block 7 will cancel the fixture offset currently in effect. Both format 1 and 2
cancel the same way and cause motion immediately for all axes.
N8.Z-2.5G0
Block 8 no fixture offsets are in effect, the Z moves as normal.
N2.X0.Y0.Z0.
Block 2 the machine is already at X0 Y0 Z0 so no motion occurs.
N3.X1.Y1.E1.G0
Block 3 causes movement only in X and Y because with format 2 the motion for
the fixture offset is applied only in moves that have the axes called out.
N4.X1.Y-1.E1.G0
Block 4 causes movement only in X and Y because with format 2 the motion for
the fixture offset is applied only in moves that have the axes called out. Note
that the Z axis fixture offset has yet to be applied and moved.
N5.X2.5Y4.5E2.G0
Block 5 causes movement only in X and Y because with format 2 the motion for
the fixture offset is applied only in moves that have the axes called out.
N6.Z4.5E2.G0
Block 6 finally the Z causes movement because the block has a Z axis motion
called out.
N7.X-4.5Y-4.5Z-2.G0
Block 7 will cancel the fixture offset currently in effect. Both format 1 and 2
cancel the same way and cause motion immediately for all axes.
N8.Z-2.5G0
Block 8 no fixture offsets are in effect, the Z moves as normal.
Program Coordinate The Program Coordinate System (PCS) is established by the programmer at
System some convenient point relative to the work piece and fixture. The default PCS is
the Tooling Coordinate System. The PCS is set by the use of the G92 (Absolute
Preset) or G52 (Coordinate System Shift) code in the part program. If the
programmer knows the location of the Tooling Coordinate System, the operator
can use G92 with the X, Y, Z, etc. dimension words to set the PCS. The G92 is
used to establish the location of the part home from the current location. When
using a G92, after a G28 return to home, the G92 should be canceled. This is
accomplished by moving to the TCS zero and coding a G92 X0 Y0. The G52 is
used to shift the current home position by a specified absolute amount.
EXAMPLE: The material is 12" X 12", one inch thick. The Tooling Coordinate System (TCS)
is set at the X minus Y plus corner of the material. The desired Program
Coordinate System (PCS) is at the center of the material.
Block #3 establishes the PCS at the center of the material. No machine motion
occurs.
Block #4 moves the X axis to 2. from the PCS and 8. from the TCS (this is the
same position). The Y axis is moved to 3. from the PCS and -3. from the TCS
(this is the same position). Once the PCS is established, the programmer may
switch between absolute(G90) and incremental(G91) modes without affecting
the PCS. The G28 causes the machine to return to the TCS zero position.
EXAMPLE: The material is 12" X 12", one inch thick. The Tooling Coordinate System (TCS)
is set at the X minus Y plus corner of the material. The desired Program
Coordinate System (PCS) is at the center of the material.
Block #3 establishes the PCS at the center of the material. No machine motion
occurs.
Block #4 moves the X axis to 2. from the PCS and 8. from the TCS (this is the
same position). The Y axis is moved to 3. from the PCS and -3. from the TCS
(this is the same position). Once the PCS is established the programmer may
switch between absolute (G90) and incremental (G91) modes without affecting
the PCS. The G52 is canceled by coding a G52 X0 Y0. This returns the machine
to the TCS on the next motion word line.
A Axis
Direction of Motion Direction of motion is defined as per ANSI/EIA RS-274-D. Since the VMC
rotates the work piece, the rotary head must rotate clockwise to achieve a
counterclockwise tool motion and visa versa.
The positive sign is assumed. The Negative symbol must precede the angular
amount. A-90. is correct, -A90. is incorrect.
END POINT
G91 (A+90ß)
START POINT
G91 (A-270ß)
Figure 12-1 Direction of Motion
G90 Absolute Mode In the absolute mode (G90) the A word value defines the final position between
0 and 360. The + or - signs define the direction of rotation. The + sign causes
counterclockwise work piece rotation, the - sign causes clockwise rotation to
the indicated degree. There are two possible ways to get to a position on the
rotary table in absolute: by rotating either from the positive or negative
direction.
EXAMPLE: 1) G90: In absolute terms A+90. and A-90. will position to the same location;
however, from different directions. An A+90. will rotate the work piece in the
positive (CCW) direction to the absolute 90 degree location. An A-90. will move
the table in the negative (CW) direction to the absolute 90 degree location.
N1 G0 G90 A90.000
N2 A-0
Block N1 rotates the work piece counterclockwise to the 90th degree position.
Block N2 rotates the work piece clockwise to the zero degree position.
Changing N2 to a value of A+0 would cause counterclockwise rotation to the
zero degree.
G91 Incremental In the incremental mode (G91) the A axis value defines the direction and
Mode number of degrees to rotate. An A+90. causes the work piece to rotate
counterclockwise 90 degrees. If the next move were an A-90. the work piece
would rotate clockwise to the original position.
EXAMPLE: 1) G91: In incremental terms A+90. and A-270. will position to the same
location; however, from different directions. An A+90. will move the table in
the positive (CCW) direction 90 degrees from its current position. An A-270.
will move the table in the negative (CW) direction 270 degrees from its
current position.
N1 G0 G91 A+90.
N2 A-90.
Block N1 rotates the work piece counterclockwise 90 degrees. Block N2 will
rotate the work piece clockwise 90 degrees.
The A axis markers must be aligned during the cold start procedure. The mark
on the face plate and the mark on the body of the A axis must be in line before
using the CS command.
The A axis can be set to zero at any angle by using the SETA command. The
SETA command will store the current A axis position into memory as the A axis
home position. When the CS command is used and the move to home question
appears the A axis position appears, at the bottom of the screen, along with
the XYZ and B axis positions.
Move to Home The G28 code in format one and the HO command return the rotary head to the
set point along with the X and Y axes. In format two, a G90 G28 X0 Y0 A0
needs to be coded so that the A axis will move home with the X and Y axes.
1) If the current Z axis position is above (+) the HOME position, the X, Y and A
axis moves to zero first, then the Z axis moves in the negative direction.
2) If the current Z axis position is below (-) the HOME position, the Z axis
moves in a positive direction (to zero) first, then the X, Y, and A axis move to
zero.
After the HO moves are computed, the CNC enters the waiting state. The
operator can command the execution of the moves by pressing the START key
or abort the moves by pressing the MANUAL key.
WARNING: This move will always be in the direction that is the shortest
0˚
180˚
Jog Mode Jogging the A axis in the positive direction causes the work piece to rotate
counterclockwise when viewing in the X+ direction. Relative tool motion would
be clockwise. Jogging the A axis in the negative direction causes the work
piece to rotate clockwise when viewing in the X+ direction. Relative tool motion
would be counterclockwise.
A Axis Brake
Use the M60 code to activate the A axis brake. The brake will remain activated
until the M61 is coded or another A axis move is made, either from the program
or jog.
Decimal Degrees
EXAMPLE: d° = Degrees
m’ = Minutes
s" = Seconds
DD = Decimal degrees
40°30’13" = 40.50361
d° m’ s" = DD
DD= d° + (( m’ + ( s" / 60)) / 60 ))
A##.#####
A###.####
A####.###
Note: The decimal point is required for all angles except for A0.
Maximum &
Minimum Angular
Limits START POINT
G90 (A+90ß)
END POINT
G90 (A-90ß)
Y+ X+
Smallest: A.002
Largest: A1080.
Programming a G91 G1 X2. A1080. will cause an interpolated move where the
X axis moves 2. and the A axis moves 1080. degrees. When a fixed cycle is
used, A axis motion will cause execution of the cycle.
EXAMPLE: N1 M6 T1
A0ß
N2 (TOOL #1, DRILL
Y0
N3 G0 G90 S10000 M3 E1 X0 Y0 A30.
N4 H1 D1 M7 Z.1 Z0
N6 X2.5
N7 A90.
N8 X.5 0ß
30ß
N9 A150. 60ß TYP
N10 X2.5
N11 A210.
N12 X.5
N13 A270.
N14 X2.5
N15 A330.
N16 X.5 .50
2.0
N17 G80
Figure 12-4
N18 M5 M9
N19 G0 G90 H0 Z0
The A axis can be interpolated along with any other axis. For example, an X and
A axis move can be programmed on one line using the G1 code. The X and A
axis moves will both end at the same time.
Note: A G2 or G3 will not accept an A axis move in the same line. (See Flat
Cam Programming).
EXAMPLE: N18 M6 T3
1.00 1.00
N19 (TOOL #3, 3/8 (.375) 2FL EM
N20 G0 G90 S8000 M3 E1 X3.5 Y0 A0
N21 H3 D3 M7 Z.1
N22 G1 Z-.27 F10.
N23 G91 F50. 30ß
N24 X1.
N25 X-1.A-30.
N26 X-1.A30.
N27 A90.
N28 X2. 90ß
N29 A-90.
N30 X1.
N31 Z.1 G0
N32 M5 M9
2.00
Figure 12-5
Degree Feedrate The actual move distance must be calculated before the feed rate can be
Calculation determined. This distance may be estimated; however, for best results use the
equation below.
The following example is programmed for a part with a diameter of 4.0. The
desired cut is 90 degrees interpolated with an X axis move of 3.0 (see line N6
of the example program below). The feed rate used for calculation was 25 ipm.
EXAMPLE: Actual move distance = Sqrt (((4 * 3.14159) / (360 / 90))2 + 3.02)
= Sqrt ((12.56636) / 4)2 + 9)
= Sqrt ((3.14159)2 + 9)
= Sqrt (9.8696 + 9)
= Sqrt (18.8696)
= 4.3439
(G94) Feed Rate = Degrees of Rotation / (Actual Move Distance / Desired Feed
Rate)
EXAMPLE: G94
N1 M6 T1
N2 (TOOL #1, 1/2 END MILL
N3 G0 G90 S5000 M3 E1 X0 Y0 A0
N4 H1 M8 Z.1
N5 G1 Z0 F25.
N6 X3. A90. F517.97
N7 X1. 25 Inches per Minute move
N8 X3. A90. 517.97 Degrees per Minute
N9 G90 G0 H0 Z0
Note: The machine control default is G94, therefore it is not required to code
the G94 into the program if degrees per minute is used.
Note: An F word, on a line with an A axis move only, represents degrees per
minute.
Feed Rate
Specification in
Degrees per Minute Table 1: Feed Rate Specification
Maximum Programmable
Axis Ratio Maximum Rapid Traverse
Feed Rate
360:1 2000 1250
180:1 4000 2500
120:1 6000 3750
90:1 8000 5000
72:1 10000 6250
G93 - 1/T (Inverse The G94 code is used more commonly than the G93. G93 was used by controls
Time) that did not interpolate XA or YA moves. The advantage of using G94 (the
default code) is to allow the programmer to switch between ipm and dpm with
no code cancellation. Except for code cancellation, G94 and G93 effectively cut
the A axis interpolated move in the same way.
The following example is programmed for a part with a diameter of 4.0. The
desired cut is 90 degrees interpolated with an X axis move of 3.0 (see line N6
of the example program below). The feed rate used for calculation was 25 ipm.
EXAMPLE: Actual move distance = Sqrt (((4 * 3.14159) / (360 / 90))2 + 3.02)
= Sqrt ((12.56636) / 4)2 + 9)
= Sqrt ((3.14159)2 + 9)
= Sqrt (9.8696 + 9)
= Sqrt (18.8696)
= 4.3439
(G93) Feed Rate = 1 / (Actual Move Distance / Desired Feed Rate)
EXAMPLE: G93
N1 M6 T1
N2 (TOOL #1, 1/2 END MILL
N3 G0 G90 S5000 M3 E1 X0 Y0 A0
N4 H1 M8 Z.1
N5 G1 Z0 F25.
N6 G93 X3. A90. F5.76
N7 G94
N8 X1.
N9 G93 X2. A30. F11.07
N10 G94
N11 G90 G0 H0 Z0
All moves in this example from N6 to N9 are equivalent to a feed rate of 25 ipm
linear interpolation.
G15 - YZA Circular This code is used to interpolate Y, Z arcs while making simultaneous A axis
Interpolation movement. This code is used when it is necessary to cut an arc with the bottom
of the end mill. G15 may also be used with a ball nose end mill.
START POINT BEFORE
ROTATION
END POINT AFTER
ROTATION
G91
Y
Figure 12-6
Note: When the center of the arc to be cut is not the same as the center of
rotation on the A axis, G15 must be used to cut the radii (see picture
below).
Figure 12-7
The G15 arc requires four descriptors: end point, center description, A axis
rotation, and the G2 or G3 code. These four elements are determined as
follows:
a. The J is the incremental Y direction and distance from the Y axis start
point to the center of A axis rotation.
b. The K is the incremental Z direction and distance from the center of the
arc to be cut to the center of A axis rotation.
A- FOR CCW
1.000 TOOL MOTION
END POINT
START POINT
.500 Y (G91)
J START POINT
G3 Z (G91)
K
.800
.400 A AXIS
ROTATION
AMOUNT
A AXIS
R .10 CENTER
PART
BEFORE ROTATION
(4)PL PART AFTER
ƒÓ1.50 ROTATION
Figure 12-8
Z+
Y+ Y-
3) A axis description:
a. Incrementally the A axis rotation is given as the angle between the end
point at the beginning of the move and the end point at the end of the
move (See picture below).
b. In absolute terms this would be given as the absolute angle of the part
at the end of rotation.
Figure 12-9
4) G2 or G3 description:
a. The arc direction coding is based on viewing the part looking in the X+
direction. A clockwise arc uses a G2 code and a counterclockwise arc
uses a G3.
Flat Cam (Cam Flat cam programming is used when an XY program needs to be “wrapped”
Wrapping) around the circumference of the part. This function is designed to convert Y
Programming axis motion into A axis motion. XA conversion is used when the A axis is the
rotary table, YB conversion is used when the B axis is the rotary table.
Wrapping X on B Axis
Y axis wrapping is assumed. Use G17 Q word P1 on the same line in the
program for YB wrapping. All information for Y to A wrapping applies to X to B
wrapping.
Cam Diameter
The cam diameter to be used is usually given on the blueprint. If it is not given,
use the outside diameter of the part for the cam diameter. Y axis moves, when
wrapped, are measured along the circumference of the cam diameter.
Note: The angular move for one inch of Y axis motion for CAM DIA. 1, is less
than the angular motion for one inch of CAM DIA. 2 (see the picture above).
A Axis Ratio
Each rotary table has an axis ratio. Not all manufactures keep the same ratio.
This number is affected by the gear ratio of the axis. The manual for each
rotary head contains the A axis ratio number to use for calculating the Q word.
1" ALONG THE
CIRCUMFERENCE
OF DIAMETER 1
CAM DIA 1
A AXIS B AXIS
MOTION MOTION
CAM DIA 2
Q Word
.14159
Q = 90 / 5 * 4 * 3.14159
Q = 90 / 20 * 3.14159
Q = 90 / 62.8318
Q = 1.4324
Unwrapping
Prior to canceling the G17 Q word code, the Y axis must be “unwrapped” so
that the A axis can return to its original position.
1) The position of the Y axis, when the G17 Q word is coded, establishes the
original position of the A axis.
2) Returning the Y axis to its original position should return the A axis to its
original position. The A axis position read out on the screen must be the
same position that it started from to be fully unwrapped. The Q word can be
altered to attain this.
G90
If the program moves the Y axis Y+5., then the unwrapping move would be Y0.
G91
If the program moves the Y axis Y+5., then the unwrapping move would be Y-5.
Directly after the unwrapping move, cancel the flat cam programming function
by coding a G17 on a line by itself.
N5 H1 D1 M8 Z.1 6.50
Note: Rapid movements (G0 or G5) are reduced in speed during the flat cam
conversion.
Mid program starts may not be executed after the G17 Q word which is used to
start the cam wrapping feature. The mid program start feature can be used on
any line before the G17 Q word and after the G17 that is used to cancel cam
wrapping.
When writing a program to be wrapped, mirror the Y axis with a G51.1 Y0 at the
beginning of the program, just before the G17 Q#, and exchange all G41 codes
to G42. (See the program example above.)
Cam Wall Angles A axis machining can produce two different cam wall angles. The cam walls
may intersect or they may be parallel. These wall angles are determined by the
programming methods used. The wall configuration required is established by
the part blueprint.
Note: Flat cam conversions will produce walls that intersect (see picture
below).
Figure 12-14
Review the print to determine whether the walls on the print intersect or are
parallel. Place a straight edge on a wall on the print to help determine if the
walls intersect.
Figure 12-15
Note: If the walls are parallel, DO NOT use flat cam (cam wrapping)
conversions (see picture above).
Figure 12-16
Parallel walls are normally associated with slots or grooves. These parallel
walls can be maintained by using a cutter that is the same diameter as the
width of the slot. When the slot is wider than the cutter, Y axis movements must
be made to maintain parallel walls.
Parts that have parallel walls, such as slots or grooves, are usually parallel
because a follower pin must fit into the slot or groove.
1) Start cutting the slot by programming the center of the groove, and cut with
an undersized cutter. This cutter must be undersized enough to account for
cutter deflection.
2) Use the same programmed path to make a second cut with a full- sized
cutter.
Parts with parallel walls can be cut by using a cam system that provides this
feature. These systems allow for the Y axis to be offset to account for cutter
radius compensation, if required.
Note: The positive sign is assumed. The negative symbol must precede the
angular amount. B-90. is correct, -B90. is incorrect.
B Tilt Table
(viewing in Y+ direction).
A Tilt Table
(viewing in X+ direction).
The tilt table axis markers must be aligned before using the CS command.
Jog the tilt table to the desired degree for home position. Then use the SETB or
SETA command, whichever applies, to establish the tilt home position. This
position is stored in memory and when the next CS command is used, the tilt
table will return to this location.
Axis Limits
1) B tilt table:
• 105 degrees - from the cold start position
• 15 degrees + from the cold start position
2) A tilt table:
B-105˚
A+105˚
CS CS
A-15˚ B+15˚
Z+ Z+
Y+ X+
Figure 12-17
Tilt Table Brake To activate the brake for the tilt table use the M62 code. When the next tilt axis
move is made, the brake will automatically release. M63 can be used to release
the tilt table brake.
G90 Absolute Mode In the absolute mode, the tilt angular value defines the final position between
15 and 265 degrees. The + or - signs define the direction the table will move to
get to the degree of tilt. Care must be used in selecting the proper sign for tilt to
prevent over travel.
265˚ 270˚ 270˚ 265˚
315˚ 315˚
A+ B-
0˚ 0˚
15˚
15˚
Z+ Z+
B+
A-
Y+ X+
EXAMPLE: In absolute terms B+10. will tilt the B axis counterclockwise to the 10th degree.
In absolute terms B-270. will tilt the B axis clockwise to the 270th degree.
In absolute terms A-10. will tilt the A axis clockwise to the 10th degree.
In absolute terms A+270. will tilt the A axis counterclockwise to the 270th
degree.
G91 Incremental In the incremental mode (G91) the tilt value defines the direction and number
Mode of degrees for the tilt table to move. A B+10. causes the table to tilt positively
(CCW) 10 degrees from its current position. A B-10. causes the table to tilt
negatively (CW) 10 degrees from its current position.
B+90˚
A-90˚
A+90˚ B-90˚
Z+ Z+
Y+ X+
EXAMPLE: In incremental terms B+90. tilts the table 90 degrees counterclockwise from its
current position.
In incremental terms B-90. tilts the table 90 degrees clockwise from its current
position.
In incremental terms A+90. tilts the table 90 degrees counterclockwise from its
current position.
In incremental terms A-90. tilts the table 90 degrees clockwise from its current
position.
Feed Rate
Feed rate is addressed by use of the F word and a G01 code. Tilt motion is
programmed in degrees per minute. For example; G91 G01 B+45. F50.0
rotates the B axis 45 degrees at 50 degrees per minute. Use the following chart
to find the maximum programmable feed rate for selected device.
See the degree feed rate calculation information in this section for details.
A & B Fixtures A & B Fixtures offsets are relative from the E0 or SETA, SETB position. This
Offsets fixture offset value (in the fixture table) is an absolute value relative to zero.
Within the program the direction of motion is specified by + (positive) or -
(negative). For Rotary table see figure 1, for Tilt see figure 2.
VMC Interpolation
Modes
Linear Interpolation Linear Interpolation is used to generate motion along a line, at a specified feed
rate. The linear mode is established by the G1 code. The VMC control can move
up to 5 axes simultaneously, completing the movement at a point determined
by the X, Y, Z, A, and B words.
EXAMPLE: N1 O1
N2 M6 T1
N3 G0 G90 S2000 M3 E1 X0 Y0 A0 B0
N4 H1 Z.1 M8
N5 G1 Z-.25 F5.
N6 G1 G91 X1. F10.
N7 X1. Y1.
N8 X1. Y1. Z1. A360. B90.
According to the sample program above: Block N6 moves the X axis linearly
(G1 mode) 1.0 inch at a feed rate of 10 IPM. Block N7 moves the X and Y axes
together forming an angular cut. Block N8 moves all possible axes together.
The G1 code will use the last feed rate established in the program with the F#
word. The F# word is modal and is only canceled by another F# word. The F#
will remain in effect throughout the program until another F# word is used. The
F# word can appear on any line with other codes as long as the other codes
have no restrictions.
Note: Maximum program feedrate at 100% is 400 IPM for machines capable
of 900 IPM rapid traverse. The maximum program feedrate at 100% is 250
IPM for machines capable of 400 IPM rapid traverse.
Circular Circles and arcs are described by the start point, the end point, direction and
Interpolation distance from the start point to the center of the circle, and the arc direction.
Any arc or circle may be programmed with two lines.
Note: The largest programmable radius is 399.9999 inches and with CRC
99.9999 inches.
1) The first line represents the move to position to the start point of the arc.
This move could be a rapid move, a linear move, or the end of another
circular move.
2) The second line (the circular move) includes the end point, arc center
description, and arc direction. This move is made at the current feed rate.
The end point, arc center, and direction around are described on the next three
pages.
Note: Maximum program feedrate at 100% is 400 IPM for machines capable
of 900 IPM rapid traverse. The maximum program feedrate at 100% is 250
IPM for machines capable of 400 IPM rapid traverse.
End Point The end point is described differently for G90 and G91. In both cases either the
X or Y or both X and Y can be used. Similar to a linear move or rapid move, only
the axis that has a difference between the start point and the end point must be
included in the end point description.
EXAMPLE: G90
In the absolute mode, the end point is described as the absolute distance from
the home position of the part to the end point of the arc.
X END POINT
Y END POINT
END
START
G91
In the incremental mode, the end point is described as the direction and
distance from the start point of the arc to the end point of the arc.
Put a pencil on the starting position of the arc and draw arrows, first
horizontally along the X axis then vertically along the Y axis to the end point to
help visualize the direction from start to end.
END
Y+
X-
START
Arc Center
G90 and G91 The arc center description is the same for G90 and G91.
The arc center is the direction and distance from the start point of the arc to the
center point of the arc. Put a pencil on the starting position of the arc and draw
arrows, first horizontally along the X axis then vertically along the Y axis to the
center point to help visualize the direction from start to center.
For the X axis direction description to the center use the letter I.
For the Y axis direction description to the center use the letter J.
X- START
-
J- Y-
X-
- START
CENTER CENTER
Figure 13-3
J-
+ J- - J-
+ -
+ J+ - J+
J+
Figure 13-4
Arc Direction The G2 code is used when the arc direction is clockwise, G3 is used for arcs in
a counterclockwise direction.
END END
G3
START
START
G2
Circle Examples The following are examples of various programmed arcs in absolute (G90) and
incremental (G91)modes.
START
R .5
END
X3.95 Y-5.62
G90 G91
X4.45 Y-5.12 G1 F45. X-1. Y0 G1 F45.
X3.95 Y-5.62 J-.5 G3 X-.5 Y-.5 J-.5 G3
R .42
START
END
X-1.863
Y+3.052
G90 G91
X-2.283 Y2.632 G1 F45 X0 Y-.5 G1 F45
X-1.863 Y3.052 I.42 G3 X.42 Y-.42 I.42 G3
Figure13-7
X5.1135 Y.765
END
R .375
START
G90 G91
X4.7385 Y.39 G1 F45. X.5 Y0 G1 F45.
X5.1135 Y.765 J.375 G3 X.375 Y.375 J.375 G3
Figure 13-8 Circle Examples (3)
X3.5 Y0
END
START
R .005
G90 G91
X3.505 Y-.005 G1 F45. X0 Y1. G1 F45.
X3.5 Y0 I-.005 G3 X-.005 Y.005 I-.005 G3
Figure 13-9 Circle Examples (4)
.7071
START
45˚
.7071 R 1.0
END
X-.3212 Y-3.423
G90 G91
X-.0283 Y-2.7159 G1 F45. X-.5 Y-.5 G1 F45.
X-.3212 Y-3.423 I.7071 J-.7071 G3 X-.2929 Y-7071 I.7071 J-.7071 G3
Figure 13-10 Circle Examples (5)
X-3.215 Y2.7063
.7071
45˚
END
.7071 R 1.0
START
G90 G91
X-3.5079 Y1.9992 G1 F45. X0 Y.5 G1 F45.
X-3.215 Y2.7063 I1. G2 X.2929 Y.7071 I1. G2
.7071
.866
X-4.1989 Y-3.6314
G90 G91
X-2.6258 Y-3.4243 G1 F45. X-.25 Y-.433 G1 F45.
X-4.1989 Y-3.6314 I-.866 J.5 G2 X-1.5731 Y-.2071 I-.866 J.5 G2
Figure 13-12 Circle Examples (7)
START AND
END POINT
J-1.0 G3
R 1.0
Full circles require the move to the start/end point and either the I or J,
depending on the start point moved to, and the direction around.
X-3, Y-2
.30
.30
.30
X-4, Y-2.3
X-4.3, Y-2.3
Figure 13-14 Full Circles
Circular Boss M5 M9
Example G90 G0 H0 Z0
M6 T3 (TOOL #3, .5 2FL EM
G90 G0 S8000 M3 E1 X-4.3 Y-2.3
H3 D3 Z.1 M8
G8
Z-.245 G1 F10.
X-4. G41 F50.
Y-2.
I1. G2
Y-1.7
X-4.3 G40
Y-2.3 Z-.25
G91 (G91 USED FOR EXAMPLE ONLY
X.3 G41
Y.3
I1. G2
Y.3
X-.3 G40
M5 M9
G90 G0 H0 Z0
M6 T4
Contoured Slot M5 M9
X2, Y-1.5
Example G90 G0 H0 Z0
M6 T6 (TOOL #6, 3/8 (.375) 2FL
EM
G90 G0 S10000 M3 E1 X2. Y-1.5 .38 R .19
H6 D6 Z.1 M8
Z.01 G1 F10.
G8
G91 1.00
X-1. Z-.135 F30.
X1. 4 3
X-1. Z-.145
2,7
X1.
1,8
X.19 G41 F50.
X-.19 Y.19 I-.19 G3 5 6
X-1. Figure 13-15 Contoured Slot Example
Y-.38 J-.19 G3
X1.
Y.38 J.19 G3
X-1.
Y-.38 J-.19 G3
X1.
X.19 Y.19 J.19 G3
X-.19 G40
G90
Z.1 G0
G0 G90 H0 Z0
Circular Using G18 (XZ plane) and G19(YZ plane) requires the use of K to represent the
Interpolation Using direction and distance in Z from the starting point of the circle to the circle
G18 & G19 center.
G18 Circles in the XZ plane require either the absolute or incremental end point, the
I and K circle center description, and a G2/G3 arc direction. Note that G2 and
G3 are reversed. The information in this section concerning the use of I and J
applies to the K word.
The G18 word must appear in the program just before the circular move. The
G18 is required only for the XZ circular moves. Linear XZ moves can be
programmed from any plane. When cutter radius compensation is required for
linear and circular XZ moves, use the G18 just before applying compensation
and the compensation will be applied to the XZ axes.
R 1.1500
5.0900 Z+
3.4585
2.9928 X+
1.8600
.4800
.9520
1.6180
2.5600
.8314
R .9600
1.1328 .1980
Figure 13-16
G3 G2
Y+
Z+
VIEW
G2 G3
Y+
X+
G18 G17 X+
Figure 13-17
EXAMPLE: G90
EXAMPLE: G91
G19 Circles in the YZ plane require either the absolute or incremental end point, the
J and K circle center description, and the G2 or G3 description. The information
in this section concerning the use of I and J applies to the K word.
The G19 word must appear in the program just before the circular move. The
G19 is required only for the YZ circular moves. Linear YZ moves can be
programmed from any plane. When cutter radius compensation is required for
linear and circular YZ moves, use the G19 just before applying compensation
and the compensation will be applied to the YZ axes.
R 1.1500
5.0900 Z+
3.4585
2.9928 Y+
1.8600
.4800
.9520
1.6180
2.5600
.8314
R .9600
1.1328 .1980
G3
G2
Z+
Y+
G2 G3
9 Y+
G1 X+
G17
VIEW X-
EXAMPLE: G90
EXAMPLE: G91
Circular An R word, which represents the radius of the circle, can be used in place of the
Interpolation Using I, J, or K arc center description. This can be used in any plane (G17, G18, G19)
Radius Designation and with absolute or incremental in effect.
ARC #2
ARC #1
Figure 13-18
The drawing above shows two possible clockwise (G2) paths. Each has the
same end point. One arc is greater than 180 degrees, the other less than 180
degrees. Use R0+1.0 to move along arc #1 or use R0-1.0 to move along arc
#2.
Note: When using radius designation, the circular motion must be less than
360 degrees. Full circles are not allowed.
The R0 value will be the R1 parameter value. See Section 18, Macros, for more
information concerning the use of parameters.
Helical Interpolation Helical moves are used in various situations. Thread milling is one good
example. Helical moves can be used for roughing the walls of a bore and for
entering a pocket with a bottom cutting end mill. This type of motion can be
used to replace a pilot hole drilled to enter a bore or a pocket.
When G17 (XY plane) is coded, the perpendicular axis is the Z axis. A helical
move in G17 would be an XY circular move with a Z axis move coded in the
same line as the circle. For G18 (XZ plane), the perpendicular axis is the Y axis.
A helical move in G18 would be an XZ circular move with a Y axis move in the
same line. For G19 (YZ plane), the perpendicular axis is the X axis. A helical
move in G19 would be a YZ circular move with an X axis move in the same line.
For any of the planes selected with G17, G18, or G19, the perpendicular axis
move finishes at the same time that the circular move finishes.
Figure 13-19
Repeating Helical Helical moves are usually made by repeating subroutines, subprograms, or
Moves copying lines in the program.
Note: The circular moves remain the same, however the absolute Z axis
positions must change in each line.
G91
X.5 G1 G41
I-.5 G3 Z-.1
I-.5 G3 Z-.1
I-.5 G3 Z-.1
X-.5 G40
or
G91 X.5 G1 G41
I-.5 G3 Z-.1 L3
X-.5 G40
Note: The circular and Z axis moves remain the same in each line. The copy
command can be used to copy each incremental helical move.
Note that the L3 is used here to repeat the helical move. This example can only
be used in a main program. The L line repeat code is restricted to the main
program. The G91 in the beginning of the line establishes the incremental
mode for the helical move. The G90 in the end of the line establishes the
absolute mode for the next line. This will work if it is typed into the control in
this exact order.
Examples Using
Subroutines and
Subprograms
G0 G90 H0 Z0
E0 X0 Y0
M2
Note that the helical move was placed in a subroutine. The first line of sub
L200 has the G91 code needed for L100 to be repeated to get the incremental
Z move down.
M99
O2 (SUB FOR POCKET
G91 D1 The diameter of the tool must be in tool table to function properly
M98 P1 L4 The helical move in subprogram O1 is repeated here four times (Z-
.4)
L9601 R0+10. R1+.015 R2+2.96 R3+2.96 Roughing the pocket
X1.5 G41 G1 Finishing the pocket, apply CRC here
Y.98
X-.52 Y.52 I-.52 G3
X-1.56 G40 Cancel CRC
G90 Z.1 G0 Z up to move to the next pocket location
M99
Note that the helical move was placed in a subprogram. The first line of sub O2
has the G91 code needed for O1 to repeated to get the incremental Z move
down.
Cutter Radius Cutter radius compensation can be used with a helical move. CRC must be
Compensation with turned on before the helical move. Compensation is applied to the axes of the
Helical Moves selected plane. For example in G17 compensation is applied to the X and Y
axes and no compensation would be applied to the Z axis. The same is true for
the G18 plane and the G19 plane.
Figure 13-20
Partial Arcs and Helical moves can be made with any circular move, including full circles and
Helical Moves partial arcs.
START
Z+
END Y+
X+
Figure 13-21
EXAMPLE: G91
Y.19 G41 G1
Y-.38 J-.19 G3 Z-.05 Helical move with a partial arc
X1. Z-.05 Linear XZ move
Y.38 J.19 Z-.05 Helical move with a partial arc
X-1. Z-.05 Linear XZ move
Y-.38 J-.19 G3 Finish moves for slot
X1.
Y.38 J.19 G3
X-1.
Y-.19 G40
Thread Milling Threads can be cut using a single point thread mill or with a thread hob. A
single point thread mill can be used for any lead thread, where a thread hob is
ground for a specific lead. Thread hobs and single point cutters are available
as carbide inserts. Inserts can also be purchased for pipe threads.
1) A boss must be cut to the major diameter of the thread for an outside
diameter (OD) thread, and a bore must be cut to the minor diameter of the
thread for an inside diameter (ID) thread.
2) Determine the lead of the thread to be cut. The lead represents the distance
from thread to thread.
Cutting an OD
Thread
START
ENDE
The tools are set at the top of the part. The thread is located at X0 Y0. The
amount of thread to cut is .500
N46 ( TOOL #5 3/4 DIA SINGLE POINT CARB THREAD MILL (CRC)
N47 M6 T5
N48 G90 G0 S10000 M3 X-1. Y0
N49 H5 Z.0357 M7
N50 X-.5094 G41 G1 F25.
N51 G91
N52 I.5094 G2 Z-.0357 L15
N53 G90
N54 X-1. G40 G0
N55 M5 M9
Line N48 moves the tool to a safe position to bring the tool down away from the
boss.
Line N49 brings the tip of the threading tool to one thread above the boss.
Line N52 is the helical cut down, in incremental mode. The L15 in line 52
repeats the line fifteen times. This is why it is in incremental mode. Each repeat
represents the next thread.
Line N54 moves the tool away from the diameter turning comp off.
Cutting an ID Thread
START
END
Figure 13-22
The tools are set at the top of the part. The thread is located at X0 Y0. The
amount of thread to cut is .500
N46 ( TOOL #5 3/4 DIA SINGLE POINT CARB THREAD MILL (CRC)
N47 M6 T5
N48 G90 G0 S10000 M3 X0 Y0
N49 H5 Z.1 M7
N50 Z-.5 G1 F50.
N51 X.5313 G41 G1 F25.
N52 G91
N53 I-.5313 G3 Z.0357 L15
N54 G90
N55 X0 G40 G0
Line 50 brings the tip of the threading tool to the depth of the first thread. Line
51 turns comp on while moving up to the major diameter.
Line 53 is the helical cut up, in incremental mode. The L15 in line 53 repeats
the line fifteen times. This is why it is in incremental mode. Each repeat
represents the next thread.
Line 55 moves the tool away from the diameter turning comp off.
Communications
Character Code The CNC 88 can send or receive either EIA or ASCII character codes. The EIA
code output is intended for output to a tape punch only. The communications
described in this section are intended for the ASCII mode.
Initial Connection When the CNC 88 is in the command mode (ENTER NEXT COMMAND is on the
screen), it constantly monitors the RS-232 port for incoming data. When data
is detected, the CNC 88 switches to the terminal mode and subsequent input/
output is through the RS-232 port. Also, the user can direct the CNC 88 to send
its output to the RS-232 port by entering the proper CD command.
7 Data Bits
Even Parity
1 Stop Bit
Compatible Baud Rate (i.e. 2400 at both the computer and the machine).
Machine Grounding The machine grounding may affect the communications capabilities. The
machine MUST be properly grounded for best communication results. The
FADAL VMC shall be grounded using any method listed in article 250 of the
National Electrical Code. The minimum grounding method recommended by
FADAL Engineering is detailed in the Installation chapter of the VMC
Maintenance Manual. Inadequate grounding will result in a wide range of hard-
to-diagnose problems in communications, positioning, spindle motion, etc.
Termination If the MANUAL key is pressed while the control is in the terminal mode,
communication will be terminated. This is also accomplished at the computer
terminal by typing the word BYE.
While punching (or outputting) a program, the CNC receives either a DC3 or
DC4, and the transmission pauses. When a DC1 or DC2 is received,
transmission is resumed.
XMODEM Protocol 132-byte packet with 128 bytes of data and 4 control bytes, including a 1-byte
checksum.
How to Send a File The following listing provides an outline for implementing XMODEM protocol.
Using XMODEM for Data is sent 128 bytes at a time. Program lines are concatenated with other
DNCX lines until there are 128 bytes to send (including carriage returns). Four control
bytes are added to the 128 bytes to complete a packet. The first three bytes are
1) CHR$(1); 2) Block Number (from 0-255, starting at 1); 3) 255 - Block
Number. The 128 data bytes are next, followed by a checksum byte.
The procedure for sending data is based on ACKs and NAKs. ACK means
acknowledged, or success. NAK means not acknowledged, or failure. An EOT
is sent if an unrecoverable error or end-of-file has occurred. The logic is better
described in sample code than in words.
EXAMPLE:
SUB DNC ()
' SETUP VALUES
' TRANSMIT BLOCK - [3-128-1], 1ST IS CONTRO L BYTE
SENDBLO CK$ = CHR$(1) + STRING$(131, 32)
' BLOCKNUMBER WILL BE INCREMENTED TO 1 IN FIXBLOCK
BLOCKNUMBER% = 0
' TIMES BLO CK WAS BEEN TRANSMITTED, 3 FOR ERRO R
XMITEDCO UNTER% = 0
RECDNAK% = 0
RECDACK% = 0
SENDFLAG% = 0
EO T$ = CHR$(4)
NAK$ = CHR$(21)
ACK$ = CHR$(6)
STARTCHAR% = 4
CALL CLEARPORT
NEXTBLO CK:
CALL NEXTDNC(DATA$)
IF DATA$ = "" THEN GO TO SPACEFILL
BACKTOSLO W:
DATA$ = DATA$ + CHR$(13)
DATALENGTH% = LEN(DATA$)
SELECT CASE STARTCHAR% + DATALENGTH%
CASE IS > 132
CANFIT% = 132 - STARTCHAR%
LEFTO VER% = DATALENGTH% - CANFIT%
MID$(SENDBLO CK$, STARTCHAR%, CANFIT%) = LEFT$(DATA$, CANFIT%)
GOSUB BEGINSENDING
MID$(SENDBLO CK$, 4, LEFTO VER%) = RIGHT$(DATA$, LEFTOVER%)
STARTCHAR% = 4 + LEFTOVER%
CASE 132
MID$(SENDBLO CK$, STARTCHAR%, DATALENGTH%) = DATA$
GOSUB BEGINSENDING
STARTCHAR% = 4
CASE ELSE
MID$(SENDBLO CK$, STARTCHAR%, DATALENGTH%) = DATA$
STARTCHAR% = STARTCHAR% + DATALENGTH%
END SELECT
GO TO NEXTBLOCK
SPACEFILL:
' SPACE FILL REST O F BLOCK, TERMINATING CR
MID$(SENDBLO CK$, STARTCHAR%, 131 - STARTCHAR% + 1) =
STRING$(131 - STARTCHAR%, CHR$(32)) + CHR$(13)
GO SUB BEGINSENDING
FINISHUP:
CALL DWELLSENDING
CALL CLEARPORT
Q UITING:
CLO SE
EXIT SUB
BEGINSENDING:
CALL FIXBLO CK
BEGINSENDINGSKIP:
CALL CHECKFORABORT
' WAS LAST BLO CK ACKED O R NAKED?
IF RECDACK% OR RECDNAK% THEN RECDACK% = 0: GO TO ZXREADYTOSEND
ZXREADYTORECD:
CALL WAITTILGOT(STOP$)
SELECT CASE STO P$
EXAMPLE:
CASE IS = EO T$
GOTO QUITING
CASE IS = NAK$
RECDACK% = 0
RECDNAK% = 1
IF SENDFLAG% THEN
' BLOCK WAS SENT BUT NOT RECEIVED, RE-TRANSMIT UP TO 3 TIMES
SELECT CASE XMITEDCO UNTER%
CASE IS = 0, 1
XMITEDCOUNTER% = XMITEDCOUNTER% + 1
CASE ELSE
CALL MHSENDDATA(PO RT%, EO T$, ECO DE%)
IF ECO DE% THEN ERRO R ERRTRANSMIT%
GOTO FINISHUP
END SELECT
END IF
GO TO ZXREADYTO SEND
CASE IS = ACK$
IF SENDFLAG% THEN
' BLOCK WAS SENT AND RECEIVED
SENDFLAG% = 0
XMITEDCOUNTER% = 0
RECDNAK% = 0
RECDACK% = 1
RETURN
END IF
END SELECT
ZXREADYTOSEND:
CALL DWELLSENDING
CALL MHSENDDATA(PO RT%, SENDBLOCK$, ECODE%)
IF ECO DE% THEN ERRO R ERRTRANSMIT%
SENDFLAG% = 1
' WAIT FOR ACK
GO TO ZXREADYTO RECD
END SUB
SUB FIXBLOCK
' SET BYTES 2 AND 3 FO R HEADER, 132 HO LDS CHECKSUM
BLOCKNUMBER% = BLO CKNUMBER% + 1
IF BLO CKNUMBER% > 255 THEN BLO CKNUMBER% = 0
MID$(SENDBLOCK$, 2) = CHR$(BLO CKNUMBER%)
MID$(SENDBLO CK$, 3) = CHR$(255 - BLO CKNUMBER%)
CSUM% = 0
FOR I = 1 TO LEN(SENDBLO CK$) - 1
CSUM% = CSUM% + ASC(MID$(SENDBLOCK$, I))
NEXT I
MID$(SENDBLO CK$, 132) = CHR$(CSUM% MO D 256)
END SUB
NEXTDNC:
' RETURNS NEXT ASCII LINE TO SEND
DATA$ = "" IF END O F FILE
DWELLSENDING:
' WAIT UNTIL TRANSMISSION BUFFER IS EMPTY
Commands
CNC 88 Commands All of the CNC 88 commands may be issued from the computer terminal. The
MANUAL key is simulated by a control/E (05 hex or ENQ character). The line
delete function is accomplished by the @ key and the backspace function is
accomplished by the underline key. The TA and PU commands have special
requirements and features discussed below.
Tape Input The following is a description of the two possibilities to initiate data input.
a. From the keyboard, enter the commands: CD, (Baud Rate #) and TA,1
b. While in the command mode if a DC2 is received from the RS-232 port,
a TA,1 is assumed by the CNC.
3) The terminal must now send the body of the NC program. Lines of the
program must be separated by a CR control character. An LF character is
optional. After all lines are sent, one or more TO commands followed by
one or more FO commands may be sent to build the tool and fixture data
tables.
20 CK + CK = ASC (C$)
Note:
a. From the keyboard, type CD, (baud rate #) and press ENTER then type
PU and press ENTER.
b. While in the command mode if a DC1 is received from the RS-232 port,
a PU is assumed by the CNC.
The PU command has two modes of transmission. The first assumes that the
remote device is a “dumb” terminal such as a punch or a teletype. This mode
is initiated by the PU command (with no parameters). The CNC 88 transmits
the NC program as follows:
2) Approximately 300 NULL characters (leader) are sent next (when punch
tape format is selected). Leader is transmitted only at baud rates 600, 300,
150, and 110.
3) The data portion is then opened with a “%” character followed by LF and
CR characters.
The second mode assumes that the remote device is programmable and is
prepared to receive the NC data in the order described below. This mode is
invoked by the PU,,,1 command. The order is as follows:
1) The CNC 88 sends one null character and waits for a DC1 or DC2 from the
remote device.
2) The remote device then sends a DC1 or DC2 when it is ready to receive
data.
5) Steps 2 through 4 must be repeated until the end of file is detected. The
end of file is indicated by a line consisting of a single “%” character. All
lines are terminated by LF only.
6) After the end of file, the CNC 88 sends the checksum as described above.
DNC Mode DNC mode is generally used when a program is too big for the memory of the
CNC control. CAD/CAM software usually posts a program too big to fit into the
CNC memory, either the program is sectioned and stored, or it is sent DNC.
DNC mode does not store a program in the control. The control receives
program code via the RS-232 port in blocks. Enough program code is sent to
fill a buffer for the machine tool to perform. Once the machine has performed
the code, it looks to the buffer for more information. When the buffer starts to
empty, the control talks to the units sending the code to refill or keep filling the
buffer so that the machine can have a continuous run. Since the DNC program
does not remain in the control, certain differences to the code are as follows:
DNC Protocols The control may use either one of two types of handshaking protocols.
RS-232-C Interface Data and command input to the CNC is normally via the keyboard on the VMC
Connection pendant. However, the CNC can be instructed to receive its input from the RS-
232-C interface. Likewise, data normally sent to the CRT can also be directed
to the interface. This interface is set up in the data terminal equipment (DTE)
mode per the Electronic Industries Association (EIA) Standard numbered RS-
232-C published by:
Table 1 shows the circuits that are implemented in the CNC’s RS-232-C
interface. In this table, DCE, stands for Data Communication Equipment. The
DCE is normally a telephone modem. If the user wishes to connect a computer
or a data terminal directly to the CNC, it must be determined whether the
device is set up as DTE or DCE.
Two versions of a null modem are shown in tables 2 and 3. Table 2 is for simple
3 wire cabling. Table 3 is for equipment that uses the DTR circuit to indicate
conditions, such as buffer full. This condition requires a brief pause in
transmission from the CNC (see handshaking). If the CNC finds its DSR line low
for more than 1 second it ceases transmission until it is reconnected.
The CNC control expects and transmits seven (7) data bits and one (1) stop bit.
For ASCII data, even parity (E) is required, and for EIA-RS-244-B data, odd
parity (O) is required.
FADAL’s Parts Department has RS232C cables and NULL modem cables
available, properly configured for communication with the VMC.
Cable Configuration
IBM-Compatible PC-
Simple DB25 Null RS232 Pinouts for the IBM-compatible PC
Modem Simple DB25 Null Modem
PC DB25 Fadal DB25
connector connector
1 1 To Protective Ground
Transmit 2 2 Transmit
Receive 3 3 Receive
4 4
5 5
6 6
Signal Ground 7 7 Signal Ground
8 8
20 20
22 22
Note: Connect pin one to the shield only at the machine end.
IBM-Compatible PC-
DB9 to DB25 for DTE RS232 Pinouts for the IBM-compatible PC
Equipment-Null DB9 (@PC) to DB25 (@VMC) for DTE Equipment
Modem Not Included PC DB9 COM Fadal DB25
connector connector
Received
Line Signal Detector 1 1 To Protective Ground
Receive 2 2 Transmit
Transmit 3 3 Receive
Data Terminal Ready 4 4 Request to Send
Signal Ground 5 5 Clear to Send
Data Set Ready 6 6 Data Set Ready
Request to Send 7 7 Signal Ground
Clear to Send 8 8 Received Line Signal
Ring Indicator 9 Detector
Note: Connect pin one to the shield only at the machine end.
Macintosh II Mini-8
Connector
RS232 Pinouts for the Macintosh II
1 1 To Protective Ground
2 2 Transmit
Transmit 3 3 Receive
4 4 Request to Send
Receive 5 5 Clear to Send
6 6 Data Set Ready
7 7 Signal Ground
Signal Ground 8 8 Received Line Signal
Detector
Need 10-12 volts from
#3 (red) and #8 (black); 20 Data Terminal Ready
‘Xon/Xoff’ and ‘Strip’
disabled
Note: Connect pin one to the shield only at the machine end.
Note: Connect pin one to the shield only at the machine end.
Note: Connect pin one to the shield only at the machine end.
VMC
Communications
Procedures
VMC Control The first step to any communications is to prepare the VMC control. At the
Parameters ENTER NEXT COMMAND prompt, enter the command CD,# and press ENTER.
This sets the machine baud rate and readies the RS-232 port. Use the
appropriate command for the desired baud rate.
Receiving Data /
Programs at the VMC
The line feed and echo parameters may also be used with the CD command.
See Section Eight, Commands for detailed information on these parameters.
When a file is to be received at the VMC the TA,1 command is used. This
command is entered after the CD command.
EXAMPLE: The program sent to the control should start and conclude with the “%” sign.
CD,6 ENTER
TA,1 ENTER The VMC is now ready to receive a program
After entering the TA command the control is ready to receive a file. The
program can now be sent to the control from the source device.
Sending Data / When a program is to be transmitted from the VMC to a receiving device, the
Programs from the PU command is used. Prior to using the PU command the receiving device
VMC MUST be ready to receive. Check the device requirements for receiving a file.
When the device is ready to receive, enter the CD and PU commands at the
VMC.
CD,6 ENTER
PU,2 ENTER This transmits the program data only to the receiving device
The use of the PU command parameters may be required for different devices.
Data Options
0 = Currently active program and offsets
1 = Offsets only
2 = Currently active program only
3 = All programs in memory
Code Option
0 = ASCII (Standard)
1 = EIA
TTY Option
0 = Computer (Standard)
1 = Leader, Program, Trailer (This option is used for tape punches)
Device
Communications
Procedures
Computer The procedures described in this section are for generic computer
communications.
The computer MUST be equipped with a serial port (RS-232 port). If a mouse
or pointing device is installed, insure that there is a serial port available for
communications. Identify whether the port is COM1 or COM2. This information
is required for the software being used.
The RS-232 cable MUST be configured for communications. The standard 25-
pin configuration in Table 2 above should be used. This pin configuration may
be achieved by using the FADAL Null Modem cable. Connect the cable(s) from
the VMC to the computer serial port.
1) Set the baud rate compatible with the machine (Normally 2400).
2) Even Parity
3) 7 Data Bits
4) 1 Stop Bit
Some software may have additional parameters. Use the following settings:
4) After receiving the file, press the MANUAL button to return to the command
mode.
2) Prepare the computer to receive a file. See the software documentation for
these procedures.
4) After receiving the file, press the Manual button to return to the command
mode.
Tape Punch / The procedures outlined in this section are designed for the DSI tape punch
Teletype model LRP300. Procedures for other tape punches or teletypes may vary with
model. Contact your device manufacturer for exact procedures.
This tape reader uses the RS-232 cable for data transfer. The cable MUST be
straight wired. This means that the wire connected to each pin must connect to
the corresponding pin at the opposite end of the cable. The Null Modem is NOT
used for the tape reader or teletype. The RS-232 cable should be attached to
the DSI tape punch at the bottom 25 pin port.
The DSI tape punch switch settings for communication are defined as follows:
OFF/PRINT PRINT
ON/PUNCH PUNCH
5) After receiving the file, press the Manual button to return to the command
mode.
2) Press the RUN button on the tape reader to prepare the reader to receive
the file.
Communications For communication problems several factors must be examined. Review the
Troubleshooting environment, then check the file, the VMC, the cables, the computer, and finally
the computer’s communications software. Any one of these subsystems can
propagate a communication problem.
File 1) Has the file ever successfully been transmitted to the VMC before? If the file
has been transmitted before, has it recently been edited and has
something been introduced into the file? Use an editor or word processor to
show hidden characters. If hidden characters are present in the file, remove
them.
2) If the file has not been successfully transmitted, use an editor or word
processor to show hidden characters. If hidden characters are present in
the file, remove them.
a. The only accepted characters allowed before the initial percent sign are
DNC, DNCX, or TA,1. In addition, no O words are allowed in DNC mode.
EXAMPLE: DNC
%
b. A two-second dwell is required between the DNC command and the first
percent symbol (%). If the software being used to transmit the program
cannot support this dwell time, remove the DNC, DNCX, or TA,1 com-
mand from the file and type the command at the VMC before starting
file transmission.
3) When a file is posted for a paper tape, or when a paper tape is read and
placed on a disk, it may have leader characters before the initial percent
sign — they need to be removed.
4) If some of the file can be transmitted, but some of it cannot, check for
syntax errors.
a. Examine the area in the file for syntax errors and repair them. For exam-
ple, double motion words or missing words are syntax errors.
Note: Use the TA,1,1 command for program transmission so that the control
will halt transmission and display the line where the syntax error occurs.
Note: If the paint has not been removed from this area, scrape the paint away
and re-attach the wire.
2) Check the cable from the RS-232 port on the inside of the CNC control
cabinet to the 1030 board.
a. Sometimes this cable will work itself out of the plug. Press the plug into
the board to confirm a good connection.
b. Examine the cable for cuts or kinks and replace it if there is evidence of
damage.
3) For VMCs with a phone modem, make sure that the DB25 plug on the
inside of the CNC control cabinet is NOT plugged into the back of the
modem — if it is, it will interrupt normal communications through the RS-
232 port.
4) Use the test plug to test the 1030 board. The test plug is stored in the
bottom of the CNC control cabinet when the VMC is shipped. It is a DB25
plug with no wires coming from it. On the inside of the plug, pins 2 and 3
are crossed to complete the communications path. Plug the test plug into
the RS-232 port on the outside of the back of the CNC control cabinet.
Note: It has been our experience that the 1030 is rarely faulty.
• If the diagnostics test passes, then it is safe to conclude that the VMC is
not at fault for a communication problem.
Cables 1) Verify that all connections between the communications cable and both the
VMC and the computer are firmly seated, including surge suppressors,
gender changers, and couplers. Pick up the cables and physically confirm
that each connection is properly together.
• Loose cable connections are one of the most common causes of com-
munication problems.
a. Examine the cable connections to see if they are in the correct ports.
b. Turn the switch handle back and forth a few times. Sometimes the con-
tacts are corroded and turning the handle will temporarily correct the
problem.
3) If the cable is coiled because the cable is too long, it is suggested to get a
shorter cable. The coiling may cause intermittent problems.Also, the
shorter the cable, the less chance a parity error will occur.
a. Welding machines and EDM machines close to the VMC or the cable will
also cause communication problems. These machines also cause RF
noise which interrupts communications.
5) Open the DB25 plugs to see if the solder on the pins has been applied
properly. Cold solder joints for these wires will need to be soldered again.
6) Check to see if the wires are connected to the proper pins. See earlier in
this section for the proper pinout.
• Confirm that, with shielded cable, pin one is connected to the shield at
the VMC side only. Pin one cannot be connected at the computer side.
7) If straight cable is used a null modem is required. A null modem cable can
be purchased from the FADAL Parts Department (part # WIR-0150), or from
any computer store. A null modem is a short portion of cable or ribbon
cable that has pins 2 and 3 crossed. The crossover and the proper jumpers
on each end can be found earlier in this section. If a null modem is used
that was supplied from FADAL, the switch must be in the outward position
away from the cable.
8) Use the mirror plug test as described in step 4 of the VMC section above to
test each section of cable from the VMC to the computer, replacing any
section that fails.
a. The longer the cable the slower the baud rate must be.
b. The faster baud rates may work for the longer cables, but the chance of
losing information increases the faster the baud rate.
c. Try using a slower baud rate, and if this works better, this may be the
best solution. However, this may also indicate an IO port at the com-
puter with low voltage. See the Computer and Computer IO Port sec-
tion on the next page.
Computer and 1) Is the cable plugged into the proper port in the back of the computer?
Computer IO Port
a. Some ports are marked COM or SER — these are the proper ports.
b. If the ports are unmarked, a COM or serial port will be the male gender
port (the port with the exposed pins — the female gender port will have
sockets).
Note: A gender changer plug may be needed if the gender on the cable will
not plug into the proper COM or serial port.
a. Is the cable on the inside of the computer cover attached to the port?
b. Check the voltage across pins 2 and 7 while transmitting a file (use a
file large enough to allow time to check the voltage while the transmis-
sion is in progress). With the positive lead on pin 2 and the negative on
pin 7, the voltage should range between 10 and 12 volts. Any voltage
below 10 volts could result in interrupted communications.
Note: A FLUKE meter (or equivalent) used to measure voltage must be set to
AC to obtain a reading.
3) When the computer was set up, did any interrupts interfere with the
communications port?
Note: A qualified computer setup person will be able to confirm that the port is
free of other interrupts.
Note: A FLUKE meter (or equivalent) used to measure voltage must be set to
AC to obtain a reading.
8) The FADAL Assist software has in its utility menu an RS-232 tester. Use the
mirror plug in the port and follow the instructions on the screen for test
number one.
• Baud rate - This is variable and it must match the baud rate set at the
VMC with the SETP command or with the CD,# command.
• Parity - E (Even)
• Data Bits - 7 (Seven)
• Stop Bits - 1 (One)
• EOB (End Of Block) - CR,LF (ASCII 13,10)
• Starting and ending character - % (ASCII 37)
• Xon/Xoff (Software handshaking) disabled for TA
• Enabled for DNC and PU
• Hardware handshaking - disabled
a. From the DOS prompt type the following two DOS commands:
• Note: Before typing these two lines, the VMC should be in the TA,1
mode ready to receive the program at 2400 baud.
• Refer to the DOS manual for answers to additional questions about the
DOS commands used here.
Touch Probes
Touch Probe - The tool setting probe is used with the UTILITY command to establish the
Length Offset length offset. It can also be used for tool breakage detection and setting tool
diameter offsets. The UTILITY command is used to set diameter and locate the
length offset. Enter the command UT and the following menu appears:
Tool Setting Cycle The utility command provides two basic functions to aid in the setup procedure.
The first function steps the operator through the process of retrieving tools
from the turret, entering the diameters and locating the length offsets.
After selecting this cycle the CNC displays the following menu:
The information regarding the current tool in the spindle is displayed and the
CNC prompts the user for the starting tool number. After entering the first tool
number, the CNC responds with the message:
The following menu appears after the starting and ending tool numbers are
defined:
Option 1=Jog to This option is used for locating the tool length offset by using the JOG function
Position of the CNC. The CNC prompts the operator to press the JOG key and manually
move to the gauge point instead of the automatic process using the probe.
Option 2 & 3 - Probe The CNC allows for two probe mounting positions. The left or right orientation is
Mount defined as standing in front of the machine, looking Y+ direction.
LEFT RIGHT
MOUNT MOUNT
Y+
X+
Selecting left or right mount determines the X axis shift direction when locating
the tool length of an end mill. The left mount probe shifts the X axis in the
positive direction before moving Z down. The right mount shifts the X axis in the
negative direction before moving Z down.
Probe Fixture Offset Once the probe is installed, a fixture offset can be dedicated to tool setting. The
Number (0, 1-48) X and Y fixture offset value is the location of the center of the tool setter stylus
relative to the HOME position.
Y AMOUNT X AMOUNT
HOME
Figure 15-6 Probe Fixture Offset Number
Respond with 0 to ignore this feature or enter the fixture offset number.
Probe Offsets
Z Fixture Offsets
GAGE POINT
Z- AMOUNT
Z OFFSET
After selecting a fixture offset the CNC displays the current X, Y, and Z values
and prompts the user with the following message:
Respond by pressing the Y key and begin the process of establishing the Z
fixture offset. Then press the N key and the CNC continues the setup procedure
using the current Z value.
When a fixture offset is selected, the Z fixture offset value is subtracted from
the current touch position when determining the length offset. A positive value
increases and a negative value shortens the length offset.
After selecting a fixture offset, the CNC moves X and Y axes to the fixture offset,
loads the first tool, and begins the tool setting process by displaying the
following menu:
If the program requires the diameter or the tool is an end mill, the operator
selects function 1 and enters the diameter. Select function 2 to begin locating
the length offset.
The operator then presses the JOG key and moves the tool to the desired offset
position. When the tool is at the desired location press the MANUAL key.
Locating Length Selecting function 2 causes the CNC to move the tool down in one of two ways:
Using the Probe
1) If a diameter is entered, the X axis shifts the radius amount, spins the tool
backwards, then locates the length.
2) Specifying a zero tool diameter causes the CNC to move the Z down without
shifting the X axis or spinning the tool.
The CNC performs the following actions for locating the length of an end mill:
After locating the length by either the JOG or PROBE method, the CNC
automatically performs a tool change to get the next tool and displays the
following menu:
The process is repeated until the last tool has been set.
Tool Breakage Tool breakage detection is achieved by a two step process as follows:
Detection
1) The CNC is programmed to touch the probe. The tool touch is programmed
as a normal program operation except using the G31 P1 code. The G31 is
used to stop probe motion. When coded with axis motion, the motion
terminates with the probe touch.
2) The L9101 R1+6. code is used to perform the touch check. After
performing the touch check, the CNC aborts the program if the tool did not
touch, otherwise the program continues.
Z+
Y+
X0, Y0, E24
X+
.100
CLEARANCE
POSITION VIEW Y+
N2 moves the tool .100 below the top of the probe (Right Figure Above) and
selects the Touch probe.
N3 moves the tool to the center of the probe. Because the block contains the
G31 code, the CNC stops moving as soon as the tool touches the probe. The P
word used in combination with the G31 causes the CNC to store the touch
location.
N4 verifies the previous point (P1) has been interrupted by the probe. A broken
tool causes the move to go to completion (without a touch) and abort the
operation. See PROBE L9101 FUNCTIONS in this section.
Touch Probe - Tool The tool diameter offset is achieved by a two step process as follows:
Diameter Offset
1) The CNC is programmed to touch the probe at two points.
EXAMPLE: After the length offset has been located, the following program is used to
establish the diameter of a 1/2" end mill.
N1: The E24 shifts the XY zero to the center and the Z zero to the top of the
stylus. The X0 moves to the center of the stylus. The Y-.5 moves to a clearance
position, calculated as follows:
Clearance: .050
N2: moves the tip of the tool .100" below the top of the stylus while spinning
the tool backwards at 500 RPM.
The stylus width is specified by R2. The D word specifies the diameter is to be
stored as offset 1 in the tool table.
General Rules to 1) Start the program by selecting the probe. M64 selects the MP Series
Follow: MP Series probe, M65 selects the TS Series probe.
Probe
2) A move with the G31 must be a linear (G1) move.
3) No other codes are allowed with the G31 except G1, P# (Point Number),
and feed rates.
4) The Probe functions may only use three points for each calculation, P1, P2,
and P3.
6) CRC, Mirror Image, Rotation and Drill Cycles are not allowed during the
execution of the G31 code.
Locating the Points There are two procedures available to locate and store the points:
G31 Probe Touch The G31 is only used in conjunction with a probe. This code causes the
Function machine to stop motion when the probe is touched and then execution
continues at the next line in the program. The G31 can be used with table or
spindle probes (See also G31.1).
The motion can be defined in absolute or incremental terms. The positions can
be stored with a P word, a macro V variable, and output through the RS232
port. All G31 moves must be G1 linear moves. No G0, G2, or G3 moves are
allowed.
Expect some over travel if the feed rate used with the move is high, and also if
the stylus in the probe is long. A method for accuracy would be to use the G31
and the G31.1 codes together. Use the G31 at a high feed rate to get up to the
wall. With the high feed rate, the stylus is angled and over the edge because of
the time required to read the probe and stop the motion. Then reverse the
motion to move away from the wall with the G31.1 code in the line. Do this at a
slow feed rate. At F1. the motion is slow enough that it will usually stop within
one tenth. The G31.1 will stop motion when the probe is not touching. This
means that the stylus will be perpendicular to the table and directly at the edge
of the wall when the probe is not touching.
If the stylus is not running true, or a chip is in the spindle, the probe will not
give a true position reading. For consistency use an M19 to orient and lock the
spindle at the same position each time the probe inserted in the spindle. If an
operator is to place the probe in the spindle by hand, orient the spindle prior to
inserting it in the spindle. Sometimes the stylus will work itself loose, confirm
that it is tightly screwed in before using the probe.
2) When a touch is made, the motion will stop and the current position wIll be
outputted through the port.
G1 G31 X1. F50. This line sends just the X axis location to the port
G1 G31 X2. Y5. F50. This line sends the X and Y locations to the port
G1 G31 X3. Y-4. Z-2. F50. This line sends the X, Y, and Z locations to the port
3) Macro SPRINT statements can be used just before the probe line to identify
the information being saved
1) P1, P2, and P3 are used to save the touch positions when the fixed probe
subroutines are going to be used in the program.
2) P1, P2, and P3 can be used with the macro PX1-3, PY1-3, PZ1-3, PA1-3,
and PB1-3 variables. When a probe touch (G31) or probe no-touch (G31.1)
is used on a line with a P1, P2, or P3 each axis position is stored regardless
of the axis that moved to get the touch point.
1) The current position can be saved to a V variable by using a macro AX, AY,
AZ, AA, or AB command.
G90 G1 X4. Y4. G31 F50.
X0 Y0 G31.1 F1.
#V1=AX This saves the X position to V1#V2=AY This saves the Y position to V2
G31.1 Probe No This code causes the machine to stop motion when the probe is not touching
Touch Function and then execution continues at the next line in the program. The G31.1 can be
used with table or spindle probes. This code functions exactly like the G31
code. See also G31.
Using G31 During the probing function, the CNC is programmed as normal. Programming
a G31 with an axis move causes the CNC to monitor the probe interface and
stop all motion in the event of a touch.
The CNC stores three touch points in memory. Coding a P1, P2, or P3 in the
same block with the G31 designates the touch point to stored. This code also
sends the touch or no touch data to the RS-232 serial port.
The axis motion stops, the X, Y, Z, A, B locations are stored as point 1 and the
program continues.
The CNC stores a value of .100E9 (to signify no touch) as the X location of point
#1 and continues the program.
The following example shows how to locate three points inside a 3" diameter
hole. The approximate center is at X0 and Y0. The Z0 is at the top of the
diameter.
Y+ 90˚ POINT 1
PUNKT
X+
225˚ 315˚
POINT 2
PUNKT POINT 3
PUNKT
Figure 15-12 Locating Points
Note: After performing a G31 touch, before another G31 is programmed, the
probe must be moved off the part as in N5 and N7 above.
L9101 Probe The L9101 fixed subroutine has 10 probe functions available:
Functions
1) LOCATE TOUCH POINT
3) PART ORIENTATION
5) Z DATUM LOCATION
7) TOUCH/POSITION CHECK
8) COMPUTE DIAMETER
The code L9101 is used to call a probe function, the R word R1 selects the
specific function. For example: L9101 R1+2. Selects function #2 - CENTER
LOCATION AND RADIUS.
Upon completion of the L9101, the R words R1-R3 contain the results. The R
words can then be used as indirect references throughout the remainder of the
program.
The touch points are retained in memory until power is removed, thus making it
possible to do a mid-program start after the points have been located. As in
circular motion, the G17, G18, and G19 modes determine the output of the
L9101 subroutine. G17= XY, G18= ZX, and G19= YZ.
For example, use function 2 to compute the center location of 3 points. The
logical X is returned in R1. When G18 is in effect, R1 contains the physical Z
center location.
Moves to locate a touch point, apply the probe correction and return to the
starting position. This function uses a two touch process. The first touch
locates the initial point, the second touch is performed at a slow feed rate for
best accuracy.
The following program uses function 1 to locate the 3 points of a circle, instead
of G31 as in the previous example.
Y+ 90˚ POINT 1
PUNKT
X+
225˚ 315˚
PUNKT
POINT 2 POINT 3
PUNKT
Compute Center and Function #2: Compute Center Location and Radius
Radius
Coding: L9101 R1+2.
Points Used: P1, P2, P3
Results: R1= Logical X, R2= Logical Y, R3= Radius
This function computes the center location and radius relative to the three
touch points. The X center position is returned in R1, the Y center position
returned in R2. and the radius returned in R3. This function may be used with
the ID or OD of a circle. The following is a sample program to locate a center
and perform a drilling operation at the center of the circle, using the ID of the
circle:
P1
? ?
P1
P3 P3
P2 P2
N1 M6 T1 (LOAD PROBE
N2 G0 G90 X6. Y0. (POSITION TO CENTER
N3 Z-.25 H1 M64 (POSITION Z
N4 L9101 R1+1. X5. Y1. F25. P1 (LOCATE POINT 1
N5 L9101 R1+1. X5. Y-1. F25. P2 (LOCATE POINT 2
N6 L9101 R1+1. X7. Y-1. F25. P3 (LOCATE POINT 3
N7 L9101 R1+2. (COMPUTE CENTER
N8 M6 T2 (LOAD DRILL
N9 G0 X+R1 Y+R2 (POSITION TO CENTER
N10 H2 Z.1 (BEGIN DRILLING OPERATION
N11 G1 F10 Z-2.0
90˚ P3
P2
P1
This function computes the location of the intersection point and angular
correction needed for program rotation. The computed intersection point
assumes P1 has a 90 degree relationship to the line created from P2 to P3.
90˚
0˚ P3
P2 P3 P2
P2
P3 180˚
P3 P2
270˚
The expected angle is related to the touch surface. The examples above
illustrate how the expected angle changes, depending upon how P2 and P3
touch the part.
The angle is coded in decimal degrees, 0 degrees starts at the X+ direction and
increases in the counterclockwise direction.
PROGRAMMED ANGLE
PROGRAMMIERT
90˚
125˚
TATSÄCHLICH
ACTUAL ANGLE
P3
P3
P2
P2
The angular error returned in R3 is the result of subtracting the expected angle
from the probed angle (P2 to P3). This angle (R3) becomes the angular
correction needed for program coordinate rotation (G68). The sample above
shows the programmed angle from P2 to P3 to be 90 degrees. The angle
necessary for program rotation would then be 35 degrees if the actual angle is
125 degrees.
2.0
P1
P3
P2 5˚
ROTATION CENTER
The example above is a sample program to drill two holes in a part. The
program XY zero position is approximately the lower left corner of part.
N1 M6 T1(LOAD PROBE
N2 G0 X-.5 Y1. (CLEARANCE POSITION FOR POINT 1
N3 Z-1.0 H1 M64
N4 L9101 R1+1. X.5 F25. P1 (MOVE TO TOUCH POINT 1
N5 Z0 G0
N6 X1.0 Y-.5 (CLEARANCE POSITION FOR POINT 2
N7 Z-1.0
N8 L9101 R1+1. Y.5 F25. P2 (MOVE TO TOUCH POINT 2
N9 G0 Z-1.0
N10 X5.0 Y-.5 (CLEARANCE POSITION FOR POINT 3
N11 Z-1.0
N12 L9101 R1+1. Y.5 F25. P3 (MOVE TO TOUCH POINT 3
N13 L9101 R1+3. R2+0 (CALCULATE PART ORIENTATION
N14 G90 G0 H0 Z0
N15 M6 T2 (LOAD DRILL
N16 G90 G0 X+R1 Y+R2 S10000 M3 (MOVE TO INTERSECTION POINT
N17 G92 X0 Y0 (SET ABSOLUTE LOCATION
N18 G68 R0+R3 X0 Y0 (SET ROTATION
N19 Z.1 H1 M8
N20 G81 G99 Z-1.0 R0+.05 F50. X1.125 Y1.125 (DRILL CYCLE
N21 X3.125 (DRILL SECOND HOLE
N22 G69 G80
.125
.125
X+R1
Y+R2
Figure 15-19 CNC Movement to Corner
After probing the part and establishing the rotation, programming X.125 Y.125
causes the CNC to move the center of the tool to the corner of the part.
P2
P1
This function computes the location of the point between P1 and P2 and the
angular correction needed for program rotation. The angular error is
determined the same as function 3 - PART ORIENTATION previously described.
P2
P1
The example above shows a part having an unknown rotation. After using this
function, the R3 contains the angular correction needed for rotation.
UNKNOWN
P1 P2
1/2
Figure 15-22 Part with Unknown Width
The example above shows a part having an unknown width. After using this
function, the R1 contains the location of the midpoint.
UNKNOWN
UNBEKANNT
KNOWN
BEKANNT
PART
FIXTURE
2) Programming:
The following example shows how to locate the top surface and remove .010":
N1 M6 T1 (LOAD PROBE
N2 H1 M64 (MOVE TO OFFSET, SELECT MP8 PROBE
N3 G1 G31 F25. Z-30. P1 (LOCATE P1
N4 L9101 R1+5. Z-.010 (CALCULATE, ADD -.01
N5 M6 T2 (LOAD END MILL
N6 M3 S10000 (SPINDLE ON
N7 Z+R1 H2 (POSITION Z
N8 G1 F100. X10. (MACHINE .010 OFF TOP
Block 7 above positions the Z axis .01 below the touch position. Another
method available is to use the G92 preset code as follows:
N6 M3 S10000 (SPINDLE ON
N7 H2 (POSITION Z
N8 G92 Z-R1 (PRESET ABS. Z LOCATION
N9 Z0
N10 G1 F100. X10. (MACHINE .010 OFF TOP
Using the G92 code allows the absolute Z location to be relative to the touch
position for the remainder of the program.
When machining multiple parts, the Z datum can be stored as a fixture offset
using G10 L02 Z-R1 P#.
CONTACT NO CONTACT
KONTAKT KEIN KONTAKT
Figure 15-24 Tool Breakage Detection
Using the True/False response to redirect the program allows for numerous
capabilities. The following is an example how the program operation changes
according to the touch position:
ENDE
P1
Y 5.0"
POSITIVE APPROACH
ANNÄHERUNG DIRECTION
POSITIV
FINISH
Y 5.0"
Y P1
POSITIVE APPROACH
ANNÄHERUNG DIRECTION
POSITIV
X
Figure 15-26 True/False Comparison
N1 M6 T1 (LOAD PROBE
N2 G0 G90 X0 Y0 (POSITION XY
N3 Z-1.0 H2 M64 (POSITION Z, SELECT MP8
N4 G1 G31 Y10. F25. P1 (MOVE TO TOUCH
N5 L9101 Y5.0 R1+7. R2+8. R3+11. R4+1. (COMPARE POSITION
N6 M6 T2 (LOAD TOOL
N7 M99 P+R2 (“AT” or “PAST”= N11,BEFORE =
N8 G10 L12 P2 R0+.55 (SET DIAMETER FOR ROUGHING
N9 F25.0 (SET ROUGHING FEED RATE
N10 M98 P1 (CALL SUB. TO MACHINE PART
N11 G10 L12 P2 R0+.5 (SET DIAMETER FOR FINISHING
N12 F50.0 (SET FINISH FEED RATE
N13 M98 P1 (CALL SUB. TO MACHINE PART
This example finds a touch point and begins the finishing operation at N11
when the Y touch position is “AT” or “PAST” the Y+5", otherwise the roughing
operation is performed.
This function establishes the probe compensation. The L9101 Function 1 uses
these values when present for error correction. In most cases this function is
not needed because most tolerances are greater than the probe errors.
XY Shift Error The shift error is the difference between the center of the spindle and the
center of the probe. The probe has an adjustment to align the centers. The
CNC XY shift capability allows another method to compensate for the error.
Radial Over Travel Before the probe indicates a touch, the stylus must touch the surface and open
the contacts inside the probe. This causes a slight over travel error. This probe
error varies with the length of the stylus. For example, an over travel error of
approximately .0012" occurs with a 2" stylus length. The error increases to
.0043" with a 7" stylus length. Applying over travel correction improves the 2"
stylus error to +-.0004" and the 7" stylus error to +-.0012.
When locating the center of a circle, the over travel of the probe doesn’t change
the computed center location. The radius of the circle appears larger when
inside a hole and smaller when outside a boss.
After entering the SUM command the CNC displays the point data, R words,
points used and the probe correction setting as follows:
P1=0,0,0,0,0,0,0,0,0
P2=0,0,0,0,0,0,0,0,0
P3=0,0,0,0,0,0,0,0,0
R WORDS R0-R9
0,0,0,0,0,0,0,0,0,0
POINTS USED X Y
The R values are displayed in ascending numerical as R0, R1, R2, R3, R4, R5,
R6, R7, R8, R9.
Entering XY Shift The negative values of R1 and R2 are used for the shift values. R1 becomes the
Values X shift and R2 becomes the Y shift.
EXAMPLE: The probe indicates the center location to be at X.001 and Y.002 after
performing the calibration. The compensation is entered as L9101 R1+9.R2+
X-.001 Y-.002
Entering Radial Over After the ring gauge test, R2 contains the effective radius. The amount entered
Travel for compensation is computed by subtracting the effective radius from the
apparent radius.
%
N1O101 (SUB FOR PART MACHINING
N2G1G90F250.
N4X1.
N5Y1.
N6X0
N7Y0
N8M99
N1O9110 (IF THEN PROGRAM REDIRECTION EXAMPLE
N2L100 (SUB TO SHIFT THEN MOVE
N3G52X+R8Y+R7 (LOCAL COORDINATE SYSTEM
N4M98P101 (INPUT SUB PROGRAM NUMBER
N5M17
N6M30
N7R9+0R8+0R7+0 (ASSIGN R VARIABLES
N8L101
This function may be used to identify the centers of two bores and calculate the
center and angle between them. The example below locates the center of two
bores and calculates the center and angle between them.
N1 M6 T1 (LOAD PROBE
N2 G0 G90 X6. Y0. (POSITION TO CENTER OF THE FIRST BORE
N3 Z-.25 H1 M64 (POSITION Z
N4 L9101 R1+1. X6. Y1. F25. P1 (LOCATE POINT 1
N5 L9101 R1+1. X4. Y-1. F25. P2 (LOCATE POINT 2
N6 L9101 R1+1. X8. Y-1. F25. P3 (LOCATE POINT 3
N7 L9101 R1+2. (COMPUTE CENTER OF THE FIRST BORE
N8 R9+R1 R8+R2 (RENAME THE LOCATION
N9 G0 G90 X10. Y0 (POSITION TO CENTER OF THE SECOND BORE
N10 L9101 R1+1. X10. Y1. F25. P1 (LOCATE POINT 1
Probe Tutorial
Examples in Format Always test the probe to determine if it is functioning properly by typing the
2 M64 M66 code in MDI. Then go into jog, touch the stylus, and look for the
touch/no touch message.
The stylus should run true when the probe is rotated by hand. Place an
indicator in a magnetic base and put the indicator tip on the end of the stylus.
Rotate the probe head by hand and observe the run out. Use the adjustment
screws to get the stylus to run true.
1) This example will demonstrate how the G31 code stops motion and allows
the control to move to the next line in the program. The move on the line
with the G31 or the G31.1 is usually a move that is beyond the desired
touch point.
EXAMPLE: G91 G1 F50.
M64 M66
X-3. G31
M0 Look at the X axis position at this point
X1. G0
M99 P1
Start by jogging the probe to approximately one inch to the right side of a solid
object. The end of the stylus should be below the top of the solid object.
2) This example will demonstrate the effect of feed rate on over travel after the
probe indicates to the control that a touch has been made.
Start by jogging the probe to approximately one inch to the right side of a solid
object. The position display will present the current X axis location. Press the
START button to run this routine each time the position is displayed. Notice that
the location changes over several times it is run. Next, change the feed rate on
line one. Make it faster, then try it at slower feed rates. The position should
repeat more consistently at the slower feed rates. The faster the feed rate, the
further the machine will over travel at the touch point.
Start by jogging the probe to approximately one inch to the right side of a solid
object. The end of the stylus should be below the top of the solid object.
The first touch is at a high feed rate and is only used to get the stylus in the
general area of the edge. Then the stylus moves away and the second
approach is used to get a “good” point. From the second example it was
demonstrated that the slower feed rate results in a more consistent touch
position.
The G31 code will stop motion when the probe switch is opened. The G31.1
code will stop motion when the probe switch is closed. The G31.1 code is used
just after a G31 code is used. The probe switch is opened when the stylus
touches an edge and the motion continues to cause the stylus to open the
switch. At this point, the stylus should be at an angle. It should be mentioned
that the longer the stylus, the more over travel will be required to open the
switch. Motion in the opposite direction can now be stopped with a G31.1
code. When the stylus is vertical, the probe switch is now closed and the
motion will stop because of the G31.1 code.
Try to vary the second feed rate. Again observe the X axis position. The slower
feed rate will result in a more consistent final position.
Start by jogging the probe to approximately one inch to the right side of a solid
object. The end of the stylus should be below the top of the solid object.
Notice the amount of time required to pick up a point with each of these
methods. Compare the time from examples 4 and 5. Also compare the
positions picked up using each method. Consistency and time should be
issues to be aware of.
The stylus should run true when the probe is rotated by hand. Place an
indicator in a magnetic base and put the indicator tip on the end of the stylus.
Rotate the probe head by hand and observe the run out. Use the adjustment
screws to get the stylus to run true.
1) Use the AX, AY, AZ, AA, and AB macro statement to collect and use the
current axis position.
Start by jogging the probe to approximately one inch to the right side of a solid
object. The end of a stylus should be below the top of the solid object.
The macro statement states, “Make the V1 variable equal to the current X axis
location (AX). To see this value in memory, use the DV command from the
command mode. The current location will be stored in the V1 variable location
on the screen. These examples can all be used for the other axes, and they
could all be used in absolute as well.
Start by placing a 1-2-3 block in a vice. hold the block with the three inch sides
in the jaws. Jog the probe to approximately one inch to the right side of the
block. The end of the stylus should be approximately .25 below the top of the
block.
X-3. G31
#V1=AX
Z1. G0
X-4.
Z-1.
F50.
X3. G31
X-3. G31.1
F.5
X3. G31
#V2=AX
#V3=(V1+V2)/2
Z1. G0
X4.
Z-1.
M0
M99 P1
The V1 variable represents the right side touch; the V2 variable represents the
left side touch point. The V3 variable represents the mid-point of the block.
This mid-point will be relative to the SETX position. View the V3 value in the
variable table by using the DV command in the command mode.
3) This example will demonstrate the ability to alter or establish a fixture offset
using the probe and a macro statement.
Start by placing a 1-2-3 block in a vice. Hold the block with the three inch sides
in the jaws. Jog the probe to approximately one inch to the right side of the
block. The end of the stylus should be approximately .25 below the top of the
block.
#V2=AX
#V3=(V1+V2)/2
#FX1=V3
Z1. G0
X4.
Z-1.
M0
M99 P1
The V1 variable represents the right side touch; the V2 variable represents the
left side touch point. The V3 variable represents the mid-point of the block.
This mid-point will be relative to the SETX position. The FX1 macro statement is
used to enter the value of V3, which is the mid-point position, into the X value
of fixture offset 1. Use the DF command and the DV command to compare the
values in the fixture table and the variable table.
Fixed Subroutines
Examples in Format Always test the probe to determine if it is functioning properly by typing the
2 M64 M66 code in MDI. Then go into jog, touch the stylus, and look for the
touch/no touch message. The stylus should run true when the probe is rotated
by hand. Place an indicator in a magnetic base and put the indicator tip on the
end of the stylus. Rotate the probe head by hand and observe the run out. Use
the adjustment screws to get the stylus to run true.The control has fixed
subroutines specially designed to work with the probe. This section will discuss
the use of these routines.
1) Each subroutine requires that the positions used in the calculations are
stored in P variables. There are two methods to pick up and store P values:
EXAMPLE: Method 1
The P1, P2, or P3 variables will store the values of the moving axes in the line
with the G31 or G31.1 codes.
G91 G1 F50.
M64 M66
X-3. G31 P1
M0
X1. G0
M99 P1
The P1 on the line with the G31 will store the X value of the touch point
G91 G1 F50.
M64 M66
X-3. G31.1 P1
M0
X1. G0
M99 P1
The P1 on the line with the G31.1 will store the X value of the touch point
G91 G1 F50.
M64 M66
Z-5. G31 P1
M0
X1.G0
M99 P1
The P1 on the line with the G31 will store the Z value of the touch point
G91 G1 F50.
M64 M66
X-3. Y-3. G31 P1
M0
X1. G0
M99 P1
The P1 on the line with the G31 will store the X and Y axis values
Method 2
Use the L9101 subroutine function 1 to move and store the point. Note that the
program must be written in absolute terms. When using the example use the
SETX command to set the X axis home approximately one inch to the right of
the object to touch.
EXAMPLE: G90 G1
M64 M66
L9101 R0+1. X-3 F25. P1
M0
X1. G0
M99 P1
The function for the L9101 subroutine is selected with the R0+1. selects
function 1 of the L9101 subroutine. The function requires four items:
In the example above only the X axis will be stored because it is the only axis
move in the L9101 line.
Compare this method of picking up and storing a touch point to the methods
discussed previously in this section. Each method will store the points needed;
selecting one method over the other is a matter of programmer’s preference.
Note that one disadvantage of using the L9101 fixed subroutine is that it must
be written in absolute terms.
EXAMPLE: G90 G1
M64 M66
L9101 R0+1. X-3. Y-3. F25. P1
M0
X1. G0
M99 P1
In the example above, the X and Y axis positions will be stored because they
are the axes in motion in the L9101 line.
Quick Keys Menu There are three separate prompting menus within the machine control. They
are the Quick Keys Menu, the Edit Menu, and the Function Menu. These menus
prompt the operator for input to perform machine commands. The Quick Keys
menu is used for quick setup functions. Program editing is accomplished with
the Edit Menu. The Function Menu is used to perform machine tasks. These
menus are activated or deactivated within the machine parameters. Use the
SETP command and the CMD MENU parameter to turn the menus on or off.
When the menus are off, the machine is operated by commands (See Section
Eight, Commands). The Quick Keys Menu is selected by pressing the space bar
from ENTER NEXT COMMAND.
When the power on cold start has been completed the following screen is
displayed when the menus are turned on within machine parameters:
1-DRY RUN Quick key #1 places the control in auto inside the run time menu. The operator
now may choose a dry run option. After a dry run mode is selected, press the
MANUAL key and then the AUTO key to start the dry run.
2-NEXT TOOL Quick key #2 calls the next tool with an M6 T# command. Press the START
button to load the next tool.
3-ZERO RETURN Quick key #3 returns all axes to the HOME position. Press 3-ZERO RETURN then
the START button.
4-SET FIXTURE Quick key #4, places the control in the FIXTURE OFFSET UTILITIES MENU.
5-SET LENGTH Quick key #5 sets the length of the current tool in the spindle at its current Z
location.
6-OFFSETS This Quick key #6 places the control into the OFFSET tables. By pressing the
space bar, the operator may toggle between TOOL LENGTH OFFSET TABLE,
FIXTURE OFFSET TABLE, TOOL TIME TABLE, and MACRO VARIABLE TABLE.
3) Choose the desired axis from the SETUP / AXIS ZERO menu.
This has now set that axis to zero. For example, if you choose X the current
position is now X0. This position does not have to be the same place as cold
start X0. And it is not a fixture offset location.
1- BEGIN
By pressing quick key # 8,then # 1, the control will begin receiving from the RS-
232 port.
2- OPTIONS
Options to the quick key READ allows the operator to customize the input
parameters.
MEMORY/INPUT/OPTIONS:
0- NORMAL ERROR CHECKING2- IGNORE ERRORS
1- IGNORE PARITY ERRORS3- OTHER FORMAT
9-PUNCH Quick Key #9 will output programs and offsets through the RS-232 port.
0- PROGRAM AND TOOLING ONLY will output the program any values in the
tool offset table and any values in the fixture table. The operator is then
prompted for the data format.
2-PROGRAM ONLY will output program data only. No tooling fixture offset data
will be sent. The operator is then prompted for the data format.
3-ALL PROGRAMS will output all programs in the program library. They will be
sent as a single file, no offset data will be included. The operator is then
prompted for the data format.
0-CUSTOM MACRO Quick Key #0 will run program number 9999 without having to switch the
currently active program in memory. This feature allows the user to
conveniently run this program.
When the 0 key is pressed and program number 9999 is not found, the control
will display the program library menu. The user may then choose to start a new
program with a program number 9999, for a user-defined custom macro
program.
a. Press the space bar until the Quick Key menu is displayed.
b. Press the 0 button to run the custom macro to warm machine up.
c. Press AUTO to begin. (Program O9999 will now be run in auto.)
d. After the warm up program is complete, press MANUAL to exit AUTO.
e. Press AUTO to run production part. (Program O1 will now be run in
auto.)
Edit Menu The Edit Menu is selected by pressing the space bar twice from ENTER NEXT
COMMAND, and allows editing or viewing the currently active program. This
Edit Menu Options The menu options displayed function in the following manner.
Function Menu The Function Menu is selected by pressing the space bar three times from
ENTER NEXT COMMAND. The first twelve (12) lines display the currently active
program. The bottom four (4) lines display the Function Menu options. These
menu options are selected by number input. The operator may switch between
the Function Menu, the Quick Keys Menu, and the Edit Menu by pressing the
Space bar.
Selection of menu options may display additional menu options. The top line of
the subsequent menus displays the previous menus selected. Press the
MANUAL key at any menu to abort the process and return to the MAIN menu.
The following pages explain the complete menu structure and the options
available.
1- Setup Function To perform machine Setup functions select option 1 from the main menu. This
function allows for the following options.
1. Tool - This selection is used to set tooling information. It may be used to set
tool length or diameter offsets. These offsets may be input or changed. The
following options are available when Tool is selected:
1. Single - This option is used to set a single tool. The options requiring
input will affect the tool in the spindle. The following options are
available when Single is selected:
3. Store Length - This option is used to input the tool length into the
tool table. The machine will input the current Z axis location into the
tool table. The control performs the SL command.
5. Jog Key - This option allows the operator the ability to Jog the tool to
the gauge point before setting the length. The machine enters the
Jog mode. Press the manual key to return to the previous menu.
2. Multiple - This option should be selected when setting tool data for more
than one tool. When this option is selected, the machine performs the
UT command (See the Setting Tool Offsets, Using the UT command).
3. Offset Table - This option is used to view the tool table. The control
performs the DT command.
4. Turret Location - This option is used to set the current tool turret
location as number 1.
2. Abort - This options aborts the procedure and returns to the main
menu.
2. Fixture - This selection is used to set fixture offset information. The following
options are available:
1. Offset Table - This option is used to view the fixture offset table. This
selection performs the DF command.
2. Read From Jog - This option is used to set fixture offsets using the UT
command. This selection initiates the UT command for Fixture Offset
setting.
3. Zero Axes - This option is used to set the machine axes home positions.
The current axis location is set as the axis home position.
2 - Memory This selection from the main menu may be used to perform machine memory
Function tasks. The following options may be selected to perform the desired operation:
5. Clear - This option is used to clear data from the machine memory.
1. Current Program - This option is used to clear the current program from
memory. The NE command is performed when this option is selected.
2. Offsets and All Memory - This option is used to completely clear tool
and fixture offsets and machine memory. The RI command is
performed when this option is selected.
3 - MDI Function This function performs the MD command, putting the control in Manual Data
Input mode. Pressing the MANUAL key will return to the main menu.
4 - Home Axes This function is used to send the machine to the home position.
Function
1) Return To Home - This option is used to return the machine to the axes
home position. The HO command is performed when this option is
selected.
2) Return For Power Off - This option is used to return the machine to the
cold start position for power off. The SETCS and HO commands are
performed when this option is selected.
5 - Reset Function This function is used to reset the machine’s modal codes. The HO command is
performed when this option is selected.
6- Command Mode This function is used to enter the command mode. The machine operates in
Function the same format as when the Menu Mode is turned off. Press the MANUAL key
to return to the menu mode.
B. MP Probe - This option is used to test the MP probe. The MP test begins
when this option is selected.
2) Abort - This option returns to the main menu. This option is for non
maintenance personnel.
8- Last Screen This function is used to display the previous screen. Warning or error
Function messages that were cleared can be displayed with the use of this function.
Only the last message is displayed.
9- Cold Start This function is used to perform the machine cold start procedure. This
Function function should be the first function used after power on. After this function is
used, the option is no longer displayed on the main menu. If the option is
displayed it should be selected to perform the cold start.
A. Continue - This option should ONLY be used when the axes are aligned with
the cold start indicators. If they are not, use option 2.
B. Align Axes - This option is selected with the JOG key. When the axes cold
start indicators are not aligned, press the JOG key to align them. Press the
MANUAL key to return to the cold start menu. After this option has been
completed select option 1 to complete the cold start procedure.
Mechanical This section will describe the operation of the optional Pallet Changer. The
Overview pallet changer may be operated within the program or by use of the UT
command. The pallets ride on rails with circular bearings. The pallet is locked in
place on the table with a hydraulic clamp.
This clamp is released with program coding of a pallet change or through the
utility menu function. The door operates with a hydraulic valve to open and
close. The pallets are moved by a mechanical arm. The two pallets are
identified as pallet A and pallet B. The forward pallet is pallet A. The rear pallet
is pallet B.
There are three pallet positions, loaded, stored, and working. The loaded
position is when the pallet is locked onto the table with the hydraulic brake. The
stored position is when the pallet is ready to be loaded onto the table. This
position locks into place with a mechanical release. The working position is
when the pallet is released from the stored position. The pallet must be moved
to this position manually. Push the release lever down to pull the table to the
working position. This is the outermost position that the pallet can be moved
to. This position is the most accessible to the operator for part changes.
There are three M Functions that may be used to operate the pallet changer.
These functions can be used to exchange pallets or utilize only one pallet.
Note: The machine parameter “DO YOU HAVE A PALLET CHANGER?” MUST be
answered YES for the pallet to operate.
G17.1 - G17.2 A/B The G17.1 word swap activates B-axis command substitution for the A-axis
Word Swap command. This allows the use of the A-axis rotary moves in one program for
use with the rotary heads on both pallets. If the program calls for an A-axis
move and the rotary device is connected to the B-axis controller, the G17.1
code will swap the A word for a B word. Existing programs written for the dual
4th axis setups that contain the A and B words are allowed. The G17.1 will
automatically swap the B words to A words. The G17.2 word cancels A/B axis
command swap mode.
M31 Exchange M31 performs a pallet exchange. The pallet changer will store the current pallet
Pallets on the machining table and load the other pallet onto the machining table. No
other machine movements will be made. This is the only code allowed on the
program line.
Note: All fixture and machine offsets MUST be canceled prior to attempting a
pallet change.
M32 Store Pallet B When Pallet B is on the table, M32.1 will STORE Pallet B (outside machining
and Load Pallet A area) and pallet arm will move to Pallet A. The machine will be placed in the
WAITING state and the pallet door will remain open until the START button is
pressed. When the START button is pressed Pallet A will be returned to the
table inside the machining area (LOADED).
When Pallet A is on the table, M32.1 will STORE Pallet A. The machine will be
placed in the WAITING state and the pallet door will remain open until the
START button is pressed.When the START button is pressed Pallet A will be
returned to the table inside the machining area (LOADED).
Note: All fixture and machine offsets MUST be canceled prior to attempting a
pallet change.
M32.1 Store Pallet B When Pallet B is on the table, M32.1 will STORE Pallet B and LOAD Pallet A. If
& Load Pallet A & Pallet A is at LOAD position (on machining table), M32.1 will verify Pallet A is at
Verify Pallet A has LOAD (on machining table). No movement will occur.
been Loaded
M33 Store Pallet A When Pallet A is on the table, M33 will STORE Pallet A (outside the machining
and Load Pallet B area) and the pallet arm will move to Pallet B. The machine will be placed in the
WAITING state and the pallet door will remain open until the START button is
pressed. When the START button is pressed, Pallet B will be returned to the
table inside the machining area (LOADED).
When Pallet B is on the table, M33 will STORE Pallet B.The machine will be
placed in the WAITING state and the pallet door will remain open until the
START button is pressed. When the START button is pressed, Pallet B will be
returned to the table inside the machining area (LOADED).
Note: All fixture and machine offsets MUST be canceled prior to attempting a
pallet change.
M33.1 Store Pallet A When Pallet A is on the table, M33.1 will STORE Pallet A and LOAD Pallet B.
& Load Pallet B &
Verify Pallet B has If Pallet B is at LOAD position (on machining table), M33.1 will verify Pallet B is
been Loaded at LOAD (on machining table). No movement will occur.
Note: The table move to the pallet position may be stopped with the SLIDE
HOLD button. The pallet movement to and from the stored position may
also be stopped with the SLIDE HOLD button.
Note: The pallet MUST be in the stored position to change pallets. When in the
working position, the message “RETURN PALLET TO THE STORED
POSITION” will appear if a change is attempted.
Note: The air and hydraulics are turned off between M32 and M33 pallet
changes, and after a STORE PALLET in the pallet utilities.
Note: When a pallet is placed in the service position during a pallet change,
the machine tool enters the WAITING state.
Pallet A Rotary Table Pallet changer machines that are equipped with dual rotary tables have two
& Pallet B Rotary potentiometers located on the sheet metal, one to the left and one to the right
Table Override of the pallet door. They are Pallet A rotary table potentiometer for the rotary
Potentiometer table on Pallet A, and Pallet B rotary table potentiometer for the rotary table on
Pallet B. This is assuming the rotary table on the Pallet A is A axis, and Pallet B
rotary table is B axis.
Potentiometers will become active after Cold Starting the machine and then
enabling the M48.2, Pallet A rotary table override pot, or M48.3, Pallet B rotary
table override pot. These M codes may be used in a program or in MDI mode.
The intention of the potentiometers are to allow the operator to turn the rotary
table for removing or installing the workpiece.
The rotary tables will return automatically to the original position when the
M49.2, Pallet A Rotary Table Override Potentiometer Disable, or M49.3, Pallet
B Rotary Table Override Potentiometer Disable, is programmed. This may also
be done in a program or in MDI mode. The movement of the rotary table will be
slow when the potentiometer is turned. When the axis is returned with disable
codes (M49.2 or M49.3) the move will be automatic and slow in speed. This
rate of speed is not adjustable. The corresponding pot disable M code will lock
out the potentiometer and then bring the rotary tables to the last position. This
will ensure that the rotary tables are in the original position before returning to
the work area.
M48.2 Pallet A M48.2 enables the Pallet A rotary table axis override pot while Pallet A is
Rotary Table stored.
Override
Potentiometer
Enable
M49.2 Pallet A M49.2 disables the Pallet A rotary table axis override pot while Pallet A is
Rotary Table stored.
Override
Potentiometer
Disable
M48.3 Pallet B M48.3 enables the Pallet B rotary table axis override pot while Pallet B is
Rotary Table stored.
Override
Potentiometer
Enable
M49.3 Pallet B M49.3 disables the Pallet B rotary table axis override pot while Pallet B is
Rotary Table stored.
Override
Potentiometer
Disable
EXAMPLE: N3 E0 X0Y0 A0
NOTHALT
Utility Menu The pallets may also be operated using the UT command. When the UT
command is entered, the following menu appears:
2) The machine enters the WAITING state, and the message “PRESS START
TO MOVE PALLET” appears. The X, Y, M48, F150, and G1 will also appear
if a table move is necessary.
a. When the START button is pressed, the machine will move to position
for the pallet change. When in position the machine will enter the WAIT-
ING state.
3) When the START button is pressed, the hydraulic clamp is released and the
pallet will move to the stored position. The table then moves into position to
receive the other pallet. The pallet is moved into the loaded position on the
table. The hydraulic clamp is engaged and the door is closed.
OPTION 2 If Pallet B is on the table, this option performs the same as option 1. When
option 2 is selected and Pallet A is on the table, the following will occur:
2) The machine enters the WAITING state, and the message “PRESS START
TO MOVE PALLET” appears. The X, Y, M48, F150, and G1 will also appear
if a table move is necessary.
a. When the START button is pressed the machine will move to position for
the pallet change. When in position the machine will enter the WAITING
state.
3) When the START button is pressed the hydraulic clamp is released and the
pallet will move to the stored position. The machine enters the WAITING
state for the operator to change parts.
4) When the START button is pressed the pallet is returned to the loaded
position and the door closes.
OPTION 3 If Pallet A is on the table, this option performs the same as option 1. When
option 2 is selected and Pallet B is on the table, the following sequence will
occur:
2) The machine enters the WAITING state, and the message, “PRESS START
TO MOVE PALLET” appears. The X, Y, M48, F150, and G1 will also appear
if a table move is necessary.
a. When the START button is pressed the machine will move to position for
the pallet change. When in position the machine will enter the WAITING
state.
3) When the START button is pressed the hydraulic clamp is released and the
pallet will move to the stored position. The machine enters the WAITING
state for the operator to change parts.
4) When the START button is pressed the pallet is returned to the loaded
position.
OPTION 4: This option is only used when the table is empty. The table MUST
be in position to receive the pallet. See option 5 and 6. When the table is in
position, the following occurs:
OPTION 5: This option moves the table to the change position for Pallet A. The
following occurs:
OPTION 6: This option moves the table to the change position for Pallet B. The
following occurs:
OPTION 7: This option displays the maintenance switches for the pallet
system. This option is to be used by trained maintenance personnel.
OPTION 8: This option allows the operator to enter the JOG mode. The
message “PRESS JOG TO CONTINUE OR MANUAL TO EXIT” appears. Press
the JOG button to enter the Jog mode. When in the Jog mode, press MANUAL
to return to the pallet service utility menu. If the MANUAL button is pressed
when this message appears, the control returns to the command mode.
Macros and
Parametric
Programming
Macros Macros give the programmer the ability to perform arithmetic and comparison
functions within a CNC program. Values for variables (V1- V100) can be
entered from input statements or passed to the macro from R variables or from
the fixture, tool data, and tool time tables. Values from macro statements can
be passed to the CNC program by using parametric variables (R0-R9). Macros
may be used for probe functions and for part outlines where the part can be
defined by an arithmetic formula.
Parametric Parametric programming gives the operator the ability to use a parametric R
Programming variable to represent the value of any program coding word. The variables
include: R0 and R1 - R9. Parametric programming is also used to transfer data
from macro variables V1-V100 to the CNC program for machine motion, feed
and speed.
Parametric variables are used when programming words require change during
the execution of a program or need to be changed at different runs. One typical
use of these variables would be in the use of a subroutine or subprogram to cut
a pocket. The Z words in the routine may use a variable to cut many different
levels. The L word for the subroutine call may use a variable to change the
number of times that the sub is called. The R variable used for the L word must
indicate the subroutine number and number of repetitions (see the example
below). The X, Y, I, and J of a circular move can all be changed by parametric
programming. All program words can use a parametric variable. Parametric
programming is also used when programmer is considering a generic program
for a family of parts.
Note: When variables are used as values, a positive or negative symbol must
be used between the two variables, R9+R2, R8-R2. This is also true when
using radius designation for circular moves or for the minimum clearance
plane description with fixed cycles.
R Variable Definition R variables are defined by coding the R word, + or - symbol and a value.
Note: Variables must be defined in the beginning of the program or just before
they are used in the program. Variables are modal and retain their values
after the termination of a program, after an HO, and after exiting from MDI.
R variables do not have table storage like macro V variables. The
programmer should always specify a value for an R variable; otherwise, the
last programmed value will be used and will result in unpredictable
machining.
Example Program for The parametric R variables are defined in the main program, on lines 32 and
Parametric 37, and in the subroutine on line 19 of the program below. The R variables are
Programming modal; they remain effective until the same R variable is redefined. Note that
on line 21 of the program below, the R1 variable is changed but the R2 variable
remains in effect.
Macros Each macro line is identified by using the # symbol at the beginning of a line in
the program. Macros can reside in a main program, subroutine, or in a
subprogram. Macros may be used during AUTO, MDI (Manual Data Input),
DNC, and at the command line. The maximum number of characters per
macro line is 63.
Parametric R variables are used to transfer macro data to the CNC program.
EXAMPLE: N1 # V1 = V1 + 2.
N2 # V2 = V2 - 1.
N3 # R1 = V1
N4 # R2 = V2
N5 G0 G90 S8000 M3 E1 X+R1 Y-R2
#CLEAR
#PRINT “ENTER THE POCKET LENGTH: ”,
#INPUT V1 Keyboard entry is transferred to V1 (X VALUE)
#PRINT “ENTER THE POCKET WIDTH: ”,
#INPUT V2 Keyboard entry is transferred to V2 (Y VALUE)
#PRINT “ENTER THE CORNER RADIUS:”
#INPUT V3 Keyboard entry is transferred to V3
#V4=V3+V3 Diameter
#R2=V1-V4 Transfers the V1-V4 value to R2 parameter (X
Mathematical
Functions
Mathematical Macros operate with the use of mathematical functions, commands and
Function Macros variables. The variables are used in conjunction with the functions to perform
calculations. The characters below describe the mathematical function
capabilities. Older controls are required to type the Alpha Keys for the
characters not on the keyboard.
Parentheses ( )
- (negation)
* (multiplication)and / (division)
+ (addition)and - (subtraction).
Decimals Numbers without decimals will be considered integers. This is true only for
macro lines.
Exponential Form Exponential form is not allowed. For 1.23^5 use 123000.
Comments Comments are very important part of Macro programming. They explain the
program to others, and remind the programmer why they wrote it the way they
did. Comments on a macro line begin with an apostrophe ( ‘ ), and can extend
to a total line length of 63 characters.
Variables
Arrays Variable arrays can now be used; that is, the subscript of a variable can now be
a variable or arithmetic expression. The subscript variables are D, FX, FY, FZ,
H, PX, PY, PZ, PA, PB, R, and V. The subscript for a variable must not exceed
the allowed range for the variable. For instance, the subscript for a V variable
must be 1 through 99 and the subscript for a FX variable must be 1 through
48.
EXAMPLE: If the variables V1=5 and V2=1 then the following are equivalent:
#V5=1
#V(5)=1
#V(V1)=1
#V(V1+V2-1)=1
#V(V1/V2)=1
#V(V(SQR(V2))=1
AX, AY, AZ, AA, AB, Axis position variables are used to read the current location of the desired axis.
AC: Axis Position
Variables
In the above example, if the Z axis is at 12.050 inches by the time this line is
executed then the control will jump to the line in the program with the label
:GETNEXT.
EXAMPLE: N99 E2 X0 Y0
N100 Z-30 G31 F50.
N101 G91 Z.05
N102 G90
N103 Z-30. G31 F1. The probe will stop the Z axis when it touches
N104 #IF AZ > 12.050 THEN GOTO :GETNEXT
CP: Clock from This variable will return the accumulated time stored since power on.
Power On
CR: Clock for All Run This variable will return the accumulated time for all of the time while the
Time control was in auto mode.
CC: Clock for Current This variable will return the accumulated time of the program currently being
Part executed. The SETP page must have the TIMERS ON for the accumulated time
to register.
D1 - D99: Tool These variables are used to read the current value of any diameter/radius from
Diameter/Radius the tool table. It can also be used to establish or write a value in the table. The
Variables current value for any diameter can be changed by placing the variable on the
left side of the equal sign.
N89 # D2 = D2 + .01
This line will read the current value of diameter offset #2, then write a new
diameter for #2, .01 larger, into the tool table.
FX1-FX48, FY1- These variables are used to read the current value of each fixture offset. It can
FY48, FZ1-FZ48, also be used to establish or write a value in the table. The current value of any
FA1-FA48, FB1- fixture offset can be changed by placing the variable on the left side of the
FB48: Fixture Offset equal sign.
Variables
FY3 Read/write the Y of fixture three
FZ34 Read/Write the Z of fixture thirty four
EXAMPLE: Reading
EXAMPLE: Writing
EXAMPLE: Reading
EXAMPLE: Writing
I, G, O, HO, TL,VF: The TL and VF macros are single variables returning the index of the tool offset
Macro Variables table, and index of the fixture offset table. The I-, O-, HO- and G macros are
arrays, returning inputs, manipulating spare outputs, relative user selected
home positions, and the current value of the G codes. All inputs and outputs
are available from the 1040-2A card.
Fadal reserves the right to use and change any input and output pins at any
time.
The inputs 1 – 6 are user inputs available from the J2 connector on the 1040-
2A card. Pin 1 on the J2 connector is given by a little arrow visible on top of the
connector.
The input values contained in the I-array are either 0 (the input is low/on) or 1
(the input is high/off).
2 = (G1) linear.
plane)
1 = spindle at "R1'
The output is updated when a value is assigned to one of the slots in O-array. If
a zero (0) is assigned to O(1), then the output on J2 pin 6 is pulled low. Any
other value than zero assigned to the output will cause the output to float.
The HO-array contains values that represent the location of user selected home
relative to absolute position for all axes.
HO(5)V - axis
PX1 - PB1, PX2 - These variables are used to read the current value of the touch points. PX1
PB2, PX3 - PB3: would read the current X axis value of touch point P1. PY1 would return the
Probe Touch Point value for the Y axis location of touch point P1 and PZ1 returns the Z axis value.
Variables The values for ONLY three touch points are available. The values for the X, Y, Z,
A, and B axis may be read.
After touching a point with the probe, the position (P1) is now in memory and
each axis position can be used for any calculation or can be output through the
RS-232 port with the print command.
EXAMPLE: N32 #V1=TN This would result in V1 being equal to the current tool number
TT: Tool Time This variable will return the time entered in the time table for life expectancy of
a specified offset.
Note: The TT and TU macro are active when the SETP parameters for tool time
are enabled (On).One of the options (2-5) must be selected.
EXAMPLE: N12 #V1=TT3 This will result in V1 being equal to the tool time entered in the
time table
TU: Tool Used TU variables accumulate the total amount of time that a specific tool has been
in use. For example, if tool 5 is used for ten minutes, then TU5 = 10. If tool 5 is
used for another seven minutes, then TU5=17. TU variables are retained
between part runs and when powering down the machine.
After a tool change, declare a tool length offset (H1 - H99). The current tool
length offset applied determines which TU variable will be used. For example, if
H7 is in effect, then TU7 will be active. The TU variable increases whenever the
control is in the interpolation mode only.
Note: The TT and TU macro are active when the SETP parameters for tool time
are enabled (On) by choosing one of the options (see SETP for tool life
management options).
This will cause a jump to the label :CHANGETOOL when the time is equal to 3.
Using the option 2 of tool life management in the SETP page allows the user to
program the tool time displayed in the tool time table and the TU to read the
used time in the tool time table. The combination of the TT and the TU macro
EXAMPLE: N88 # V1 = V2 + V3
Functions
ABS ABS will return the absolute value of a number.
COS COS will return the Cosine of an angle. See the SET command for degrees or
radians.
The integer value uses only the whole number portion of the number.
RND RND will return a rounded value of a number. The number of places to round to
is set using the #SET RND# command. To set the rounding to four places enter
the command below.
EXAMPLE: N5 #SET RND4 This line sets the number of places to round to
N6 # V1 = RND(V1) This rounds the V1 value to 4 places
Note: When higher accuracy is desired, the rounding may be calculated. This
eliminates the need to use the #SET RND# command. To round off numbers
to the fifth place use this equation: V1 = INT(V5 * 10000)/10000. The value
of V5 will be rounded to the fifth place and V1 will be used for the rounded
number. This example only affects the individual line.
SQR SQR will return the square root of a number. If the number is negative, an error
is printed and the program will halt.
Macro Commands Macro commands help direct each equation. Processing will stop if the
commands are incorrectly used. Computational errors will cause an error
message to be printed on the screen. The processing of macros can be
executed step by step using the DEBUG command.
CLEAR CLEAR is used to zero macro variables. The variables may need to be cleared
at the beginning of a macro routine or at some place within the program. The
CLEAR macro can zero one variable at a time or a range or list of variables. If
the CLEAR statement is left blank, ALL variables (V1-V100) are cleared.
GOTO The GOTO statement is used to redirect the program. When used separately,
the program is redirected to the line number or label indicated.
Labels Labels are used to identify a GOTO location in the program. It is usually best to
choose labels that are descriptive of the area or instruction to which they are
assigned. The colon (:) assigns the LABEL field.
IF - THEN The IF-THEN command is used for comparisons. The IF part of the macro line
will examine a variable or equation and if it is true, it will execute the THEN part
of the macro line. If the IF part of the macro is not true, it will not execute the
THEN part of the macro line and will continue with the next line in the program.
When N words are used for the THEN part of the statement, they are NOT
renumbered when the NU command is used in the control. If the program is
renumbered, then the N word must be altered to match the program.
Note: The THEN part of the statement may also use labels. See Label
definitions.
EXAMPLE: Example 1:
In line N200, if it is true that V1 is greater than V2, then the program will jump
to line number N300. If V1 is not greater than V2 the program will skip to line
N201.
The THEN part of the statement may contain any valid macro statement.
EXAMPLE: Example 2:
In line N100, if the sum of V5 plus V6 is less than or equal to zero, then let the
value of V7 be the absolute value of the sum of V5 plus V6.
INDEX The INDEX macro is used to send indexer code directly to the FADAL indexer.
This feature is only available when used with the FADAL indexer. For more
information on the FADAL indexer see the indexer manual.
EXAMPLE: N5 # INDEX “M1 A90. F300.” This sends CNC code to the FADAL indexer to
move the indexer 90 degrees at a feed rate of 300
INPUT The INPUT command is used to allow the operator to enter program data
during execution of the macro. When the INPUT statement is executed, the
program processing stops until the operator presses the ENTER key. The PRINT
command may be used to prompt the operator for the desired data to enter.
Placing a comma at the end of the PRINT statement will move the cursor to the
end of the text on the screen.
EXAMPLE: N1 #CLEAR
N2 #PRINT “ENTER THE POCKET LENGTH”,
N3 #INPUT V1
N4 # PRINT “ENTER THE POCKET WIDTH”,
N5 #INPUT V2
These statements prompt for the V1 and V2 data required for the program. The
program suspends operation until each value is entered.
LABELS Labels designate a place in the program where program execution may be
directed when preselected conditions have or have not been met. Labels are
unaffected by program renumbering and take the form #:LABEL. Nothing else
may appear on the line. The call to a label will include the colon followed by the
name of the label. Each label in a program must have a unique name. If there
are any duplicate names, program execution will always go to the first label in
the program. Labels may be any alphanumeric the programmer chooses.
Labels must be preceded by a colon (:) and there may be no comments or
other code in the line with the label. A label indicates a place in the program
where program execution may continue after a jump. This may be a routine
that is to be repeated several times, or a routine that is to be executed only
when certain conditions are met. To make a program easier to read, labels
should describe the operation taking place. Such as :LOOP :JUMPBACK.
PRINT The PRINT statement is used to print text and data to the screen.
EXAMPLE: N4 #V6=25.45
N5 #PRINT “THE VALUE CALCULATED: ”,V6,", IS THE X VALUE."
Using a comma to separate the variable from the text, the screen display is as
follows:
Note: Do not use a semicolon to separate the variable from the text.
SET The SET command is used to change macro parameters. There are five
parameters to establish using the SET command. They are DEBUG, RUN,
RND#, DEGREES, and RADIANS. Setting DEGREES or RADIANS affects the SIN,
COS, and ATN commands. The SET commands are inputted after entering the
machine command MA at the command prompt or in the macro program. The
DEGREES and RADIANS parameters may also be set within a macro as
described below. The SET command, without specifying the setting function,
restores all SET parameters to the default.
EXAMPLE: MA Example:
MA
SET RND5
The “#” sign is not required when using the MA command. This Command is
typed at ENTER NEXT COMMAND Prompt.
Line N26 prints the angle V2 in radians. Line N28 prints the angle V2 in
degrees.
SET DEBUG The debug command is used temporarily in the macros to proof the macro
lines. Debug mode works only when SU from the command mode is used. The
advantage to using the debug mode is that it will display the values of the
variables. To start the Debug mode, enter #SET DEB in the macro program or
SET DEB using the MA command. To end the Debug mode, to enter SET RUN
using the MA command or enter #SET RUN in the macro program.
SET DEGREES / SET DEG and SET RAD commands are modal and cancel each other. When
RADIANS using the SIN, COS, or ATN functions the calculations are based upon the
DEGREE or RADIANS setting. The default setting is degrees.
PI=3.14159265
SET RND# This function will return a rounded value of a number. The number of places to
round to is set using the SET RND# command. To set the rounding to four
places enter the command below. The maximum number of places to round to
is five.
EXAMPLE: MA
SET RND4
Note: When higher accuracy is desired, the rounding may be calculated. This
eliminates the need to use the SET RND# command. To round off numbers
to the fifth place use this equation: V1 = INT(V5 * 10000)/10000. The value
of V5 will be rounded to the fifth place and V1 will be used for the rounded
number. This example only affects the individual line.
SET RUN This command is used to exit the DEBUG mode. Using the MA command, enter
SET RUN to exit the DEBUG mode or enter #SET RUN in the macro program.
The program may then be executed.
SINPUT The SINPUT command is used to wait for and accept data though the RS-232
port during execution of a macro. When the SINPUT statement is executed, the
program processing stops until the control receives data through the RS-232.
The control will not look ahead of the line with the SPRINT macro command.
The LOOK AHEAD process begins when data is received through the RS-232
port. The data sent to the port must terminate with a carriage return.
EXAMPLE: N1 #CLEAR
N2 #PRINT “WAIT ! NOW ENTERING THE POCKET LENGTH DATA”,
N3 #SINPUT V1
N4 #PRINT “WAIT ! NOW ENTERING THE POCKET WIDTH DATA”,
N5 #SINPUT V2
SPRINT The SPRINT command is used to send data out through the RS-232 port. Text
and variable data can be sent. The SPRINT statement prints through the RS-
232 port the same as the PRINT statement displays to the screen.
In line N43 the words, part number, and data are considered to be text. If the
value of V4 is 98645 then N43 would print out:
START # The START macro is used to jump to another program. This is used in a
situation where the program being called has subroutines. Subroutines are not
allowed in a subprogram, this is the reason why this START command is used.
This command can be used to link many user main programs. It executes a
jump only. No return will occur. The START command would generally be used
in place of an M2 or M30 at the end of each program being linked. When the
next program is called, the operator must press the AUTO button again to run
the next program.
This command temporarily pauses processing of the program lines at the line
with the WAIT command. Processing will continue when the execution buffer is
completely exhausted. This might be used to Print out a message when the
program is completely finished. The control will print out through the RS-232
port during the preprocess period unless the WAIT command is used. The
WAIT command is also used to have the machine absolutely stationary before
printing out the current location of the machine using the axis variables.
In line N257 the control will stop processing the program and wait for the
execution buffer to be exhausted before executing line N258 which would print
out the current location of the machine.
Note: The execution buffer is a part of memory used by the control to store
processed program data. When the control “looks ahead”, this processed
data is stored in the execution buffer. Using the SETP command allows the
programmer to vary the size of the buffer. On the machine parameter page
the term “Binary buffer” is used for the execution buffer.
AND, OR, and NOT AND, OR, and NOT are logical operators that allow the programmer to
construct compound tests from one or more expressions. In BASIC, a
compound Boolean expression is created by connecting two Boolean
expressions with a “logical operator”. The FADAL macro language allows
“logical operators”. The number of logical operators in a statement is limited
by the maximum number of characters allowed on a single line, 63. This
includes all spaces and the pound sign (#).
A good rule for writing compound expressions is to always verify that the
statement will evaluate to both a TRUE and a FALSE condition. The items being
compared must be segregated with parentheses to avoid confusion in lengthy
or complex statements. This will also ensure that the statement’s components
are evaluated in the order that the programmer intended.
EXAMPLE: Example 1:
AND
EXAMPLE: Example 2:
OR
IF (V1 GT V2) OR (V1 LT V3) THEN GOTO :LOOP
In this example, either condition can be true for control to jump to the label
:LOOP.
EXAMPLE: Example 3:
NOT
IF NOT(V1=0) THEN GOTO :LOOP
In this example if V1 is NOT equal to zero then control jumps to the label :LOOP.
EXAMPLE: Example 4:
The fourth example shows multiple operators strung together in one statement.
Combinations of AND, OR, and NOT can be used to build up very complex
expressions. There is no practical limit to their complexity, except the obvious
one of writing an expression that may be difficult to read and exceeds 63
characters.
Macro Tutorial
Overview This subsection is designed as a tutorial for FADAL’s Macro Language. Several
Macro Language commands are referenced here. For a complete list with
applicable syntax, review the Macro Commands section.
Summary Macro programming uses a subset of BASIC to manipulate data for use in G
code programs. If a shape can be defined with an equation or all of its
elements with variables, then it may be advantageous to use macro
programming.
Conventions All macro lines must be preceded by a pound sign # immediately following a
line number. The open paren (and asterisk * are macro operators and cannot
be used in a macro statement to denote a comment. Instead use an
apostrophe ‘ to denote a comment in a macro line. The open and closed
parens ( |) are grouping operators used to indicate order of operation, use as in
an algebraic equation. The asterisk * is a multiplication symbol.
Comments Comments are very important part of macro programming. They explain the
program to others, and remind the programmer why they wrote it the way they
did. Comments on a macro line begin with an apostrophe ( ‘ ), and can extend
to a total line length of 63 characters.
Variables
V1-V100: Macro There are 100 available variable or ‘V’ registers numbered from V1 to V100.
Variables These registers may be used to manipulate data but may not be used directly
in the G code program. The manipulated values must be passed to the R
registers for use in the program. There are ten R registers numbered R0 to R9.
Since the control uses R0 through R4 in various fixed cycles, it is usually
advantageous to pass values to the R registers starting with R9 and proceeding
backwards to R0. Be careful not to ‘step on’ any values in use. Re-assign
values if necessary.
EXAMPLE: N88 # V1 = V2 + V3
Arrays Variable arrays can now be used; that is, the subscript of a variable can now be
a variable or arithmetic expression. The subscript variables are D, FX, FY, FZ,
H, PX, PY, PZ, PA, PB, R, and V. The subscript for a variable must not exceed
the allowed range for the variable. For instance, the subscript for a V variable
must be 1 through 99 and the subscript for a FX variable must be 1 through
48.
EXAMPLE: If the variables V1=5 and V2=1 then the following are equivalent:
#V5=1
#V(5)=1
#V(V1)=1
#V(V1+V2-1)=1
#V(V1/V2)=1
#V(V(SQR(V2))=1
AX, AY, AZ, AA, AB, Axis position variables are used to read the current location of the desired axis.
AC: Axis Position
Variables N79 # IF AZ >12.050 THEN GOTO :GETNEXT
In the above example, if the Z axis is at 12.050 inches by the time this line is
executed, then the control will jump to the line in the program with the label
:GETNEXT.
EXAMPLE: N99 E2 X0 Y0
N100 Z-30 G31 F50.
N101 G91 Z.05
N102 G90
N103 Z-30. G31 F1. The probe will stop the Z axis when it touches
N104 #IF AZ > 12.050 THEN GOTO :GETNEXT
CLEAR The CLEAR statement is used to zero the values in the variable table. If used
alone it will clear all of the variables in the table. If a variable number is
included after the command CLEAR the variable or variables specified will be
cleared.
For example, if a statement reads #IF V1 <|> 10 THEN GOTO :JUMP with the
intent of looping 10 times, and the value of V1 is 15 from a previous program,
the program will always go to the label :JUMP. This line is an example of a bad
programming practice. The only way a loop written with this statement will ever
end would be if V1 were equal to 10. If the loop were counting up it would be
better written as #IF V1 <= 10. In this form once the count exceeded 10 the
program would drop out of the loop. If a specific value is required in a register it
must be entered by the programmer with an assign statement.
To assign a value to a V variable use the equal sign. Ex: #V1=10 #V1=V2
#V1=R9 #V1=SIN(V10) any valid Macro function may be used to assign a
value to a Macro variable. The R variables may also be assigned values in the
same manner as a V variable. In addition, values may be directly assigned
outside of a Macro statement using a + or - . The value passed to an R variable
in this manner must be either a number or another R variable.
Operator Interaction
PRINT PRINT statements are used to display messages on the screen for the operator.
Anything written that will not change must be enclosed in quotes. Any values
represented by V or R variables must be outside of the quotes ( “ ) and
separated by a comma ( , ).
#PRINT V10
#PRINT “CHANGE PART”
#PRINT “THIS IS PART NUMBER ”,V10
#PRINT “THIS IS PART NUMBER ”,V10,"THERE ARE “,V11,”PARTS LEFT"
SCREEN DISPLAY:
36920
CHANGE PART
THIS IS PART NUMBER 36920
THIS IS PART NUMBER 36920 THERE ARE 121 PARTS LEFT
INPUT An INPUT statement requires that a variable register be specified to receive the
input value, this may be requested by the PRINT statement. The operator will
enter a requested value and that value will be placed in the variable register
specified in the INPUT statement then continue program operation. Pressing
the return key without entering a value will enter a zero (0) in the variable
register specified and continue program execution.
The INPUT statement is used to halt program execution to receive data input
and to display a print statement. It is assumed that a print statement will
request some action from the operator. A PRINT statement only displays to the
screen. PRINT will not halt program execution and therefore may scroll off of
the screen before the operator can read it.
Program Branching
LABELS Labels designate a place in the program where program execution may be
directed when preselected conditions have or have not been met. Labels are
unaffected by program renumbering and take the form #:LABEL. Nothing else
may appear on the line. The call to a label will include the colon followed by the
name of the label. Each label in a program must have a unique name. If there
are any duplicate names, program execution will always go to the first label in
the program. Labels may be any alphanumeric the programmer chooses.
Labels must be preceded by a colon (:) and there may be no comments or
other code in the line with the label. A label indicates a place in the program
where program execution may continue after a jump. This may be a routine
that is to be repeated several times, or a routine that is to be executed only
when certain conditions are met. To make a program easier to read, labels
should describe the operation taking place. Such as :LOOP :JUMPBACK.
GOTO The GOTO statement may also be used in a line by itself to redirect program
execution. In this form it is an unconditional jump, meaning there are no
conditions to be met for the jump. Program execution is directed to the
specified line or label.
These lines will cause program execution to branch to the line or label
specified. GOTO statements may address a line number directly; however, if
the program is re-numbered it will be necessary to verify that all of the
addresses have not changed. The control WILL NOT update any N words in
GOTO statements when a program is re-numbered. A preferred method is to
use macro labels.
IF-THEN The IF-THEN statement provides the FADAL macro programming language the
flexibility necessary for compact, powerful programs. It takes the form IF some
condition is true THEN do something or go to an address.
Some valid equalities: V1=R1 R1=V1 V1=SIN(V2) V5=TN. The condition may
also be a Boolean Equation.
Symbolic Operators The Boolean operators used in the FADAL Macro language are:
= or EQ for Equal
< or LT for Less than
> or GT for Greater than
<= or LE for Less than or equal to
>= or GE for Greater than or equal to
<|> or NE for Not equal to
The THEN portion of the statement may be used to assign or re-assign a value
to a variable or register.
EXAMPLE: THEN GOTO N45 Re-directs program execution to line number N45
or
THEN GOTO :LOOP Re-directs program execution to the label :LOOP
If program execution is re-directed to a line number, it will be necessary to
verify that the line number is correct any time the program is re-numbered.
When the program is re-numbered the control WILL NOT update the line
numbers in an IF THEN loop or a GOTO statement. For this reason it is
preferable to use labels to re-direct program execution.
This line reads, if the contents of variable register V1 are less than or equal to
28, then go to LOOP. This line could be used in a program with V1 as a counter
to perform some operation until the value of V1 is greater than 28, once the
value of V1 exceeds 28, program operation will continue with the program line
following the IF THEN statement.
This line reads, if the contents of variable register V1 are equal to 1, then make
the contents of variable register V20 equal to the contents of variable V5. This
IF THEN statement would be used to set or reset the value of variable register
V20 to the value in V5 once V1 is set to 1.
A good rule for writing compound expressions is to always verify that the
statement will evaluate to both a TRUE and a FALSE condition. The items being
compared must be segregated with parentheses to avoid confusion in lengthy
or complex statements. This will also ensure that the statements components
are evaluated in the order that the programmer intended.
EXAMPLE: Example 1:
AND
IF (V1 GT V2) AND (V1 LT V3) THEN GOTO :LOOP
This first example is true only if expression 1 and expression 2 are both true,
then control jumps to the label :LOOP.
EXAMPLE: Example 2:
OR
IF (V1 GT V2) OR (V1 LT V3) THEN GOTO :LOOP
In this example either condition can be true for control to jump to the label
:LOOP.
EXAMPLE: Example 3:
NOT
IF NOT(V1=0) THEN GOTO :LOOP
In this example if V1 is NOT equal to zero then control jumps to the label :LOOP.
EXAMPLE: Example 4:
The fourth example shows multiple operators strung together in one statement.
Combinations of AND, OR, and NOT can be used to build up very complex
expressions. There is no practical limit to their complexity, except the obvious
one of writing an expression that may be difficult to read and exceeds 63
characters.
Counting Loops Counting loops may be initiated to count the number of parts machined, holes
drilled, etc. The basic code generally takes the form:
# V49 = V49 + 1
# D98 = D98 + 1
The values may be placed in any unused register, for example, any valid V, D,
R, H, TT, or FO register. When using a register for counting, care must be taken
to insure that the value in the register is not overwritten by another function in
use by the control.
FADAL Macro
Language Examples
D-Hole Macro 1) Move to the center of the D-Hole.
a. This move can be made incrementally, but this macro switches to abso-
lute. So remember, if you are programming in incremental, enter the
G91 code on the next line of the program after the call to this macro.
a. This macro assumes that the tool diameter is entered into the tool
table.
b. For tool tables set up for radius Y, enter the radius.
N60#R4=0
N61 M98 P900
N62 X+R5 Y+R6
N63#R3=0
N64#R4=0
N65 M98 P900
N66 X+R5 Y+R6 G40
N67 M99
N68#:CW
N69#R3=V6 ‘FIRST X MOVE TO LINE
N70#R4=0
N71 G90 G8
N72 M98 P900
N73 X+R5 Y+R6 G1
N74#R3=V6
N75#R4=V11 ‘Y MOVE TO BND RAD
N76 M98 P900
N77 X+R5 Y+R6
N78#R1=R5
N79#R2=R6
N80#R3=V10
N81#R4=V11
N82 M98 P900
N83#R1=R5-R1 ‘I TO B.R. CENTER
N84#R2=R6-R2 ‘J TO B.R. CENTER
N85#R3=V13 ‘X BND RAD END POINT
N86#R4=V14 ‘Y BND RAD END POINT
N87 M98 P900
N88 X+R5 Y+R6 I+R1 J+R2 G2
N89#R1=V1-R5
N90#R2=V2-R6
N91#R3=V13
N92#R4=-V14 ‘Y CIRCLE END POINT
N93 M98 P900
N94 X+R5 Y+R6 I+R1 J+R2
N95#R1=R5
N96#R2=R6
N97#R3=V10
N98#R4=-V11
N99 M98 P900
N100#R1=R5-R1
N101#R2=R6-R2
Drill Grid Pattern The following is a simple program to drill a grid of 100 holes in a 10 by 10
Macro - Whole pattern. The program begins with normal G code programming, then clears the
Number Increments values in the variable registers to ensure a proper count for our loops. It uses
the variable V1 for the X position counter and V2 for the Y position counter.
These values will be passed to the R9 and R8 registers for use in the G code
portion of the program. Only one label will be required for the loop. The first IF
THEN statement will check to see when all of the holes in the X axis are drilled.
When the count reaches 10, program execution will ‘fall out’ of the loop. The
next statement zeroes (re-initializes) the X axis counter and the following
statement increments the Y axis value. The second IF THEN statement checks
to see when all of the rows in the Y axis have been drilled. In this program the
values in the variable registers serve as counters as well as the value to
increment for each X and Y move.
#IF V1<=9 THEN GOTO :LOOP Tests if 10 holes have been drilled
#V1=0 Resets V1 to zero for the next row
#V2=V2+1 Increases the value in V2 by 1
#IF V2<=9 THEN GOTO :LOOP Tests if 10 rows have been drilled
G80 M5 M9
G49 Z0
G0 E0 X0 Y0 Z0
M2
This program drills 100 holes with 20 lines of code. An equivalent G code
program would use approximately 109 lines to accomplish the same thing.
Drill Grid Pattern If it is necessary to program the moves in other than whole number
Macro - Decimal increments, then it will be necessary to change the program format only
Increments slightly. The R9 and R8 values will be incremented by the desired values and
must be initialized prior to the loop statement. The variables V1 and V2 are
retained as counters.
Tutorial Program
Summaries
Synopsis The following programs have been designed as an integral part of this tutorial.
Each program is summarized in this section and then each program is
explained line-by-line in the following section. The last section contains listings
of each program.
Program Number 1 This is a simple program to check the length of tool number 1 and enter this
length into the tool offset table. Fixture offset number 23 must contain the
distance from the Z zero surface to the top of the tool probe. Fixture offset
number 24 must contain the X and Y location of the tool probe.
Program Number 2 This program is similar to program 1 in that it uses the TS-20 or TS-27 tool
setting probe to check for tool condition. The function of this program is to
check for broken tools.
Program Number 3 This program gets the tool number for the tool in the spindle then uses that tool
to drill a set of holes. It then checks the time that the drill is cutting against the
time entered in the tool table. If the time is less than the total time in the table
then the routine will continue. Once the time has exceeded the time allowed,
the program will increment the tool number and load the next tool. This process
will continue until all tools in the tool changer have been used. In order for this
program to function properly, the timers must be set to 2)DO NOT CHECK. This
function is found on page two of the parameters. In addition, all tools to be
used must be loaded and their respective tool lengths entered in the tool table.
Program Number 4 This program takes the diameter of a large drill then calculates the amount of
each peck and the minimum dwell time required to relieve pressure on the drill.
This allows the machine to more efficiently drill a large hole with less strain on
the machine.
The formula used takes the number of milliseconds in a minute 60,000 divided
by the RPM multiplied by .75. 60000/RPM equals the dwell time for one
complete revolution. Multiplying by .75 gives 3/4 revolution to relieve the
pressure.
Program Number 5 This program will drill a circular bolt hole pattern as defined by the user. The
Sine and Cosine functions are used to define the X and Y dimensions for the
first hole. The program then rotates the hole an amount determined by the
number of holes.
Program Number 6 This sub program probes two bores in line on the X axis. It then resets the
fixture offset to the center of the left hand bore and rotates the coordinate
system to align with the C/L of the bores. The left hand bore will be set to X0
Y0. The distance between bores is assumed to be 5". This dimension may be
adjusted in line N14. Bores up to approximately 2.5" dia. may be checked. This
value will be influenced by the probe diameter and may be changed by
modifying the X and Y values in the L9101 R1+1 lines.
Program Number 7 This program will cut a rectangular pocket with tapered sides. The pocket will
have been roughed to the bottom finish size. The angle of the sides in this
example is five degrees and the Z step will be .01. The calculation for the X and
Y axis step over is Tan 5 * .01 = the step over distance. The tangent point for
the bottom of the pocket must be calculated for the start dimensions. If the
pocket is through, the Z depth will be equal to the depth of the bottom of the
pocket plus 1/2 the diameter of the ball nose end mill that is being used. The X
Y shift amount would be equal to the radius of the cutter divided by the COS of
the angle. EX. .1875/COS 5 .1875/.99619=.1882 would be the correction
factor for a 3/8 end mill at 5 degrees. If the pocket is not a through pocket, Z
depth will be equal to the depth of the pocket minus 1/2 the diameter of the ball
end mill. The X Y shift amount would use the same calculations as the through
pocket plus a correction factor for the difference in depth, which would be TAN
of the Angle times the Radius of the cutter.
This is the depth factor. Subtract this from the Angle factor .1882 for the total
correction factor: .1882-.0164=.1718
Program Number 8 Sine Wave - A sine wave is constructed by laying out a line that represents one
360 degree revolution. In the case of a cam wrap, this would be equal to the
circumference of the part to be cut. An example would be a 1 1/2" diameter
that has a circumference of PI*dia=3.1416*1.5=4.7124. This line is then
divided into equal segments determined by the for requirements on the blue
print. Many segments give a high resolution and better form; few segments
give a low resolution. Two degree segments are acceptable for most
applications. Once the number of segments is determined, the line is divided
by this number to obtain the Y axis step. Since our line is 360 degrees long, we
find the number of steps by dividing 360 by the angular increment, in this case
two. 360/2=180 steps. We then divide the length of our line (4.7124) by the
number of steps (180) 4.7124/180=.0262. This will be the amount of Y axis
movement for each two degree increment on the Sine wave. The X axis
movement is determined by multiplying the Sine of the accumulated angle by
the height of the wave. The height of the wave will be half of the total X axis
movement. If we require a total movement of 1.25 inches in the X axis our wave
will be 1.25/2=.625.
PI*Dia = Circumference
This program will ‘wrap’ a sine wave around a round part on a fourth axis.
Program Number 9 Ellipse - An ellipse is defined as a collection of points whose locations are the
sum of the distances from two fixed points such that the sum of the distances
is always equal. The formula is given as (X Sq/ a Sq)+(Y Sq / b Sq)=1, where a
is equal to the X radius of the ellipse and b is equal to the Y radius of the
ellipse. By re-arranging the formula to solve for Y we obtain +-Y = +/- Square
Root of ( b2 - ( ( X2 * b2 ) / a2 ) ). Because the formula solves for plus or minus
Y we will need two loops to complete the ellipse, one for the Y+ and one for the
Y-. The X axis will be incremented in .01 steps.
Tutorial Program
Explanations
Program Number 1 This is a simple program to check the length of tool number 1 and enter this
length into the tool offset table. Fixture offset number 23 must contain the
distance from the Z zero surface to the top of the Tool Probe. Fixture offset
number 24 must contain the X and Y location of the tool probe.
Commands probe skip function and feeds the Z axis back into the tool probe at
a slower feed for improved accuracy
N9 #R9=AZ
Reads the current Z location (AZ) into register 9 (R9). This is the actual Z value
from the Home position
N10 #R8=R9-FZ23
This macro statement subtracts the Z fixture location in FIXTURE OFFSET 23
(FZ23) from the value in register 9 (R9) and places it in register 8 (R8) This
compensates for the difference in Z from the Z zero position to the top of the
tool probe
N11 G10 L10 P1 R0+R8
Uses the G10 function to store the value in register 8 (R8) into tool offset
number 1
N12 M5 G0
Turns off the spindle and sets rapid mode
N13 G0 G90 H0 Z0
Sets absolute mode, cancels the tool offset and moves to Z zero
N14 E0 X0 Y0 Z0
Cancels the fixture offset and moves to X0 Y0 and Z0
N15 M99
Code to return from sub program. Will return control to the main or calling
program
Program Number 2 This program is similar to program 1 in that it uses the TS-20 or TS-27 tool
setting probe to check for tool condition. The function of this program is to
check for broken tools.
N4 #H99=H(R8)+FZ23
N6 M65
Turns on the tool probe
N7 H99 Z1. (TOOL LENGTH ENTERED IN OFFSET #99 TO PROBE
Applies the corrected tool length offset to one inch above the tool probe
N8 G1 Z-.1
Brings the tip of the tool below the edge of the probe
N9 G1 G31 Y0
Turns on the probe skip function and moves the tool into the tool probe
N10 #R9=AY
Reads the Y axis position into register number 9 (R9)
N11 G0 Y.25
Moves the tool off of the tool probe
N12 H0 Z0 G0 E0 X0 Y0
Cancels all offsets and sends the machine to the home position
N13 #IF R9>0 THEN GOTO :EXIT
Tests the value of R9. If the value of R9 is greater than Zero the tool is not
broken. This is because once the tool makes contact with the probe, axis
motion is stopped. If the tool is broken it will not make contact with the tool
probe and will complete the move to Y0. If the value of R9 is greater than zero
the THEN portion of the command will cause program execution to continue on
the line with the :EXITlabel. If the value of R9 is zero, this line will cause no
action. The program will continue with the next line.
N14 M0 Halts program execution. If the tool is broken the program will halt
execution here. A #PRINT statement could be used here to alert the operator to
a broken tool.
N15 #:EXIT This is the label for the jump from line 13 to continue program
execution
N16 M99 Code to return from sub program. It will return control to the main or
calling program
Program Number 3 This program gets the tool number for the tool in the spindle then uses that tool
to drill a set of holes. It then checks the time that the drill is cutting against the
time entered in the tool table. If the time is less than the total time in the table,
then the routine will continue. Once the time has exceeded the time allowed,
the program will increment the tool number and load the next tool. This process
will continue until all tools in the tool changer have been used. In order for this
program to function properly, the timers must be set to 2)DO NOT CHECK. This
function is found on page two of the parameters. In addition, all tools to be
used must be loaded and their respective tool lengths entered in the tool table.
N1 03*TOOL TIME*
Contains the program number and a comment.
N2 G0 G90 E1 X0 Y0
Sets the rapid and absolute modes then moves to X0 Y0 at fixture offset
number 1
N3 #V9=TN ‘GET THE TOOL NUMBER
Assigns the number of the tool currently in the spindle to variable 9 (V9)
N4 #R9=V9 Assigns the tool number to register 9 (R9)
Note: Lines three and four may be combined to eliminate a step:
#R9=TN
N5 #:LOOP
Contains the label :LOOP. This is where an IF THEN loop will send the program
N6 M6 T+R9
Commands a tool change to the tool indicated by register 9 (R9)
N7 Z.1 H+R9
Applies the tool offset to .1 above Z zero
N8 G81 G98 Z-.1 R0+.1 F50. M45
Drills a hole
N9 G91 X.5 L20
Drills twenty holes in the X axis .5" apart
N10 G80 G90 M5M9
Cancels the drill cycle, turns off the spindle and coolant, resets the absolute
mode
N11 X0 Y0
Moves back to X0 Y0.
N12 #IF TU(R9)<TT(R9) THEN GOTO :LOOP
Tests the time used against the time set in the Tool Time table. If the time used
is less than the time in the table, program execution continues at the :LOOP
label in line N5. If the tool time is expected to be the same for all of the tools
TT(R9) may be changed to TT1. This will eliminate the need to set the tool time
several places in the table, all times will be checked against the value in one
table. If the time used is more than the time set in the Tool Time Table,
program execution will continue on the next line.
N13 #R9=R9+1
Increments the tool number by one
N14 #TU(R9)=0
Resets the Time used in the Tool Time table to Zero
N15 #IF R9<22 THEN GOTO :LOOP
Tests the value of R9 to see if all of the tools have been used. If the tool
number is 21 or lower, program execution will continue at :LOOP line N5. If the
tool number is greater than 21 program execution will continue on the next
line. NOTE: The test value may be changed to test for more or fewer tools.
N16 M2
End program code
Program Number 4 This program takes the diameter of a large drill then calculates the amount of
each peck and the minimum dwell time required to relieve pressure on the drill.
This allows the machine to more efficiently drill a large hole with less strain on
the machine.
The formula used takes the number of milliseconds in a minute 60,000 divided
by the RPM multiplied by .75. 60000/RPM equals the dwell time for one
N1 O4 (BIG DRILL
Contains the program number and a comment
N2 L100
Subroutine number one
N3 G1 G91 F5. Z-R6
Sets incremental mode feed at 5. IPM to Z minus the value in register 6
(R6)
N4 G4 P+R4
Dwell for the amount of time indicated by the value in R4
N5 #V10=AZ
Enters the current Z position into V10
N6 #IF V10>V1 THEN GOTO N3
Tests for the current location of Z. If full depth has not been reached loop back
to N3
N7 #V10=0
Reset V10 to zero
N8 G90 G1 Z.1F50.
Set absolute mode. Feed out to .1 above Z zero
N9 M17
N10 M30
Lines nine and ten end the subroutine definitions
N11 #CLEAR
The program starts here
This statement clears all of the values in the variable table
N12 R9-1. R8+1000. R7+.05 (CHANGE THIS LINE FOR NEW VALUES.
Sets the R values for the drill to be used
N13 #PRINT “R9=ABSOLUTE Z DEPTH”
N14 #PRINT “R8=RPM TO BE USED”
N15 #PRINT “R7=DIAMETER OF DRILL BEING USED”
Lines 13, 14 and 15 inform the operator what the R values are used for
N16 #V1=R9
Passes the value in R9 to V1
N17 #V2=R8
Passes the value in R8 to V2
N18 #R4=(6000/V2)*.75
Calculates the Dwell time and stores it in R4
N19 #V3=R7
Passes the value in R7 to V3
Program Number 5 This program will drill a circular bolt hole pattern as defined by the user. The
Sine and Cosine functions are used to define the X and Y dimensions for the
first hole. The program then rotates the hole an amount determined by the
number of holes.
N1 O5 (BOLT PATTERN
Program number and comment
N2 #CLEAR
Clears all variable registers
N3 #PRINT “X0 Y0 IS THE CENTER OF THE PATTERN USING FIXTURE OFFSET
#1"
N4 #PRINT “R5 IS THE NUMBER OF HOLES TO BE DRILLED”
N5 #PRINT “R4 IS THE DIAMETER OF THE HOLE PATTERN”
Program Number 6 This sub program probes two bores in line on the X axis. It then resets the
fixture offset to the center of the left hand bore and rotates the coordinate
system to align with the C/L of the bores. The left hand bore will be set to X0
Y0. The distance between bores is assumed to be 5". This dimension may be
adjusted in line N14. Bores up to approximately 2.5" diameter may be
checked. This value will be influenced by the probe diameter and may be
changed by changing the X and Y values in the L9101 R1+1 lines.
N3 X0 Y0 E1
Move to X0 Y0 at fixture offset 1
N4 Z0.1 H1
Moves the probe to .1 above Z zero
N5 G1 Z-0.25 F30.
Moves the probe .25 below Z zero
N6 M64
Turns on the probe
N7 L9101 R1+1. Y1.25 P1 F30.
Calls the probe routine to pick up the first point in the first bore
N8 L9101 R1+1. X-1.0825 Y-0.625 P2 F30.
Calls the probe routine to pick up the second point in the first bore
N9 L9101 R1+1 X1.0825 Y-0.625 P3 F30.
Calls the probe routine to pick up the third point in the first bore
N10 L9101 R1+2.
Calculates the diameter and center point of the first bore
N11 #V50=R1
Stores the X location of the first bore in V50
N12 #V51=R2
Stores the Y location of the first bore in V51
N13 G0 Z.1
Moves to Z.1
N14 X5. Y0
Moves to the estimated center point of the second bore
N15 G1 Z-0.25 F20.
Moves to Z-.25
N16 L9101 R1+1. X5. Y1.25 P1 F30.
Calls the probe routine to pick up the first point in the second bore
N17 L9101 R1+1. X3.9175 Y-0.625 P2 F30.
Calls the probe routine to pick up the second point in the second bore
N18 L9101 R1+1. X6.0825 Y-0.625 P3 F30.
Calls the probe routine to pick up the third point in the second bore
N19 L9101 R1+2.
Calculates the diameter and center point of the second bore
N20 #V60=R1
Stores the X location of the second bore in V60
N21 #V61=R2
Stores the Y location of the second bore in V61
N22 #V55=V60-V50
Calculates the X distance from the first bore to the second bore
N23 #V56=V61-V51
Calculates the Y distance from the first bore to the second bore
N24 #V57=ATN(V56/V55)
Calculates the angular rotation off of 0
N25 #FX1=FX1+V50
Sets fixture offset one X location to the center of the first bore
N26 #FY1=FY1+V50
Sets fixture offset one Y location to the center of the first bore
N27 #R9=V57
Sets R9 equal to the angular rotation of the second bore
N28 G49 Z0
Cancels tool length offset
N29 G0 X0 Y0 E1
Moves to X0 Y0 of fixture offset one
N30 G68 X0 Y0 R+R9
Rotates the coordinate system to align on the bores
N31 M99
Code to return to the main or calling program
Program Number 7 This program will cut a rectangular pocket with tapered sides. The pocket will
have been roughed to the bottom finish size. The angle of the sides in this
example is five degrees and the Z step will be .01. The calculation for the X and
Y axis step over is Tan 5 * .01 = the step over distance. The tangent point for
the bottom of the pocket must be calculated for the start dimensions. If the
pocket is through, the Z depth will be equal to the depth of the bottom of the
pocket plus 1/2 the diameter of the ball nose end mill that is being used. The X
Y shift amount would be equal to the radius of the cutter divided by the COS of
the angle. EX: .1875/COS 5 .1875/.99619=.1882 would be the correction
factor for a 3/8 end mill at 5 degrees. If the pocket is not a through pocket Z
depth will be equal to the depth of the pocket minus 1/2 the diameter of the ball
end mill. The X Y shift amount would use the same calculations as the through
pocket plus a correction factor for the difference in depth, which would be TAN
of the Angle times the Radius of the cutter. EX: TAN 5 * .1875 =
.087488*.1875 = .0164. This is the depth factor. Subtract this from the Angle
factor .1882 for the total correction factor. .1882-.0164=.1718.
N1 O7 (TAPER RECTANGLE
Contains the program number and a comment
N2 G0 G90 G80 G40 G49 Z0
Safe start line
N3 S7500 M3 M8
Spindle on 7500 RPM coolant on
N4 G8 M92
Set intermediate gain turn off ramping. This increases the accuracy and
smoothes the moves
N5 G0 X0 Y0 E1
Move to the center of the pocket
N6 Z0.05 H1
Move to .05 above Z zero
N7 G1 Z-1.687 F50.
Move to the bottom of the pocket. The tangent point must be calculated for the
X and Y locations
N8 R9+0.8736
Set R9 equal to 1/2 of the Y dimension at the bottom of the pocket plus the
tangent point on the ball end mill
N9 R8+1.3556
Set R8 equal to 1/2 of the X dimension at the bottom of the pocket plus the
tangent point on the ball end mill
N10 R7+1.687
Set R7 equal to the Z depth. The pocket depth plus 1/2 of the endmill diameter
N11 #:LOOP
Label to loop to for each step
N12 G1 Y-R9
Mill from the center to Y- dimension
N13 X+R8
Mill from the center to the X+ dimension
N14 Y+R9
Mill to the Y+ dimension
N15 X-R8
Mill to the X- dimension
N16 Y-R9
Mill to the Y- dimension
N17 X0
Mill to X0
N18 #R9=R9+.00087
Increment the Y dimension by .00087. The Tangent of the angle times the .01
Z step. In this case the angle is five degrees
N19 #R8=R8+.00087
Increment the X dimension by .00087. The tangent of the angle times the .01 Z
step. In this case the angle is five degrees
N20 #R7=R7-.01
Increment the Z dimension .01
N21 Z-R7.
Move the Z axis up .01
N22 #IF R7 GT 0 THEN GOTO :LOOP
Test to see if the top of the part has been reached
N23 G0 Z.5 M5 M9
Rapid to Z.5 turn off the spindle and coolant
N24 G49 Z0 E0 X0 Y0 Z0
Cancel offsets and return to the home position
N25 M2
End of program
Program Number 8 Sine Wave - A sine wave is constructed by laying out a line that represents one
360 degree revolution. In the case of a cam wrap, this would be equal to the
circumference of the part to be cut. An example would be a 1 1/2" diameter
that has a circumference of PI*dia=3.1416*1.5=4.7124. This line is then
divided into equal segments determined by the for requirements on the blue
print. Many segments give a high resolution and better form; few segments
give a low resolution. Two degree segments are acceptable for most
applications. Once the number of segments is determined, the line is divided
by this number to obtain the Y axis step. Since our line is 360 degrees long we
find the number of steps by dividing 360 by the angular increment, in this case
two. 360/2=180 steps. We then divide the length of our line (4.7124) by the
number of steps (180) 4.7124/180=.0262. This will be the amount of Y axis
movement for each two degree increment on the Sine wave. The X axis
movement is determined by multiplying the Sine of the accumulated angle by
the height of the wave. The height of the wave will be half of the total X axis
movement. If we require a total movement of 1.25 inches in the X axis our wave
will be 1.25/2=.625.
This program will ‘wrap’ a sine wave around a round part on a fourth axis.
Tool change
N29 S2500 M3 M8
Spindle and coolant on
N30 G0 X0 Y0 A0 Z0 E1
Move to position
N31 Z1. H1
Move to Z 1
N32 G1 Z0.65 F15.
Move to cut height. Z zero is the center of the part
N33 L101
Call Subroutine
N34 M5 M9
Turn off spindle and coolant
N35 G49 E0 X0 Y0 Z0
Cancel offsets
N36 G28
Go home
N37 M2
End of program
Program Number 9 Ellipse - An ellipse is defined as a collection of points whose locations are the
sum of the distances from two fixed points such that the sum of the distances
is always equal. The formula is given as (X Sq/ a Sq)+(Y Sq / b Sq)=1 Where a
is equal to the X radius of the ellipse and b is equal to the Y radius of the
ellipse. By re-arranging the formula to solve for Y we obtain +- Y = Square Root
of ( b2 - ( ( X2 * b2 ) / a2 ) ). Because the formula solves for plus or minus Y, we
will need two loops to complete the ellipse, one for the Y+ and one for the Y-.
The X axis will be incremented in .01 steps.
N1 O9 (ELLIPSE PROGRAM
Program number and a comment
N2 G0 G90 G80 G40 G49 Z0
Safe start line
N3 T1 M6
Call tool one
N4 S2500 M3 M7
Spindle on coolant on
N5 G0 X0 Y0 Z0 E1
Rapid to the middle of the part
N6 #:XDIM
N19 #R9=V20
Transfers the X+ location to R9
N20 G0 X+R9 Y0
Moves to the start point on the Ellipse
N21 Z0.1 H1
Moves the tool to .1 above Z zero
N22 G1 Z-0.25 F20.
Feeds the tool to Z-.25
N23 #V25=V20
Copies the value of V20 into V25 for use as a counter
N24 #:LOOP
Label to loop to for each step
N25 #V20=V20-.01
Calculates the next X location
N26 #V21=V20*V20
Tutorial Program
Listings
Program Number 1 N1 O99 (CHECK TOOL
N2 G90 G0 E24 X0 Y.25 S250. M4
N3 M65
N4 H1 E23 Z1.
N5 G1 G31 Z-.1 F20.
N6 G91 Z.05
N7 G90 S500
N8 G1 G31 Z-.1 F1.
N9 #R9=AZ
N10 #R8=R9-FZ23
N11 G10 L10 P1 R0+R8
N12 M5 G0
N13 G0 G90 H0 Z0
N14 E0 X0 Y0 Z0
N15 M99
N26 M45
N27 X1.
N28 X2.
N29 G67
N30 G0 G90 H0 Z0
N31 E0 X0 Y0
N32 M2
N20 #R7=R7-.01
N21 Z-R7.
N22 #IF R7 GT 0 THEN GOTO :LOOP
N23 G0 Z.5 M5 M9
N24 G49 Z0 E0 X0 Y0 Z0
N25 M2
N36 G28
N37 M2
N39 #R8=V31
N40 G1 X+R9 Y-R8 F20.
N41 #IF V20 < V25 THEN GOTO :LOOP1
N42 G0 Z0.1 M5 M9
N43 G49 Z0 E0 X0 Y0
N44 G28
N45 M2
Flood Coolant
Through the Spindle
(Optional)
Description The Coolant Through the Spindle option provides coolant flow through the
spindle. The system has its own pump and electrical system, separate from the
standard flood coolant system. The main power switch for this system is
located in the rear of the machine and is labeled “Coolant Through Spindle.”
The coolant through main disconnect switch must be in the on position to
activate the coolant through system.
The SETP command allows the operator to select M7 or M8 for flood coolant.
When M7 is selected for flood coolant, M8 is used to activate the coolant
through the spindle option from the program. When M8 is selected for flood
coolant M7 is used to activate the coolant through the spindle option from the
program. The M9 code will cancel the M7 or M8 codes.
Special hollow retention knobs need to be fitted into the ends of tool holders,
which are intended for use with special tools that allow for coolant through the
tool. Because these retention knobs are hollow, their manufacturer
recommends usage with tools that have no side cutting pressure. The thin side
walls of these special retention knobs may fracture when using side cutting
tools like end mills, fly cutters, face mills etc. When the retention knobs fracture
and break, the tool will fall out of the spindle.
Note: Tools with side cutting pressure require solid retention knobs. Special
filters may be required to be retrofitted to the system if micro sized grit is in
the coolant. The grit can damage the rotating seals in the coolant through
system. If this seal is destroyed, the coolant will leak out of the seal and
damage the belt or other systems in the head area. These filters would be
supplied and provided by the user as to suit their particular need.
If the coolant through the spindle system is activated when a tool is in the
spindle, which has a solid designed retention knob, pressure will build up
behind the retention knob. When the solid tool holder is removed from the
spindle, either by hand of from a tool change, the pressurized coolant will spray
out from the flange area. It is suggested to used the tool changer, with the
doors closed, to remove a tool from the spindle when the coolant through the
spindle system is pressurized.
Note: Always wear eye protection when operating the machine and all of its
added equipment.
Hydro Sweep
(Optional)
Hydro Sweep™ Chip The Hydro Sweep™ option is used to clear machined part chips from the
Removal System machine tool. This system uses a flood coolant wash to transfer the chips to a
recycling container.
The Hydro Sweep™ system is comprised of flood wash nozzles, a flood coolant
tank, a rotating chip drain drum, and a chip ejector shoot. The flood wash
nozzles are prepositioned to provide maximum wash capabilities. The wash
flood is divided into three sections, the left side, the right side, and the cross
wash.
The rotating drum is driven, on rollers, by a motor. The rollers are belt driven by
a standard 110 vac motor. The motor is powered by the machine tool. The
electrical plug for the motor is mounted to the rear of the VMC and marked
“Conveyer”. The drum is activated by pressing the CYCLE START button on the
Hydro Sweep™ control panel. The drum may also be plugged into a standard
wall socket. This provides the drum motor with power without turning on the
flood wash.
wash. 20 80
0 100
TRANSFER 2
CYCLE START
Operation The Hydro Sweep™ is operated using the Hydro Sweep™ control panel. The
control is mounted on the front of the VMC under the control pendant. The
flood wash system is activated by pressing the CYCLE START button on the
control panel. It may also be activated by the M20 code in the machine
program.
The CYCLE START and M20 code are toggles for the system. Either can turn the
system on or off. Press the button once to active the system and press it again
to deactivate the system. The M20 operates the same way. The first time the
code is performed in the program, the system is activated. The second time it
is performed the system is deactivated. When the system is used, by either of
these methods, the flood wash and drum are activated or deactivated. To
activate the drum without the flood wash, the drum motor MUST be plugged
into another power source.
Note: When an alternate power source is used, the drum is NOT activated by
the CYCLE START or M20.
The knobs marked TRANSFER 1 and TRANSFER 2, are used to set the flood
time. The TRANSFER 1 knob controls the cross wash. The TRANSFER 2 knob
controls the left and right wash. The flood has four cycles. The cycles rotate in
sequence from the cross wash, to the left wash, to the cross wash, to the right
wash. This sequence is continual until the CYCLE START button is pressed.
Only one wash cycle is on at any time. As one cycle starts the other stops. The
flood wash duration for each cycle position is determined by the TRANSFER
knob settings. The knobs are adjustable from 0 to 100 percent. With the knob
at 0 the wash cycles for three seconds. At 100 percent the wash cycles for
thirty seconds. The rotating drum lifts the chips to a drainage tray. Chips are
moved from the drainage tray to a recycling bin by a ram. This ram moves at
preset intervals when the system is activated.
Automatic Doors
(Optional)
Description The Automatic Door option may be operated using the M80, (open), and the
M81, (close). The doors ONLY operate with the M functions when they are in
the interlocked position. The interlocked position is when the doors are locked
into place on the pneumatic valves. When the doors are in the interlocked
position, the M80 code activates the pneumatic valves to open the doors.
When in the open position, the doors may NOT be closed manually. When in
the closed position, the door interlock may be manually disengaged to open
and close the doors. The door interlocks may be manually released by opening
the doors by hand. This requires slightly more pressure than without the
interlocks. The interlocks may be engaged manually by pulling the doors
closed, by hand, until the interlock engages. The interlocks must be engaged
manually to open the doors with the pneumatic valves.
Note: An M20 code is used to close the doors when the machine tool is not
equipped with a general indexer.
Note: When the doors are closed and the M20 is coded, the machine will wait
for a signal. To override this condition, open and close the doors manually.
Note: The M20 code is ONLY used when the machine is NOT wired for a
general purpose indexer. Use the M81 code when there is an indexer.
The doors will come to a complete closed position before the program will
continue. When a general purpose indexer is used, the doors will close with an
M81.
M80 Automatic This function is used to open the automatic doors. When the doors are in the
Doors Open interlocked position, this code activates the pneumatic valves to open the
doors. When in the open position, the doors may NOT be closed manually.
When in the closed position, the door interlock may be manually disengaged to
open and close the doors. The interlocks must be engaged manually to open
the doors with the pneumatic valves. The interlocks may be engaged manually
by pulling the doors closed, by hand, until the interlock engages.
M81 Automatic This function is used to close the automatic doors. When the doors are in the
Doors Close interlocked position, this code activates the pneumatic valves to close the
doors. When in the open position, the doors may NOT be closed manually.
When in the closed position, the door interlock may be manually disengaged to
open and close the doors. The interlocks must be engaged manually to open
the doors with the pneumatic valves.
Note: When the doors are closed and the M81 is coded the machine will wait
for a signal. To override this condition, open and close the doors manually.
Note: This function is ONLY used when the machine is wired for a general
purpose indexer. Use the M20 code when there is no indexer.
Servo Coolant
(Optional)
Description The Servo Coolant is an option that requires the appropriate software version
and hardware. The M7.1 or M8.1 activates the Optional Servo Coolant and
Coolant one (Flood). The SETP command allows the operator to select M7 or
M8 for flood coolant. The H word must be specified before programming the
M7.1 or M8.1.
The servo coolant option has been designed to allow the user to program a
direction of coolant flow. This coolant flow may be directed onto the tool or
directly onto the part to cool and wash away chips.
The servo coolant will be assigned to the A axis. If a rotary table is on the VMC,
it will have the A axis and the servo coolant will then have the B axis. When in
JOG mode, the servo coolant may be moved by jogging in the A or B axis (see
SETP page, set parameter for A or B ratio option to COOLANT).
The CS Procedure When the VMC is powered on the servo coolant nozzle will find its own COLD
START zero position by seeking the spindle housing and backing off 10.0
degrees. The nozzle is moved towards the spindle until the movement is
obstructed. When the user COLD STARTS the VMC the Servo Coolant will again
seek the alignment position. At this point the nozzle is moved back by 10
degrees and Cold Start position is set. The range of motion is limited to 0 to 45
degrees from this CS position. The Cold Start will time out after 15 seconds.
The external override potentiometer knob must be straight upward in the OFF
position before Cold Starting the VMC.
The Servo Coolant will also have an external override potentiometer knob
located on the right side of the doors on the Chip guard. When this override is
straight up, the display will show OFF. If the knob is rotated, the amount
overridden will be displayed to the right of the position display. This knob will be
active after CS for all modes of operation and may be locked in or out with the
M48.1 and M49.1 codes.
When the control is in AUTO or MDI the position display will be as follows:
X 0.0000 0
Y 0.0000 0 A0 OFF
Z 0.0000 0
The Axis Position Display is modified to allow display for override pot. The
numeric display to the right the position display is now replaced by the value of
the override pot. This display will be in degrees (A or B axis only). This display
is active after Cold Starting the machine providing the servo coolant ratio is
selected in the SETP parameter page. Override pot should be in OFF position at
CS.
Setup Procedure 1) Return the nozzle to the HOME position by using the HO command or by
using JOG mode to jog the nozzle back to the CS zero position. The override
potentiometer must be in the off position.
2) From MDI, call the first tool to be used with the Servo Coolant. With this tool
in the spindle turn on the coolant. Next position the coolant flow onto the
tip of the tool by using the manual Pulse Generator. Adjustment may be
made later for the nozzle to point to the outer diameter of the tool by using
a P word and diameter value.
3) Note the degree value on the display. This will be the value for the L WORD
on the M7.1 line for the first tool. No negative position may be programmed
for the Servo Coolant.
L = Degrees to point to the first tool programmed. The L word initializes the
coolant nozzle angle.
For example, if Tool 3 needs the nozzle to be adjusted upward, the calculation
must be changed. To change the calculation the M7.1 line must include a Q
word. If the current value in the tool table offset 3 is -22.39 by adding one inch
to this value, the Q word will be -23.39. The program will now use the Q word
instead of the H word value to aim the programmable coolant upward 1 inch.
This change now adjusts the original setup parameter programmed for the first
tool. The next H word / M7.1 combination will return to the original
programmed setting. The Q word does not affect the tool length offset or
change any values in the tool table.
Note: M48.1 and M49.1 enables and disables the override pot. This is to
allow maximum movement to the nozzle even when the override pot is not
at zero.
M15 Reciprocation for the A (Continuous sweep mode -Servo coolant option)
Use of the reciprocation with the servo coolant will continuously sweep the
nozzle across the tool and part. The servo coolant nozzle has a axis range of 0
to 45 degrees only.
The chip auger and wash down system is comprised of flood outlets, a flood
coolant tank, a rotating mechanical auger and a chip shoot. The flood wash
outlets are pre-positioned to provide maximum wash capabilities. The flood is
divided into two sections: the right side and the left side.
The chip auger is driven by a shaft that is pinned to the auger. The shaft is
driven by a ¾ HP standard 240 VAC 3 phase motor with a ninety degree angle
head adapter. The motor is powered through the machine. The electrical plug
for the motor is mounted at the bottom of the CNC Box. The flood pump is also
a standard 240 VAC 3 phase motor and the electrical plug is mounted at the
bottom of the Junction Box.
The wash system uses the fluid in the coolant tank. The coolant tank capacity
is approximately 70 gallons to provide an adequate supply for both the coolant
system and the wash. The coolant tank has a set of baffles (screens) inside the
tank to filter out chips that get past the bottom pan screen. Therefore, the
coolant tank will have to be cleaned periodically to remove any accumulation of
chips inside the coolant tank.
Operation The chip auger and wash system can run together (Standard Mode) or the
wash separately (Wash Only Mode). The normal operating mode is with the
switch in the Auger Wash mode. A control box mounted on the front of the
machine (underneath the pendant control) has a two position switch to select
the desired mode, Auger Wash or Wash Only. In both conditions, the side door
panels must be installed and the front doors closed for the system to operate.
The coded magnetic interlocks on the side panels and front doors must be in
their closed state (normal operation when the front doors are closed and the
side panels are installed).
The chip auger wash system is activated and deactivated by the lower button
on the control panel (labeled Start/Stop). The button is pushed once to activate
the auger wash system and pushed again to deactivate the auger wash
system. Either mode, Auger Wash or Wash Only, can be stopped immediately
by opening the front doors or removing one of the side panels.
The chip auger/wash system cycle can also be activated by programming M20.
Programming M20 again turns off the chip auger/wash system.
In the auger mode (Auger Wash), the auger continuously runs and the wash
system cycles. The wash cycle time is a fixed off cycle time (time between
when the wash shuts off and when the next wash cycle starts). Both sides of
the machine are washed at the same time. The wash duration time (on time)
can be adjusted by the cycle wash control (middle knob on the control box
panel). The shortest duration time occurs with the knob rotated fully
counterclockwise. The longest duration time is when the wash cycle time knob
is fully rotated clockwise.
In the wash only mode, the auger does not operate and the wash system
operates normally. The wash cycle time can be manipulated to adjust the wash
duration (on/off time) by rotating the knob either clockwise or counter
clockwise, respectively.
The auger operates automatically when the Start/Stop button is activated. The
auger will move the chips across the bottom of the machine as the wash
system washes the chips into the auger. The auger pushes the chips out of the
push-out shoot where they are collected for removal. A standard 55-gallon
drum can be placed on a pallet underneath the chip shoot to collect the chips.
If a jam condition occurs, the auger motor will reverse to clear the jam
condition. The auger reversal is controlled by an overload current condition.
The current supplied to the motor is monitored through the auger board. When
a jam condition occurs and the supply current to the motor exceeds the current
limit, the auger motor will reverse. The auger will reverse approximately 3-5
turns and then will resume normal operation. If the overload condition still
exists (the reversal did not clear the jam the first time), the auger will repeat the
reversal/forward clearing procedure up to 5 times per minute.
If the condition still exists, the auger board will trip and the obstruction will have
to be cleared manually, the auger board reset (reset switch on auger board),
and the normal operation resumed.
1) SWAP TOOLS- Option 1 within DD is SWAP TOOLS, which will exchange the
Tool in the Spindle for the bucket ready position.
2) SORT TOOLS- Option 2 within DD will sort the tools automatically until each
tool number is located in the same bucket number. Upon completion, Tool
number 1 will be in the Spindle.
SETTO SETTO without a number parameter following resets all of the tool numbers to
that of the bucket numbers, regardless of where the tools are located, and sets
bucket 1 at the bucket ready position, and tool 1 in the spindle.
1) Using Turret CW or Turret CCW, rotate bucket 1 to the bucket ready position.
3) All of the tool numbers will be reset to that of the bucket numbers. Tool
number 1 is in the Spindle.
5) If Turret rotates in the incorrect direction, the Turret Motor may need to be
rephased.
SETTO,# SETTO,# is used to reset the Turret locations by specifying that “#” is the
number of the bucket (not the tool number) located at the bucket ready position
and ready to be exchanged. The remaining bucket and tool numbers are
recovered as the sequence is retained.
1) Rotate the Turret using Turret CW or Turret CCW at least one position until
the desired bucket number (not tool number) is at the bucket ready position.
2) If Turret rotates in the incorrect direction, the Turret Motor may need to be
rephased.
3) From the <ENTER NEXT COMMAND> line, type SETTO,# where # is the
bucket number of the bucket now at the bucket ready position, and ready to
exchange tools.
4) The sequence of the remaining tools in the Turret is not changed, and the
new bucket numbers are updated in the DD table. The asterisk identifies the
bucket in the bucket ready position.
Tool Loading 1) From MDI mode, (MANUAL DATA INPUT), type M19, press ENTER and
Procedure START to orient Spindle.
3) Rotate the Turret using Turret CW or Turret CCW keys until bucket 1 is in the
bucket ready position.
4) Type SETTO to reset the bucket numbers with bucket 1 at bucket ready
position.
6) Load the first tool into the Spindle by pressing TOOL IN/OUT and insert into
the Spindle. Notice which of the two keyslots in the tool holder is deeper, or has
a protruding setscrew. Align the tool so that the deeper keyslot faces forward
and does not have any protruding setscrew to interfere with the alignment key
on the arm of the ATC.
7) Type M6T2, and the DATC will place the first tool in bucket 2, and wait for
the second tool.
11) Repeat as necessary until all of the tools have been loaded.
Operating the DATC The commands used within a program to operate the Dual Arm Tool Changer
from a Program are the same codes as the Geneva and Servo-Turret toolchangers. The call for
a tool change can take advantage of the ability of the DATC to pre-stage the
next tool into the bucket ready position. This is accomplished by commanding
Txx and M6 independently. (Do not use T-xx as in previous versions.)
Miscellaneous
Control Options
Input from a Tape The control can accept programs or tool data into its memory by using the tape
Punch or Computer input command.
1) The BAUD RATE of the control and the device it is connected to must be set
at the same rate (see BAUD RATE, USING THE CD COMMAND).
2) From the command mode type TA,1,# (where # is an error option see
below), then press the ENTER button.
3) Prepare the tape punch or the computer, connected to the control, to send
the program or tool data.
Option 1:
For # type 1. Using this error option for input will cause the control to halt the
input process if an error is detected in the program. EXAMPLE: Using the letter
O for the number 0, double letters (XX.152), minus sign misplaced (-Y.45), a
comment without a preceding * or, a dimension without an axis word (X.125
.756). Observe, on the screen of the control which line the transmission was
halted at, and correct this line at the text editor or Teletype. After this line is
corrected repeat steps 1-3 above. If no errors are detected the message “TAPE
IS GOOD” will appear.
Option 2:
For # type 2. When this option is used the control will continue to accept data
even after an error is detected. When transmission of the data is complete, a
message is displayed on the screen “# ERROR(S) READING TAPE.” If no errors
are detected the message “TAPE IS GOOD” will appear. This option is only
recommended when the program being transmitted has sequence numbers.
With sequence numbers in the program the operator can list the program, if
errors are detected, and look for the missing sequence numbers that were
dropped because of errors in the line. Use the insert (IN) command to replace
the missing lines. (see INSERT PROGRAM LINES, USING THE IN COMMAND)
Option 3:
For # type 3. This option is used when the program to be transmitted is from
another control. The FADAL CNC 88 will accept the program but may not be
able to run the program in its present form. Some of the coding may have to be
edited to the coding format required by the FADAL CNC 88.
Note: If the program currently in memory has an O word as the first line of the
program, the program is considered a part of the program library. When the
new program is transmitted to the control, the program currently in memory
will be pushed into the library and retained. If the program currently in
memory does not have an O word as the first line in the program it is not
considered to be a part of the program library. When the new program is
transmitted to the control, the program currently in memory is deleted and
the new program replaces it.
Key Lock The KEY LOCK on the pendant is used to protect the program from
unauthorized editing. When any of the commands that can alter the program
are used, the message “COMMAND PROHIBITED BY KEY LOCK” appears.
NOEDIT Feature 1) On the line with the O word type a comment with the word NOEDIT within
the first sixteen characters, and this will prevent any changes to the
program.
Analyzer Software
Description Analyzer software is a DOS-based program written by FADAL for a user that
machines surfaces on the Fadal VMC. The VMC must be equipped with 1010-5
axis controller boards and the program must have been written to machine a
part path over 50 ipm. Machining at 1000 BPS (blocks per second) requires
machining at high feed rates. When a normal DNC program uses high feed
rates, the movement may violently shock the slides during axis reversals. The
intention of the FADAL Analyzer software is to smooth high-speed motion
during reversals. This will utilize the same basic feed-forward functions of the
M94 (severe direction changes) and M94.1 (incremental direction changes)
codes. The Analyzer was written for a DOS-based computer, for the distinct
advantages of off-line computing. The most important is the computational
requirements (10,000 block look-ahead) of this program and the potential size
of data to be processed.
Using the Analyzer The Analyzer software converts and performs a binary compression of a
program into a file that the DNC can run at 1000 BPS.
Simple Rules:
5) Only high-speed moves between a G91.3 and G91.2 will be analyzed and
processed.
The Analyzer displays 3 different views of the part (upper left: side view; upper
right: front view; lower left: top view). The part must be scaled to display
properly. Scale the part the first time you analyze it.
Scaling scans the program to check the maximum dimensions and far left
corner position. The values generated by scaling may be altered. Scaling only
affects the graphics display and does not change the analyzing process in any
way.
Axis reversals are called “Severe Direction Changes.” The greater the angle
chosen, the more severe the direction change must be to be smoothed.
The feedrate of the tool is controlled by the size of the high-speed moves; the
larger the moves, the faster the feed. For example, if the maximum feed is 150
ipm, the maximum move will be .0025 inches. (Feed = maximum move * 1000
BPS * 60 seconds). During incremental direction changes, the maximum move
will be reduced .0024, .0023, .0022, etc. depending upon the total angular
change and the distance over which this change is made.
Where the tool is moving quickly, the color will be blue. Where the tool is
slowing for an incremental direction change, the color may be green or red.
Where the tool makes a severe direction change, the color will be red.
Long moves (those moves much longer than the maximum move size) will be
broken into moves equal to or smaller than the maximum move size. For
example, a 1 inch Z position move will begin red, then change green then blue
as the tool gets up to speed. When approaching a severe direction change, the
maximum move will reduce through green to red.
Sample File: Included with the Analyzer is the sample program, DATA.ABS. Changing the
DATA.ABS parameters on this program will help you understand how to use the Analyzer
effectively.
Each program you analyze will have a .PAR parameter file, saving the
parameters you last used on that program. This allows you to optimize the
parameters for each program, accounting for different tolerances and needs,
without having to try to remember the settings you used last.
CNC88 HS Optional
Diskette Drive
Specifications 3½" diskette medium.
MS-DOS format.
Access from Control The drive is accessed from the Functions menu on the CNC by selecting option
0-DISK. A submenu is displayed with the following options:
Note: The % character is not needed for running DNC from a diskette, but can
be included in the file on the diskette.
Access from Macro language statement #DISK invokes a program on disk from within a
Program Using program in the CNC memory. After processing the file from disk, control is
Macro Statement routed back to the line of the program in memory that follows the #DISK
#DISK statement.
#DISK filename
The file needs to be in text file format, without any formatting characters or
codes, such as those a Word Processor might use. In addition, the following
guidelines apply:
1) The file needs to consist of standard CNC program words, similar to what
would be typed or transmitted into the memory of the machine.
3) The file should not contain an M30, M99, or an M2. The CNC will return to
the program in memory automatically at the end of the file.
Note: The % character is not needed for running a program from disk,
although it can be included in the file.
Restrictions on User- The file executes in the CNC memory just as if it were a part of the program that
Defined Subroutines executes the #DISK statement, with the following restrictions on user-defined
subroutines.
Subprograms and Subprograms and fixed subroutines can be called from the disk file. Use the
Fixed Subroutines standard subprogram call format: M98 P# (where # is the subprogram to call).
ARE Allowed After the subprogram has executed, the program returns to the line after the
subprogram call. For example, L100 might be used in memory to define
subroutine one, but this cannot be accomplished in the disk file.
Code Description
1002 FILE ALREADY EXISTS: Attempt made to define file with file already in directory.
1003 FILE DOES NOT EXIST: File selected for reading or deletion not in directory.
1004 ILLEGAL COMMAND: Command not recognized.
1005 DISKETTE FULL: Diskette has no room for transmitted data, or directory has no room
for another entry.
1009 COMMUNICATIONS ERROR: Check character error detected, or other software or hard-
ware communications problem.
1100 DISK READ ERROR: Unable to read directory without error, usually caused by unfor-
matted diskette.
1101 BLOCK CHECK ERROR: Four attempts failed to read diskette block without error.
1103 SEEK ERROR: Track could not be verified while reading, or before writing, data block.
1104 DISKETTE TIMEOUT: Diskette could not be accessed, usually due to no diskette in
drive, or diskette not fully inserted in drive.
1105 DISK WRITE PROTECTED: Write attempted on write-protected diskette.
Plotting Options
A = AUTO
Pressing the A key runs the current program completely through the part path
showing interpolation moves only (movement programmed at a feedrate
G1,G2,G3)
C = CLEAR
Pressing the C key clears the screen and continues auto part path draw at full
table plotting.
F = FULL TABLE
Pressing the F key clears the screen and continues auto part path draw at full
table plotting. This is used after the part path plot has been ZOOMED inward
and the user wished to see the whole part path again on a full table display.
Pressing the M key will toggle the options differences displayed along with the
graphics plot. Toggle display options are incremental moves, absolute
positions, and modal codes. The M key can be pressed while plotting in order
to view the various modes.
O = OPTIONS PLOTTING
Pressing the O key displays an additional menu allowing the user to choose
from:
T Plot tool
Once the option key has been pressed, the plotting continues.
S = SINGLE STEP
Pressing the S key, one program line will be plotted. Repeated pressing of the S
key allows the user to step through the program in line by line execution. This
can be canceled at any time by pressing the START button. During single step
plot the current program line will also appear on the screen in G91 incremental
value.
The V Key can be pressed at any time during plotting to change the view from
top to simple isometric view. Plotting restarts from the beginning. This view
may not be rotated.
JOG = ZOOM
During the plotting process, or after or during the plot, pressing the JOG button
allows the user to ZOOM in or ZOOM out the display. The PULSE GENERATOR
(the Jog Hand Wheel) now controls the position where the ZOOM BOX will be
located on the screen (in this mode JOG does not Jog the machine). X and the
Hand Wheel moves the box left to right. Y and the Hand Wheel moves the box
up and down. Z and the Hand Wheel increases or decreases the size of the box.
Locate the box and place it around the portion of functionthe part path the user
wishes to see in a larger detail. Press the ENTER button and the part path
contained in the ZOOM box will be redrawn larger.
After each successive ZOOM the pixel size representation is located to the right
of the axis location of the displayed part path.
The Graphics screen will display a position located in the upper left hand
portion. Located to the right of the position is a + (or -) and a value. This value
is the Pixel resolution. The further the user ZOOMs into the graphically
displayed part the smaller the Pixel resolution will become.
The ZOOM box may be decreased in the Z to show a cross hatch. The user may
position this crosshatch using the X and Y. The position display will show a
value and this value’s tolerance depends on the Pixel amount displayed.
Function Menu
Using the Function The function menus are accessed through the Page Editor by pressing the F
Menus key. The screen will display 9 different function titles and function numbers.
This menu consists of many independent functions that solve various
geometric problems. Each is designed to help the user calculate items such as
ANGLE, LINES, INTERSECTIONS, TANGENT, BLEND RADIUS, CIRCLE, and
TRIANGLE. Also it is designed for creating TOOL CALL or END OF PROGRAM
coding and for defining FIXED CYCLES or SUBROUTINES.
Cursor Movement Once in the function menus, move the cursor up or down in the menu and
describe the items by filling the values in. To move the cursor down press the
ENTER button. To move the cursor UP press the U key.
If the value has been entered incorrectly, move the cursor to where the error is.
Then press the backspace key until the incorrect data is removed. When all the
data has been entered, press the C key to compute the geometry.
Getting Started The user should always be aware of what position the cursor is at in the current
program. The user should place the cursor on a line of the current program
before entering the function menu. This line should be above the area where
The Menus Once in the function tile listing, select the number of the function titles until you
arrive at the individual function menu. The cursor is used to locate a specific
geometric question. Fill in the blank, and then press the ENTER button to move
the cursor down to the next question. If the data has been entered incorrectly
press the U key (UP) to move the cursor upward to the data then use the
Backspace button to back over the information. Retype the data.
When all data has been successfully enter press the C key to compute. The
geometry will automatically be computed and displayed at the bottom portion
of the screen. Pressing the D key (DRAW) will enlarge the graphics to cover the
entire screen.
To ZOOM in, press the - key; to reduce the view, press the + key. If the solution
is not what the user wants, press the S key for same function and retype the
information until the expected solution is found.
When the solution is accepted, the data may be entered and saved to the
current program after the current cursor location. Pressing the I key will insert
data into the editor. This will also return the display to the Page Editor. The
current program will contain new code with appropriate comments from the
function menu.
An entire G code program can be written by choosing from the other functions
available on the menu. Repeat the above instruction until the program is
complete. Be sure to insert the appropriate feeds, speed and Z milling values.
View the program on the Graphics display before machining. Dry run the
program before cutting the part.
Coordinate System The function menu uses the X Y plane (G17) of the cartesian coordinate
system. All point descriptions are in absolute mode(G90), where all points are
described as their distance from HOME (X0,Y0).
Y+
(X-1.,Y2.) (X1.,Y2.)
(-2.,Y1.) (X2.,Y1.)
X- X+
(X-2.,Y-1.) (X2.,Y-1.)
(X-1.,Y-2) (X1.,Y-2)
Y-
Figure 20-2 Coordinate System
Points Describe a point by specifying its X and Y distance from home. The X is
measured right (+) or left (-) from the X axis zero location. The Y is measured
up (+) or down (-) from the Y axis zero location.
Angles Angles are measured from the positive X axis using decimal degrees. A positive
angle is measured counterclockwise from the X positive axis, and the negative
angle is measures clockwise from the X positive axis.
Y+
Y+
45˚ 225˚
X- X+ X- X+
Y- Y-
Y+
Y+
X- X+ X- X+
-45˚
-225˚
Y- Y-
Figure 20-3 Angles
Lines Lines are described by specifying a point on a line and the angle of the line.
The point does not need to be on the part. It can be on an extended portion of
the line. The angle defines the direction of the motion on the line (see Angles).
MOTION TO LEFT MOTION TO RIGHT
GIVES ANGLE OF 180˚ GIVES ANGLE OF 0˚
Y+
(X0,Y2.)
X- X+
(X0,Y0.)
Y-
Figure 20-4 Lines
Circles A circle is defined by the X, Y location of its center, a Radius, and a direction of
motion. The circle direction of motion is described by clockwise or
counterclockwise. To define a circle as a point, describe the circle as having a
zero radius. If the X, Y center location is not known, then it is to be considered a
blend radius.
Y+
X- X+
-225˚
Y-
Figure 20-5 Circles
Blend Radius A blend radius is a circle that is situated between two known geometric
elements. It is defined by a radius value and a direction of motion. The blend
radius direction of motion is described by clockwise or counterclockwise.
CW MOTION
CCW BLEND
ON CIRCLE
MOTION ON LINE
CW BLEND
Figure 20-6 Blend Radius
MAIN MENU
ANGLE OF A LINE
TWO LINE
FUNCTIONS
FINDING A PARALLEL
LINE USING A LINE
OR CIRCLE
THREE
INTERSECTION
FUNCTIONS
INTERSECTION OF 2
LINES
INTERSECTION OF 2
CIRCLES
INTERSECTION OF A
LINE AND CIRCLE
TWO TANGENT
FUNCTIONS
TANGENT POINT OF
A LINE AND CIRCLE
TANGENT POINTS OF
TWO CIRCLES
BLEND RADIUS
FROM A LINE TO A
LINE
BLEND RADIUS
FROM A LINE TO A
CIRCLE
BLEND RADIUS
FROM A CIRCLE TO A
LINE
BLEND RADIUS
FROM A CIRCLE TO A
CIRCLE
BLEND RADIUS
FROM A POINT TO A
LINE
BLEND RADIUS
FROM A LINE TO A
POINT
BLEND RADIUS
FROM A POINT TO A
CIRCLE
BLEND RADIUS
FROM A CIRCLE TO A
POINT
BLEND RADIUS
FROM A POINT TO A
POINT
CIRCLE FUNCTION
TRIANGLE SOLVER
TOOL CALL
END OF PROGRAM
!
The following will be inserted at the cursor for an “end of program”:
(ENDING PROGRAM
G0 G80 G90 M5 M9
Z0 G53
X0 Y0 Z0 E0 H0
M30
ENGRAVING
BOLT CIRCLE
MILL BORING
RECTANGULAR
POCKET
CIRCULAR POCKET
DRILLING CYCLES
TAPPING CYCLES
BORING CYCLES
Overview From the SETP Command the control has the option to use either FORMAT 1 or
FORMAT 2.
Format 1 has been uniquely designed to have the CNC control reset before
restarting machine operation. When the CNC control is in Format 1 the
programmer may program with the minimal of commands. This helps the user
for programming, setup, and operation. Some codes are unique for FORMAT 1
and FORMAT 2. Listed in this chapter are examples for each formats
programming style.
Format 2 Format 2 allows a 6M/ 10M /11M style programming and machine operation.
Format 1
Programming
Notes on Format 1 1) Each line requires a sequence number and will be generated by the CNC
Style Programming control. Sequence numbers use an N####.### word. Decimal points can be
used to input lines between existing line numbers. The sequence numbers
can be added when the program is typed at the computer, but the numbers
are added automatically when the program is transferred to the control with
the TA (tape input) command. So it is possible to type the program without
line numbers and have the control add the line numbers automatically. The
NU command is used to renumber the lines.
2) Decimals are required for all dimensions, feed rates, and angles.
If the decimal point does not appear with dimensions, feed rates, or angles, the
control will add them. For example, if an X1 is entered it is accepted as X.0001
(See also DECIMALS and SIGNS).
3) The O word on the first line is not required. The O word is used only for
identification of the program in the program library for multiple program
storage. The first sixteen characters of the comment with the O word will
appear when the program library directory is displayed. This comment can
be longer than sixteen characters but the remainder of the comment will
only appear when the program is listed or printed (See also the section on
program library, the PR command).
4) If the word NOEDIT is used within the first sixteen characters of the
comment on the line with the O word, the program cannot be edited. This is
the same function as using the key lock on the pendant. Program can only
be deleted with the PR command.
FORMAT 1 Program EXAMPLE 1, without subroutines or subprogram calls with fixture offsets:
Example
O# (COMMENT
M6 T1
(TOOL #1 ID
G0 G90 S##### M3 E## X###.#### Y###.####
H# M7 Z###.####
G4 P1000
Math work
M5 M9
G0 G90 80
Z0 G53
M6 T2
(TOOL #2 ID
G0 G90 S##### M3 E## X###.#### Y###.####
H# M7 Z###.####
G4 P1000
Math work
M5 M9
G0 G90 G80
Z0 G53
E0 X0 Y0 H0
M2
M5 M9
G0 G90 G80
Z0 G53
E0 X0 Y0
M2
Format 2
Programming
Notes on Format 2 1) The safe block is mandatory at the beginning of the program.
Style Programming
O# (COMMENT
(COMMENT
Z0 G53
G0 G17 G40 G70 G80 G90 H0 E0 Z0
G28 X0 Y0 Z0 A0 B0 if needed
2) The G28, with the axis designated to move, will bring the machine to the
zero position established by the cold start command (CS) or to the zero
position established by the SETX, SETY, SETZ, or SETH commands and/or
fixture offsets, whichever was used last. The SET commands can be used
to establish a zero position at any desired location. The program does not
need to start from the machine home position. See also the section on
establishing home position.
5) When typing any variable (R0,R1 - R9) always type the positive or negative
symbol before the value, for example, R1+.5 R2+2.34 R3+5.7124 R4-
6.765. See Section Six, Subroutines for proper usage.
6) The H word will only pick up the tool length offset. The D word must be
used to pick up the diameter or radius from the tool table.
7) Tool changes can be made from any XY position. The M6 code change will
move the head to the tool position and make the exchange. The T word and
the M6 can appear together, M6T# or T# M6, and usually do with this type
of tool changer; however they may appear on separate lines.
9) Decimals are required for all dimensions, feed rates, and angles.
If decimals points do not appear with dimensions, feed rates, or angles, the
control will add them. For example if an X1 is entered it is accepted as X.0001.
10) The O word on the first line is not required. The O word is used only for
identification of the program in the program library for multiple program
storage. The first sixteen characters of the comment with the O word will
appear when the program library directory is displayed. This comment can
be longer than sixteen characters but the remainder of the comment will
only appear when the program is listed or printed (see also the section on
program library, the PR command).
11) If the word NOEDIT is used within the first sixteen characters of the
comment on the line with the O word, the program cannot be edited. This is
the same function as using the key lock on the pendant.
12) When transferring a program from another control through the RS232 port,
the original line numbers can be maintained by selecting #2 from the N
WORDS ORDERED: parameter. Selecting this will cause the control to
maintain the original line numbers. The first row is from the original
program. When the program is output from the machine, only the original
numbers are outputted.
M5 M9
G0 G90 H0 Z0
M6 T2
(TOOL #2 ID
G0 G90 S##### M3 X###.#### Y###.#### E## (or G54-G59)
H# M8 Z###.#### D#
G4 P1000
Math work
M5 M9
G0 G90 H0 Z0
E0 X0 Y0 Use this line to cancel all fixture offsets
M30
O3 (SUBPROGRAM #3 FOR ______________
Math work
M99 Ending this program with an M99 makes it a subprogram. It is called with
an M98 P3 L#. The L word is used for number of repeats
O4 (SUBPROGRAM #4 FOR ______________
Math work
M98 P3 L1 Sub #4 is calling sub #3 one time (nesting)
M99 Ending this program with an M99 makes it a subprogram
Default Parameters,
SETP Command
FORMAT 1 & Changing from FORMAT 1 (FADAL mode), to FORMAT 2 (6M, 10M, 11M mode),
FORMAT 2 is done from the SETP mode.
Format 2 allows a 6M/ 10M /11M style programming and machine operation.
The SETP command is generally used by the factory and by the set-up person
who installs the machine. It can also be used by the end user to establish
programming, baud rate, and output preferences.
Note: The factory set parameters can be found on the inside of the pendant
door.
1) Move the machine to the cold start position if changes will be made to the
parameter settings. The machine Cold Start must be accomplished when
parameters are changed.
2) From the command mode type SETP then press the ENTER button.
3) The menu prompt at the bottom of the screen defines the use of the
keyboard to move the cursor to the parameter to change. When the
parameter to change has the cursor to its left, the parameter choices will de
displayed at the bottom of the screen.
5) Press the MANUAL button to exit and save the parameter setting mode.
Note: If changes are made to any of the parameters, in most cases the CNC
control will require a COLD START. Follow the power on procedure (see
POWER ON).
The following pages have the recommended format settings for the FADAL
FORMAT 1 and FORMAT 2 6MB,10M,11M compatibility.
FORMAT 1 Parameter The following is the screen’s representation upon entering the SETP command.
Settings The parameters FORMAT, DEFAULTS, IMM> FIXED CYCLE and CRC MODE
should be set as shown. All other parameters should be set as they are from
the factory.
FORMAT 2 Parameter The following is the screen representation upon entering the SETP command.
Settings The parameters FORMAT, DEFAULTS, CRC MODE, N-WORDS ORDERED and
TOOL TABLE should be set as shown. All other parameters should be set as
they are from the factory.
1) A
2) A, B
3) X,Y,Z
4) X,Y,Z,A
5) X,Y,Z,A,B
6) X,Y,Z,B
7) C only
When selecting the A or B axes, the machine should be powered off. When the
power is returned the axes will be active. COLD START must then be
performed.
1) G0
2) G1
The code selected is active at power on and when entering the MDI mode.
1) G90
2) G91
The code selected is active at power on and when entering the MDI mode.
1) G17
2) G18
3) G19
BAUD RATE ENTER DEFAULT BAUD RATE (THE RATE AFTER POWER-ON)
1) X22 Y16 Z20 8) X40 Y20 Z28 15) X50 Y20 Z20
2) X20 Y12 Z20 9) X60 Y30 Z30 16) X50 Y20 Z28
3) X20 Y13.5 Z20 10) X22 Y16 Z28 17) X80 Y30 Z30
4) X22 Y13.5 Z20 11) X20 Y16 Z20 18) X30 Y20 Z24
5) X22 Y13 Z20 12) X20 Y16 Z28 19) X30 Y20 Z32
6) X20 Y13 Z20 13) X30 Y16 Z20 20) X20 Y20 Z24
7) X40 Y20 Z20 14) X30 Y16 Z28 21) X20 Y20 Z32
1) 90:1
2) 180:1
3) 360:1
4) 120:1
5) 72:1
6) COOLANT
7) 60:1
8) 144:1
Select the appropriate option for the rotary table being used. See servo coolant
option.
1) 90:1
2) 180:1
3) 360:1
4) 120:1
5) 72:1
6) COOLANT
7) 60:1
8) 144:1
Select the appropriate option for the rotary table being used. See servo coolant
option.
1) 16 TOOL ATC
2) 21 TOOL ATC
3) 30 TOOL ATC
1) 10,000 HI/LOW
2) 10,000 3 STEP
3) 15,000 DIRECT
4) 5,000 HI/LOW
5) 6,500 HI/LOW
6) 3750 WYE/DEL.
7) 7500 WYE/DEL.
8) 5000 DIRECT
9) 15K WYE/DEL.
Select the correct spindle type for the machine. This parameter is set at the
factory.
SPINDLE AFTER M6 SHOULD SPINDLE COME ON AUTOMATICALLY AFTER A TOOL CHANGE WHEN
THE M6 HAD TO TURN THE SPINDLE OFF?
Select the appropriate pendant location for the machine. When option two is
selected the table may make a Y axis positive move before a tool change. This
occurs only when the Y axis is five inches or more, in the negative direction,
from the cold start position.
1) YES
2) NO
Select the option desired to activate or de-activate the air brake for the axis.
1) YES
2) NO
Select the option desired to activate or de-activate the air brake for the axis.
1) YES
2) NO, ONLY IF X OR Y DIMENSION WORDS ARE IN THE DEFINITION LINE
1) INCH
2) METRIC
The operator must select the inch or metric mode for the machine. The G70,
G71, G20, and G21 check this setting to verify the operational mode.
This parameter is set to file for computer use. The punch tape format is used
when a tape reader is employed.
1) M96 - ROLL
2) M97 - INTERSECTIONAL
This parameter selects the default mode for intersectional cutter radius
compensation.
SPINDLE OFF DO YOU WANT THE SPINDLE TO TURN OFF WHEN EXITING JOG OR MANUAL
DATA INPUT?
1) NO
2) YES
1) NO
2) YES
Select the option appropriate for the machine.
BINARY BUFFERS: SELECT THE NUMBER OF BINARY BUFFERS FOR CNC LOOK-AHEAD.
255
1) 15 3) 50 5) 255
2) 30 4) 100
TURRET FACTOR ENTER THE ENGAGEMENT FACTOR FOR THE TOOL TURRET GENEVA GEAR
This parameter is set at the factory. For VMCs equipped with the Servo Turret,
this factor MUST always be 1.
This parameter effects the spindle response during rigid tapping. The higher
the number the faster the spindle turns in relation to the feed rate. When the
speed is too fast the thread may be too loose.
Select the desired option and set a value in the DTT table for TIME. The USED
value will be inserted by the control. See DTT command.
HIGH TORQUE DO YOU HAVE THE HIGH TORQUE OPTION OR RIGID TAP OPTION?
1) NO
2) YES
1) OFF
2) ON
3) TOGGLE ON WITH SPACE BAR
This parameter sets the speed at which the spindle accelerates during rigid
tapping.
1) INCH PITCH
2) 8/10MILLIMETER PITCH
XYZ RAMP ENTER THE X, Y, & Z RAMP LENGTH FACTOR (160 IS STANDARD)
This parameter sets the speed at which the axes accelerate and decelerate
during travel.
1) NORMAL
2) MEDIUM
3) HIGH
1) YES
2) NO
1) LOAD PERCENTAGE
2) FOLLOWING ERROR
This option is used to select what the axis display will show on the position
display while auto running a program.
1) NOT APPLICABLE
2) A-AXIS
3) B-AXIS
4) A-AXIS & B-AXIS
Select the appropriate option for the rotary axis being used.
1) NOT APPLICABLE
2) A-AXIS
3) B-AXIS
4) A-AXIS & B-AXIS
Select the appropriate option for the rotary axis being used.
1) YES
2) NO
Select the option desired to activate or de-activate the air brake for the axes.
5th AXIS DO YOU HAVE THE 5TH AXIS PROGRAMMABLE HEAD ATTACHMENT?
PROGRAMMABLE
HEAD 1) NO
2) YES
Answer YES if a 4th or 5th axis rotary head attachment is installed in the
spindle.
Enter a value between 2 and 250 to set the maximum distance to allow before
the control will continue with the next motion block. Smaller values may have
the tendency to cause the machine to wait at the end of G0/G5 moves. The
value of 251 can be set to turn off the feature. This parameter should be set to
any preference, as it will not affect contouring motion.
Parameters
Applicable to
FORMAT 2 Only
N-WORDS ORDERED ENTER THE N-WORD SEQUENCE CONFIGURATION
TOOL TABLE WILL THE TOOL COMPENSATION TABLE HAVE THE RADIUS OR DIAMETER?
1) DIAMETER
2) RADIUS
The cutter offset specification in the tool compensation table may be defined
as a diameter or radius.
The SETP mode is exited by pressing the MANUAL key. If new values were
selected, the CNC may require that you perform the Cold Start procedure (see
CS command).
Introduction
Fadal’s smallest VMC model is the Tool Room Mill. Although It has many
similarities with Fadal’s larger models, it has a few operational differences that
warrant a separate section in the User Manual.
Existing Programs An important feature of the Tool Room Mill is its capabilities to run existing
programs that run currently on the standard Fadal CNC control. The Feeds and
Speeds of the program will have to match the TRM specifications, but as a
whole the program will run without changes. Since the machine does not have
a tool changer, a message to make a manual tool change will be requested
when a tool change is executed.
Tool Changes The TRM does not have a tool changer, but tool changes in Auto and MDI can
still be executed. This will allow programs to run unmodified if they were written
for machines with a tool change present. When the control is asked for a tool
change, a waiting message “TOOL CHANGE –“ will blink on the screen. Before
the machine will proceed with the program, the tool has to be changed
manually. Use the TOOL IN/OUT button to release the tool in the spindle and
then put the requested correct tool into the spindle. When the correct tool is in
the spindle, the START button can be pressed to continue the program with the
new tool inserted in the spindle.
Manual Mode Using The Tool Room Mill uses a fully manual mode to move the machine’s axes.
the MPG Hand Each axis has its own dedicated MPG, Manual Pulse Generator, hand wheel.
Wheels For this reason, there is no axis selector switch on the machine. The X and Y
axis MPG hand wheels are located parallel to the axis that they operate. The Z
axis MPG hand wheel is located on the pendant of the machine. The Z axis
MPG hand wheel has a dual function; it will also operate when MPD, Manual
Pulse Dry run, is used. To see how to use the MPD function, read about it in
the appropriate section of the User Manual.
To enter the Manual Mode of the machine, press the JOG key. The full display
will be used to show current position. Using the axis increment selector switch,
the stepping resolution of each of the MPG hand wheel can be modified from
.0001”, .001” or .01” The axis load is display to the right of the current
position of the axis as a percentage.
Each of the axes position can be zero while in this mode. By pressing the
associated letter for the axis, the position display will be zeroed out. For
example, pressing the Y key will result in the Y axis position to be cleared to
zero. This feature can be helpful to set reference points as the machine is
positioned to points on a part print.
Figure 22-2 Manual MPG hand wheels for the X, Y, and Z axes
Keyboard The TRM uses a notebook style keyboard with added functionality. Two of the
keys are operated by holding the Shift key down and pressing the desired
function key. They are identified by common color of the key text. The first of
these two keys is the TOOL IN/OUT key, holding the SHIFT key down and then
pressing the TOOL IN/OUT will operate the tool release or locking mechanism.
The other key is the SPINDLE ON/OFF key, holding the SHIFT key down and
then pressing the SPINDLE ON/OFF key will start the spindle at the last
programmed spindle speed. Pressing the SPINDLE ON/OFF key by itself will
turn off the spindle.
Learn Mode The Learn mode on the Fadal control has always been available, but when
used on the TRM this feature can be very handy. As the machine is jogged to
positions, the program can be built automatically. See the full description of
this feature in the appropriate section of the Fadal User Manual.
Spindle and Axis The current spindle and axis motor power load percentage is show on the
Motor Power Load control display while operating the machine in Manual mode or Jog mode.
Percentage 100% is the continuous power output of the machine. When the power
percentage is above 100%, the machine will only be able to maintain it for
short periods of time. This time varies on the duty cycle above and below the
100% limit. When the machine is cutting material and the load goes above
100%, begin to back off on the load applied. This will prevent the machine
from faulting from and overload.
Tool Room User For added capabilities, the TRM custom macro can be used to machine simple
Macro features. Using this custom macro will alleviate the need to move the machine
manually or writing a CNC program. To use the Tool Room Mill Custom Macro
program, the program will have to be loaded into memory and then accessed
from the Quick Key menu. To get to this menu from any of the three Command
Menu Editor menus, go to the Quick Key Menu by pressing Q. This will display
the following menu at the bottom of the screen:
Press the 0 key to start the TRM Custom Macro loaded into program O9999.
The custom macro program will then automatically be switched to and run in
Auto Mode. Acknowledge the start of the program by pressing the START key.
Note, there are minimum SETP (set parameters) requirements to use this
special program which are as follows in SETP set to Format 1, tool table must
be set to Diameter and be in Inch programming mode. In some cases, the Jog
Mode may need to be entered first before running the TRM custom macro for
the first time.
After pressing START to begin the program, the machine will move to the last
SET home position. Once the TRM Custom Macro is started, the menu
displayed will show the simple features that can be accomplished with the TRM
Custom macro:
At this menu, the individual MPG hand wheels are enabled. The machine may
manually be moved with the wheels to desired locations. Use the X, Y, Z or A
keys to set zero references. All functions on the menu will work as incremental
moves.
Default Parameters To aid in repetitive tasks, there are a set of default parameters that are stored
for TRM Custom by the program that are shown in the following Parameter Menu:
Macro
1) SPINDLE SPEED/DIRECTION, S[1000.] M[3]
The values shown between the brackets in the menu are the current default
values set. These values are stored even if the TRM Macro program is stopped
and exited. Select the parameter from the menu to change it. To keep certain
parameters at their default value, simply press the ENTER key to use defaults.
Drill Function From the main menu, move the machine with either the MPG hand wheels or
the Incremental Move function over the desired hole location. The spindle
speed, feeds and pecking amount can be set in the parameters section.
Position the tool tip at a known distance above the hole. The incremental depth
of the hole is taken from the Z position when the Drill function is started.
The incremental depth shown in the brackets is the default depth. If this is the
depth of the hole desired, press ENTER to continue with default value.
Otherwise, type in desire depth from the current Z position.
S 1000. M 3
PLUNGE AT F 5.
CUT AT F 20.
DEPTH Z- 1.
* PRESS START TO CONTINUE OR ANY OTHER KEY TO ABORT *
If the settings for the Drilling function are the correct, press the START button to
begin the cycle.
Tapping Function The tapping function will use a compression tapping cycle. From the main
menu, move the machine with either the MPG hand wheels or the Incremental
Move function over the desired hole location. Position the tool tip at a known
distance above the hole. The incremental depth of the hole is taken from the Z
position when the Tapping function is started.
The incremental depth shown in the brackets is the default depth. If this is the
depth of the tapping desired, press ENTER to continue with default value.
Otherwise, type in desired depth from the current Z position. Do the same for
the spindle speed to tap with and the thread lead to follow.
S 1000. M 3
PLUNGE AT F 5.
CUT AT F 20.
DEPTH Z- 1.
* PRESS START TO CONTINUE OR ANY OTHER KEY TO ABORT *
If the settings for the Tapping function are the correct, press the START button
to begin the cycle.
Circle and Rectangle The circle and the rectangle function can make either inside or outside shapes.
Functions They both use the diameter that is set up in the parameters, 0 from main
menu. The position of the shapes are always from the XY center of the shape,
i.e. center of circle. From the main menu, move the machine with either the
MPG hand wheels or the Incremental Move function over the desired circle/
rectangle location. Position the tool tip at a known distance above the shape.
The incremental depth of the circle/rectangle is taken from the Z position when
the function is started.
Choose whether the shape will be either an outside or inside feature. When
inside is chosen, there will be an addition prompt at the end whether to make a
pocket or to just mill bore the hole. The values shown in the brackets are the
default values, if these are the desire values, press ENTER to continue with
default value. Otherwise, type in desired values.
S 1000. M 3
PLUNGE AT F 5.
CUT AT F 20.
DEPTH Z- 1.
If the settings for the function are the correct, press the START button to begin
the cycle. Note, that the diameter of the tool is automatically compensated
using the value in the parameters. The direction of the cutting is determined by
the spindle direction and the desired direction of climb or convention.
Index
Numerics
3 Phase 5% Low 181
A
A & B Fixtures Offsets 286
A = AUTO 147
A Axis 265
Direction of Motion 265
G90 Absolute Mode 265
G91 Incremental Mode 266
A Axis Brake 268
A Axis Cold Start 266
A Axis Home Position 266
A Axis Ratio 278
A Value 151
A/B Word Swap 55
A-Axis Brake 184
A-Axis Ratio 183
Absolute Input 72
Absolute Mode 285
ABSOLUTE MODE REQUIRED AT N = 225
Absolute Preset 73
Acceleration 49
Acknowledge Spindle Magnet 23, 24
Advanced Feed Forward 42
AFF Cancel 44
Air Ratcheting Indexer 30
AMPLIFIER FAULT ON AXIS 225
Analyzer Software 479
Advantages of Analyzer 479
Description 479
Sample File DATA.ABS 481
Using the Analyzer 480
Angular Limits 269
Maximum & Minimum 269
Applying Compensation with a Z Move 221
Applying Compensation with a Z Move on a Circle 223
Arc Center 290
B
B Value 151
Background Editing 158
MU 158
SPACE BAR 158
Backlash 139
Backspace 130
BAD CIRCLE OR MISSING G AT N 231
BAD DATA OR NO TOOL DIA. 231
BAD FIXTURE NO. 231
BAD INTERPOLATION TYPE AT N 231
BAD R FIELD 231
BAD R1 USING L91 AT N = 232
BAD READING ON RESOLVER PORT 258
C
C = CLEAR 147
Cable Configuration 319
CALCULATED RADIUS ERROR OF 232
Cam Diameter 277
Cam Wall Angles 281
Cam Wrapping 277
Canceling 280
Writing a Program 281
CANCEL CRC BEFORE G50.1 OR G51.1 AT N = 232
CANCEL CRC BEFORE N = 233
Cancel Cutter Radius Compensation 204
Cancel Intersectional CRC 219
Cancel JOG AWAY 56
Cancel Modal Subroutine 70
Cancel Positive Approach 35
Cancel Reciprocation 28
CANCEL Z AXIS MIRROR BEFORE TOOL CHANGE AT N 233
Canceling 65
CANNOT RETURN FROM SUBPROGRAM OR SUBROUTINE CALLING LINE CANNOT BE FOUND 233
CANNOT START DIRECTLY IN A SUBPROG. 233
CC 408
CD 139
Center Drilling 82
CH 140
Change Axis Gain 38
Change Device 139
Change Program 140
D
D OR H TOO LARGE 234
D1 - D99 409
DATA TRANSFER FAULT 234
DE 144
Deceleration 50
Decimal Degrees 268
Deep Hole Drill
G83 102
Deep Hole Drilling
Using I, J, K 82
Using Q 82
Deep Hole Programming 102
DEFAULT
G0 170
G17 171
G90 170
INCH 176
Default Status 5
Default G Codes 6
Reset 5
Degree Feedrate Calculation 271
Delete 130
Delete Blocks 144
Device Communications Procedures 324
Device Option 139, 140
DF 146
DFF 144
DI 146
Diagnostics 146
Diagnostics Function 388
Abort 388
Align Axes 389
E
E WORD MAY ONLY BE USED WITH G0 OR G1 N= 236
Edit Menu 382
BACKSPACE-PAGE UP 383
B-BOTTOM 383
C-CHANGE 383
D-DOWN 383
DEL-DELETE 383
ENTER-PAGE DOWN 383
F-FUNCTIONS 383
I-INSERT 383
N-NUMBER 383
O-COPY 383
Options 383
P-PROGRAM 383
R-REPLACE 383
S-SEARCH 383
T-TOP 383
U-UP 383
Emergency Stop 136
Emergency Stop Button 12
EMERGENCY STOP-TAKE APPROPRIATE ACTION 236
ENCODER AND MAGNET NOT RESPONDING or SPINDLE NOT RUNNING 257
ENCODER CHANNELS ARE REVERSED 260
ENCODER IS NOT 1024 LINE 257
ENCODER NOT RESPONDING PROPERLY 257
End Of All Subroutines 31
End Of Program 32
End of Program 22
End Of Subprogram 46
End of Subroutine 29
Engraving 111
Computing Actual Letter Height from the R2 Variable 114
Computing End Spacing 115
Computing Engraving Length 115
Computing Start Position 115
Computing Start Spacing 114
Engraving a Constant String 112
Engraving a Serialized String 113
L93NN Bolt Circle 118
Letter Width Factor Values 116
Parameters 111
Restrictions 112
Serialization Range 113
Spacing, Positioning, & Tool Path Calculations 114
Enter 130
ENTER AGAIN OR HIT MANUAL TO EXIT 236
ENTER COMMAND MU TO SEE THE MENU 237
F
F = FULL TABLE 148
Feed Distance Before Next Peck
P# 102
Feed Forward by Feed Rate Modification 40
Feed Forward by Feed Rate Modification Cancel 44
Feed Forward Cancel 44
Feed Forward Function 39
Feed Ramps 50
Feed Rate 96
Feed Rate Override Potentiometer 128
Feed Rate Specification 272
Feed Rate Specification MMPM, IPM or DPM 74
FILE OVERFLOW 238
Fillet Radii 216
Find 90° Corner 199
Find Center of Circle 197
Find Corner 199
Find Midpoint 198
Fine Boring 81
First Block Number 153
Fixed Cycle Cancel 71
Fixed Cycle Parameters 77
F Word 77
Fixed Cycle Examples 79
I Word 78
J Word 78
K Word 78
L Word 78
P Word 78
Q Word 78
R Plane 79
S Word 79
Z Word 79
Fixed Cycles 71, 75
Definition 75
Procedure to Initialize 75
Fixed Subroutines 111, 375
Fixture Offset 151
FIXTURE OFFSET MUST BE APPLIED WITH G0 OR G1 238
FIXTURE OFFSET OUT OF RANGE 238
Fixture Offset Setting 193
Fixture Offset Variables 409
Fixture Offsets 68, 261
Flat Cam 277
Flood Coolant Through the Spindle 465, 531
FO 151
Format 1 511
Notes on Format 1 Style Programming 511
Overview 511
Parameter Settings 517
Format 1 Programming 511
Format 2
Overview 511
Parameter Settings 519
Parameters Applicable to Format 2 Only 530
N-WORDS ORDERED 530
TOOL TABLE 530
Format 2 Programming 514
Notes on Format 2 Style Programming 514
Format Classification Sheet 14
D Function Code 16
F Function Range 15
Format Classification Shorthand 14
Format Detail 14
G Function Codes 15
Geometric Relationship 20
H Function Code 16
H99 Q Value 17
M Function Codes 15
Machine 14
Maximum Working Dimensions 17
S Function 15
T Function Code 16
Formats 511
3 PHASE 5% LOW
NO 527
5th AXIS PROGRAMMABLE HEAD 529
Abort 385
Angles 490
Automatic 386
Backlash 387
Baud Rate 387
Begin 386, 387
Blend Radius 492
Change 388
Circles 491
Clear 387
Coordinate System 489
Current Program 387
Cursor Movement 157, 487
Display 387
Display Free Memory 387
DNC 386
Enter Diameter 385
Fixture 385
Getting Started 157, 487
Input 386
Input/Output 386
Jog Key 385
Learn Mode 387
Lines 491
Memory Function 386
Modify Length 385
Multiple 385
Offset Table 385
Offsets and All Memory 387
Options 387
Output 387
Parameters 388
Points 489
Program Library 386
Read From Jog 385
Reset Current Tool Location As 1 385
Run Program 386
Select Baud Rate 387
Select Options 386
Settings 387
Setup Function 384
Store Length 385
Summary 386
The Menus 157, 488
Turret Location 385
G
G 98 Return to I Plane after Final Z 76
G Codes 2, 47
Preparatory Functions 2
Summary Table 3
G Macro
Layout 412
G0 Rapid Travel 47
G1 Linear Interpolation 48
G10 Programmable Data Input 51
L10 52
L100 - L109 53
L12 52
L13 52
L14 52
L15 52
L2 51
T 53
G15 274
G15 YZ Circular Interpolation With The A Axis 54
G17.1-G17.2 A/B Word Swap 55
G17-G19 Plane Selection 54
G2 Circular Interpolation Arc Clockwise 48
G20 Inch Programming 55
G21 Metric Programming 55
G28 AND G29 USED WITH CUTTER RADIUS COMP AT SEQ 238
G28 Return to Zero 55
Format 1 55
Format 2 56
G28.1 Cancel JOG AWAY 56
G29 Return from Zero 56
G3 Circular Interpolation Arc Counterclockwise 48
G31
Using 350
G31 Probe Touch Function 57, 348
G31 USED WITH AN INCOMPATIBLE WORD OR MODE 238
G31.1 Probe No Touch Function 59, 350
G4 Dwell 48
as a Program Stop 49
as an In-Position Check 49
G40 204
G40 Cutter Compensation Cancel 59
G41 204
G41 Cutter Compensation Left 59
G42 204
G42 Cutter Compensation Right 59
G43 Tool Length Compensation Positive 59
G44 Tool Length Compensation Negative 59
G45 Tool Offset Single Expansion 60
H
H and D Word with CRC 206
Use 206
Handshaking 311
Helical Interpolation 302
HELICAL MOVE TOO SHORT, N = 239
Helical Moves
Partial Arcs 307
HELICAL RADIUS TOO SMALL, N = 239
HELICAL RISE TOO STEEP, N = 239
Help 160
High Speed Execution 73
High Speed Execution Cancel 73
High Torque 182
HO 152
HO Macro
Layout 413
Home Axes Function 388
Return For Power Off 388
Return To Home 388
Home Axis 152
Hydro Sweep 466
Chip Removal System 466
Operation 466
I
I Macro
Layout 411
I Plane 75
I, J, OR K MUST BE SPECIFIED AT N = 239
I/T Feed Rate Specification 74
IBM-Compatible PC-DB9 to DB25 for DTE Equipment-Null Modem Included 320
IBM-Compatible PC-Simple DB25 Null Modem 320
ID Thread 309
Cutting 309
ILLEGAL G CODE DURING G91.1 MODE AT N = 239
ILLEGAL O WORD 239
Imm. Fixed Cycle 175
IMPROPER USE OF CANNED SUBR. 239
IN 153
Inch Programming 55, 71, 164
INCHES MODE REQUIRED - OPERATOR MUST SET 240
INCOMPATIBLE G CODES AT SEQ 240
Increment 153
INCREMENT DIVIDED BY TWO 240
INCREMENT TOO LARGE 240
INCREMENT TOO SMALL 240
Incremental Input 72
Incremental Mode 285
Indefinite Subroutine Repetitions 108
Initial Connection 311
Initial Peck
I# 102
INPUT XMODEM TRANSMIT BLOCK MISSED ERROR 240
Insert Blocks 153
From 153
Increment 153
Interpolation 287
Circular 288
End Point 288
Linear 287
Interpolation Modes 287
Intersectional CRC 219
Intersectional Cutter Compensation 45
Intersectional Cutter Compensation Canceled 44
J
J 153
JOG = ZOOM 148
JOG AXES TO HOME POSITIONS, THEN ENTER THE CS COMMAND 240
Jog Axis 153
Axis ID 153
Direction 153
Jog Key and the Hand Wheel 129
Jog Mode 267
Jog to Locate 194
K
Key Lock 12
Key Lock Switch 127
L
L9101 Probe Functions 111, 352
L9201 Engraving Functions 111
Last Screen Function 389
LE 153
Learn Mode 153
Left Hand Rigid Tapping 81
Left Hand Tapping 81
LI 154
Light On/Off Switch 127
LINE FEED OPTION 140
Line Feed Option 139
Line Jump 46
Linear Interpolation 48
List Program 154
From 154
Through 154
Load and Store Pallet 33
Load Pallet A & Verify Pallet A Has Been Loaded 33
Load Pallet B & Verify Pallet B Has Been Loaded 34
Locator Diameter 196
LOGIC JUMPER INCORRECT or COMMAND SIGNAL MISSING 257
Logical Operators 430
LOOK AHEAD WAS CANCELED BY OPERATOR 241
M
M = TOGGLE DISPLAY MOD 148
M 33.1 Load Pallet B & Verify Pallet B Has Been Loaded 34
M FUNCTION TOO LARGE AT N = 241
M Functions 6, 21
Modal 6
Non Modal 6
Summary Table 7
M,S,T LOCKOUT IS IN EFFECT 241
M0 Program Stop 21
M1 Optional Program Stop 22
M10 Cancel Reciprocation 28
M11 X Axis Reciprocation 28
M12-M16 Reciprocation for Y, Z, B, A 29
M17 End of Subroutine 29
M18 Air Ratcheting Indexer 30
M19 Spindle Stop and Orient 31
M2 End of Program 22
Format 1 22
Format 2 22
M20 General Purpose Indexer 31
M3 Spindle CW 23
M3.1 Sub-Spindle On, Ignore Magnet 23
M3.2 Acknowledge Spindle Magnet 23
M30 End Of All Subroutines 31
M30 End Of Program 32
M31 Exchange Pallets 32, 392
M32 Load and Store Pallet A 33
M32 Store Pallet B and Load Pallet A 392
M32.1 392
M32.1 Load Pallet A & Verify Pallet A Has Been Loaded 33
M33 Store and Load Pallet B 33
M33 Store Pallet A and Load Pallet B 392
M33.1 393
M4 Spindle CCW 24
Q Word 41
R0+# 41
R1+# 41
R2+# 41
M94.2 Advanced Feed Forward 42
Acceleration 43
Deceleration 43
Detail 43
P Word 43
R1 43
R2 43
M95 Feed Forward Cancel 44
M95.1 Feed Forward by Feed Rate Modification Cancel 44
M95.2 AFF Cancel 44
M96 219
M96 and M97 219
When to use 219
M96 Intersectional Cutter Compensation Canceled (Roll CRC) 44
M97 219
M97 Intersectional Cutter Compensation 45
M98 Subprogram 45
L Word 46
P Word 45
M99 End Of Subprogram 46
M99 Line Jump 46
P Word 46
MA 154
Machine Coordinate System 67, 261
Machine Grounding 311
Macintosh II Mini-8 Connector 321
Macintosh Plus DIN-8 Connector 322
Macintosh Plus DIN-9 Connector 321
Macro 154
Macro Commands 417
AND, OR, and NOT 423
CLEAR 417
GOTO 417
IF - THEN 418
INDEX 419
INPUT 419
LABELS 420
Labels 418
PRINT 420
SET 420
SET DEBUG 421
Menu 155
METRIC MODE REQUIRED - OPERATOR MUST SET 242
Metric Programming 55, 71, 164
Metric Threads 98
Mid Program Start 281
Mill Boring 119
L94NN Mill Boring Cycle Counterclockwise 119
L95NN Mill Boring Cycle Clockwise 120
Minimum Peck
K# 102
Mirror Image 63
Mirror Image Cancel 62
Miscellaneous Control Options 477
Input from a Tape Punch or Computer 477
Key Lock 478
NOEDIT Feature 479
Modal & Non Modal Functions 3
Modal 3
Non Modal 3
Modal Subroutine 68
MOTOR OVERLOAD 242
MOTOR OVERLOAD. ERROR > OVERLOAD FACTOR IN CONTOURING MODE 259
MOTOR OVERLOAD. ERROR > OVERLOAD FACTOR IN JOB MODE 259
MOTOR OVERLOAD. ERROR > OVERLOAD FACTOR IN POINT TO POINT MODE 259
MOTOR OVERLOAD. ERROR > OVERLOAD FACTOR IN STANDBY MODE 259
MOTOR OVERLOAD. EXCESSIVE FOLLOWING ERROR 257
MOTOR OVERLOAD. FOLLOWING ERROR GREATER THAN THE OVERLOAD FACTOR 258
MOTOR OVERLOAD. MISSING 0 OR 1 COMMAND 258
MOTOR OVERLOAD. PULSE COMMAND STEP COMMAND CHECKSUM ERROR 258
MOVE EXCEEDS AXIS LIMIT AT N = CHECK PROGRAM AND TOOL OR FIXTURE OFFSETS 242
Move to Fixture Offset 199
Move to Home 267
Move Tool Changer 26
MOVE TRANSFER FAULT. INCOMPLETE DATA FOR MOVE COMMAND 258
MOVE TURRET TO TOOL 1 AND ENTER SETTO COMMAND 243
MP Series Probe 348
General Rules 348
MP8 Probe Calibration 366
MU 155
N
NC Word Summary 1
NE 155
Nesting 105
New Program 155
O
O = OPTIONS PLOTTING 148
O Macro
Layout 413
O Word 10
O WORD OUT OF RANGE 245
OD Thread 308
Cutting 308
OFFSET ENTRY ERROR 244
Offset Number 151
Offset Utility Option 3 199
Offset Utility Option 4 199
Offset Utility Option 5 199
Offset Utility Option 6 200
Offset Utility Options 193
Item 1 193
Item 2 194
Item 3 196
Item 4 197
Item 5 198
Item 6 199
Item 7 199
Item 8 199
Item 9 199
Option 1 193
Option 2 193
Offsets 159
P
P WORD TOO LARGE 248
PA 156
Pallet 178
Pallet A Rotary Table & Pallet B Rotary Table Override Potentiomete 393
Pallet A Rotary Table Override Potentiometer 36
Pallet B Rotary Table Override Potentiometer 37
Pallet Changer 199, 391
Mechanical Overview 391
Word Swap 391
PALLET DISABLED IN PARAMETERS 245
PALLET IN STORAGE 245
PALLET MUST BE CLAMPED 246
PALLET NOT FULLY STORED 245
Pallet Programming 165
PARAMETER ERROR 246
Parametric Programming 107, 401
Example Program 402
Parametric Variables 414
PARITY ERROR 246
PARITY ERROR DURING DNC 246
Peck Drill
G73 102
Peck Drilling 81
Pendant 175
Perpendicular Rule 215
Plane Selection 54
PLEASE PUT AN O WORD AT THE FIRST OF THE CURRENT PROGRAM THE FOLLOWING PROGRAMS ARE
IN MEMORY 246
Program Protection 11
Emergency Stop Button 12
Key Lock 12
NOEDIT 11
Program Data Input 13
Program Storage 12
Program Stop 21
Program Storage 12
Program Tape Input 9
Programmable Coolant On 27
Programmable Data Input 51
Programming Formats 165
Format 1 166
Format 2 167
PU 161
PU Command 316
PU FORMAT 177
Punch Program Tape 161
Code Option 161
Data Option 161
TTY Option 161
Q
Q Word 278
Quick Keys Menu 379
AXIS ZERO 380
CUSTOM MACRO 382
DRY RUN 379
NEXT TOOL 379
OFFSETS 380
PUNCH 380
READ 380
SET FIXTURE 380
SET LENGTH 380
ZERO RETURN 380
R
R Plane 76
R Variable Definition 402
Radius Variables 409
RAILS NOT ALIGNED 248
Ramp 183
Ramp Control 62
Ramp Control Cancel 62
Ramping 96
S
S = SINGLE STEP 148
SCALE ERROR 249
SEE MENU FOR NEW CD FORMAT 249
Select Number/Locator 193
Sending Data 323
SEQUENCE NUMBER TOO LARGE 249
SEQUENCE NUMBER TOO SMALL 249
SERVO AMPLIFIER FAULT 249
SERVO AMPLIFIER FAULT LINE DOWN 258
Servo Coolant 468
Continuous Sweep Mode 471
CS Procedure 469
Description 468
Setup Procedure 469
Servo Coolant Potentiometer Controls In/Out 36
SET 164
Set Cold Start 163
Set Home Position For One Axis 164
Set Home Position Of All Axes 163
Set System Parameters 164
Set Time 201
Set Tool Length Offset 187
Optional Change Value 187
Tool Number 187
Set Turret Order 186
SETCS 163
SETH 163
SETIN 164
SETME 164
SETP 164
SETP Parameter 25
SETPA and SETPB 165
SETPB 165
SETTO 186
Shift 129
SINGLE STEP 249
Single Step 135
SL 187
SLIDE HOLD 249
Slide Hold 132
Slide Hold, JOG AWAY 132
Software Error Codes 335
Spacebar, Background Editing 134
Spindle After M6 174
Spindle CCW 24
SPINDLE CONTROLLER DOES NOT RESPOND 250
SPINDLE CONTROLLER OR DRIVER FAULT 250
SPINDLE CONTROLLER SOFTWARE UPDATE IS REQUIRED 250
Spindle CW 23
SPINDLE DRIVER FAULT 250
SPINDLE FAILURE DURING REVERSAL 251
SPINDLE FAILURE WHILE TAPPING 250
SPINDLE FAULT LINE 251
SPINDLE FAULT LINE DOWN 257
SPINDLE HAS FAILED TO TURN ON 251
SPINDLE MAGNET NOT DETECTED or SPINDLE NOT RUNNING 257
SPINDLE MOTOR TEMPERATURE FAULT 251
Spindle Off 24, 83, 94
Spindle On/Off 130
Spindle Speed 96
Spindle Speed Override Potentiometer 129
Spindle Stop and Orient 31
Spindle Type 174
SPINDLE WILL NOT STOP. CHECK INVERTER ZERO SPEED 260
SPINDLE WOULD NOT STOP 251
Spiral Cut Macro 437
Spot Drilling 81
Spot Facing 82
SPURIOUS INTERRUPTS. NOT SERVICEABLE 259
STACK OVERFLOW 251
STACK OVERFLOW. OVERLOADED WITH STEP COMMAND 258
Start 135
Start Block Num 147
Start Block Num. 146
Step Downs 216
Store and Load Pallet B 33
Store Location 196
Storing Probed Positions 58
Saving Positions Through the Rs-232 Port 58
Saving Positions to P Words 58
Saving the Position As a V Variable 58
SU 188
Sub Program 810 437
Subprogram 45
Subprograms 108
SUBR. DOES NOT EXIST 251
SUBR. NESTING ERROR 251
SUBROUTINE CALL IS NOT ALLOWED IN MDI 251
Subroutines 103
Beginning 103
Calling 103
Ending 104
Sub-Spindle On, Ignore Magnet 23, 24
Sum Program 188
CRC Option 188
Display From 188
Display Option 188
Through 188
Survey 189
SURVEY CLEARED DUE TO BLANK OR CORRUPT SURVEY 260
SURVEY CONTAINS ERRORS, PLEASE REVIEW 252
SURVEY WAS NOT WRITTEN TO THE AXIS CONTROLLER 252
SV 189
SWITCH 1 DISABLED 257
Symbolic Operators 429
Syntax Errors 337
T
TA 190
Table 59
Tap Sizes 97
Tape Input 190, 315
Add at the End Option 190
Device Option 190
Error Option 190
TAPE INPUT TERMINATED 252
TAPE IS GOOD 252
Tape Punch 325
Tape Verification 202
TAPMATIC 97
Tapmatic NCR Series 99
Tapmatic SPD Series 100
Tapping Cycles 96
Feed Rate Calculation 97
General Tapping Rules 96
Format 1 96
Format 2 96
Program Examples 98
Tapping Head Cycle 81
TC,1 191
Teletype 325
TEMPERATURE FAULT 252
TEMPORARY CONFLICT WITH AUTO 252
Termination 311
U
UNDEFINED MACRO ERROR 254
Unwrapping 278
User Attached Devices 37
UT 192
Utility 192
Tool Number 192
Utility Menu 395
V
V= VIEW TOP OR ISOMETRIC 148
V1-V100 415
Variables 408, 425
Arrays 408, 425
Axis Position Variables 408
CLEAR 426
V1-V100 425
Video On/Off Switch 127
Video Option 146, 147
W
WAIT 2 SEC., THE AXIS DRIVERS ARE BEING RESET 254
WAITING 255
WAITING ON AIR VALVE 255
WARNING POSSIBLE GOUGE AT N = 255
WAY LUBE PRESSURE SWITCH FAILURE 255
Wrapping X on B Axis 277
WRITING ERROR, WAIT 2 MIN. AND RETRY 255
X
X Axis Reciprocation 28
X Value 151
X,Y OR Z MOVE MUST BE SPECIFIED AT N = 255
XModem Direct Numerical Control 147
XMODEM for DNCX 312
How to Send a File Using 312
XMODEM Protocol 312
XON/XOFF Protocol 312
XYZ Axes 169
Y
Y Value 151
YOU CANNOT DELETE THE PROGRAM THAT IS CURRENTLY ACTIVE 255
YOU HAVE A VERSION UPGRADE OR MEMORY HAS BEEN CORRUPTED ... MEMORY NEEDS TO BE ZEROED
255
YOU MUST ENTER THE BACKLASH TABLE 255
YOUR VERSION OF CNC MAIN NEEDS TO BE UPDATED 256
YZ Circular Interpolation With The A Axis 54
YZA Circular Interpolation 274
Z
Z & M6 LOCKOUT IS IN EFFECT 256
Z AXIS MUST BE AT COLD START FOR TC,1 256
Z Value 151
Z, Q, OR F MISSING IN CANNED CYCLE CALL, N = 256