Renishaw Manual - H-2000-6333-0N-A
Renishaw Manual - H-2000-6333-0N-A
H-2000-6333-0N-A
Disclaimer
WHILE CONSIDERABLE EFFORT WAS MADE TO VERIFY
THE ACCURACY OF THIS DOCUMENT AT PUBLICATION,
ALL WARRANTIES, CONDITIONS, REPRESENTATIONS
AND LIABILITY, HOWSOEVER ARISING, ARE EXCLUDED
TO THE EXTENT PERMITTED BY LAW.
RENISHAW RESERVES THE RIGHT TO MAKE CHANGES
TO THIS DOCUMENT AND TO THE EQUIPMENT, AND/OR
SOFTWARE AND THE SPECIFICATION DESCRIBED
HEREIN WITHOUT OBLIGATION TO PROVIDE NOTICE OF
SUCH CHANGES.
Trade marks
RENISHAW® and the probe symbol are registered
trade marks of Renishaw plc. Renishaw product names,
designations and the mark ‘apply innovation’ are trade marks
of Renishaw plc or its subsidiaries.
Apple and the Apple logo are trademarks of Apple Inc.,
registered in the U.S. and other countries. App Store is a
service mark of Apple Inc., registered in the U.S. and other
countries.
Google Play and the Google Play logo are trademarks of
Google LLC.
Other brand, product or company names are trade marks of
their respective owners.
Refer to the installation and user guide supplied with the product for the detailed laser
safety warnings.
Renishaw has no control over the exact program configuration of the controller with which
the software is to be used, nor of the mechanical layout of the machine. Therefore, it is
the responsibility of the person putting the software into operation to:
ensure that all machine safety guards are in position and are correctly working
before commencement of operation;
ensure that any manual overrides are disabled before commencement of operation;
verify that the program steps invoked by this software are compatible with the
controller for which they are intended;
ensure that any moves which the machine will be instructed to make under program
control would not cause the machine to inflict damage upon itself or upon any
person in the vicinity;
be thoroughly familiar with the machine tool and its controller, understand the
operation of work co-ordinate systems, tool offsets, program communication
(uploading and downloading) and the location of all emergency stop switches.
IMPORTANT: This software makes use of controller variables in its operation. During its
execution, adjustment of these variables, including those listed within this manual, or of
tool offsets and work offsets, may lead to malfunction. Ensure that all variable and
program numbers required and/or used by the Renishaw system are not used by any
other function or software package already installed on the CNC machine tool.
NOTE 1: It is not possible to switch between TSM1 and TSM2 once the system is
installed.
NC4 non-contact tool setting system (integral air blast) installation and maintenance
guide (Renishaw part no. H-6270-8501).
G65 P9862 A1. B1. H0.5 J0.25 M1. Q5. S2500. T20. W5. Y3.
G65P9862A1.B1.H0.5J0.25M1.Q5.S2500.T20.W5.Y3.
NOTE: All code examples are shown with input data followed by a decimal point. Some
controllers may operate correctly with these decimal points omitted, however, care should
be taken to determine that this is the case before running any programs.
Features
The following features are provided for both Tool Set Mode 1 and Tool Set Mode 2,
unless otherwise stated.
Calibration data is stored in metric units and converted to imperial units as required
when the cycles are run.
Dedicated base number for partition calibration data (see Appendix B, “Using two
measuring positions on the laser beam”).
Cutting edge check: B4. option – edge check only; no prior diameter measurement
moves.
New O9868 off-centre tool setting cycle used for measuring the effective length and
radius or diameter of a tool. This is more commonly used when its diameter is larger
than the gap between the NC heads.
New O9867 cycle with vector moves for improved accuracy and speed.
Known tool length approach: alongside the existing long tool/short tool search
method, a rapid approach option is available which uses the existing tool offset
value. This is typically used where the machining/measuring process is fixed and
conditions are very wet.
Automatic compatibility when applying the tool offset with parameter settings P5006
and P6006 or P6019.
New O9762 macro with start and end point options for ease of use.
Revised scanning cycle O9766, with option for coarse/fine scan or coarse scan
only.
Reporter
There is a Reporter option in the installation wizard which can be used to display trends
of tool measurement. (Reporter app v3.3 or later is required.)
This option requires the Reporter app (A-5999-4200) to be installed and connected to the
machine tool to receive measured data. If the option is selected and the Reporter app is
not connected, the measuring program will continue to run.
Reporter requires the inclusion of a Part ID so that it can identify which tool the
measurement data is associated with.
Typically, the program number is used as the Part ID, however, setting a different ID for
each start and end sequence (see page viii) is possible, assuming each number is
unique.
The Part ID can later be renamed in the Reporter app, but the number chosen still needs
to be unique.
The Part ID is set in the program using the Part ID variable. In the example on page ix a
Part ID of 2000 is set to match the program number.
The G-code line to set the Part ID (for example, #156=2000) must be inserted in the
program before the Data Send start macro (O9735).
Protocol variable
This variable is set during software installation and is used to specify the type of data
being received. The default value is 157.
If you change the default value, you will also need to change the related variable in the
Reporter app settings menu. For further information, refer to the Reporter for Fanuc
installation and user guide (Renishaw part no. H-5999-8700).
Data variable
The data variable is set in the Reporter app configuration settings and is used to specify
the base number for a range of 29 sequential machine variables required to hold data.
For example, enter the value 158 to use machine variable range #158 to #186 (#158 + 28
variables).
If you change the default value, you will also need to change the related variable in the
Reporter app settings menu. For further information, refer to the Reporter for Fanuc
installation and user guide (Renishaw part no. H-5999-8700).
NOTE: If these values are changed from their default value, ensure that no other
applications or G-code programs use these variables.
On machine programming
Once tool setting macros have been installed and configured on the CNC, programs can
be created to measure tools and the measuring results can be viewed in Reporter.
NOTE: If Set and Inspect is connected to the machine tool, manual programming of tool
inspection and reporting will not be required.
After tool measurement and the subsequent Reporter macro have completed, the Data
Send macro must be run again.
Data Send – G65 P9735 A1. A1. = informs Data Collector to expect one
End B2. C0. I#156 additional input containing data after the C
input.
NC4 support
On-machine apps can be seamlessly integrated with a wide range of CNC controls. Apps
are installed onto a Microsoft® Windows®-based CNC control or a Windows tablet
connected to the control via Ethernet.
With touch interaction and intuitive design, smartphone and on-machine apps provide
significant benefits to machine tool probe users.
Contents
Intended use .............................................................................................................................. 1
About the software .................................................................................................................... 1
About this manual...................................................................................................................... 1
Renishaw non-contact tool setting system ............................................................................... 2
Features of the NCTS software ................................................................................................ 3
Measuring macro features ................................................................................................... 3
Calibration macro features .................................................................................................. 3
Service macro features ........................................................................................................ 3
Software memory requirements ............................................................................................... 4
Measuring and calibration macros ...................................................................................... 4
Angled beam software package ............................................................................................... 5
Drip rejection feature TSM1 ......................................................................................................... 5
Machine spindle speed checking TSM1 ...................................................................................... 6
Auto-pulse width selection TSM2 ................................................................................................. 6
Optimisation TSM2 ....................................................................................................................... 6
Air blast option ........................................................................................................................... 7
Machine tool controllers supported........................................................................................... 8
Measurement values used in this guide ................................................................................... 8
Editing the read-ahead G-code (G53) ...................................................................................... 8
Examples of changes .......................................................................................................... 8
Tool offset types supported ...................................................................................................... 9
Positive tool offset applications ........................................................................................... 9
Negative tool offset applications.......................................................................................... 9
Relative to a master tool with zero (0) tool offset value ...................................................... 9
Machine axis definitions .......................................................................................................... 10
Installing the NCTS software .................................................................................................. 11
Manually loading the software ........................................................................................... 11
Macro variables ....................................................................................................................... 12
Calibration data macro variables ....................................................................................... 12
Compliance with Fanuc parameter P5006.6, P6019.4 and P6006.4 settings TSM2 ......... 13
Setting data macro variables – O9760.............................................................................. 13
Editing the setting data macro – O9760............................................................................ 19
Drip rejection mode settings TSM1 ...................................................................................... 20
Scatter tolerance checking ................................................................................................ 21
Common variables ............................................................................................................. 22
Variables: changing the base number address ................................................................ 22
Intended use
Renishaw non-contact tool setting (NCTS) cycles for Fanuc and Meldas controllers must
only be used as intended.
The software is only intended for use with Renishaw NCTS systems. Use of the software
with non-Renishaw systems is not supported. This version of the software is for use on
Fanuc and Meldas controllers only.
The cycles provide an easy and intuitive way for customers to measure a wide range of
tooling. Supplied cycles include, system calibration, tool measurement on and off-centre,
tool corner radius measurement and machine thermal drift measurement. Tools can also
be checked for broken or pulled out conditions and damaged or missing cutting edges on
tool radius or linear profiles.
As a tool is moved through the laser beam, the system detects when the beam is broken.
Output signals sent to the controller allow the presence of a tool and the position of the
tip, a tooth, or a cutting edge to be established.
Length and diameter of the cutting tool. For details of the minimum size of tool that
can be measured accurately, refer either to the “List of associated publications” on
page ii or to the appropriate Renishaw product data sheet.
Macro O9862: used for measuring the length and diameter of the cutting tool and
for cutting edge checking. Edge checking uses the ‘Latch mode’ feature on the NCi
interface.
Macro O9865: used for checking the radii and linear profile of the cutting tool. It
uses the ‘Latch mode’ feature on the NCi interface.
Macro O9866: used for broken tool detection of solid tools (drills/taps). It uses the
‘Tool Break Mode’ feature on the NCi interface.
Macro O9867: used to measure the radius of ball nose or corner radius cutters.
Macro O9860: used for aligning the laser beam, setting the provisional positions of
the beam in the spindle axis and radial measuring axis and setting the measuring
position along the beam. There is also an option to check the alignment of the
spindle axis using spindle indexing with an offset pin tool.
Macro O9861: used for calibrating the positions of the laser beam in the spindle
axis and radial measuring axis, calculating the calibration difference for auto-pulse
width selection if available, optimisation of the back-in factor (BIN) if selected with
TSM2 and for temperature compensation of the spindle axis and radial measuring
axis.
Macro O9735: Data Send macro (used for the Reporter app).
Macro O9743: used for positioning the tool over the air nozzle.
Macro O9767: reserved for the angled beam software package only.
Macro O9768: used for checking the active spindle speed. TSM1
Macro O9770: only used when the Reporter app is installed and working.
If your controller is short of memory, the following macros need not be loaded, or may be
deleted after use.
Macro O9866 (broken tool detection for solid tools): approximately 2 KB of memory.
Beam alignment cycle (macro O9860). An additional input (Aa) is used with this
cycle to define the initial approximate angle of the laser beam. The cycle
determines an accurate angle and then writes the result to a calibration register that
is subsequently used by the other cycles.
Cutter radius and linear profile cycle (macro O9865). In the angled beam software,
profile checking of a corner radius is disabled and cannot be used. Linear profile
checking is still possible.
The software as supplied is set for use without the drip rejection feature. This state is
suitable when the drip rejection feature of the NCTS interface is switched off.
When the software is set to drip rejection mode, the spindle speed is automatically
adjusted to the nearest multiple of 500 r/min or 1000 r/min, depending on the setting of
#139 in macro O9760.
Macro O9768 is used for calibrating and checking the spindle speed when M-codes are
not available to lock the spindle speed to 100%.
There is provision within the macro code to compensate for an incorrect setting of the
spindle speed override control within the range of approximately ±50%. This
compensation may not work on all machines, so it is best to ensure that the spindle
speed override is always set to 100%.
If you notice that the override is not set to 100% whilst a cycle is running, do not change
the setting until the cycle has finished.
If the spindle is not running at the required programmed speed, then an “RPM OUT OF
RANGE” error will be generated. When this happens, press program reset, check that the
spindle speed override is set to 100%, then restart the cycle.
Optimisation TSM2
Customers who wish to refine the back-in distance (BIN), in order to minimise the tool
setting cycle time, can use the automatic optimisation feature while calibrating. This can
be selected in the installation wizard and will require three extra macro variables outside
of the normal NCTS macro variable range. By default, these variables are #900, #901
and #902. However, they can be changed by use of the installation wizard when
compiling the macro software.
If calibration is run a second time, the software will recognise it is optimised and not run
optimisation again unless forced to do so with the U1. input.
An advanced tool cleaning option (see Figure 1) is also supplied and can be selected in
the installation wizard during software commissioning. This feature enables the tool to
move close to the air nozzle and repeatably move across the air stream, offering
improved cleaning for very wet and dirty environments. This option is available for the tool
setting cycles O9862 and corner radius measuring cycle O9867.
The span across the airstream and the numbers of passes can be adjusted at the top of
macro O9743 by changing the following lines:
The macro also controls what tool sizes are suitable for cleaning. In the example below,
20 mm (0.787 in) is the maximum tool diameter allowed. This value can be edited to suit
different tooling suites.
The initial positioning above the air nozzle can be adjusted by changing the XYZ
positions on the O9743 macro call-up line. These are incremental distances from the
measuring position on the beam.
Example:
G65 P9743 F#12 Q#17 R#18 V#29 W#14 X−10. Y15. Z−8.
NOTE: Above is an example of the O9743 macro call-up line. This will be slightly different
between TSM1 and TSM2, but it is only the XYZ values that require changing.
The software also has an improved measurement cycle that forces the re-measurement
of a tool rather than issuing a coolant-related alarm and stopping the process. This
feature is included irrespective of whether or not the air blast option is used.
Read-ahead control, in the form of G53, is called at strategic positions within the cycles. If
further code is required to suppress read ahead, add it to the relevant places within the
macro code. Adjustment is not normally required, but customisation is possible. Please
consult a Renishaw representative for advice if changes are being considered.
Examples of changes
Use G31 instead of G53. The read-ahead control is performed with the G53
command, but G31 can also be used (if using G31, it may also require a feedrate,
for example G31 F1).
Add a dwell (for example, G4 X.1 or G4 P100). Sometimes adding a small pause
can help resolve spurious behaviour, but excessive dwells will impact on overall
cycle time.
Throughout this guide, the descriptions refer to positive tool offset applications. The
software can also be used in applications where negative tool offset values are used or
where all tool offset values are entered as ± values relative to a master tool. These
applications are described below.
Example
Home position, to the zero (0) position of the part program = −1000 mm.
A master calibration tool of 150 mm is used (offset register value = −850 mm).
The longest tool for the machine is 200 mm long.
The shortest tool for the machine is 50 mm long.
In the setting data macro (O9760), variables #110 and #111 must be set as follows:
#110 = −800.0 Maximum length tool.
#111 = −950.0 Minimum length tool.
Example
Home position, to the zero (0) position of the part program = −1000 mm (but this is
not important).
A master calibration tool of 150 mm is used (offset register value = 0).
The longest tool for the machine is 200 mm long.
The shortest tool for the machine is 50 mm long.
In the setting data macro (O9760), variables #110 and #111 must be set as follows:
#110 = 50.0 Maximum length tool.
Throughout this guide the following axis notations (the standard configuration) have been
used:
NOTE: Although the cycles allow the spindle axis to be other than the normal Z axis of
the machine, in practice other factors may need to be considered. Usually some
additional bespoke changes will be required to complete the installation.
Consider the following points:
Where is the G28 zero return position of the machine?
Are there any special M-codes or other preparation details necessary that need to be
embedded in the cycles?
Do any 4th axis positioning issues apply?
Setting data macro O9760 must be edited manually and the appropriate activate and
deactivate M-codes must be inserted into the code in all relevant positions.
Example:
#30=#131+#6
N33
G65 P9764 Y#30 F#127
(*LATCH*ON*) Replace with the appropriate activate M-code.
G53
G4 X.1
Macro variables
The following variables are used by the NCTS system software:
#500-series macro variables are used for the calibration data and setting data.
Variable #120 is used to define the base number of the calibration data variables. This
number can be changed to avoid conflicts with other software applications.
For details of suitable base number settings, refer to the appropriate appendix at the end
of this guide. If the default number is not suitable and needs to be changed, change it as
described in “Variables: changing the base number address” on page 22.
#520 (520 + 0) The spindle axis (Sp) position of the beam when measured from the
positive side (top) of the beam.
#521 (520 + 1) The spindle axis (Sp) position of the beam when measured from the
negative side (bottom) of the beam.
#522 (520 + 2) The radial measuring axis (Ra) position of the beam when measured
from the positive side of the beam.
#523 (520 + 3) The radial measuring axis (Ra) position of the beam when measured
from the negative side of the beam.
#524 (520 + 4) The position along the beam axis (La) at which measurements are
made.
#526 (520 + 6) The spindle (length measuring) axis temperature compensation work
offset.
#527 (520 + 7) The radial measuring axis temperature compensation work offset.
#528 (520 + 8) The dynamic zone value for 20 ms pulse width. TSM2
#529 (520 + 9) The dynamic zone value for 100 ms pulse width. TSM2
#531 (520 + 11) This is used only with angled beam installations. The angle alignment
calibration value for the beam is stored in this variable. The value is
used by all other cycles for angular orientation relative to the laser
beam (see “Variables: changing the base number address” on
page 22).
NOTE: The NCTS software should be prepared and installed using the installation
wizard. It can subsequently be edited by referring to the descriptions in this manual.
Read the following variable descriptions then edit macro O9760 to suit the requirements
of your machine and controller.
#101 A value entered here overrides the normal #113 setting for large tools. A
tool having a diameter greater than the specified diameter is set on one
side of the beam only.
To set a large tool on the positive side of the beam, enter a positive
diameter value.
To set a large tool on the negative side of the beam, enter a negative
diameter value.
Default: 0 (denotes that this option is not used. All tools are set as
defined by the #113 value).
#109 The setting for the tool offset register type, which may be in either radius
or diameter values.
1 = Radius.
2 = Diameter.
Default: 1
CAUTION: Variables #110 and #111. Before running any cycle, you must enter
valid data that is relevant to the machine tool into variables #110 and #111 (the
maximum and minimum tool lengths). There is a danger that the tool will collide
with the NCTS unit if these values are incorrect.
#110 The maximum length of the tool. This defines the rapid approach height
of the spindle nose above the laser beam.
#111 The minimum length of the tool. This defines the lowest measuring height
of the spindle nose above the laser beam.
#112 The maximum diameter of the tool. This value is dependent on the
machine tool.
#118 The distance the tool will move in one rotation during the final ‘scatter’
measures. Increasing the value will reduce measurement cycle time, but
create more uncertainty in the measured result.
Default: 0.002 mm (0.0001 in)
#123 The axis used for length measurement (the spindle axis).
If the X axis is to be used for length measurement, select 1.
If the Y axis is to be used for length measurement, select 2.
If the Z axis is to be used for length measurement, select 3.
Default: 3
NOTE: #123 must always define the spindle axis and the direction in
which the tool offset is applied. If the spindle is in the negative direction,
the value entered must also be negative (−1 = −X axis, −2 = −Y axis,
−3 = −Z axis).
#138 The value to reflect the machine parameter P5006.6 and P6006.4/
P6019.4, selectable in the wizard. TSM1
#138 Auto-pulse width selection available. Select yes if the auto pulse width is
installed and operational. TSM2
0 = No.
1 = Yes.
If #138 = 1 and M-code 3 is ‘active high’, set NCi-6 SW2-4 = OFF
If #138 = 1 and M-code 3 is ‘active low’, set NCi-6 SW2-4 = ON
Default: 0.
#142 Enter the distance between laser heads of a fixed NC unit. This is only
required if you intend running the off-centre measurement cycle (O9868).
Default: vacant (#0).
All calibration data and data at the top of the setting macro O9760 will be written and
stored in metric units and converted automatically when the machine is set to run in
imperial units.
Next, enter data in the other variables using the same units.
N1
#101 = 80 (ABOVE SET ON ONE SIDE) (3.15 in)
#107 = 1 (MAX RETRIES)TSM1
#108 = 1 (TOOL OFFSET TYPE)
#109 = 1 (OFFSET-RADIUS 1/DIAMETER 2)
#110 = 200 (MAX TOOL LENGTH) (8.0 in)
#111 = 70 (MIN TOOL LENGTH) (2.75 in)
#112 = 80 (MAX CUTTER DIAMETER) (3.15 in)
#113 = 2 (TL SET RADIUS MEAS DIR)
#114 = 2 (CALIB RADIUS MEAS DIR)
#115 = 100 (NCi-6 PULSE WIDTH 100 OR 20)
#118 = 0.002 (MEASURE RESOLUTION) (0.0001 in)
#119 = 3000 (DEFAULT RPM)
#120 = 520 (BASE NUMBER)
#121 = 0 (BEAM AXIS)
#122 = 2 (RADIAL-MEASURE AXIS)
#123 = 3 (SPINDLE AXIS)
#124 = 0.005(SCATTER TOL) (0.0002 in)
#125 = 0 (AIR BLAST 0=OFF 1=PARTIAL 2=FULL)
#126 = 2 (SAMPLE SCATTER SIZE)
#127 = 6000 (RAPID TRAVERSE) (236.22 in)
#128 = 3000 (LT/ST APPROACH FEED) (118.11 in)
TSM1
#138 = 0 (P5006.6 SETTING)
#138 = 0 (AUTO PW SELECT AVAILABLE 0=NO 1=YES)TSM2
#139 = 0 (NCi-6 DRIP REJECT 0=OFF/500/1000 RPM)TSM1
#141 = 0 (APPROACH METHOD 0=LT/ST SEARCH,1=KNOWN TL LEN)TSM2
#142 = #0 (DIST BETWEEN NC HEADS FIXED UNIT ONLY)
#143 = 27 (SAFE DISTANCE BELOW LASER)
#145 = 0.010(ZONE CHK) (0.0004 in)
#28 = 0 (M-CODE SP 100 PERCENT 0=NO 1=YES TSM1
(#[#120+10] RPM CHECK)TSM1
(#[#120+11] ANGLE CALIB.)
N2
NOTES:
This software package uses an installation wizard to generate the macro code that will be
loaded into the machine controller. Variables #[#120 + 8], #[#120 + 9] and #28 are flags
that instruct the software if M-codes are available. These variables and the activate and
de-activate M-codes are automatically inserted into the generated code.
There is no requirement for an air blast flag. The activate and de-activate M-codes are
automatically inserted into the generated code.
CAUTION: When drip rejection mode is used (#139 = 500 or #139 = 1000), the spindle
must rotate at the correct spindle speed, otherwise the rotating cutting teeth may not be
detected by the NCTS system.
If M-codes are available to lock the spindle speed override to 100%, #28 will be set to 1
after running the installation wizard and M-codes will be inserted in the relevant positions
in the macro code.
If M-codes are not available, leave #28 set to 0 so that the default setting will
automatically call the RPM checking macro when the cycles are run to verify that the
spindle speed is correct (see “Calibrating the spindle speed – O9768 TSM1” on page 27).
NOTE: In the installation wizard, it is possible to avoid the use of O9768 by inputting ‘9’
(M9 coolant off) into the M-codes for setting the spindle speed override to 100%.
However, this is not a recommended practice, as it entirely relies on users to check the
feedrate overrides are at 100% every time the cycles are run, instead of an automated
spindle speed check.
Sample measurements are taken until either the maximum retries limit is reached,
causing an alarm, or a sample of measurements is found to be within limits. In this latter
case, the average value is found and measurement is complete.
Sample size
Maximum
Maximum
Scatter
tolerance
Minimum
Minimum
Common variables
The following variables are loaded automatically each time a cycle is run:
#130
to Used for internal calculations.
#147
As standard the macro has embedded M0 program stop commands for manual spindle
positioning. This can be automated, provided the machine has suitable M-codes or other
programmable code for this purpose.
Make edits in the positions described below:
()
M0 Edit to a suitable M-code (for example, M19).
(ROTATE TO P1 −VE)
()
N1
N10(LOOP)
M19
IF[#13EQ#0]GOTO11
G65 P9764 Z#31 F#127
IF[#21NE1]GOTO13
M5
()
M0 Edit to a suitable M-code (for example, M19).
(ROTATE TO P1 −VE)
()
N13
#27=#131(Z−)
IF[#13EQ#0]GOTO14
G65 P9764 Z#31 F#127
M5
()
M0 Edit to a suitable M-code (for example, M19).
(ROTATE TO P2 +VE)
()
Before attempting a measurement move, the system must be in the untriggered state.
The back-off (BOF) or back-in (BIN) distance positions the tool prior to measurement.
NOTE: If automatic optimisation has been selected during installation, the optimised BIN
value will be stored in #900 by default. TSM2
In extreme wet conditions, there is a dwell before each sampling measure which can be
increased at the top of the macro. The time delay will help reduce coolant on the tool
while performing the sampling measures moves.
Z
Y
Z
Y
Z-axis
Z-axis beam
beam (special)
(Special) #121 = 3 #121 = 3
#122 = 1 or
Or #122 = 2
#123 = 2 #123 = 1
Fast Reduced
Reduced Measure
Measure
feed feed
feed feed
feed Sample
Sample
measurements
measurements
TSM2 – Beam-find moves and measuring moves are all made as the tool exits the laser
beam, as shown in Figure 7. Measuring moves are made with the tool rotating.
NOTE: It is not necessary to run this cycle if the M-code method of spindle speed control
is being used. See “Editing the setting data macro – O9760” on page 19.
This macro is used internally by the software to check the active spindle speed, but it
must also be used on its own for RPM calibration before running any other NCTS
software cycles.
1. Check that all settings in macro O9760 have been completed. Make any changes
necessary as described in “Editing the setting data macro – O9760” on page 19.
2. It is not necessary to have a tool in the spindle to run this cycle, but the machine
may require one. Ensure that the tool is suitable to run at the minimum spindle
speed as defined by the setting of #139 (500 r/min or 1000 r/min).
3. Jog the spindle nose and tool clear of any obstruction for safety.
4. Important: Select 100% on the spindle speed override and verify this setting. In
MDI mode, run the spindle at 500 r/min, and check the active screen data to verify
the spindle is actually running at 500 r/min.
NOTE: On some machines, it may be necessary to select the tool offset before
running G65 P9768.
NOTE: Before running any cycles, check the macro variable assignment used for
RPM calibration data. The variable used is #[#120 + 10] – that is, the default is
#530. This variable will be available on most machines but, if necessary, it can be
changed by either modifying the base number in O9760 or by editing macro O9768
to use another retained variable.
NOTE: When installing and setting up the system for the first time, you must run the
beam alignment macro before you run macro O9861 to calibrate the system.
When using the beam alignment macro, refer to the appropriate Renishaw installation
guide in the “List of associated publications” on page ii. These guides contain instructions
that describe how to physically align the beam at the NCTS transmitter unit.
Macro O9860 is used during installation of the NCTS system to assist with the alignment
of the laser beam. The beam alignment cycle is used for the following tasks:
To check that the beam is correctly aligned with the machine axis.
To measure the provisional position of the beam in the Ra axis. Measurements are
taken from the positive (using the Rr input) and/or negative (using the −Rr input)
sides of the beam.
To set the measuring point along the beam axis (La) at which the tool is measured.
The provisional values are updated later when the calibration cycle is run.
Although the beam alignment macro is used mainly during installation of the NCTS
system, it is also used for routine alignment checking.
~10 mm (0.393 in)
Description
Load the calibration tool in the spindle of the machine. Using either the jog or handwheel
mode, move the tool until the spindle centre line is over the position to be used for tool
setting (usually midway along the beam) and approximately 10 mm (0.393 in) above the
centre of the beam.
The cycle measures the beam then returns to the centre position and stops on an M00
program stop.
After you have made adjustments to align the beam, restart the cycle to identify new
alignment errors.
Setting data
Before running macro O9860, ensure that the settings in macro O9760 are correct. For
details, see “Setting data macro variables – O9760” on page 13.
Format
Example: G65 P9860 B1. T1. D100. K122. Q6. R6. Z15.
Macro inputs
The following inputs are used with this macro:
NOTE: When using the B1. input, the correct length of the calibration tool
must be entered either in the tool offset register or as a K input value. If
you do not wish to update the calibration data, do not use the B1. input.
CAUTION: D input. When specifying the value of the D input, take care
that it will not allow any part of the tool holder to make contact with the
NCTS system. The projection of the calibration tool should be at least
35 mm (1.38 in) if the default Z input is used for the incremental
measuring depth.
Outputs
The following outputs are set or updated when this cycle is executed:
Ra+
+ error
La+
+ error
La+
If the B1. input is used, the following outputs are also set (it is assumed that the base
number is set to 520 in #120).
#520 The provisional tool spindle axis (Sp) position of the beam when measured from
the positive side (top) of the beam.
#521 The provisional tool spindle axis (Sp) position of the beam when measured from
the negative side (bottom) of the beam.
#522 The provisional radial measuring axis (Ra) position of the beam when measured
from the positive side of the beam.
#523 The provisional radial measuring axis (Ra) position of the beam when measured
from the negative side of the beam.
#524 The provisional position along the beam axis (La) at which the tool is measured.
#520 #522
#523
Sp
(#123 = 3) #524
Ra (#122 = 2)
La (#121 = 1)
Alarms
The following alarms may be generated when this cycle is executed. For an explanation
of the alarms, see “Error messages and alarms” on page 86.
85 “NCI-6/SW2-4 INCORRECT” TSM2
92 “SYSTEM ALREADY TRIGGERED”
93 “SYSTEM DID NOT TRIGGER”
M0
M30
P1 P2 (P2>P1)
The cycle described here uses an offset pin and rotation of the spindle between two
points P1 and P2 along the beam so that a height difference error can be determined to
verify that the beam is level. This cycle determines only a height error in the spindle axis.
It does not check the squareness of the beam in the radial-measuring axis, but this is not
usually critical.
Description
NOTE: Not all machines are fitted with spindle positioning as standard. Therefore, the
cycle is configured with an M00 program stop at measuring points P1 and P2. The
spindle can then be rotated by hand before the cycle continues to run to complete the
alignment checks. If spindle positioning is available, the M00 program stop codes can be
replaced with programmable positioning commands.
The offset pin must be located so that the measuring positions are as follows:
P1 < the spindle centre position along the beam; that is, in a more negative
direction along the beam from the spindle centre position.
P2 > the spindle centre position along the beam; that is, in a more positive direction
along the beam from the spindle centre position.
Load the calibration tool in the spindle of the machine. Using either the jog or handwheel
mode, move the tool until the spindle centre line is over the position to be used for tool
setting (usually midway along the beam) and the end of the pin on the tool is
approximately 10 mm (0.393 in) above the centre of the beam.
The cycle measures the beam at points P1 and P2, using 180º orientation of the spindle
between the two measured points, and stops on M00 program stops.
After you have made adjustments to align the beam, restart the cycle to identify new
alignment errors.
Format
Macro inputs
The following inputs are used with this macro:
NOTE: When using the B1. input, the correct length of the calibration tool
must be entered either in the tool offset register or as a K input value. If
you do not wish to update the calibration data, do not use the B1. input.
To accurately calibrate the position of the beam in the radial measuring (Ra), beam
(La) and spindle (Sp) axes.
CAUTION: Before running this cycle or any other cycle (except the beam alignment
macro O9860), nominal calibration data must be loaded.
This data can be loaded automatically using the beam alignment macro O9860 with the
B1. input. Alternatively, approximate data can be entered manually (for details, see
“Calibration data macro variables” on page 12).
K
(tool offset)
R
Z
Description
Before running this cycle, load the calibration tool in the spindle of the machine and make
the tool number (T) active.
Calibration of the position of the beam in the Sp axis and the centre of the beam in the Ra
axis occurs while the tool is rotated. The beam width is then calibrated with the tool static.
This eliminates run-out errors that may be introduced by the tool.
The cycle always calibrates on the top of the beam and on both sides, provided that
#114 = 2 is set in the setting data macro. Additionally, the bottom of the beam position is
determined by calculation. When #114 = 1 or −1, the opposite sides of the beam are set
to the same value.
Format
G65 P9861 B1. Rr [ Cc Kk Qq Ss Tt Uu Yy Zz Ww]
where [ ] denote optional inputs.
Example: G65 P9861 R12. B1. C54. K100.210 Q5. S2500. T1. U1. Y5. Z5. W5.
Macro inputs
The following inputs are used with this macro:
Additional input
Ww input – using a shouldered master tool
K
Y
Z
Figure 14 Ww input
The Ww input allows calibration to take place from all four sides of the beam for complete
calibration. The cycle always calibrates from the top and bottom of the beam. Provided
#114 = 2 is set in the setting data macro, it also calibrates from both sides of the beam. If
#114 is set to either 1 or −1, the fourth side is determined by calculation.
Use of the Ww input is valid only when used with the Yy input.
Outputs
The following outputs are set or updated when this cycle is executed:
#520 [520 + 0] The tool spindle axis (Sp) position of the beam when measured from
the positive side (top) of the beam.
#521 [520 + 1] The tool spindle axis (Sp) position of the beam when measured from
the negative side (bottom) of the beam.
#522 [520 + 2] The radial measuring axis (Ra) position of the beam when measured
from the positive side of the beam.
#523 [520 + 3] The radial measuring axis (Ra) position of the beam when measured
from the negative side of the beam.
#524 [520 + 4] The point along the beam (La) at which measurements are made.
#526 [520 + 6] The spindle (length measuring) axis temperature compensation work
offset.
#527 [520 + 7] The radial measuring axis temperature compensation work offset.
#528 (520 + 8) The dynamic zone value for 20 ms pulse width. TSM2
#529 (520 + 9) The dynamic zone value for 100 ms pulse width. TSM2
Alarms
The following alarms may be generated when this cycle is executed. For an explanation
of the alarms, see “Error messages and alarms” on page 86.
90 “OUT OF TOLERANCE”
91 “FORMAT ERROR”
92 “SYSTEM ALREADY TRIGGERED”
93 “SYSTEM DID NOT TRIGGER”
Example: Calibration
Assume a calibration tool T1 is used which is 88 mm (3.46 in) long and 6 mm (0.236 in)
diameter.
O????
M6 T1
H1 Controller specific. See the appropriate appendix.
G65 P9861 B1. K88. R6.
M30
IMPORTANT: If you need to track the axis growth caused by temperature variation during
the machining operation, use the C input to store the relevant work offset registers as
reference values.
Typically, the external work offset G53 is used for temperature compensation tracking.
For details, see the appendix appropriate to your controller at the end of this guide.
Example: G65 P9861 B1. K88. R6. C53.
Description
Tool length is measured while the tool is rotating. The figure shows the two cycle types.
The effective tool length is written into the tool offset register and the wear register is zeroed.
Format
G65 P9862 [A1. B1. Hh Jj Mm Qq Ss Tt Ww Yy]
where [ ] denote optional inputs.
Example: G65 P9862 A1. B1. H0.5 J0.25 M1. Q5. S2500. T20. W5. Y3.
Macro inputs
The following inputs are used with this macro:
Hh h= Tolerance value that defines when the tool length is out of tolerance.
Qq q= Overtravel distance.
Default: 5 mm (0.197 in)
CAUTION: T input. When using the ‘T’ tool pre-select command after the
tool change, you must use the T input on the macro call block, otherwise
the pre-selected tool will be set/used. When using the known tool length
approach method, an approximate length value must be present in the
tool register to be updated.
Additional input
The Aa input is used to inhibit minimum r/min checking for solid tools, where it is not
necessary to control the spindle speed. This is particularly useful for long gun drills,
where the tool cannot be run unsupported at high spindle speeds.
Solid tool: this is a tool on which the cutting teeth do not protrude below its centre point.
Drills, taps and reamers are examples of solid tools. Other tools must be checked above
the point at which they become solid; that is, at a position where a good tool would
completely block the beam.
A1. Inhibit the minimum r/min checking for solid tools such as drills and taps.
This will allow the tool to run using a spindle speed that is less than the
minimum r/min checking value.
Default: If this is not programmed, spindle speed checking is performed.
W+
W−
The Ww input is used to set tools on either edge of the cutter. This is ideal for tools such
as thin slitting saws (shown above).
TSM1 – The tool measures into the beam with a 2 mm (0.08 in) approach at a reduced
feedrate to cater for measuring on thin sections.
TSM2 – The tool measures as it exits the beam using a 2 mm (0.08 in) approach.
Programming a Q input will reduce the approach distance to cater for thin sections.
Use of the Ww input is valid only when used with the Yy input.
Ww w= The positive value distance from the bottom of the tool to the cutter edge
to be set. A positive value means setting takes place on the upper edge
of the cutter.
w− = The negative value distance from the bottom of the tool to the cutter edge
to be set. A negative value means setting takes place on the lower edge
of the cutter.
Outputs
The following outputs are set or updated when this cycle is executed:
#148 Out of tolerance flag. This is set when the measured tool length is out of
tolerance.
0 = In tolerance.
1 = Out of tolerance.
Alarms
The following alarms may be generated when this cycle is executed. For an explanation
of the alarms, see “Error messages and alarms” on page 86.
90 “OUT OF TOLERANCE”
91 “FORMAT ERROR”
A different tool offset can be set by using the T input on the call line as follows:
G65 P9862 B1. S4000. T21. Set the tool offset (21) on centre. Controlled r/min.
O????
M6 T1
H1 Controller-specific. See the appropriate appendix.
G65 P9862 B1. Y38. S800 Set the tool offset (1) at 38 mm (1.496 in) radial step-over.
Controlled r/min.
M30
R Z
Description
The radius or diameter of a tool is measured while the tool is rotating. Radial
measurement is made on either one side or both sides of the beam (see setting #113 in
“Setting data macro variables – O9760” on page 13).
The effective radius or diameter is written into the tool offset register. If the controller has
separate wear and geometry registers, the wear register is zeroed and the radius/
diameter value is placed in the geometry register.
Format
G65 P9862 B2. [Dd Ee Ff Ii Mm Qq Rr Ss Tt Xx Zz]
where [ ] denote optional inputs.
Example: G65 P9862 B2. D5. E0.02 F0.3 I0.2 M1. Q5. R25. S3000. T1. X2. Z6.
Macro inputs
The following inputs are used with this macro:
B2.1 Measure the radius/diameter of the tool using the known tool approach.
B2.1 can be used when #141=0 in setting data macro O9760, but a
specific tool requires this type of approach. TSM2
Ff f= The step distance between each radial measurement when using the
Xx input.
NOTE: A negative input will set the tool length to the radial high or low
point rather than the end of the tool.
CAUTION: T input. When using the ‘T’ tool pre-select command after the
tool change, you must use the T input on the macro call block, otherwise
the pre-selected tool will be set/used. When using the known tool length
approach method, an approximate length value must be present in the
tool register to be updated.
X (−)
Outputs
The following outputs are set or updated when this cycle is executed:
#148 Out of tolerance flag. This is set when the measured radius/diameter of the tool
is out of tolerance.
0 = In tolerance.
2 = Out of tolerance.
Alarms
The following alarms may be generated when this cycle is executed. For an explanation
of the alarms, see “Error messages and alarms” on page 86.
90 “OUT OF TOLERANCE”
91 “FORMAT ERROR”
91 “D FORMAT ERROR”
96 “RPM OUT OF RANGE”
O????
M6 T1
H1 Controller-specific. See the appropriate appendix.
G65 P9862 B2. R10. Set the tool radius (H1).
M30
O????
M6 T1
H1 Controller-specific. See the appropriate appendix.
G65 P9862 B2. D21. S800. R80. Set the tool radius offset (21). Controlled radial
clearance and r/min.
M30
Z
Y
Description
This single cycle combines the tool length measuring cycle (see “Tool length setting –
O9862” on page 41) and the tool radius/diameter measuring cycle (see “Tool
radius/diameter setting – O9862” on page 46).
The figure shows the combined cycle moves. Radial measurement can be made on
either one or both sides of the beam (see setting #113 in “Setting data macro variables –
O9760” on page 13).
Length and radius values are written into the tool offset register. If the controller has
separate wear and geometry registers, the wear registers are zeroed and the values are
placed in the geometry registers.
Format
G65 P9862 B3. [Dd Ee Ff Hh Ii Jj Mm Qq Rr Ss Tt Ww Yy Xx Zz]
where [ ] denote optional inputs.
Example: G65 P9862 B3. D5. E0.02 F0.3 H0.02 I0.02 J0.025 M1. Q5. R25. S2500 T20.
W5. Y3. X2. Z6.
Macro inputs
The following inputs are used with this macro:
B3.1 Measure the radius/diameter of the tool using the known tool approach.
B3.1 can be used when #141=0 in setting data macro O9760, but a
specific tool requires this type of approach. TSM2
Ff f= The step distance between each radial measurement when using the
Xx input.
NOTE: A negative input will set the tool length to the radial high or low
point rather than the end of the tool.
Hh h= Tolerance value that defines when the tool length is out of tolerance.
NOTE: For cutter centre line programming applications, entering the nominal
size as an experience value will result in the error being stored instead of the
full radius/diameter of the cutter.
CAUTION: T input. When using the ‘T’ tool pre-select command after the
tool change, you must use the T input on the macro call block, otherwise
the pre-selected tool will be set/used. When using the known tool length
approach method, an approximate length value must be present in the
tool register to be updated.
X (−)
Z
Additional input
W+
W−
The Ww input is used to set tools on either edge of the cutter. This is ideal for tools such
as thin slitting saws (shown above).
TSM1 – The tool measures into the beam with a 2 mm (0.08 in) approach at a reduced
feedrate to cater for measuring on thin sections.
TSM2 – The tool measures as it exits the beam using a 2 mm (0.08 in) approach.
Programming a Q input will reduce the approach distance to cater for thin sections.
Use of the Ww input is valid only when used with the Yy input. The Zz input is not used
with this input.
Ww w= The positive value distance from the bottom of the tool to the cutter edge
to be set. A positive value means setting takes place on the upper edge
of the cutter.
w− = The negative value distance from the bottom of the tool to the cutter edge
to be set. A negative value means setting takes place on the lower edge
of the cutter.
Outputs
The following outputs are set or updated when this cycle is executed:
Set tool length.
Set tool radius/diameter.
#148 Out of tolerance flag. This is set when the measured length or radius/diameter
of the tool is out of tolerance.
0 = In tolerance.
1 = Out of tolerance (length).
2 = Out of tolerance (radius/diameter).
Alarms
The following alarms may be generated when this cycle is executed. For an explanation
of the alarms, see “Error messages and alarms” on page 86.
90 “OUT OF TOLERANCE”
91 “FORMAT ERROR”
91 “D FORMAT ERROR”
94 “SAME T AND D OFFSET”
96 “RPM OUT OF RANGE”
O????
M6 T1
H1 Controller-specific. See the appropriate appendix.
G65 P9862 B3. D21. Set the tool length offset (1) and radius offset (21).
M30
O????
M6 T1
H1 Controller-specific. See the appropriate appendix.
G65 P9862 B3. D21. Y38. T10. S800. Set the tool length offset (10) at 38 mm (1.496 in)
radial step-over and set the radius offset (21).
Controlled r/min.
M30
NOTE: This cycle can be used only when the latch mode feature of the NCTS system is
installed and operational.
This cycle is used to check for missing or damaged cutting edges, or to find the minimum
cutting edge radius, the maximum cutting edge radius and report the difference.
K
Z
R
Description
Before a tool is checked, it is first set for radius/diameter. Whilst rotating, the tool is then
moved until the cutting edges interfere with the beam by the tolerance value (Kk).
The spindle speed is re-calculated, using the pulse width (#115) and the number of
cutting edges (Cc). This ensures that when each edge enters the beam, a permanent
triggered signal is held unless a tooth is either missing or out of tolerance. The beam
status is monitored for a minimum of two revolutions.
Format
G65 P9862 B2. or B3. or B4. Cc [Ff Kk Mm Qq Rr Ss Tt Xx Zz]
where [ ] denote optional inputs.
Example: G65 P9862 B2. C6. F0.1 K0.02 M1. Q5. R25. S2500. T1. X5. Z6.
Macro inputs
The following inputs are used with this macro:
B2. For details of these cycles, see either “Tool radius/diameter setting –
B3. O9862” on page 46 or “Tool length and radius setting – O9862” on page
51.
B4. Cutting edge check without tool offset updating or prior radius/diameter
measurement.
B4.1 Cutting edge check using the known tool approach. B4.1 can be used
when #141=0 in setting data macro O9760, but a specific tool requires
this type of approach. TSM2
Cc c= The number of teeth on the tool. This automatically selects the cutting-
edge check.
Default: No default.
CAUTION: T input. When using the ‘T’ tool pre-select command after the
tool change, you must use the T input on the macro call block, otherwise
the pre-selected tool will be set/used. When using the known tool length
approach method, an approximate length value must be present in the
tool register to be updated.
Outputs
The following outputs are set or updated when this cycle is executed:
Alarms
The following alarms may be generated when this cycle is executed. For an explanation
of the alarms, see “Error messages and alarms” on page 86.
90 “OUT OF TOLERANCE”
91 “FORMAT ERROR”
92 “SYSTEM ALREADY TRIGGERED”
93 “SYSTEM DID NOT TRIGGER”
94 “SAME T AND D OFFSET”
96 “RPM OUT OF RANGE”
98 “RUN-OUT/EDGE MISSING”
O????
M6 T1
H1 Controller-specific. See the appropriate appendix.
G65 P9862 B2. C2. D21. Z0.5
CAUTION: Before this cycle is run, the current tool offset must be active.
Macro O9863 is used to check for breakage of cutting tools. This cycle uses a plunge
check, where the tool is moved into and out of the laser beam in the axis used for length
setting. The cycle can also check for a ‘long tool’ condition, where the tool has possibly
pulled out during machining.
Typically, a tool needs to be checked after a machining operation to verify that it is not
broken before the next tool is selected.
The cycle can be used for checking most tools, particularly for rotating tool applications
where the cutting teeth will intermittently interfere with the beam as it is positioned for tool
checking.
This cycle is similar in operation to the broken tool detection for solid tools checking cycle
(macro O9866) described on page 65. The differences are internal to the macro, as
macro O9866 uses the broken tool latch mode feature of the NCTS system for checking
broken tools. This makes it more robust than O9863 in very wet conditions and quicker,
but it is suitable only for solid tool applications.
Description
Detection of a broken tool occurs while the tool is rotated in the beam. Moves into and out
of the beam are at the rapid feedrate.
The tool retracts either to the home position, or to a position in the tool spindle axis (Sp)
when the Z input is used. It then moves in the measuring axis (Ra) and laser beam axis
(La) until it is above the beam. Finally, it approaches the beam in the spindle axis (Sp).
When a positive H input is used, the tool is checked at the broken tool position only.
When a negative H input is used, the tool is checked at both the long tool and broken tool
positions.
At the end of the cycle, the tool retracts out of the beam either to a safe position in the
spindle axis (Sp) or to the home position, if no Z input is used.
Format
G65 P9863 [Hh Ii Jj Kk Mm Ss Tt Vv Yy Zz Aa]
where [ ] denote optional inputs.
Example: G65 P9863 H5. I12. J4. K2. M1. S2800 T1. V4. Y3. Z6. A1.
Macro inputs
The following inputs are used with this macro:
Hh h= Tolerance value that defines when the tool is defined as broken. A
negative value checks the tool for both broken and long tool conditions.
Default: 0.5 mm (0.0197 in)
Ii i= The number of retries to test the status of the laser before it performs the
tool check. Coolant drips could cause false triggers and mask the true
laser status. If conditions are very wet, causing excessive false triggers,
increase the number of retries.
Default: 5
CAUTION: T input. When using the ‘T’ tool pre-select command after the
tool change, you must use the T input on the macro call block, otherwise
the pre-selected tool will be set/used.
Vv v= Additional time to confirm a broken tool or tool pull-out condition. Use this
input when conditions are very wet and coolant masks the true tool
condition.
Zz z= Safety plane.
The distance (in the spindle axis) by which the tool is retracted from the
beam.
Default: Retract to the home position.
Additional input
The Aa input is used to inhibit minimum r/min checking for solid tools, where it is not
necessary to control the spindle speed. This is particularly useful for long gun drills,
where the tool cannot be run unsupported at high spindle speeds.
Solid tool: this is a tool on which the cutting teeth do not protrude below its centre point.
Drills, taps and reamers are examples of solid tools. Other tools must be checked above
the point at which they become solid; that is, at a position where a good tool would
completely block the beam.
A1. Inhibit the minimum r/min checking for solid tools such as drills and taps.
This will allow the tool to run using a spindle speed that is less than the
minimum r/min checking value.
Default: If this is not programmed, spindle speed checking is performed.
Outputs
The following output is always set when this cycle is executed:
Alarms
The following alarms may be generated when this cycle is executed. For an explanation
of the alarms, see “Error messages and alarms” on page 86.
84 “HARDWARE FAULT”
90 “OUT OF TOLERANCE”
91 “FORMAT ERROR”
96 “RPM OUT OF RANGE”
99 “BROKEN TOOL”
If the broken tool flag method is used, the call cycle is modified as follows:
G65 P9863 Z100. M1. Make a broken tool check without raising an alarm. The
#148 flag is set.
IF[#148EQ1]GOTO100 Go to N100
(continue the program)
Block N100 will contain corrective actions; for example, select a sister tool for use or
select a new pallet or component.
CAUTION: This cycle can be used only when the Tool Break Mode (NCi-6 M-code 1)
feature of the NCTS system is connected.
Macro O9866 is used to check for breakage of cutting tools. It is similar in operation to
the broken tool detection plunge checking cycle (macro O9863) described on page 61.
The differences are internal to the macro, as it uses the broken tool latch mode feature of
the NCTS system for checking broken tools. This makes it more robust than O9863 in
coolant conditions and quicker, but it is suitable only for solid tool applications.
Solid tool: this is a tool on which the cutting teeth do not protrude below its centre point.
Drills, taps and reamers are examples of solid tools. Other tools must be checked above
the point at which they become solid; that is, at a position where a good tool would
completely block the beam.
The cycle uses a plunge check, where the tool is moved into and out of the laser beam in
the axis used for length setting. The cycle can also check for a ‘long tool’ condition, where
the tool has possibly pulled out during machining.
Typically, a tool needs to be checked after a machining operation to verify that it is not
broken before the next tool is selected.
Description
Detection of a broken tool occurs while the tool is rotated in the beam. Moves into and out
of the beam are at the rapid feedrate.
The tool retracts either to the home position, or to a position in the tool spindle axis (Sp)
when the Z input is used. It then moves in the measuring axis (Ra) and laser beam axis
(La) until it is above the beam. Finally, it approaches the beam in the spindle axis (Sp).
When a positive H input is used, the tool is checked at the broken tool position only.
When a negative H input is used, the tool is checked at both the long tool and broken tool
positions.
At the end of the cycle, the tool retracts out of the beam either to a safe position in the
spindle axis (Sp), or to the home position if no Z input is used.
Format
G65 P9866 [Aa Hh Mm Tt Zz]
where [ ] denote optional inputs.
Macro inputs
The following inputs are used with this macro:
A1. Inhibit the minimum r/min checking for solid tools such as drills and taps.
This will allow the tool to run using a spindle speed that is less than the
minimum r/min checking value.
Default: If this is not programmed, spindle speed checking is performed.
CAUTION: T input. When using the ‘T’ tool pre-select command after the
tool change, you must use the T input on the macro call block, otherwise
the pre-selected tool will be set/used.
Zz z= Safety plane.
The distance (in the spindle axis) by which the tool is retracted from the
beam.
Default: Retract to the home position.
Outputs
The following output is always set when this cycle is executed:
Alarms
The following alarms may be generated when this cycle is executed. For an explanation
of the alarms, see “Error messages and alarms” on page 86.
91 “FORMAT ERROR”
96 “RPM OUT OF RANGE”
99 “BROKEN TOOL”
If the broken tool flag method is used, the call cycle is modified as follows:
G65 P9866 Z100. M1. Make a broken tool check without raising an alarm. The
#148 flag is set.
IF[#148EQ1]GOTO100 Go to N100
(continue the program)
Block N100 will contain corrective actions; for example, select a sister tool for use or
select a new pallet or component.
NOTE: This cycle can be used only when the latch mode feature of the NCTS system is
installed and operational.
This cycle is used to verify the specified form of a profiled cutting tool. It is particularly
suitable for ball nose cutters, cutters with a corner radius, and cutters with linear profiles.
The specified form of the profile can be checked either internally, for the detection of
missing or broken teeth and inserts, or externally, for detection of misaligned inserts and
incorrect forms.
R (> 0) K
B
(1 or 3) R K
B
Application
R (2 or 3)
B
The tool is retracted to the home position for safety before
Tool (1 oreach
3) profile check unless a
offset H X
secondary profile check is to be performed on the same tool (see use of inputs B4., B5., Q
and B6.). The tool is positioned over the laser beamH and is moved first to the longest tool
Tool
position, then to the profile start position with the spindle rotating. The defined
B cutter
Y J offset
profile is traced at the checking
Q feedrate. Finally, the tool is retracted (2
out or
of 3) beam.
the
X
An error flag is always
B set and an alarm is optionally generated if the cutter is out of
R (< 0) Y
tolerance. If both
(1 orpositive
3) and negative tolerance checking is specified with the B3. and
B6. inputs, the cutter is repositioned
R after the negative tolerance check and a reverse
X
profile check is made along the profile. Finally, the tool is retracted.
Tool Q
offset
H
K B F
(1 or 3) J
Format
Example: G65 P9865 B3. C4. F0.3 H1. J1. K0.1 M1. Q90. R10. S4000. T20. X5. Y5.
Z50.
Example: G65 P9865 B1. C4. F0.3 H0.5 K0.1 M1. Q90. S4000. T20. X5. Y5. Z50.
Macro inputs
The following inputs are used with this macro:
Bb B1. Check the cutter profile along the negative tolerance profile limit (see the
figure on the previous page).
B2. Check the cutter profile along the positive tolerance profile limit (see the
figure on the previous page).
B3. Combine both B1. and B2. profile checking in one operation. This is the
default if the B input is not used.
B4. These are the same as the B1., B2., and B3. inputs respectively, except
B5. that the tool does not retract first. These cycles are suitable for
B6. performing secondary profile checks on the same tool.
Cc c= When this input is used, enter the number of cutting edges on the tool.
The spindle speed is then automatically adjusted to enable errors on
each cutting edge to be checked.
The cycle time using this method is significantly increased, unless the
default 0.1 mm/rev (0.004 in/rev) is increased using the F input.
C1. The spindle speed is automatically adjusted for a cutter with a single
cutting edge to ensure it is properly checked.
This is also suitable for multiple-tooth cutters, when only the
maximum/minimum cutting-edge profile needs to be checked. The cycle
time will be faster than checking each individual cutting edge.
Default: The spindle speed is set by either the S input, or by the default
value defined in the setting macro O9760 when no S input is used.
Kk k= Tolerance value that defines when the cutter profile is out of limits.
Default: 0.025 mm (0.001 in)
M1. Use this input to prevent an alarm being raised when the profile is out of
limits.
CAUTION: When using the ‘T’ tool pre-select command after the tool
change, you must use the T input on the macro call block, otherwise the
pre-selected tool will be set/used.
TIP: To prevent retracting at the end of the cycle, use a Z0. input.
Jj j= The start angle on the cutter radius for profile checking (see the figure on
page 68).
Range: ≥ 0 < Q input
Xx x= Linear distance moved tangentially past the cutter radius profile (see the
figure on page 68).
Range: ≥ 0
Xx x= Distance along the surface for profile checking (see the figure on
page 68).
Range: ≥ 0
Outputs
NOTE: If the B3. or B6. input is used and the tool is found to be out of tolerance during
the negative tolerance profile check, the cycle is automatically aborted and does not
complete the positive tolerance profile check.
Alarms
The following alarms may be generated when this cycle is executed. For an explanation
of the alarms, see “Error messages and alarms” on page 86.
91 “FORMAT ERROR”
96 “RPM OUT OF RANGE”
97 “TOOL OUT OF RANGE”
98 “RUN-OUT/EDGE MISSING”
Profile checking starts at 10° on the radius and moves to 90° on the radius. It then moves
a further 15 mm (0.591 in) up the diameter of the tool.
O????
M6 T1
H1 Controller-specific. See the appropriate
appendix.
G65 P9865 R10. X15. J10. K0.05 Q90.
M30
Profile checking starts at 1 mm (0.0393 in) high and 10.176 mm (0.401 in) radial, and
then moves along the taper for 30 mm (1.181 in).
O????
M6 T1
H1 Controller-specific. See the appropriate
appendix.
G65 P9865 H1. K0.05 Q80. X30. Y10.176
M30
Run this cycle on a regular basis during machining operations to compensate for growth
in the spindle axis and/or radial measuring axis.
Tool
offset
R
Z
B4/B5/B6
B1
Description
The calibration tool must be loaded in the spindle of the machine.
The macro is used as described previously in “Calibrating the NCTS system – O9861” on
page 36 but, instead of resetting the calibration data, the beam positions are compared
with the original calibration values. The deviation for each axis is then used to adjust the
relevant work offset.
NOTE: It is important to use the same calibration tool and input values that were
previously used for calibration, except that input B4., B5. or B6. is now used.
After the original reference values have been stored, independent adjustments to the
work offset values are ignored and overwritten by the temperature tracking cycle.
Format
Macro inputs
The following inputs are used with this macro:
B6. Temperature compensation tracking in both the spindle axis and radial
measuring axis. This performs both operations described for inputs B4. and B5.
Cc c= Work offset number used to track axis growth due to temperature effects.
This must be the same as that used with the B1. input for calibration.
For details, see the appendix appropriate to your controller at the end of
this guide.
Default: On centre.
Outputs
The following outputs are set or updated when this cycle is executed:
Alarms
The following alarms may be generated when this cycle is executed. For an explanation
of the alarms, see “Error messages and alarms” on page 86.
90 “OUT OF TOLERANCE”
91 “FORMAT ERROR”
92 “SYSTEM ALREADY TRIGGERED”
93 “SYSTEM DID NOT TRIGGER”
Example
Assume the growth in the spindle axis and radial measuring axis needs to be tracked.
The external work offset is used to store the compensations.
O????
M6 T1
H1 Controller-specific. See the appropriate appendix.
G65 P9861 B6. C53. K88. R6.
M30
Alternatively, if individual axis tracking is required, use either the B4. or B5. input.
R R
C C
Y
Description
This is the same as the cycle “Tool length and radius setting – O9862”, as described on
page 51, except that the corner radius is also measured.
In the case of a ball nose cutter, the effective length and radius/diameter are written into
the tool offset register. If the controller has separate wear and geometry registers, the
wear register is zeroed and the radius value is placed in the geometry register.
When measuring a cutter with a corner radius, the effective length and radius/diameter of
the cutter are written to the tool offset and the measured radius is stored in common
variable #102 for reference.
Radial measurement can be made from either side of the beam. The direction is based
on the #113 setting in the O9760 macro (see “Setting data macro variables – O9760” on
page 13).
Format
G65 P9867 Bb Cc Ff Rr [Dd Ee Hh Ii Jj Mm Qq Ss Tt Vv Yy]
where [ ] denote optional inputs.
Example: G65 P9867 B1. C5. D2. E0.15 F5. H0.2 I0.05 J0.5 M1. Q5. R25. S3000. T1.
V0.2 Y7.5
Macro inputs
The following inputs are used with this macro:
Bb B1. Measure the length and the radius/diameter of a ball nose cutter. The
radius/diameter is calculated from the Ff points.
B1.1 As B1., but using the known tool approach method. This can be used
even if #141=0 in setting macro O9760, but an accurate tool length must
be present in the appropriate tool offset. TSM2
B2. Measure the length and the radius/diameter of a tool with a corner radius.
The tool radius/diameter is measured normally, and the corner radius is
calculated from the Ff points.
B2.1 As B2., but using the known tool approach method. This can be used
even if #141=0 in setting macro O9760, but an accurate tool length must
be present in the appropriate tool offset. TSM2
Cc c= The nominal corner radius. If using B2., entering an incorrect value will
affect measurement accuracy.
Ee e= The tolerance value that defines when the tool radius/diameter is out of
tolerance.
Hh h= The tolerance value that defines when the tool length is out of tolerance.
CAUTION: T input. When using the ‘T’ tool pre-select command after the
tool change, you must use the T input on the macro call block, otherwise
the pre-selected tool will be set/used. When using the known tool length
approach method, an approximate length value must be present in the
tool register to be updated.
Vv v= If using B2., this is the tolerance value that defines when the corner
radius is out of tolerance.
Default: No tolerance check.
Outputs
The following outputs are set or updated when this cycle is executed:
Set tool radius/diameter – ball nose cutter (if using input B1.).
Set tool length, radius/diameter and corner radius in common variable #102 (if using
input B2.).
#148 out of tolerance flag. This is set when the measured length, radius/diameter or
corner radius of the tool is out of tolerance, provided that the Ee, Hh or Vv input is
used.
0 = In tolerance.
2 = Out of tolerance.
Macro O9868 is used for measuring the effective length and radius or diameter of a tool
off centre or when its diameter is larger than the gap between the NC heads. This cycle is
suitable for large or oversize tools such as face mills and side and face cutters.
K
Z
Description
This is a tool length and radius/diameter measuring cycle which forces the tool to be
measured off-centre. This is mainly used for oversize cutters but can be used for any
tools which benefits from measuring off centre. This is controlled by either the diameter
input (R) or, if a more specific measuring point is required, the step-over input (Y). At the
beginning of the cycle, an internal calculation checks the above inputs and, if deemed
safe, the tool will be positioned off-centre at the beginning of the cycle before
measurement commences.
Radial measurement is made on the positive side of the laser beam if #113 = 2 or
#113 = 1. If #113 = −1, measurement will be made on the negative side of the beam.
Length and radius values are written into the tool offset register. If the controller has
separate wear and geometry registers, the wear registers are zeroed and the values are
placed in the geometry registers.
NOTE: This cycle is an addition to the standard software package and must be activated
in the installation wizard under the ‘Advanced software settings’ menu.
Format
G65 P9868 A1. Kk Rr Ss [Bb Dd Ee Hh Ii Jj Mm Qq Tt Ww Yy Zz]
where [ ] denote optional inputs.
Example: G65 P9868 A1. B3. D5. E0.02 H0.02 I0.02 J0.025 K157. M1. Q5. R25. S500
T20. W20. Y45. Z6.
Macro inputs
The following inputs are used with this macro:
A1. Oversize tools. The Aa input is used to inhibit the minimum r/min check,
enabling large tools to be measured at low speeds. However, this is only
advised when the tool has multiple teeth.
Hh h= Tolerance value that defines when the tool length is out of tolerance.
CAUTION: T input. When using the ‘T’ tool pre-select command after the
tool change, you must use the T input on the macro call block, otherwise
the pre-selected tool will be set/used. When using the known tool length
approach method, an approximate length value must be present in the
tool register to be updated.
NOTE: The Ww input is used to set tools on upper edge of the cutter.
This is ideal for tools such as side and face cutters (see figure 31).
Y
W Z
K
Outputs
The following outputs are set or updated when this cycle is executed:
Set tool length.
Set tool radius/diameter.
#148 Out of tolerance flag. This is set when the measured length or radius/diameter
of the tool is out of tolerance.
0 = In tolerance.
1 = Out of tolerance (length).
2 = Out of tolerance (radius/diameter).
Alarms
The following alarms may be generated when this cycle is executed. For an explanation
of the alarms, see “Error messages and alarms” on page 86.
90 “OUT OF TOLERANCE”
91 “FORMAT ERROR”
91 “D FORMAT ERROR”
91 “R FORMAT ERROR”
94 “SAME T AND D OFFSET”
O????
M6 T1
H1 Controller-specific. See the appropriate
appendix.
G65 P9868 A1. B3. D21. R100. S400 Set the tool length offset (1) and radius
offset (21).
M30
O????
M6 T1
H1 Controller-specific. See the appropriate
appendix.
G65 P9868 A1. B3. D21. R80. T10. S250. Set the tool length offset (10).
M30
When an error state is detected, an error message is displayed on the screen of the
controller. Error messages, their meaning and typical actions needed to clear them are
described below.
Alarm numbers that are displayed may be controller-specific. The following list shows the
default alarm numbers and also the numbers that are displayed when a base number of
500 is added to the default number.
Meaning This alarm is raised if the cycle is run without entering suitable setting data in
macro O9760. This usually happens after software installation when the
beam alignment macro O9860 is run for the first time.
Action The alarm is raised by monitoring #121 in the setting data macro for a valid
value. Check all data at this point to ensure that the default values supplied
with the software are suitable for your machine and application.
This is a reset condition.
Meaning At least one measurement in the sample is outside the scatter tolerance
limit. The alarm is raised when the retries limit is reached (for details, see
“Scatter tolerance checking” on page 18.
Meaning This alarm is raised if the laser system cannot measure the tool successfully.
Typically, the software will attempt to measure the tool five times before
issuing this alarm. The reason for an unsuccessful measurement could be a
system fault or coolant obstructing the measuring process.
Meaning The tool cannot be measured because the Z, X or W inputs are too large,
based on the safe distance below laser (#143 in setting data macro O9760).
Action Investigate/correct #143 in the setting data macro O9760 or reduce the Z, X
or W values.
Meaning The NCTS system is not working. Either the beam is not transmitting
because of a power supply failure, the beam has become blocked or coolant
has continuously blocked the beam and a change of state cannot be
detected. If the system has just been installed, it is worth checking that the
M-codes are working properly and the signals are not inverted.
Meaning This alarm is raised if the auto-pulse width option is used and SW2-4 on the
NCi-6 interface is set incorrectly.
Meaning The beam has been cut several times during a measurement move. This
may be caused by coolant triggering the beam.
Action Identify and correct the cause of the false triggers. The default number of
retries allowed is set to 1. If necessary, change this number in macro O9762
(for details, see “Editing the measure move macro – O9762” on page 24).
This is a reset condition.
Meaning 1 Macro O9862: The measured length or diameter of the tool is out of
tolerance (either a positive or negative limit is exceeded). A broken tool or
the tool being pulled out of its holder may cause this.
Action 1 Reset and replace the tool, or adjust the tool then reset it.
Meaning 2 Macro O9861: The temperature compensation drift values have exceeded
the allowable tolerance.
Action 2 Investigate the cause of excessive movement. The work offset registers
used for temperature compensation may have been wrongly adjusted since
storing reference values.
This is a reset condition.
Meaning The diameter/radius offset number has not been included in the macro
statement.
The radial scanning cycle macro O9862 (using the X input) requires a
search step size value which is less than half the X search distance.
Meaning The Y step-over has not been included in the macro statement or it has an
invalid value.
Meaning The tool cannot be measured because the tool diameter (R input) is too
large, based on the distance between the NC heads (#142 in setting data
macro O9760).
Meaning The U input on the macro input line is legacy code and is now not supported.
Meaning The system was in the triggered state at the start of a measuring move. This
may be caused by swarf or coolant interfering with the beam, or the back-off /
back-in distance could be too small.
Action Remove the swarf or increase the back-off / back-in distance in O9762 (see
page 23).
This is a reset condition.
Meaning No trigger was registered during a measuring move. This may be caused by
swarf or coolant interfering with the beam.
Action Remove the swarf or increase the overtravel distance using the Q input.
This is a reset condition.
Meaning The same tool offset number has been used for the length and the
diameter/radius.
Action Correct the macro input line then run the macro again.
Action Correct the macro input line then run the macro again.
NOTE: If drip rejection is switched on, this alarm may also be raised when
the spindle speed override is not set to 100%, or when the programmed
spindle speed is less than the value specified in #139 in setting data macro
O9760.
Meaning Either the size of the cutting tool exceeds the size that is set in variables
#110 to #112 inclusive, or the tool offset number/tool number is wrong.
Action Replace or adjust the defective tool, or modify the tolerance value.
Action Replace the defective tool and establish the correct tool offset value.
Additional calculations relating to the angled orientation of the laser beam mean that the
macros require more memory and extra calculation time, making the overall cycle times
longer when compared to the standard software.
The beam can be set at an angle to either the X axis or Y axis as follows:
±90°
(this example
X is −20°)
±90°
(this example is −30°)
Additional A input
Aa a= This specifies the approximate angle of the laser beam (see the figure on
this page and on the previous page). It is a compulsory input.
Default: 0
TIP: It is recommended that, if you are unsure of the exact angle of the
beam, you should enter an estimated A input value and set a small D
input span value (say 10 mm [0.394 in]), then run the cycle. The correct
angle will be stored in variable #100 at the end of the cycle. A revised
angle can then be used and the span increased before running the cycle
again.
Outputs
#100 The correct angle of the beam is output to this variable. Other beam
positions can be seen in #101 and #102.
#531 (520+11) The angle alignment calibration value for the beam is stored in this
variable. The value is used by all other cycles for angular orientation
relative to the laser beam (see “Variables: changing the base number
address” on page 22).
Radius profile checking has been inhibited, as it is not possible to use the G2/G3
commands for profiling in non-orthogonal planes. Other methods are less practical due to
the calculation overhead.
Linear profile checking is provided. For information about using this cycle, see “Cutter
radius and linear profile checking – O9865” on page 68.
The partition value (#[#120+14]) is used to select this option. Typically, the value is a
“machine” position as shown in the figure below, but with further software edits this
variable can be replaced by a flag or marker supplied by the machine tool builder.
When tool measurement is required in two different machine axes (5-axis machine).
For further information about two-point measurement, contact your nearest Renishaw
office.
#[#120+14]=−1000(PARTITION)
0 −2000
−1000
#[#120+14]=−800(PARTITION)
Partition
0 −1600
−800
Application
1. Ensure that the axis partition variable has been set to a suitable position along the
laser beam axis. This value determines the traverse range assigned for each
location on the laser beam.
3. Now repeat the alignment and calibration cycles at the second measuring position.
Note that this must be done in the second traverse range to complete the set-up of
two measuring positions.
4. The system is now ready to use. You can run the cycles in the normal way. It is only
necessary to ensure that the spindle is in the correct axis range before running a
cycle. The cycles will automatically go to the correct place on the laser beam.
Fanuc Series 0, 6, 10–15, 16–21, 30i / 31i / 32i / 300i fitted with the macro ‘B’
option.
Type A offsets One register per tool – no choices #108 = 1
Type B offsets Two registers per tool – geometry/wear #108 = 2
Type C offsets Four registers per tool – length geometry/wear #108 = 3
and radius geometry/wear
The default setting uses variables #520 to #529 inclusive. This range suits all listed
controllers except the Fanuc 6.
When these variables are already used for other purposes, you will need to define a
different range. The following suggestions may be helpful:
Use spare tool offsets. Use a 2000-series system variable base number; for
example, #120 = 2090, to use offsets 90 to 99.
NOTE: If tool offset registers are used, it is not possible to switch between imperial and
metric units using G20/G21 because the tool offset data is converted automatically.
If the NCTS software is to be used without any other Renishaw inspection software
present, use the default settings, unless #520 to #531 are used for other purposes.
If the NCTS software is to be used in conjunction with other Renishaw software, avoid
macro #500-series clashes by changing the base number.
Fanuc 6 systems
NOTE: Fanuc 6 systems are now very dated and are not really suitable for this package,
particularly because of the lack of variables and processing speed.
Recent changes have also included the use of G53 codes within the macros to stop read-
ahead problems. It will be necessary to strip these manually for this application.
Alternatively, use tool offsets. Set the base number to 2090 to use offsets 90 to 99
inclusive.
Macro inputs
Additional offsets
C101 to C148 (G54.1P1 to G54.1P48)
M6 T1
H1 This line is not usually required.
G65 P9861 B1. K88. R6.
M30
In “Error messages and alarms”, the list shows the default alarm numbers and the
numbers that are displayed when a base number of 500 is added to the default number.
All Fanuc controls, with the exception of the type 0M, display the default alarm numbers.
The Fanuc 0M control displays alarm numbers to which a base number of 500 have been
added.
Macro inputs
Cc c= Work offset number used to track axis growth.
When used with the B1. input, it stores the relevant work offset values as
the reference position ready for use later.
C54 to C59 (G54P1 to G59P1)
Additional offsets
C54.02 to C59.05 (G54P2 to G59P5) MX3 and J50 series.
C54.02 to C59.27 (G54P2 to G59P27) I80 and J300 series.
Set the tool offset type in the setting data macro (O9760) as follows:
Macro inputs
Additional offsets
C101 to C148 (G54.1P1 to G54.1P48)
M6 T1
H1 This line is not normally required.
G65 P9861 B1. K88. R6.
M30
*H-2000-6333-0N*