Professional Documents
Culture Documents
Different Probe Use en
Different Probe Use en
Calibration routine
program Explanations to the program steps
%
:8000 Program number
#505 = 2. Identification of FANUC control number
#504 = 11. Setting of tool number for the probe
#513 = 2. Specify type of battery used
#520 = 5000. Setting of positioning feedrate
#521 = 250. Setting of actual measuring feedrate
G0 G91 G28 Z0 Return Z axis to home position
G110 Code to call calibration routine
G110 X25 Y0 D6.
Incrental distance from the Y axis center line of the ring to where
Y0 the Z axis touch is to occur.
D6. Specify diameter of the probe stylus
T40. Specify exact diameter of the calibration ring
A1. Specify tool offset type for the control
G0 G91 G28 Z0 Return Z axis to home position
M30 End of calibration routine
%
Hints
Ø The possible values for variables #505, #513 plus the offset type A1/A2 or A3 are
explained in more detail in
the operating instruction manual.
Ø After calibration of the probe do not modify the values in variables #500 to #521.
Ø After changing a break shaft or installing a new stylus, you must calibrate the probe again.
Page 1 of 1
MEASURING WORKPIECE WITH FANUC-CONTROL
G120 X Y Z R F S A D E T W G130 X Y Z R F A D E S T W V
G120 is used for finding diameters and centrelines of slots, bores APPLICATION G130 is used for probing a single surface in any axis
APPLICATION
and bosses Process Measurement always takes place using one touch
Process Measurement takes place with either two or four touches FOLLOWING VALUES MUST BE INPUT
FOLLOWING VALUES MUST BE INPUT G130 G130 IS THE CODE TO CALL THE SINGLE SURFACE MEASURING MACRO
G120 G120 IS THE CODE TO CALL THE DIAMETERS/CENTRELINES MEASURING MACRO
X_._ THIS INPUT DEFINES THE STARTPOINT FOR MEASURING IN THE X-AXIS
X_._ THIS INPUT DEFINES THE ESTIMATED X AXIS ABSOLUTE CENTER LINE
Y_._ THIS INPUT DEFINES THE STARTPOINT FOR MEASURING IN THE Y-AXIS
Y_._ THIS INPUT DEFINES THE ESTIMATED Y AXIS ABSOLUTE CENTER LINE
Z_._ Z-axis absolute position at which to probe in X and/or in Y-axis. If Z axis is the probing
axis, the Z input defines the estimated location of the surface
Z_._ Z axis absolute position at which to probe in X and/or in Y axis
Z-AXIS ABSOLUTE CLEARANCE PLANE 1
R_._
R_._ Z axis absolute clearance plane 1
(Movement to this position will be at the feedrate specified in #520)
(MOVEMENT TO THIS POSITION WILL BE AT THE FEEDRATE SPECIFIED IN #520)
AVAILABLE FUNCTIONS 2
AVAILABLE FUNCTIONS 2 F1. = update current work system to the located surface
F1. = set current work coordiante system to the located center line of the feature F_. F2. = measure the surface location without a printout
F2. = measure the diameter and obtain the x and y center line of a feature F3. = measure the surface lacation with a printout
without a printout
F_. F3. = measure the diameter and obtain the x and y center line of a feature with a
SELECT THE PROBE AXIS IN WHICH YOU WISH TO DO THE TOUCH:
A1. = X axis
Printout A_. A2. = Y axis
S1. = to locate part feature by measuring externally A3. = Z axis
S_. S2. = part feature is bore with no center obstruction and measured internally
S3. = part feature is bore with a center obstruction and measured internally D_._ Incremental distance and direction to the estimated surface location
SELECT THE PROBE AXIS IN WHICH YOU WISH TO SET THE DATUM:
A1. = X axis only E_. Error amount part feature may be miss-located
A_. A2. = Yaxis only This data is optional
A3. = X and Y axes together S1. = external probing
D_._ Estimated diameter of feature S_. S2. = internal probing
E_. Error amount part feature may be miss-located T_. Tool radius offset number to be updated3
This data is optional W_. Amount size can deviate from value V, before alarm is generated
T_. Tool radius offset number to be updated V_._ Size/face expected to be found at this position
W_. Amount size can deviate from value D, before alarm is generated
Hints
1/1
This value specifies the position to which the probe will start from and return to after measuring.
2 2
If F2. or F3. are input, results from measuring are saved in variables #506 (X-axis centre) If F2. or F3.are input, the result from measuring is saved in variable #510.
3
#507 (Y-axis centre), #508 (Ø X-axis), #509 (Ø Y-axis). This should only be used if an update to the offset is required
Page 2 of 2
Short instruction for toolsetter on FANUC control
Calibrating the toolsetter
Before calibration the following requirements must be met
1. The reference length tool must be loaded in the spindle
2. The length of the reference tool expressed in the unit of measurement (Inch or Metric) needed, must
be loaded in #526
3. The approximate distance from the spindle face to the probe tip, expressed in the unit of
measurement (Inch or Metric) needed, must be loaded in #522. This needs to be accurate to +/-
10mm.
Calibration routine
Program Explanations to the program steps
%
:8500 Program number
#528=0 X AXIS PROBE C/LINE POSITION
#529 = -45.0 Y AXIS PROBE C/LINE POSITION
#526=150.27 EXACT LENGTH OF CALIBRATION TOOL
#522=420.0 APPROX. DIST. BETWEEN PROBE FACE + SPINDLE
G140 Code to call the toolsetter macro program
0 F1.
D10.
G14
Page 3 of 3
TOOL MEASUREMENT
G140 F_.T_.E._D._H_.R_.I_.U_.X_._Y_._Z_._
G140 is the code used when dealing with tool measurements. The code is used to
calibrate the system, measure a tool length, or measure a tool radius, or measure a
length and radius or check for a broken tool.
OFFSET NUMBER IN WHICH TO LOAD TOOL LENGTH OR TOOL OFFSET Value required
T NUMBER TO READ WHEN F4 OR F7. IS INPUT THIS VALUE MUST BE A
POSITIVE WHOLE NUMBER. IF F1. OR F3. IS INPUT THEN T INPUT IS
NOT REQUIRED
Page 4 of 4
I INCREMENTAL DISTANCE FROM THE TOOL TIP AT WHICH Value required
TO MEASURE THE TOOL DIAMETER.
THIS VALUE MUST BE A POSITIVE NUMBER.
IF F1. OR F2. OR F5. IS INPUT THEN I INPUT IS NOT REQUIRED
Page 5 of 5
PROBE CALIBRATION LENGTH & RADIUS
1. The spindle will retract to home position when the cycle is completed
2. #522 will be updated to reflect the exact distance to the tip
Page 6 of 6
TOOL LENGTH MEASUREMENT
1. The spindle will retract to home position when the cycle is completed
2. The exact length of the tool will be loaded in offset 26.
Page 7 of 7
TOOL RADIUS MEASUREMENT
1. The spindle will retract to home position when the cycle is completed
2. The size of the tool will be loaded in the tool offset identified by the U
input value in a form specified by the R input value as a radius or a
size difference.
1. The combined results of tool length and tool radius measurements will
be loaded into the values set by “T” and “U” for length and radius
respectively.
Page 8 of 8
CHECK FOR BROKEN OR WORN TOOLS
All tool length measurements move the spindle center line over the probe tip X/Y
center line. This probe tip center line position is written into the G140 macro as a
G53 (machine coordinate) position. This makes it unnecessary for the user to
input any axis motion prior to calling the G140 routine as it will all be done
automatically.
Page 9 of 9
LENGTH/RADIUS MEASUREMENT WITH ROTATING
SPINDLE
1 The combined results of tool length and tool radius measurements will
be loaded into length/radius offsets specified by “T” and “U”.
G140 T A E D H R I U X Y Z
F1. X OPT OPT
F1.1 X OPT OPT
F2. X X OPT OPT
F3. X X X X X X OPT OPT X
F4. X X X X X X X X OPT OPT
F5. X X X OPT OPT
F7. X X X X X X OPT OPT X
Page 10 of 10
CENTRELINES DIAMETERS
G120 X_._ Y_._ R_._ Z_._T_. W_._ F_. A_. D_. E_._ S_.
FUNCTION DESCRIPTION
G120 is the call used when dealing with centre lines (midpoints) and diameters (widths)
of a part feature. This function has several options that can be selected and can be of use
to the NC Programmer.
Page 11 of 11
CENTRELINES DIAMETERS
G120 X_._ Y_._ R_._ Z_._T_. W_._ F_. A_. D_. E_._ S_.
FUNCTION DESCRIPTION ( C O NT .)
When F2. or F3. is input in the address, the located centre lines/diameters are saved in
the following variables:
VARIABLE DATA
#506 X AXIS CENTER LINE POSITION OF PROBED FEATURE
#507 Y AXIS CENTER LINE POSITION OF PROBED FEATURE
#508 X AXIS DIAMETER/WIDTH OF PROBED FEATURE
#509 Y AXIS DIAMETER/WIDTH OF PROBED FEATURE
The values in these variables reflect the position of the part feature relative to the work
co-ordinate system currently in effect when G120 is executed. These values are retained
until the next use of G120.
To control which values in the work co-ordinate system are updated (If F1. is input), or
measured (If F2./F3. is input), use one of the following values in the A letter address.
VARIABL DATA
E
A Measure and update in X axis only. 1.
A Measure and update in Y axis only. 2.
A Measure and update in both X and Y axes. 3.
Page 12 of 12
CENTRELINES DIAMETERS
G120 X_._ Y_._ R_._ Z_._T_. W_._ F_. A_. D_. E_._ S_.
FUNCTION DESCRIPTION ( C O NT .)
EXAMPLE
G120 X_._ Y_._ R_._ Z_._ F2. A3. S1. D_._ E_. T_ _.W._
Z axis will position to the absolute position as defined by the R letter address
value.
6.2
Page 13 of 13
CENTRELINES DIAMETERS
G120 X_._ Y_._ R_._ Z_._T_. W_._ F_. A_. D_. E_._ S_.
EXAMPLE ( C ONT .)
G120 X_._ Y_._ R_._ Z_._ F2. A3. S1. D_._ E_. T_ _.W._
The appropriate axis (dependent on the A input value) will move to a calculated
absolute clearance position of the estimated centre line plus one half the estimated
D letter address value plus the E letter address value.
D/2
The axis will move to the absolute position of the Z letter address value.
6.3
Page 14 of 14
CENTRELINES DIAMETERS
G120 X_._ Y_._ R_._ Z_._T_. W_._ F_. A_. D_. E_._ S_.
EXAMPLE (CONT.)
G120 X_._ Y_._ R_._ Z_._ F2. A3. S1. D_._ E_. T_ _.W._
When contact is made with a surface, the position is saved and the probe moves
back to the previous clearance point.
The Z axis retracts back to the absolute position as defined by the R input value.
The above representations will be performed in the same manner for the remaining three
touches.
USAGE NOTES
The main differences of the S letter address are the Z axis movements. If S2. is input the
probe moves to the input Z depth and never retracts until the routine is finished. If S1. or
S3. is input, the probe moves back to original R position before movement takes place in
X/Y and then returns to Z position for measuring to begin.
6.4
Page 15 of 15
CENTRELINES DIAMETERS
G120 X_._ Y_._ R_._ Z_._T_. W_._ F_. A_. D_. E_._ S_.
USAGE NOTES
If you need to know the true diameter of a feature always use the Y axis value (#509)
when A3. has been input. Watching the measuring sequence, you’ll see that when the X
axis is probed first, the probe may not be on the exact Y axis centre line. When the Y axis
is probed after the X axis, the probe tip has been centred on the X axis centre line so the
resulting diameter will be correct.
ERROR MESSAGES
NUMBER DESCRIPTION
176 INCORRECT OR MISSING S INPUT
177 E VALUE REQUIRED
178 INCORRECT Z or R RELATIONSHIP
179 Z VALUE REQUIRED
180 INCORRECT OR MISSING A INPUT
181 INCORRECT OR MISSING F INPUT
182 PROBE TRIGGERED DURING MOVE TO R
POSITION
185 INCORRECT OR MISSING PROBE LENGTH
186 INCORRECT OR MISSING VALUE IN #504
189 PROBE DID NOT TOUCH IN Y AXIS MOVE
190 PROBE DID NOT TOUCH IN X AXIS MOVE
194 INCORRECT LENGTH COMPENSATION NUMBER
195 LENGTH COMPENSATION NOT ACTIVE
196 PROBE CALIBRATION NOT PERFORMED
197 Z AXIS CONTACTED AN OBSTRUCTION WHEN
MOVING
198 Y AXIS CONTACTED AN OBSTRUCTION WHEN
MOVING
199 X AXIS CONTACTED AN OBSTRUCTION WHEN
MOVING
6.5
Page 16 of 16
SINGLE SURFACE
G130 X_._ Y_._ R_._ Z_._ V_._ W_._ T_._ S_._ F_. A_. D_._ E_._
FUNCTION DESCRIPTION
w AMOUNT SIZE CAN DEVIATE FROM VALUE “V” BEFORE ALARM IS Optional
GENERATED
When F1. is input (setting work co-ordinate system) the result is that the work co-ordinate system
currently in effect (G54-G59 or G54.1 P1-48) is updated to reflect the position of the surface found by
probe. See additional sheets 7.4/7.5.
When F2. or F3. is input, the surface found relative to the current work system, is saved in variable
#510.
When F3. is input the position of the surface found is sent to the printer, DNC link or other device.
The value of the surface found is stored in #510 and retained until the next use of G130 when it will
be over written.
7.0
Page 17 of 17
SINGLE SURFACE
G130 X_._ Y_._ R_._ Z_._ V_._ W_._ T_._ S_._ F_. A_. D_._ E_._
FUNCTION DESCRIPTION ( C O NT .)
EXAMPLE
G130 X_._ Y_._ R_._ Z_._ F2. A3. D_._ E_._ T_ _.W._ S_. V_._
7.1
Page 18 of 18
SINGLE SURFACE
G130 X_._ Y_._ R_._ Z_._ V_._ W_._ T_._ S_._ F_. A_. D_._ E_._
EXAMPLE( C ONT .)
G130 X_._ Y_._ R_._ Z_._ F2. A3. D_._ E_._ T_ _.W._ S_. V_._
7. 2
Page 19 of 19
SINGLE SURFACE
G130 X_._ Y_._ R_._ Z_._ V_._ W_._ T_._ S_._ F_. A_. D_._ E_._
RESULTS
G130 X_._ Y_._ R_._ Z_._ F2. A3. D_._ E_._ T_ _.W._ S_. V_._
If F1. Was input the appropriate work co-ordinate system is updated to reflect the
new axis location. See pages 7.4/7.5 for exact details
If F2. Was input the found surface location is saved to variable #510
If F3. Was input the found surface location is saved to #510 and the value is sent
to a line printer or other device
ERROR MESSAGES
NUMBER DESCRIPTION
173 D INPUT CAN NOT BE ZERO
174 PROBE DID NOT TOUCH IN Z AXIS MOVE
175 D INPUT IS REQUIRED
177 E INPUT IS REQUIRED
178 INCORRECT Z/R RELATIONSHIP
179 Z INPUT IS REQUIRED
180 INCORRECT OR MISSING A INPUT
181 INCORRECT OR MISSING F INPUT
182 PROBE TRIGGERED DURING MOVE TO R POSITION
185 INCORRECT OR MISSING PROBE LENGTH ENTERED
186 INCORRECT OR MISSING VALUE IN #504
189 PROBE DID NOT TOUCH IN Y AXIS MOVE
190 PROBE DID NOT TOUCH IN X AXIS MOVE
194 INCORRECT COMPENSATION NUMBER
195 LENGTH COMPENSATION NOT ACTIVE
196 NEED TO PERFORM CALIBRATION
197 Z AXIS CONTACTED AN OBSTRUCTION DURING MOVE
198 Y AXIS CONTACTED AN OBSTRUCTION DURING MOVE
199 X AXIS CONTACTED AN OBSTRUCTION DURING MOVE
200 NO VALUE ENTERED FOR V
201 NO VALUE ENTERED FOR S
7. 3
Page 20 of 20
SINGLE SURFACE
G130 X_._ Y_._ R_._ Z_._ V_._ W_._ T_._ S_._ F_. A_. D_._ E_._
When using G130 F1. and either X or Y there are certain conditions that need to be met.
If your software for program 9013 has only “G130” in the title then it will always set the found
surface to zero. This means that no matter where you are probing, the surface found will be set
to zero. The value for any surface found can then be changed by using G170 work offset update
cycle to alter X, Y or Z. If this is the case then read the section for G170 work offset update and
ignore the examples below and on page 7.5
If your software for program 9013 has “G130ABS” in the title, the surface found is always set
relative to the current zero position in the work offset. In order to be able to calculate this new
position, the macro uses the value set for either X or Y (the clearance position to which the axis
is sent) and then adds the value set by D. By combining these two values, the actual distance
from the found surface back to the axis zero point is calculated.
For example, with X axis measuring internally: G130 X90. Y25. Z-3. R4. F1. A1. D10. E5.
Another example for Y axis measuring internally: G130 X100. Y-75. Z-6. R4. F1. A2. D-5. E5.
Another example for X axis measuring externally: G130 X-30. Y25. Z-3. R4. F1. A1. D10.25 E5.
Another example for Y axis measuring externally: G130 X100. Y105.16 Z-6. R4. F1. A2. D-5. E5.
Page 21 of 21
SINGLE SURFACE
G130 X_._ Y_._ R_._ Z_._ V_._ W_._ T_._ S_._ F_. A_. D_._ E_._
The drawing below shows 8 different positions for single axis probing on a part. Programs 1-8 correspond
to the numbers shown in () on the drawing. Actual surface value to be set is shown in [ ]
(1) G130 X-10. Y40. Z-4. R4. F1. A1. D10. E5. [X0. Y40.]
(2) G130 X70. Y-8. Z-4. R4. F1. A2. D8. E4. [X70. Y0.]
(3) G130 X150. Y40. Z-5. R4. F1. A1. D-10. E5. [X140. Y40.]
(4) G130 X70. Y87. Z-6. R3. F1. A2. D-7. E5. [X70. Y80.]
(5) G130 X40. Y40. Z-5. R4. F1. A1. D-10. E5. [X30. Y40.]
(6) G130 X70. Y28. Z-5. R4. F1. A2. D-8. E5. [X70. Y20.]
(7) G130 X103. Y40. Z-5. R4. F1. A1. D7. E5. [X110. Y40.]
(8) G130 X70. Y50. Z-5. R4. F1. A2. D10. E5. [X70. Y60.]
(4)
♦
X0 Y80
Y60 ♦
(8)
(6)
♦
Y20
X0 Y0
X30 ♦ X110 X140
(2)
7.5
Page 22 of 22
G170-WORK OFFSET UPDATE CYCLE
G170 F_. U_. X_._ Y_._ Z_._
The cycle G170 etc can be used to automatically update work coordinate offsets. This cycle
saves the user from having to work out system variable values for work offsets and then
calculate their new values, as it does it automatically for you.
F Original/first work offset whose values will be used to calculate the Must be loaded as
updated work offset set by value “U”. If existing offset only needs either 54. to 59. or 1.
updating, “F” and “U” values can be the same. For G54-G59, enter to 48.
F54 to F59. For G54.1P1-G54.1P48, enter F1 to F48.
U Work offset to be updated using original value set by input “F”. “U” Must be loaded as
can be the same value as “F” if only original work offset needs either 54. to 59. or 1.
updating. For G54-G59, enter U54 to U59. For G54.1P1-G54.1P48, to 48.
enter U1 to U48.
X Amount updated “X” offset value needs moving. If “X” is not input, Optional
there will be no change to the “X” in the updated work offset value.
Y Amount updated “Y” offset value needs moving. If “Y” is not input, Optional
there will be no change to the “Y” in the updated work offset value.
Z Amount updated “Z” offset value needs moving. If “Z” is not input, Optional
there will be no change to the “Z” in the updated work offset value.
Example 1 : Take found value for work offset G55 and update work offset G59 with values loaded in “X” and
“Z”
Example 2 : Take found value for work offset G54.1P37 and update work offset G54.1P39 with values
loaded in “X”, “Y” and “Z”
G170 F37. U39. X50.456 Y-25.00 Z-90.
Result : G54.1P39 is loaded with G54.1P37 “X”, “Y” and “Z” values and altered by X50.456, Y-25. and Z-
90.
Example 3 : Take found value for work offset G54.1P4 and update work offset G57 with values loaded in
“X”, “Y” and “Z”
G170 F4. U57. X-27.0 Y35.00 Z-50.
Result : G57 is loaded with G54.1P4 “X”, “Y” and “Z” values and altered by X-27., Y35. and Z-50.
Example 4 : Take found value for work offset G56 and update work offset G56 with values loaded in “X”,
“Y” and “Z”
G170 F56. U56. X-1.25 Y-29.56 Z-10.
Result : G56 is updated in “X”, “Y” and “Z” values and altered by X-1.25, Y-29.56 and Z-10.
Page 23 of 23
DIFFERENT USES FOR YOUR PROBING RESULTS
It is possible to use your probe for many other purposes than simply finding the centreline of a bore or the
edge of a job. The only restriction on how you can manipulate the found positions is your imagination. The
examples shown have messages written in brackets. If messages are written in CAPITALS this is how they
should they should be written in a program. If messages are in lower case they are for guidance and
information only. In all examples it has been assumed that tool 60 is the probe.
For example, you may want to find the average centreline between 2 cored holes, that should be in line with
each other, to ensure that both the holes look as central as possible to the casting. This can be done by
using the following program. This program works from an assumed original G59 centreline that is set into the
program at the start of the measuring cycle. The program is written for a Fanuc 15M control but could just as
easily be changed for Fanuc 6 or 0 by altering the #5321 value to #2506.
O1000(Main program)
G10G90L2P6X-350.Y-300.Z-450.
T60M6(Load probe into spindle)
G59
G150
G120X130.Y0Z-5.R5.F2.A1.D40.E3.S2.(Find X centreline value)
#100=#506(Loads #100 with difference in X from expected centreline)
G120X-130.Y0Z-5.R5.F2.A1.D30.E3.S2.(Find X centreline value)
#101=#506(Loads #101 with difference in X from expected centreline)
#102=[#100+#101]/2.(Calculates the average difference from expected centreline)
#5321=#5321+#102(Changes G59 work offset to take into account X difference)
G0G91G28Z0
M6
Continue with ordinary machining which now works with new G59 X offset
The example below illustrates the use of G130 single surface measurement in the “Y” axis. The example
assumes a component has been clamped onto a face plate but the customer wants to check that it is sitting
square before machining begins. If the part is not square within a particular tolerance, set by a value in #110
in this example, then the machine will alarm to warn the operator and avoid the part being scrapped. This
program uses G58 work offset.
O1100(Main program)
G10G90L2P5X-250.Y-225.Z-535.
T60M6(Load probe into spindle)
G58
G150
G130X100.Y-10.Z-5.R5.F2.A2.D10.E5.(Find measured Y surface +100mm from
centreline in X)
#105=#510(Loads #105 with distance in Y from datum)
G130X-100.Y-10.Z-5.R5.F2.A2.D10.E5. (Find measured Y surface -100mm from
centreline in X)
#106=#510(Loads #106 with distance in Y from datum)
#107=ABS[#105-#106]
#110=0.1(Loads #110 with squareness tolerance of 0.1mm)
IF[#107GT#110]THEN#3000=100(OUT OF SQUARENESS TOLERANCE)
Continue with ordinary machining unless squareness is out of tolerance in which case machine will alarm and
stop.
Page 24 of 24
9.0
The same format as the previous example can be followed for different axes to check, for example, whether
a component has been loaded flat into a vice or fixture. If a tolerance is set for the amount a part can deviate
in the Z axis, it should never be possible to accidentally machine a part that is not sitting flat and machining
will only continue if the part is located within the tolerance as in the next example which uses work offset
G55.
O1200
G10G90L2P2X-400.Y-275.Z-435.
T60M6(Load probe into spindle)
G55
G150
G130X-150.Y0Z0R5.F2.A3.E5.
#112=#510(Loads #112 with difference from established datum surface)
G130X150.Y0Z0R5.F2.A3.E5.
#113=#510(Loads #113 with difference from es tablished datum surface)
#114=0.1(Set #114 with maximum amount the 2 checked faces can deviate)
#115=ABS[#112-#113](By using ABS this sets the found value to a positive figure
each time)
IF[#114GT#115]GOTO10(If tolerance is greater than deviation, jump to line 10 and
continue program)
#3000=100(FLATNESS TOLERANCE EXCEEDED)
N10Continue with program as flatness is within tolerance
There are many ways a probe will help stop creating scrap or, as in the next example, find out if a part is
scrap and stop costly and wasteful machining before it has chance to begin.
This example shows the use of the G120 cycle for checking an interpolated bore and updating the radius
offset of the tool that machines it. If the macro program finds that the bore is undersize it will update the
radius offset and send the program back to the line at which the cutting tool is loaded into the spindle.
Machining will then be done again but with the radius offset updated to make proper size cutting. If it finds
the bore is already oversize it will jump to a line that calls an alarm. If the bore is within tolerance, ordinary
machining will continue.
O1300
N1T20M6(Loads tool for interpolating bore)
G57
Machining of bore
T60M6(Load probe into spindle)
G57
G150
G120X25.Y25.Z-5.R5.F2.A3.D40.E2.T20. (By adding T20, the radius offset for Tool
20 is updated)
#120=40.(Nominal size of bore being checked)
#121=.02(Loads amount bore can deviate either way from nominal size : +/ -
0.02mm)
#122=#509(Loads diameter saved for bore measured in Y direction )
IF[#122LT[#120-#121]]GOTO1(If undersize, program jumps back to load tool 20 and
cut again)
IF[#122GT[#120+#121]]THEN#3000=100(BORE IS OVERSIZE)
Continue with program as bore is within tolerance
Page 25 of 25
9.1
A previous example determined whether a part was sitting square within a certain tolerance. This next
example takes this a stage further and calculates the angle at which the part is sitting. This value can then be
loaded into a variable and used as the angle through which G68 coordinate rotation takes place. The macro
takes into account whether the part is sitting at a positive or negative angle and makes adjustments
accordingly.
O1400(Main program)
G10G90L2P1X-300.Y-235.Z-450.
T60M6(Load probe into spindle)
G54
G150
G130X75.Y-10.Z-5.R5.F2.A2.D10.E5.(Find measured Y surface +75mm from centreline
in X)
#125=#510(Loads #125 with distance in Y from datum)
G130X-75.Y-10.Z-5.R5.F2.A2.D10.E5. (Find measured Y surface -75mm from
centreline in X)
#126=#510(Loads #126 with distance in Y from datum)
#127=150.(Distance between measuring points in X)
IF[#125EQ#126]GOTO20(If both readings are the same then angle is 0)
IF[#126GT#125]GOTO10
#128=ATAN[#125-#126]/[#127]
GOTO30
N10#128=ATAN[#127]/[#126-#125]
#128=#128-90.
GOTO30
N20#128=0
N30G68X0Y0R#128
Continue with program using new value found for angle of component
Page 26 of 26
Another use for the probe could be to take the average of 3 points on a surface in the “Z” axis and update a
work offset to the newly found average. This can be achieved by using the G130 cycle and a simple macro
calculation as in the following example, which uses work offset G56.
O1500(Main program)
G10G90L2P3X-300.Y-400.Z-425.
T60M6(Load probe into spindle)
G56
G150
G130X60.Y0Z0R5.F2.A3.E5.
#130=#510(Loads #130 with difference between found surface and estimated
surface)
G130X-30.Y70.Z0R5.F2.A3.E5.
#131=#510(Loads #130 with difference between found surface and estimated
surface)
G130X0Y-55.Z0R5.F2.A3.E5.
#132=#510(Loads #130 with difference between found surface and estimated
surface)
#133=[#130+#131+#132]/3.(Calculates average difference of the 3 points)
#5263=#5263+#133(Updates G56 Z offset allowing for average deviation found)
Continue with normal machining program
Page 27 of 27
9.2
There is a standard format in the probing macros that will print out positions found by the probe. This format
is very rigid and some customers prefer to make their own printouts depending on their own individual
requirements. The following example shows the actual format of a program as it has been typed into a Fanuc
control and the copy after that shows how it is printed out. There are 2 commands in the Fanuc control for
opening and closing the port for transferring data out to either a printer or computer. As the example shows
there is always the command “POPEN” at the beginning of transmission and PCLOS at the end. These print
commands would either be added in at the end of a normal program or could be called as a sub-program.
The print values saved in variables that have been obtained during probing cycles. The numbers, for example
#550[23], that are inside square brackets denote the number of places to be printed both before and after
the decimal point.
Page 28 of 28
Troubleshooting with your m&h probe
Despite the care and attention used to build your probe, there are some areas of care that
are the sole responsibility of the probe user. This relates mainly to spindle probes although
other probe types are also applicable in certain areas.
Troubleshooting
Page 29 of 29
2) Check whether the pullstud switch is working correctly. The pullstud switch is extremely
reliable but we’ve had one case of a pullstud being damaged by the machine gripper. This
resulted in the pullstud being “stretched” and not switching off correctly. Remove the
probe from the spindle and hold it in front of the receiver. If the green light stays on then
the switch needs adjusting.
Translation errors
On the receiver/interface for the M&H radiowave probe, the red light has the wording
“error” next to it. As this is lit when there is no probe in the spindle, it does not mean
there is an error with the system. The German words on the receiver read “Nicht
Messbereit” which actually means “probe not ready”. Unfortunately, this was translated
into English and printed on the receiver as “error”.
Adjusting screws
The silver adjusting screws are made of stainless steel and not chrome vanadium. This is
deliberate. They are designed for the hexagon to be rounded off if overtightened. The
adjustment should be made using the Allen keys provided and not with “tommy bars”. If
you round off the heads of the adjusting screws, it is because you are tightening them too
hard. Do not replace them with chrome vanadium grub screws. There have been cases
when customers have used chrome vanadium and caused internal damage to the probe
from overtightening. There are 2 black tapered screws, which must be tight to
ensure the probe is properly sealed. Lubricate the adjusting and clamping screws with
grease occasionally.
Page 30 of 30
Changing probe batteries
Whenever the battery needs to be changed on your probe, the probe must be removed
from the spindle first. If you change the battery when the probe is in the spindle, and
therefore still switched on, you will experience difficulties when you try to use the probe. If
you get a receiver alarm or the probe doesn’t work correctly, then you must remove it from
the spindle. This will turn off and reset the probe and it should switch on OK the next time
it’s loaded into the spindle.
a) If you are installing your probe yourself, it is vital that probes with emergency switches
(90&93) are wired into the e-stop circuit on the machine. If they are not, they are not
protected against collision. Do not wire into software overtravel switches sometimes
supplied by machine tool builders but always use the machine emergency circuit.
b) Has the table probe been calibrated with a tool that is the correct length? We have had
several calls to customers who have used a tool for calibrating that is different to the
length measured by the presetter. If this happens, all tool lengths will be different to
the presetter!
c) If your table probe has a screw-in plug connection, check it is tight at least once a
month. Heavy machine vibrations may cause the connection to come loose.
d) If you find variations on tool lengths when measuring in different positions on the probe
face, the probe is not sitting square. Readjust it and make sure the probe is tightened
down fully.
e) If your table probe uses a square stylus, ensure it is fixed square inside the breakshaft.
If it is not square, any length measurement other than on the stylus centreline will be
wrong.
Page 31 of 31
DIRT. IT HAS NO IDEA WHETHER AN INSERT HAS MOVED OR
WHETHER IT EXISTS AT ALL! A PROBE LOOKS SOLELY FOR
CONTACT AGAINST A SURFACE WITHIN A GIVEN DISTANCE BUT IT
HAS NO IDEA WHAT THIS SURFACE CAN CONSIST OF. AS A RESULT,
IT IS COMPLETELY RELIANT ON OPERATORS TO ENSURE GOOD
MEASURING SURFACES ARE AVAILABLE FOR TRIGGERING.
Spindle probe – This probe is used solely for component measuring either before, during
or after the part has been cut. The spindle probe is generally unaffected by machine
conditions unless it is badly located in the spindle taper. If measuring a finished bore for
size, always use the diameter saved in #509 if using G120F2.A3. etc cycle.
The spindle probe can only measure as accurately as the machine on which it is fitted
because it uses the machines measuring system to determine its position in all its probing
cycles. If your machine has backlash or “slip/stick”, loss of accuracy during probing will be
unavoidable. Before calling for help, check the following:-
a) Is the probe stylus running true and when was the last time it was calibrated? Check
the calibration ring is still in exactly the same place as before – probe accuracy depends
totally on the accuracy of the calibration. Is the value entered for input “T” the correct
diameter for the calibration ring? Bad calibration – bad accuracy.
b) Are all 6 grub screws holding the stylus and breakshaft tight? Make sure the central
grub screws are tightened last. Not having these screws tight can affect accuracy by up
to 0.10mm!
c) Are the 2 domed screws that hold the probe body onto the shank really tight? If these
are loose, the probe is not locked solid or properly sealed.
d) The M&H signal sending/receiving angles are the biggest available on the market but
the signal can still be affected. Is the probe receiver glass clean and free from swarf or
coolant? Is the Duran glass ring around the diodes on the probe body also clean? Some
coolant dries almost like a varnish, which can affect signal strength. Wipe these down
from time to time.
e) Is the probe shank free of dents and burrs? We have seen cases of compacted cast iron
dust inside a spindle taper making run-out worse than 1mm! If the shank “rocks” in the
spindle, it will be impossible to get good results.
f) If you suddenly start getting very inaccurate results, check the values in #516 to #519
or the applicable variables in your manual. These are the probe trigger points in “X” and
“Y” and they’re used in every macro calculation. We have had experience when an old
program is loaded into the control and the trigger point values have been overwritten.
If you don’t have copies of these values the probe must be calibrated again.
g) Is there a possibility the probe is measuring swarf or burrs? Obviously this will greatly
affect accuracy. Also is the probe touching a surface “cleanly” and not partially on an
edge or in a hole?
Page 32 of 32
Table probe – This probe is exposed to far more outside influences. The most significant
is that when tools are measured either for length or diameter, they are measured in a
completely free state. As a result, the following outside influences cannot be accounted for
by the probe itself:-
1) Thermal expansion of the spindle and movement of the machine’s column as they
reach operating temperature. This is unavoidable but can alter measurements by up
to 0.1mm as castings reach optimum temperature.
2) Due to the probe having to be located inside the work envelope of a machining
centre, it cannot be hidden away from hot swarf chips especially on a horizontal
machine. If chips are produced in sufficient quantities and settle around the probe
body, thermal expansion of the probe body itself will occur with subsequent loss of
accuracy.
3) When a tool is held in a collet and measured, the collet chuck is under no load.
When cutting occurs, the tool and collet will move until they reach a point when
they “bed in” together. This amount can vary wildly depending on side loads and
cutting conditions but sizes will be different to those measured with no load.
4) If a tool is being used for heavy “Z” axis cutting such as drilling or heavy boring,
depending on the condition of the machine’s spindle, the tool can move back into
the spindle taper taking up minute amounts of play between the spindle taper and
tool shank. This again will affect the actual tool length.
5) Inserts can measure completely different in a free state compared to when actually
cutting under load. Some holders are designed specifically to grip inserts tighter as
load increases and others clamp differently at varying spindle rpm. If an insert is
incorrectly seated then length and diameter measurements will be totally different
under load. A table probe cannot legislate for the temperature of an insert, which
will also make sizes vary.
Through any combination of these factors and no fault of the probe itself, tool offsets can
be inaccurate. The easiest way out is to blame the probe but the above influences must be
eliminated first. The probe is fitted for consistent and fast toolsetting, but it is not always a
foolproof “press and go” method due to so many contributing factors that it cannot control.
As a result, tool offsets must be proved out and monitored. The probe will set sizes very
close to true lengths and diameters but these outside influences mean it is not foolproof.
If you find a component does not achieve the correct depths or diameters from values set
by the table probe, alter the tool offset values and never modify the program to suit the
depths found. If the program is altered, the next time it is used with different tools, it will
need to be altered again. The whole purpose of tool offsets is to adjust for small
differences in tooling.
Page 33 of 33
it hasn’t been used for a long period of time. The procedure is usually very simple, so copy
the program below and make sure the probe stops correctly. The same program can be
used for any type of m&h probe.
1) Move the “Y” (or “X”/”Z”) axis to a position well clear of any fixture or vice that it
could hit during movement.
2) Type in following program
G91G31Y-50.F20 then press “cycle start” button
3) The “Y” axis should start to move with a “distance to go” of 50mm
4) As the axis moves, trigger the probe. The “distance to go” value should go to zero
and the axis should stop moving.
5) If this happens, the probe is functioning correctly. If the probe still continues moving
then there is some sort of problem. Please check the various combinations below before
calling our office.
b) If there are 2 probes fitted to the same machine, type in the following:
G91G31.2Y-50.F20
Page 34 of 34