Touch Probes
Touch Probes
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.