0% found this document useful (0 votes)
317 views

Programming instructions

The document provides programming instructions for the LaserControl DIGILOG software (version V6D) used with Siemens Sinumerik 840D sl machine control. It includes information on copyright, intended use, fields of application, and detailed descriptions of various measuring cycles for tool measurement and monitoring. Additionally, it outlines the necessary precautions and technical requirements for optimal operation of the measuring system.

Uploaded by

jjdg55
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
317 views

Programming instructions

The document provides programming instructions for the LaserControl DIGILOG software (version V6D) used with Siemens Sinumerik 840D sl machine control. It includes information on copyright, intended use, fields of application, and detailed descriptions of various measuring cycles for tool measurement and monitoring. Additionally, it outlines the necessary precautions and technical requirements for optimal operation of the measuring system.

Uploaded by

jjdg55
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 96

LaserControl DIGILOG

BLUM Software

Programming instructions

Software 183326

Version V6D

Machine control Siemens Sinumerik 840D sl


Copyright
© 2023 – The contents of the data carriers and the related documentation (together called “data”) are protected by
copyright. Blum-Novotest GmbH reserves all rights on the data or parts thereof, especially the right of mechanical and
electronic reproduction, lending out, leasing, modification, recording and processing in machine controls or other elec-
tronic systems (such as PCs). Passing on or reproduction of the data or its use on more than one machine control re-
quires the express authorisation of Blum-Novotest GmbH.
Contraventions are subject to damages. All rights reserved.

Translation of the original German document.


The language version of the manufacturer (DE) is relevant for the technical content.

Subject to technical change without notice.

All brands stated in this document are the property of the respective brand owners.
Content

1. Introduction ........................................................................................................................... 5
1.1 Explanation of warnings .......................................................................................................................................... 5
1.2 Notes ......................................................................................................................................................................... 6
1.3 Further applicable documents .................................................................................................................................. 7
1.4 Abbreviations and technical terms ........................................................................................................................... 7
1.5 Intended use ............................................................................................................................................................. 7
1.6 Blum measuring cycle version .................................................................................................................................. 7
2. Introduction ........................................................................................................................... 8
2.1 Fields of application .................................................................................................................................................. 8
2.2 Program overview ..................................................................................................................................................... 9
2.3 Program levels and variables .................................................................................................................................. 12
2.4 General information ............................................................................................................................................... 13
2.4.1 Operating mode ............................................................................................................................................... 13
2.4.2 General ............................................................................................................................................................ 13
2.4.3 Cycle call .......................................................................................................................................................... 14
2.4.4 Tool change and spindle condition .................................................................................................................. 14
2.4.5 Read / write tool data ...................................................................................................................................... 15
2.4.6 Approach / retracting strategy ........................................................................................................................ 18
2.4.7 Tool cleaning .................................................................................................................................................... 18
2.4.8 Switching between mm / inches...................................................................................................................... 18
2.4.9 Simulation and block scan ............................................................................................................................... 18
2.4.10 Procedure error ............................................................................................................................................. 18
3. Description of the measuring cycles ...................................................................................... 19
3.1 List of call parameters ............................................................................................................................................. 19
3.2 BL9901 - Calibration of the laser measuring system .............................................................................................. 29
3.2.1 Recommended versions for the new Blum laser optic. ................................................................................... 30
3.2.2 Linearisation .................................................................................................................................................... 30
3.3 BL9904 - Temperature compensation of the NC axes ............................................................................................ 33
3.4 BL9902 - Tool length measurement of centric tools ............................................................................................... 36
3.5 BL9902A - Tool length measurement (expanded options) ..................................................................................... 40
3.6 BL9903 - Tool setting in length and radius with run-out monitoring ..................................................................... 45
3.7 BL9906 - Measurement of tool length, -radius and corner radius.......................................................................... 50
3.8 BL9905 - Single cutting edge monitoring on a straight cutting edge geometry ..................................................... 55
3.9 BL9985 - Fast single cutting edge monitoring on a straight cutting edge geometry .............................................. 60
3.10 BL9907 - Single cutting edge monitoring on a rounded cutting edge geometry .................................................. 62
3.11 BL9908 - Tool breakage detection ........................................................................................................................ 65
3.12 BL9988 - Fast tool breakage detection ................................................................................................................. 70
3.13 Examples of different tool types ........................................................................................................................... 72
4. Tables .................................................................................................................................. 80
4.1 Program overview ................................................................................................................................................... 80
4.2 List of GUD variables ............................................................................................................................................... 82

Blum-Novotest GmbH 3 183326_V6D_APPL | 07-2023


5. Recommended uses – Information........................................................................................ 85
5.1.1 Coolant ............................................................................................................................................................. 85
5.1.2 Coolant mist ..................................................................................................................................................... 85
5.1.3 Soiled optics ..................................................................................................................................................... 85
5.1.4 Influencing variables on the absolute accuracy ............................................................................................... 86
6. Error messages ..................................................................................................................... 87
6.1 Expanded error codes ............................................................................................................................................. 92
7. Service ................................................................................................................................. 96

183326_V6D_APPL | 07-2023 4 Blum-Novotest GmbH


Introduction

1. Introduction
1.1 Explanation of warnings
CAUTION!
indicates hazards which may cause injuries unless they are avoided.

NOTE
Indicates measures to prevent property damage.

Blum-Novotest GmbH 5 183326_V6D_APPL | 07-2023


Introduction

1.2 Notes
Not all of the functions described in these instructions have necessarily been implemented.

NOTE
Minimum requirement for full functionality of the V6D measuring cycles: IF10 firmware V1.18 or higher.
If logging is active (option bit), refer to the log file (workpiece directory BLUMDIAG) for details of the currently installed
version:
E_T_SIGNAL.SPF Is generated when T_SIGNAL.MPF is executed
E_BL9901.SPF Is generated when BL9901 is executed with RNUM=-1 (linearisation)

NOTE
Risk of collision by NC-STOP
If the NC-STOP key is pressed during a BLUM measuring/checking cycle, the cycle must not be continued with NC-
START. The cycle must always be recalled and restarted, otherwise collisions may occur.

NOTE
Risk of collision due to false data possible
During tool measurement in measuring mode NT (-1, -2, -3, -11, -12, -13) and during the tool check, the tool tip is
positioned directly in the laser beam at the defined maximum feed.
 Adjust the parameters of the measuring cycle to the machine or control.
 Enter correct tool geometry data in the tool memory.

NOTE
Risk of collision possible due to incorrect data of oversized tools.
 For oversized tools, the actual tool radius must always be entered with an accuracy of ±1 mm. The indicated in-
terfering contours will then be taken into account during positioning. Collisions with the laser measuring system
can thus be prevented.

NOTE
 For an optimal measuring result with tool Ø ≤ 0.2 mm, the radius should always be defined in the tool memory. This
allows additional cycle-internal measuring strategies to be triggered.

183326_V6D_APPL | 07-2023 6 Blum-Novotest GmbH


Introduction

1.3 Further applicable documents


• Measuring system data sheets (for any measuring devices, receivers, interfaces, extension modules and accessory
products involved).
• Measuring system operating instructions (as appropriate: measuring devices involved).
• Measuring system installation instructions (as appropriate: receivers, interfaces, extension modules involved).
• Wiring diagrams.
• SETUP installation instructions (as appropriate: software, technology cycles involved).
• APPL programming instructions (as appropriate: software, technology cycles involved).
• APPL instructions (if applicable, associated software – LC-VISION, Bootloader, GeKo, etc.).
• Documentation from the component manufacturer (any hardware involved – industrial PC, etc.).
• Documentation of the machine manufacturer.
• Documentation of the control manufacturer.

1.4 Abbreviations and technical terms


V6*, V6** Version of the measuring cycles, e.g. V6D or V6D-R001, V6D-R002
USERPARATABx Used definition file, e.g. USERPARATAB1
CYCLE_**.MPF Main programs with sample call for BL99**.SPF
BLUMLASxx Directory of workpieces in the main programs, xx=mm or inch
Tool Tool
NT operating mode Laser control with inputs/outputs of the NC/PLC
DIGILOG operating mode Control of the laser system with bus systems (e.g: PROFIBUS, PROFINET).
DIGILOG functionality possible

1.5 Intended use


• The BLUM measuring cycles can only be operated with BLUM LC50-DIGILOG systems.
• Operate BLUM measuring systems exclusively with original BLUM measuring cycles.
• Install BLUM measuring cycles which have been programmed appropriately for your machine control.
• Observe the corresponding BLUM documentation.

 DIGILOG functionalities are only possible with connection to bus systems. Therefore, extension modules
are necessary. E.g.: EM30 (PROFIBUS), EM31 (PROFINET), …

1.6 Blum measuring cycle version


The Blum software version is contained in the program header of the cycles (e.g. BL9901).

Blum-Novotest GmbH 7 183326_V6D_APPL | 07-2023


Introduction

2. Introduction
The BLUM laser measuring system is a high-precision optical measuring system for automated measurement and mon-
itoring of tools in a machining centre under operating conditions. When measuring the tool geometry, incorrectly loaded
tools or inaccurately pre-set tools, as well as damaged or worn tools, are detected in time. The single cutting edge/tool
breakage detection detects missing or broken cutting edges as well as an incorrectly clamped tool. This helps to avoid
further damage to the workpiece or to the following tool.

2.1 Fields of application


The following measurement jobs can be performed using the standard BLUM measuring cycles:
• Calibration of the laser measuring system, optional linearisation of the measuring area
• Tool measurement in length, radius and cutting edge radius
• Compensation of the temperature expansion
• Single cutting edge monitoring (cutting edge breakage) on straight / round cutting edges
• Tool breakage detection (shaft breakage)

183326_V6D_APPL | 07-2023 8 Blum-Novotest GmbH


Introduction

2.2 Program overview


The following files are stored in the workpiece directory of the control:

\BLUMLASxx\CYCLE_01.MPF Example program for cycle BL9901


\BLUMLASxx\CYCLE_02.MPF Example program for cycle BL9902 or BL9902A
\BLUMLASxx\CYCLE_03.MPF Example program for cycle BL9903
\BLUMLASxx\CYCLE_04.MPF Example program for cycle BL9904
\BLUMLASxx\CYCLE_05.MPF Example program for cycle BL9905
\BLUMLASxx\CYCLE_06.MPF Example program for cycle BL9906
\BLUMLASxx\CYCLE_07.MPF Example program for cycle BL9907
\BLUMLASxx\CYCLE_08.MPF Example program for cycle BL9908
\BLUMLASxx\CYCLE_85.MPF Example program for cycle BL9985
\BLUMLASxx\CYCLE_88.MPF Example program for cycle BL9988

The example programs show which parameters have to be defined when calling the measuring cycles and how the
measuring cycles can be called from a machining program.

The following files are optional (i.e. not an official component of the Blum measuring cycles and are therefore not de-
scribed) and can be forwarded from the machine manufacturer to the customer. A brief description of the program is
available in the file head:

BLUMDIAG\LC_ONOFF.SPF Program for switching the laser system on/off for diagnosis
BLUMDIAG\SET_LICENSE.SPF Activation/Deactivation of software license
BLUMDIAG\S_RUNOUT.MPF Subroutine for specifying the run-out error on the reference tool
BLUMDIAG\T_REPEAT.MPF Test program for repeat measurements
BLUMDIAG\T_SIGNAL.MPF Test program for testing the input/output signals of the laser system

The results files are available after the cycles:

\BLUMDIAG\E_S_RUNOUT.MPF Result file for S_RUNOUT


\BLUMDIAG\E_T_REPEAT.MPF Result file for T_REPEAT
\BLUMDIAG\E_T_SIGNAL.MPF Result file for T_SIGNAL

Blum-Novotest GmbH 9 183326_V6D_APPL | 07-2023


Introduction

Input masks BlumGUI (option)


Programming of the measuring cycles will be supported by optional graphic input masks. Depending on the software
version of the control these input masks will differ (size of graphics, position of data input fields, …).
The following chapters show screen masks for ”HMI Operate”.

The start soft key (BLUM Logo) for graphic support is in the "Program Editor" area, usually as a horizontal softkey 15
(one page to the right). At first an operating program has to be compiled and opened. The cycles are selected using the
following keys and inserted into a machining program:

• BLUM Logo soft key.

• The selection of the requested cycle is carried out with the vertical soft keys.

Please note: Usually only the standard cycles are installed.

183326_V6D_APPL | 07-2023 10 Blum-Novotest GmbH


Introduction

Available measuring cycles:


BL9901.SPF Measuring cycle calibration in the radial and axial axis, optional linearisation of the measuring area
BL9902.SPF Measuring cycle tool length measurement
BL9902A.SPF Measuring cycle for tool length measurement (advanced options)
BL9903.SPF Measuring cycle tool length and radius measurement of acentric tools
BL9904.SPF Measuring cycle temperature compensation in the radial and axial axis
Verification cycle tool single cutting edge monitoring on straight cutting edge geometry (cutting edge
BL9905.SPF
breakage)
Measuring cycle tool length, radius and corner radius measurement on rounded cutting edge geome-
BL9906.SPF
try
Verification cycle tool single cutting edge monitoring on round cutting edge geometry (cutting edge
BL9907.SPF
breakage)
BL9908.SPF Verification cycle tool breakage detection (shank breakage)
BL9985.SPF Verification cycle tool single cutting edge monitoring on straight cutting edge geometry (cutting edge
breakage), fast version due to interpolating positioning at the laser beam
BL9988.SPF Verification cycle tool breakage detection (shank breakage), fast version due to interpolating posi-
tioning at the laser beam

Blum-Novotest GmbH 11 183326_V6D_APPL | 07-2023


Introduction

2.3 Program levels and variables


The measuring cycles use two subroutine levels.
The measuring cycles use local and global variables. All global variables begin with "_B_". The laser beam position is
saved in the variables _B_CV[x,x]. They must never be changed by other cycles.

Schematic program procedure (example BL9902)

1st plane 2nd plane 3rd plane


Main program BL9902(…)
BPARATAB(1) Initialising variables (e.g. _B_SCALE)
USERSTARTPROG Start program with adaptations by OEM and user
 in the event of error jump to BTEXT
USERPARATABx Initialise variables (e.g., connection type, limit values, options,
…)
BTOOLDATA(1) Read tool data
 in the event of error jump to USERENDPROG
BPARATAB(2) mm/inch conversion of internal variable
 in the event of error jump to USERENDPROG
Check call parameter  In case of error, jump to USERENDPROG
BSPFUNC(1,0) Read spindle status
BTOOLDATA(3) Check tool data and modify for the cycle sequence
 In case of error, jump to USERENDPROG
BLASONOFF(9) Switch on laser
BAX2STARTEND(1) Approach strategy to the laser
BLASONOFF(1) Switch on laser with control “LC_OK“
 in the event of error jump to USERENDPROG
Start of repeat loop
 After the last attempt jump to BTOOLDATA(4)
BPOS1AX(…) Checking of position within limit values and position axis
 In case of error, jump to start of repeat loop
BLASONOFF(…) Switch over the operating mode, control of blowing nozzle
Checking of starting position of measurement
BLMEAS(…) Measuring block with checking of trigger point within the
measuring path
 In case of error, jump to start of repeat loop
Perform Digilog DIGILOG operating mode
measurement
Check measured val-
ues for compliance
with limit values and  In case of error, jump to start of repeat loop
tolerances
End of repeat loop
BTOOLDATA(4) Check tool data and modify for the tool memory
 In case of error, jump to USERENDPROG
BTOOLDATA(2) at measuring cycles: Edit tool data
BAX2STARTEND(2) Retracting strategy from the laser
BLASONOFF(2) Switch off laser
BSPFUNC(2,0) Restore spindle status
USERENDPROG End program with adaptation by OEM and user
BTEXT Error output

183326_V6D_APPL | 07-2023 12 Blum-Novotest GmbH


Introduction

2.4 General information

2.4.1 Operating mode


When the laser beam is interrupted, the laser system generates a signal at the "OUTPUT DYNAMIC". This output is linked
to the CNC measuring input. In the measuring block, the signal is detected by the CNC and the axis positions at the
trigger point will be stored. These axis positions are read and processed in the measuring cycles. The axis positions
(trigger points) at tool measurement are compensated with those of calibration. Therefore, the tool dimensions are
determined.
With the LC50-DIGILOG laser measuring system, an analogue measurement is also carried out at the trigger point. The
analogue measurement contains a signal filtration to eliminate interference.

2.4.2 General
• The program examples CYCLE_**.MPF in the workpiece directory BLUMLASxx show how the measuring cycles are
called from a machining program.
• The measuring cycles can be installed completely or partially from the control. The calibration measuring cycle is
always required.
• The tool measurement is executed in machine coordinates, referring to the tool holder reference point in the ma-
chine-coordinate-system (SUPA). Coordinate transformations, scaling, turning, reflection, etc. must be deselected.
• All travel movements and most measuring blocks can be influenced by the override potentiometer, unless this has
been prevented by the machine manufacturer, e.g. by the PLC program. Short measuring blocks (<1.8mm) that in-
fluence the measuring result are executed with 100% override.
• If the cycle is interrupted due to errors, the values already measured correctly will not be entered in the tool
memory.
• The tool to be measured/checked can be locked in the tool memory at the beginning of the measuring cycle. It thus
remains locked even if the cycle is interrupted (i.e. the tool was not completely measures/tested). The tool is only
released again at the end in the case of error-free measuring/control.
• Calibration and measurement must always be performed when the machine is at operating temperature. A heating-
up phase at a mean spindle speed, with NC axes moved and perhaps with coolant switched on is recommended. This
ensures that the same environmental conditions for the measuring system are always in place.
• To achieve high in-process security and reliability, repeat measurements will generally be performed in case of an
error. In conjunction with a reasonable evaluation strategy a high measurement precision is achieved.
• At the start of the cycle the last programmed spindle rpm S and the spindle status (M3, M4, M5, M19) are buffered
by the cycle. At the end of the cycle the previous spindle status is restored independently of the determined tool
status (tool in working order / tool defective).
• In USERSTARTPROG execution of the cycles can be skipped under certain conditions (e.g. simulation, block scan,
DRY-RUN). For this, the error marker is set negative (e.g. _B_ERRNO=-99). This brings about a jump to USERENDPROG
and the cycle is then ended.
• During the tool check, positioning in the laser beam is done at rapid traverse feed. The correct tool geometry data
have to be entered into the tool memory before the checking cycle is called ( risk of collision in case of incorrect
data!).
If a shaft or cutting edge breakage is detected on the checked tool, the error marker (_B_ERRNO) is set. The standard
action (error message and program stop) can be replaced by a machine related action (lock tool, call sister tool, etc.).
It can usually be found in the USERENDPROG program and is described in detail in the documentation of the machine
manufacturer.

Blum-Novotest GmbH 13 183326_V6D_APPL | 07-2023


Introduction

2.4.3 Cycle call


The measuring cycles can be carried out in operating mode "AUTO“, "MDI“ and "JOG". The measuring task will be de-
fined by the called measuring cycle and the call parameters, e.g. BL9908(0,1,0,5,0).
In all of the examples below, the metric system has been selected. The input of the call parameters must always take
place in the measuring system of the machine, otherwise there is a risk of collision. The incorrect value is partially rec-
ognised and the cycle is interrupted with an error message.
Some call parameters are optional, i.e. they must not imperatively be specified, i.e. BL9908(0) instead of
BL9908(0,1,0.5,0). Parameters, which have not been transmitted, are automatically set to default values. In the follow-
ing chapters they are marked as optional parameters. Compulsory parameters must be specified in any case, otherwise
the error marker (_B_ERRNO=4) is set. We recommend that all parameters are specified to make sure that execution of
the program is precisely defined.
In general, error messages are waived as much as possible in the cycles. Incorrect call parameters are internally “rede-
fined” and the cycle is executed with these changed parameters.
Example: Laser measuring system standard (=no NT-function), call of MMODE=–1, –2 or –3: it is "switched back" on
MMODE=1, 2 or 0 and the cycle is executed.

2.4.4 Tool change and spindle condition


The tool change procedure is always performed before a measuring cycle is called. There are several cutting edges for
tools with several correction data, e.g. step drill, T-slot mill, etc (D numbers). The cutting edge to be measured (D num-
bers) should be activated after the tool change. The measuring or checking results of the measuring cycles are automat-
ically assigned to the active cutting edge of the active tool.

Example of calling up the tool change and activating cutting edge D1:
...
T=”EXAMPLE_TOOL1234”
M6
D1
...

Usually, the drilling and milling tools are measured in rotation. The measurement can be carried out depending on the
tool, the spindle and the machine at any spindle rpm. Select the speed you use for machining to take the thermal rpm
related spindle drift into account.
Turning and whirling tools must be oriented in the spindle before the cycle is called up.

The measuring time depends on various factors, e.g. the dynamics of the machine axes and the current spindle rpm.
With the measuring blocks, the feed-speed ratio is observed; for the key fine measuring blocks it is 0.001 mm per spindle
rotation.
With rotating tools, the feed-speed ratio is always observed for the measuring direction light  dark. The measuring
time reduces as the speed increases. Measurement light  dark is possible at every speed. The maximum measuring
speed is laid down on commissioning and is never exceeded, even at a high rpm.

With NT measurements (measuring direction dark  light), the trigger point is output with a delay. The delay time
depends on the rpm.
In the DIGILOG operating mode, the delay time is adapted to the current spindle rpm. This means that NT measurement
is possible above a minimum rpm of S ≥ 50 rpm. No NT measurement is possible for rotating tools with a speed of S < 50
rpm; in this case, the measuring direction light  dark always applies.
A speed of S=3000 rpm is assumed for calculation of the measuring speeds for oriented tools.

In the DIGILOG operating mode, the time constant is adapted to the current spindle rpm. Single cutting edge monitoring
is possible without changing the rpm above a minimum speed of S ≥ 50 rpm.

183326_V6D_APPL | 07-2023 14 Blum-Novotest GmbH


Introduction

2.4.5 Read / write tool data


When calling up a measuring cycle, the current tool data for the active tool are read from the tool memory (length LGEO,
radius RGEO, wear values LWEAR, RWEAR). The adapter lengths LADAPTER from the tool memory are not considered. If there is
adapter data not equal to 0 (e.g. for adapter heads), the USER programs must be adapted during commissioning.
When the cycle is complete, the measuring result is automatically written back into the tool memory and is active with-
out calling the tool again:
• If the measurement is successful without exceeding the tolerance, the tool data (length LGEO, radius RGEO and wear
values LWEAR, RWEAR) is updated.
• If the measurement is successful while the tolerance is exceeded, the tool data (length LGEO, radius RGEO and wear
values LWEAR, RWEAR) is updated. The tool is locked if the tool management system permits. The error marker is set,
the error display causes the cycle and the machining program to be aborted.
• No tool data is saved if the measurement is aborted duo to errors. The error marker is set, the error display causes
the cycle and the machining program to be aborted.

Tool length parameters in the tool memory:


The tool length is interpreted by the measuring cycle as a geometry length LGEO, the wear length as real, measurable
length wear LWEAR.

The control calculates the total tool length for the machining program according to the formula:
L = LGEO + LWEAR + LADAPTER
The measuring cycle calculates the actual tool length for positioning in the laser beam:
L = LGEO + LWEAR

Unknown tool
When L = 0 , the tool length is assumed to be unknown. In this case a search process from light to dark is performed for
the first measuring block. The measuring block starts by default at LMAX + 1.8 mm and ends by default at LMIN - 1.8 mm.
This ensures that both the longest and the shortest tool within this measuring path emits a trigger signal to determine
the approximate length. All other scanning cycles for taking precise measurements are then run with reference to this
roughly determined tool length.

Known tool
For LMIN ≤ L ≤ LMAX the tool length is assumed to be known. In this case a rough search process with a limited measuring
path is performed for the first measuring block. The measuring block starts by default at LMAX + 1.8 mm and ends by
default at L - 6 mm. Within this limited measuring path a trigger signal is expected during insertion into the laser beam.
If the tool length is known, the search process can be dispensed with. In this case, the entered tool length is assumed
to be a rough tool length and the tool is positioned axially directly in the laser beam.

NOTE
Risk of collision possible due to incorrect manual input of the tool length L in the tool memory.
In the case of an incorrect input, a false pre-position or target position is calculated and approached. If the tool is
inserted into the laser beam during pre-positioning, the trigger signal, which could stop the measuring axis in time
from a collision, is no longer emitted for the subsequent measuring block.
 Enter the correct tool length value LGEO or LWEAR.
Maximum deviation from the real length measurement: ±5 mm
 Do not change a correctly measured or entered value.

Blum-Novotest GmbH 15 183326_V6D_APPL | 07-2023


Introduction

Tool radius parameters in the tool memory:


The tool radius is interpreted by the measuring cycle as a geometric radius RGEO, the wear radius as real, measurable
radius wear RWEAR.

The control calculates the total tool radius for the machining program according to the formula:
R = RGEO + RWEAR + RADAPTER
The measuring cycle calculates the actual tool radius for positioning in the laser beam according to the formula:
R = RGEO + RWEAR

Unknown tool
When R = 0 , the tool radius is assumed to be unknown. In this case a search process from light to dark is performed for
the first measuring block. As standard, the measuring block starts at RMAX + 1.8 mm and ends as standard at RMIN - 1.8
mm. This ensures that both the largest and the smallest tool within this measuring path emits a trigger signal to deter-
mine the approximate radius. All other scanning cycles for taking precise measurements are then run with reference to
this roughly determined tool radius.

Known tool
For RMIN ≤ R ≤ RMAX, the tool radius is assumed to be known. In this case a rough search process with a limited measuring
path is performed for the first measuring block. The measuring block starts by default at RMAX + 1.8 mm and ends by
default at R - 6 mm. Within this limited measuring path a trigger signal is expected during insertion into the laser beam.
If the tool radius is known, the search process can be dispensed with. In this case, the entered tool radius is assumed to
be a rough tool radius and the tool is positioned radially directly in the laser beam.

NOTE
Risk of collision possible due to incorrect manual input of the tool radius R in the tool memory.
In the case of an incorrect input, a false pre-position or target position is calculated and approached. If the tool is
inserted into the laser beam during pre-positioning, the trigger signal, which could stop the measuring axis in time
from a collision, is no longer emitted for the subsequent measuring block.
 Enter the correct tool radius value GEO or RWEAR.
Maximum deviation from the real length radius value: ±5 mm
 Do not change a correctly measured or entered value.

183326_V6D_APPL | 07-2023 16 Blum-Novotest GmbH


Introduction

Number of cutting edges in tool memory


The number of cutting edges can be defined in the tool memory. The number of cutting edges is stored as a decimal
place in variable _B_TOOLD when the tool data is read. For cycles BL9903, BL9905, BL9907 and BL9985, the parameter
CUT does not have to be programmed, with CUT=0 the number of cutting edges is read from _B_TOOLD.
Attention: if the number of cutting edges is defined in both places, the value must match!

Blum-Novotest GmbH 17 183326_V6D_APPL | 07-2023


Introduction

2.4.6 Approach / retracting strategy


The tool is moved in parallel with the axis to the laser system at the start of the cycles as follows:
• Length axis on safety position
• Beam axis on focus / measuring position
• Radius axis on measuring position
• Length axis on measuring position
In the control cycles BL9985 and BL9988, the tool is positioned in the laser beam with all programmed axes at rapid
traverse feed. Ensure that collisions are ruled out for all starting positions. A preparatory approach strategy can be
programmed in USERSTARTPROG.
At the end of the cycle, only the length axis is moved into the safety position. A downstream retracting strategy can be
programmed in USERENDPROG.
Covers and pivoting axes can be taken into account in the USER programs.

2.4.7 Tool cleaning


Cleaning the tools with compressed air using the integrated HPC nozzle is defined in USERPARATABx during commis-
sioning. The behaviour can be adjusted specifically to tools by evaluating the tool name or the tool number.

2.4.8 Switching between mm / inches


The current measuring system of the machine (mm/inch) is read at the start of the cycle. The dimension-dependent
variables in USERPARATABx must always be stated in the unit "mm". They are automatically converted in the cycles,
speeds are sometimes rounded up or down. Adjustment of these variables is therefore not required.

NOTE
Malfunction
The call parameters must be entered depending on the system of measurement of the machine (values in mm or in
inches). All programming examples are shown in mm.

Proceeding after change of measuring system from mm to inch


* Executing the program calibration with values in inch: e.g. BL9901(0,0.0004,0,0)
*Call of the requested cycles with values in inch: e.g. tool breakage detection: BL9908(0,1,0.04,0)

Proceeding after change of measuring system from inch to mm


*Executing of program calibration with values in mm: e.g. BL9901(0,0.01,0,0)
*Call of the requested cycles with values in mm: e.g. tool breakage detection: BL9908(0,1,1.0)

2.4.9 Simulation and block scan


In the case of simulation or active block scan, the BLUM measuring cycles can be skipped. A relevant sequence can be
found in USERSTARTPROG.
If valid tool data must be available in the tool memory for workpiece machining, the data must be manually entered or
determined beforehand by a separately run measuring cycle.

2.4.10 Procedure error


During cycle call, the call parameters transmitted are evaluated. If any invalid values are detected or if there is risk of
collision, the cycle is interrupted with an error message.
If any errors occur during the execution of the program (i.e. no trigger point, tool broken), then, the cycle will be re-
peated until the error has been eliminated or until the maximum permitted number of attempts has been reached. If
the error could not be remedied, an error marker is set and the program sequence is interrupted with an error message
or infinite loop. Machine- or user related error processing is performed in the subroutine USERENDPROG. An error
strategy can be integrated there by the machine manufacturer or user.

183326_V6D_APPL | 07-2023 18 Blum-Novotest GmbH


Description of the measuring cycles

3. Description of the measuring cycles


At the start of a measuring cycle, USERPARATABx is read and the system-specific values written in the GUD variables.
During the commissioning process, the variables were provided with valid values by the machine manufacturer.
The call parameters transferred to the cycles are then evaluated.

3.1 List of call parameters


Parameter Description
ALPHA Cycle BL9906: Start angle to tool symmetric axis
At the ALPHA start angle, the first measuring point for measuring is the corner radius and the circle
centre point on a circular cutting edge. An angle should be entered here that reliably leads to a meas-
uring point on the circle contour, even if there is thermal drift of the axes.
Using mills with a convex shape (ball end mill, torus mill) and with extended run-out, the angle must
be greater than 0°. Milling with concave shaped tools (e.g. quarter shaped mill) and with extended
run-out, the angle must be greater than 180°.
Value range: 0° ≤ ALPHA ≤ 360°
Default value: ALPHA = 0°

Cycle BL9907: Start angle to tool symmetric axis


The starting angle ALPHA is the initial point for the circular path section. In the case of ball nose mills,
there is usually only one cutting edge outside the tool centre, the other entire cutting edges end be-
fore the tool centre. The cutting edge monitoring only works without errors from the angle where all
cutting edges trigger a light  dark change on rotation.
ALPHA = 0° e.g. for cutting edge monitoring on facing mill with corner radius, torus mill
ALPHA > 0° e.g. for cutting edge monitoring on ball nose mills (ALPHA < 90°)
ALPHA = 90° e.g. for cutting edge monitoring on tool shaft only, not on corner radius.
Value range: 0° ≤ ALPHA ≤ 360°
Default value: ALPHA = 25°

ADDLEN Cycle BL9902, BL9903, BL9902A, BL9906: Additive length offset


The additive length compensation is added to the determined tool length wear. This call parameter can
be used, if i.e. flat surfaces are milled with an allowance. Moreover, length variations can be compen-
sated due to a different cutting edge geometry, by deflection forces, etc.
2*ADDLEN must be smaller than _B_RET[0], otherwise error E4 is displayed.
Default value: ADDLEN = 0.000 mm

ADDRAD Cycle BL9903, BL9906: Additive radius offset


The additive radius offset is added to the determined tool radius wear. This call parameter can be
used, if i.e. flat surfaces are milled with an allowance. Moreover, radius variations can be compensated
due to different cutting edge geometries, deflection forces, etc.
2*ADDRAD must be smaller than _B_RET[0], otherwise error E4 is displayed.
Default value: ADDRAD = 0.000 mm

BETA Cycle BL9906: Target angle to tool symmetric axis


At the BETA target angle is the last measuring point for measuring the corner radius and the circle cen-
tre point on circular cutting edge geometry. An angle should be entered here that reliably leads to a
measuring point on the circle contour, even if there is thermal drift of the axes.
Milling with concave shaped tools (e.g. quarter shaped mill) and with extended run out, the angle should
be lower than 360°.
Value range: ALPHA ≤ BETA ≤ 360°
Default value: BETA = 0°

Blum-Novotest GmbH 19 183326_V6D_APPL | 07-2023


Description of the measuring cycles

BETA Cycle BL9907: Target angle to tool symmetric axis


Target angle BETA is the last point of the circular path section and also the initial point for the following
tangential path section. The cutting edge monitoring on a corner radius is made on the arc of a circle
from the starting angle ALPHA to the target angle BETA. Target angle BETA determines if a full circle is
to be checked or a partial half or quarter circle.
BETA = ALPHA e.g. for cutting edge monitoring on tool shaft only, not on corner radius
BETA = 60° e.g. for cutting edge monitoring on ball nose mills with cone shaft 30°
BETA = 90° e.g. for cutting edge monitoring on ball nose mills with cylinder shaft
BETA = 180° e.g. for cutting edge monitoring on torus mills
Value range: ALPHA ≤ BETA ≤ 360°
Default value: BETA = 90°

CCL Cycle BL9906: Length offset to centre of circle starting from tool length
If a tool is measured in the search process (MMODE = 0, +1, +2, +3), the position of the circle centre up
from the tool tip has to be given.

CCR Cycle BL9906: Radial offset from centre of circle to tool axis
If a tool is measured in the search process (MMODE = 0, +1, +2, +3), the position of the circle centre up
from the tool rotation axis has to be given. Using MMODE=-1,-2,-3 this parameter is not needed.

CNUM Cycle BL9906: Number of measuring points


The calculation of circle radius and position of the centre needs at least 3 measuring values. The increase
of CNUM can minimize the influence of a single value. Although the measuring time is extended then.
Value range: 3 ≤ CNUM ≤ 20
Default value: CNUM=3

CRAD Cycle BL9906, BL9907: Tool corner radius


In order to ensure a useful tool check, the tool corner radius should be CRAD ≥2 mm. In order to calculate
the scan distance, the tool corner radius must be entered with the highest possible precision.
If CRAD=0 is transferred, the tool corner radius is read from the tool memory.
Value range: -tool radius ≤ CRAD ≤ tool radius

CORLEN Cycle BL9908, BL9988: Correction to core length


During shaft breakage detection, the core length is measured in a pulling measurement. Due to the
ground cutting edge shape on the front (e.g. with end mills), there is a difference between the meas-
ured core length and the length in the tool memory. The correction to core length CORLEN is added to
the measured tool length.
Alternatively, the breakage tolerance LBREAK can be enlarged, however, the tolerance band becomes
asymmetrical as a result.
Default value: CORLEN = 0.000 mm

183326_V6D_APPL | 07-2023 20 Blum-Novotest GmbH


Description of the measuring cycles

CUT Cycle BL9903, BL9905, BL9907, BL9985: Number of cutting edges


CUT = 1 Checking of the outer contour (single broken cutting edges are not detected!)
CUT > 1 Monitoring of all cutting edges to be within tolerance
Value range: 0 < CUT
Cycle BL9903, BL9905, BL9985:
Monitoring a saw blade
CUT = -1 No signal change in the traversing area (start position ... target position)
Only BL9903:
CUT = 0 No single cutting edge monitoring
Set the spindle rpm potentiometer to 100%, or else an error message will be output.

DTG Cycle BL9905, BL9985: Scan path or thread pitch


The cutting edge monitoring starts at the LOFFS distance behind the tool tip.
At CUT > 0 the system checks whether all cutting edges trigger a light  dark change on rotation.
Typical tools at RNUM = 0: Finishing cutter
Typical tools at RNUM > 0: Thread mill.
At CUT = -1, the system checks whether the beam is continuously interrupted.
Typical tools: Saw blade, grinding tools or tool shaft.
DTG = 0: Monitoring is carried out only at one place, i.e. without any more travel movements.
DTG > 0, RNUM = 0: Monitoring an area. The tool length axis travels continuously around the traverse
path (DTG) in the laser beam. The monitoring conditions must be met in all of the traversing area.
DTG > 0, RNUM > 0: Monitoring single places. The tool length axis positions step-by-step around the
traverse path (DTG) in the laser beam. The monitoring conditions must be met at every position.
RNUM positions are monitored.
Value range: 0.000 mm ≤ DTG ≤ _B_RET[2]
Default value: DTG = 0.000 mm

Cycle BL9907: Scan path on shaft/cone


The cutting edge monitoring starts at the tool tip and ends at the tool shaft. In the first section a circu-
lar path is described on the corner radius, in the second section a following straight tangential move-
ment on the cylinder or cone shaft. The (DTG) traverse path determines the length of the second sec-
tion.
DTG = 0 Cutting edge monitoring on corner radius only, not on the tool shaft
DTG > 0 Cutting edge monitoring on corner radius and on the tool shaft
Value range: 0.000 mm ≤ DTG ≤ (_B_RET[2]-corner radius)
Default value: DTG = 0.000 mm

FEED Cycle BL9905, BL9907, BL9985: Feed rate during checking


During cutting edge monitoring, the axes are moved at the specified feed rate. The feed rate deter-
mines the increment for cutting edge monitoring.
Example: Feed rate = 100 mm/min, speed = 1250 rpm
→ step width = 100 / 1250 mm= 0.08 mm,
i.e. each cutting edge is checked at a resolution of 0.08 mm.
Value range: 1 mm/min ≤ FEED ≤ 1000 mm/min
Default value: FEED = 100 mm/min

LBREAK Cycle BL9908, BL9988: Admissible length tolerance


During tool breakage detection, the tool length is roughly measured, compared to the length from the
tool memory and the length difference Delta = measured value - default value is calculated.
"E19 tool broken" is set if Delta is less than –LBREAK. The tool is too short.
"E16 tolerance exceeded" is set if Delta is greater than +2*LBREAK. The tool is too long.
Value range: 0.000 mm ≤ LBREAK ≤ 3,000 mm
Default value: LBREAK = 1,000 mm

Blum-Novotest GmbH 21 183326_V6D_APPL | 07-2023


Description of the measuring cycles

LOFFS Cycle BL9901, BL9904: Axial measuring position for radius measurement
At LOFFS = 0 (recommended), a suitable default value will automatically be used. Further notes: See
chapter calibration.
Default value: LOFFS = 0.000 mm

Cycle BL9903: Axial measuring position for radius measurement


The position for radius measurement is the length offset of the measuring position at the tool cutting
edge to the tool tip. In order to make sure that the laser beam is darkened, it is essential that the tool
radius of tools like end mills, facing mills, etc. is measured behind the tool tip. If, on a disk milling cutter
or T-slot mill the length is referred to the rear tool edge, a negative value has to be entered for LOFFS.
Default value: LOFFS ≈ tool corner radius + 0.5 mm
Default value: LOFFS ≈ tool corner radius + 0.5 mm

Cycle BL9905, BL9985: Axial starting position of the control


Make sure that the laser beam is covered up in start position.
Default value:
Default value: LOFFS ≈ tool corner radius + 0.5 mm

LTOL Cycle BL9902, BL9902A, BL9903, BL9906: Length tolerance


For MMODE = ±1, MMODE = ±2, MMODE = ±11 and MMODE = ±12, the tool wear is determined as the
difference between measured length and the specified set value. Exceeding the length tolerance, the
tool is marked as “out of tolerance”.
Value range: 0.000 mm ≤ LTOL
Default value: LTOL = 0,050 mm

Cycle BL9904: Length tolerance


For MMODE = ±1 or MMODE = ±2, the temperature drift will be determined as difference between the
current and saved calibration value. If LTOL is exceeded, error "Temperature drift > Limit" is issued.
Value range: 0.000 mm ≤ LTOL
Default value: LTOL = 0,050 mm

MDIR Cycle BL9908, BL9988: Measuring direction


The tool length measurement in tool breakage detection may be executed by pulling the tool out of
the beam or by pushing it into the beam. In case of large quantities of coolant or for tools with a core
diameter >∅ 1mm pulling measurement is recommended. Gravers or permanent error messages re-
quire the pulling measuring method.
MDIR = +1 Measuring block from dark  light (=default value)
MDIR = −1 Measuring block from light  dark
MDIR = 0 Check if laser beam is interrupted by a tool, no measuring block.

Default value: MDIR = +1

183326_V6D_APPL | 07-2023 22 Blum-Novotest GmbH


Description of the measuring cycles

MMODE Cycle BL9902, BL9902A, BL9903, BL9906: Measuring mode


Determination of whether the tool is to be measured again or whether a previously measured tool is to
be checked or monitored for wear.
During the tool measurement (MMODE = 0 / ±3 / -13) the cycle determines the real actual value for tool
length/radius, overwrites the value LGEO/RGEO in the tool memory and sets the tool wear LWEAR/RWEAR = 0.
During tool verification (MMODE = ±1 / -11) the measured actual value for tool length/radius is com-
pared with the specified set value LGEO/RGEO from the tool memory. The cycle calculates the deviation
with the correct preceding sign and updates the tool wear LWEAR/RWEAR with this value. The error is set if
the difference value is greater than the permitted wear tolerance LTOL/RTOL. The tool can then be
locked.
During tool check (MMODE= ±2 / -12) the measured actual value for tool length/radius is compared
with the specified set value LGEO/RGEO from the tool memory. The cycle calculates the difference with the
correct preceding sign. The error is set if the difference value is greater than the permitted wear toler-
ance LTOL/RTOL. The tool can then be locked. The tool data LGEO/RGEO and LWEAR/RWEAR will not be up-
dated in the tool memory!
The measured values are stored in the variables _B_CTOOL[0], _B_CTOOL[1] and _B_CTOOL[2].

In MMODE = 0 / +1 / +2 the tool length or tool radius within the given tool limit data is first roughly
determined with a search function and then measured (→ low collision risk if wrong tool data). The
measurement is taken as the tool is pushed into the beam; dripping coolant may disturb the measuring
sequence. Such interference may be corrected in the cycle by means of plausibility checks and repeated
measurements.
If MMODE = -1 / -2 / -3 / -11 / -12 / -13, the tool is positioned, with reference to the tool data L and R
entered in the tool memory, directly in the laser beam at rapid traverse feed - without search function
- (→ increased risk of collision if tool data wrong). The measurement is taken as the tool is pulled out of
the beam; dripping coolant will scarcely influence the measuring sequence and the measuring accuracy
(NT operating mode).
In MMODE = +3, the tool length or tool radius within the given tool limit data is at first roughly deter-
mined with a search function (→ low collision risk if wrong tool data). The measurement is then taken
as the tool is pulled out of the beam; dripping coolant will scarcely influence the measuring sequence
and the measuring accuracy (combination of search function and NT measuring mode).
In DIGILOG operating mode, the measuring system recognises coolant drops on the tool. These meas-
ured values are suppressed by the filtering and do not lead to any disruptions to the measuring se-
quence.
MMODE is written in _B_CMODE[0] at the start of the cycle.

Cycle BL9904: Measuring mode


The new, current temperature compensation values are determined, compared with the still active, old
TC values in compliance with the tolerances LTOL/RTOL and then saved in calibration/TC parameters. If
the tolerances are exceeded by temperature drift or soiling on the tool, the error message "Tolerance
exceeded" appears.
0 = Reference measurement with updating of the calibration values
±1 = Comparative measurement with updating of the calibration values, even if tolerance is exceeded
±2 = Comparative measurement without updating the calibration values
For Digilog measuring mode only:
For MMODE = -1 / -2, the reference tool without measuring block is positioned directly in the laser beam.
These measuring modes are only suitable if there is a low temperature drift of the axes between the
measurements.

Blum-Novotest GmbH 23 183326_V6D_APPL | 07-2023


Description of the measuring cycles

Overview of measuring modes for BL9902, BL9902A, BL9903, BL9906


During the measuring operation the tool, which is pre-set to ± 5 mm, is measured and the determined data are entered
in the tool memory. During the measuring sequence, the measuring feed, measuring path and retracting stroke are
progressively reduced. So, short measuring times are realised.
Measuring mode –1,–2,–3 consists of positioning the tool tip at rapid traverse feed directly in the laser beam ( risk of
collision in case of incorrect data!). At measuring mode 0,+1, +2, +3 the tool length within the tool limit data is searched.
If a tool is too long, it is detected, there is no risk of collision.
Tools with an unknown length can be measured at the front tool edge with measuring mode = 0 or +3, if value 0 is
entered for the length in the tool memory. The search process is then carried out up to the minimum tool length. (
low collision risk).

During cycle call with measuring mode NT (+3,-1,-2,-3), a minimum speed is required. It must be set before the cycle
call.
• S ≥ 50 rpm (in DIGILOG operating mode)
If the speed is too low, the measuring mode is automatically changed to search function (0, +1, +2).

Measur- Designation Approach and measuring strategy Tool data


ing
mode
±0 Measure Search function to determine the • Length / radius may be unknown
tool data

Measurement pushing into the • Length L / radius R are updated


beam • Wear values are set to 0
• Tool is not evaluated
+1 Verification Search function to determine the • Length / radius must be measured
tool data

Measurement pushing into the • Length L / radius R are not changed


beam • Wear values are updated
• Tool is evaluated / locked in case of error
+2 Check Search function to determine the • Length / radius must be measured
tool data

Measurement pushing into the • Length L / radius R are not changed


beam • Wear values are not changed
• Tool is evaluated / locked in case of error
+3 NT measure- Search function to determine the • Length / radius may be unknown
ment tool data

Measurement pushing and pulling • Length L / radius R are updated


• Wear values are set to 0
• Tool is not evaluated

183326_V6D_APPL | 07-2023 24 Blum-Novotest GmbH


Description of the measuring cycles

Measur- Designation Approach and measuring strat- Tool data


ing egy
mode
-3 NT measure- Positioning in the laser beam • Length / radius must be roughly defined in the tool
ment memory (accuracy approx. ±5 mm)
Measurement pulling out of the • Length L / radius R are updated
beam • Wear values are set to 0
• Tool is not evaluated
-2 NT check Positioning in the laser beam • Length / radius must be measured

Measurement pulling out of the • Length L / radius R are not changed


beam • Wear values are not changed
• Tool is evaluated / locked in case of error
-1 NT verifica- Positioning in the laser beam • Length / radius must be measured
tion
Measurement pulling out of the • Length L / radius R are not changed
beam • Wear values are updated
• Tool is evaluated / locked in case of error

Additional measuring modes for grinding tools


Measurement of grinding tools by the search run is not possible because of increased coolant load. At coarse-pored
grinding tools, coolant may leak out of the abrasive wheel. The measuring modes NT (MMODE: -1, -2, -3) are measuring
the biggest diameter (coolant mist or "peak" of the abrasive surface). By additional measuring modes (MMODE: -11, -
12, -13), the smallest diameter is measured ("low point" of the abrasive surface).

Please note:
The additional measuring modes may not be used for grinding wheels with segment breakouts and for milling tools!
The measured tool data may be too low and may lead to damage of the machine.

Measur- Designation Approach and measuring strategy Tool data


ing
mode
-13 Measure Positioning in the laser beam • Length / radius must be roughly defined in the
tool memory (accuracy approx. ±5 mm)
Measurement pulling out of the • Length L / radius R are updated
beam • Wear values are set to 0
• Tool is not evaluated
-12 Check Positioning in the laser beam • Length / radius must be measured

Measurement pulling out of the • Length L / radius R are not updated


beam • Wear data are not updated
• Tool is evaluated / locked in case of error
-11 Verification Positioning in the laser beam • Length / radius must be measured

Measurement pulling out of the • Length L / radius R are not changed


beam • Wear values are updated
• Tool is evaluated / locked in case of error

Blum-Novotest GmbH 25 183326_V6D_APPL | 07-2023


Description of the measuring cycles

Parameter Description
MTYPE Cycle BL9903: Measuring scope
MTYPE = 0 Tool length and radius measurement
MTYPE = 1 length measurement only
MTYPE = 2 radius measurement only
MTYPE = -1 Only length measurement of the inside contour on the oriented tool (option)
MTYPE = -2 Only radius measurement of the inside contour on the oriented tool (option)
MTYPE = -3 Length measurement and radius measurement of the inside contour on the ori-
ented tool (option)
Default value: MTYPE = 0

RBREAK Cycle BL9903: Admissible run-out tolerance


CUT > 0: During single cutting edge monitoring the system checks whether all the biggest
cutting edge - RBREAK all cutting edges interrupt the laser beam. If the toler-
ance is exceeded, an error marker is set.
CUT < -1: The shortest cutting edge is measured, the difference between the longest cut-
ting edge and shortest cutting edge must be less than RBREAK.
Value range: 0.000 mm < RBREAK
Default value RBREAK = 0,050 mm

Cycle BL9905, BL9907, BL9985: Admissible run-out tolerance


CUT > 0: During single cutting edge monitoring the system checks whether all the biggest
cutting edge - RBREAK all cutting edges interrupt the laser beam. If the toler-
ance is exceeded, an error marker is set.
Value range: 0.000 mm < RBREAK
Default value: RBREAK = 0,050 mm

RNUM Cycle BL9901, BL9904: Number of repeated measurements


Repeated measurements are made to establish an average. RNUM describes the number of measuring
blocks needed for this.
RNUM > 0: Number of measuring blocks
Value range: -1 ≤ RNUM ≤ 10
Default value: RNUM = 3

Measured value identification DIGILOG


RNUM = 0: Digilog calibration with measurement + consideration of the radial/axial runout
RNUM = -1: Digilog calibration with measurement + consideration of the radial/axial runout
and linearisation (only BL9901)
Default value: RNUM = 0

Cycle BL9902, BL9902A, BL9903, BL9906: Number of repeated measurements


Repeated measurements are made to establish an average. RNUM describes the number of measuring
blocks needed for this.
RNUM > 0: Number of measuring blocks
Value range: 0 ≤ RNUM ≤ 10
Default value: RNUM = 3

Measured value identification DIGILOG


RNUM = 0: Digilog measurement of the largest cutting edge geometry
RNUM = -1: Measurement of the longest and shortest cutting edge (only BL9903)
Default value: RNUM = 0

Cycle BL9905, BL9985: Number of measuring points for thread mills


The specified numbers of tooth rows on thread mills are checked for broken cutting edges.
Value range: 0 < RNUM
Default value: RNUM = 0

183326_V6D_APPL | 07-2023 26 Blum-Novotest GmbH


Description of the measuring cycles

Parameter Description
ROFFS Cycle BL9901, BL9904: Radial measuring position for length measurement
Because of compatibility reasons, this parameter is retained in the program call.
Default value: ROFFS = 0.000 mm

Cycle BL9903, BL9902A, BL9906: Radial measuring position for length measurement
On tools like end mills, facing mills, etc. the tool length is measured outside the centre on the tool cutting
edges. The position for length measurement is the radial offset from the measuring position to the tool
axis:
Default value: ROFFS ≈ tool radius − corner radius − 0.3 mm

Cycle BL9907: Radial offset for the start of the corner radius
Distance between tool axis and start at the corner radius.
ROFFS = 0 Corner radius starts in tool axis (e.g. ball nose mill)
ROFFS > 0 Corner radius starts outside the tool axis (e.g. torus mill)
Value range: 0.000 mm ≤ ROFFS
Default value: ROFFS = 0.000 mm

Cycle BL9908, BL9988: Radial checking position


On tools with inside-tool-coolant supply, i.e. taps with inner cooling, the tool breakage detection is
performed off the source of disturbing influences. The checking position is located within the tool core
and it is the radial offset to the tool axis.
Value range: 0.000 mm ≤ ROFFS < tool radius
Default value: Default value: ROFFS = 0.000 mm

RPTL Cycle BL9901, BL9904: Maximum deviation of measured values


RNUM > 0 The difference between the highest and the lowest measured value is deter-
mined and compared with the scattering tolerance. If the scattering tolerance
is exceeded, an error message is output and the cycle is aborted.
RNUM = 0 The measured axial/radial run-out must be lower than RPTL.
Value range: 0,001 mm ≤ RPTL ≤ 0,100 mm
Default value: RPTL = 0,010 mm

Cycle BL9902, BL9902A, BL9903, BL9906: Maximum deviation of measured values


RNUM > 0 The difference between the highest and the lowest measured value is deter-
mined and compared with the scattering tolerance. If the scattering tolerance
is exceeded, an error message is output and the cycle is aborted.
RNUM ≤ 0 Up to IF10 firmware V1.10: no function
From IF10 firmware V1.11: The difference between the highest and the lowest
Digilog measured value is determined and compared with the scattering toler-
ance. If the scattering tolerance is exceeded, the measurement is repeated
and additional internal evaluations are initiated.
Value range: 0,001 mm ≤ RPTL ≤ 0,100 mm
Default value: RPTL = 0,010 mm

Blum-Novotest GmbH 27 183326_V6D_APPL | 07-2023


Description of the measuring cycles

Parameter Description
RTOL Cycle BL9903, BL9906: Radius tolerance
For MMODE=±1, MMODE=±2, MMODE=±11 and MMODE=±12, the tool wear is determined as the dif-
ference between the measured radius value and the specified set value. If the radius tolerance is ex-
ceeded, the tool is declared "out of tolerance".
Value range: 0.000 mm ≤ RTOL
Default value: RTOL = 0,050 mm

Cycle BL9904: Radius tolerance


For MMODE = ±1 or MMODE = ±2, the temperature drift will be determined as difference between the
current and saved calibration value. If RTOL is exceeded, error "Temperature drift > Limit" is issued.
Value range: 0.000 mm ≤ RTOL
Default value: RTOL = 0,050 mm
SAFEDIST Cycle BL9985, BL9988: Safety distance
The parameter SAFEDIST indicates an interim position for convergence of the tool tip to the laser beam.
In the case of a positive value, the tool is outside the laser beam, in the case of a negative value the tool
is in the laser beam. If SAFEDIST is not programmed, it is positioned on retraction level (_B_REPOS[0]).
If there is no obstacle on the way from the actual position to the laser beam, the following start position
can be chosen as interim position:
SAFEDIST=-LOFFS value for BL9985 or
SAFEDIST= - 5*LBREAK value for BL9988
SPECIAL Cycle BL9903: Special function
This parameter permits to take influence on the measuring sequence, i.e. radius measurement on one
or two sides. Various measuring tasks are possible, i.e. length measurement at the front tool edge
(drill, end mill, etc.) or at the rear tool edge (disk milling cutter, slot mills, etc.).
SPECIAL = – 2 Length measurement at the front tool edge and radius measurement on both
sides
SPECIAL = – 1 Length measurement at the front tool edge and radius measurement on one
side (=standard)
SPECIAL = +1 Length measurement at the rear tool edge and radius measurement on one side
SPECIAL = +2 Length measurement at the rear tool edge and radius measurement on both
sides
Note: A radius measurement on both sides is only possible if the option is set by the manufacturer
(defined with _B_DIR[1]=+/-2.aabb in USERPARATABx)
TDIR Cycle BL9906, BL9907: Tool nose position
Definition of the tool nose position is in line with that of turning tools. Tool length and radius in the
tool memory are depending on the tool nose position. Exception: In cycle BL9907, TDIR=0 can also be
used for compatibility reasons.

Value range 0 ≤ TDIR ≤ 9

183326_V6D_APPL | 07-2023 28 Blum-Novotest GmbH


Description of the measuring cycles

3.2 BL9901 - Calibration of the laser measuring system


Before using the laser system, it must be calibrated. The exact position of the trigger points must be determined in
machine coordinates. For this purpose, a special reference tool is used, whose data (length, radius) is defined in the tool
memory. Ideally, it is shrunk into a tool holder.
The cycle determines the exact position of the laser beam based on the tool geometry of the reference tool and the
trigger points. The results will be written into calibration parameters. They are not allowed to be overwritten by any
other program. At later tool measurement, these parameters will be used for positioning in the laser beam and for
calculation of tool length and tool radius.
DIGILOG operating mode: optionally, linearisation is carried out, the linearisation characteristic curves are stored inter-
nally.

Call: BL9901(RNUM,RPTL,LOFFS,ROFFS)

Parameter Description Default value


1. RNUM Number of repeated measurements DIGILOG operating mode: optional
0, -1
NT operating mode: 3
2. RPTL DIGILOG operating mode: Maximum permitted radial 0,010 mm optional
run-out
NT operating mode: Maximum deviation of measured
values
3. LOFFS Axial measuring position for radius measurement 0.000 mm optional
4. ROFFS Radial measuring position for length measurement 0.000 mm optional

Return parameter:
1. The calibration data (_B_CV[..]) are updated.
2. Only with DIGILOG operating mode:
During calibration, contamination of the reference tool is filtered out. The radial runout is determined from the
filtered values and written for diagnostic purposes to the variable _B_MPV[7]. The axial runout is written into the
variable _B_MPV[4]. Half of the radial runout is also written as radius war into the tool memory.
For RNUM=-1, a linearisation characteristic curve is also recorded at every measuring point.
The measuring range of the individual linearisation characteristic curves is written for diagnostic purposes into the
variables _B_MPV[0] and _B_MPV[1] (axial) and _B_MPV[2] and _B_MPV[3] (radial).

Please note:
1. Calibration has to be carried out at operating temperature of the machine.
2. ROFFS is set internally: ROFFS = 0
3. For input of LOFFS=0, a suitable default value is set automatically: LOFFS = R+0.5 mm
4. LOFFS must ≥ R, otherwise an error message is output
5. At the end of the cycle it will be checked, whether the calibration at the sector of the corner radius was done. In
this case, the cycle is repeated.
6. The data of the reference tool from USERPARATABx takes priority over the tool data in the tool memory. During
calibration, data from USERPARATABx and the tool memory is compared. If the difference is greater than
_B_RET[1] (default value =1.8 mm), error E5 is issued.
If the data from the tool memory is to be used, the variables _B_CTOOL[0]=0 and _B_CTOOL[1]=0 must be de-
fined in USERPARATABx.
7. During linearisation, every measurement point is checked to determine whether errors occurred when the re-
spective characteristic curve was recorded. Provided that the option bit for logging is set, a log is written.
The cells OUT L10, L90 and DIST and IN L10, L90 and DIST contain data that can be compared. The numerical val-
ues must be approximately similar; a tolerance is specified in the line.
8. The reference tool can then be measured for checking purposes using the cycle BL9903. For this purpose, an addi-
tional D correction (e.g. D2) should be created and activated. When comparing the measured values (e.g. in tool
correction D2) and the default values (e.g. in tool correction D1), note that the radial runout as well as contamina-
tion will influence the measuring results. Contamination always causes the values to be higher than expected. You
can minimise this effect by cleaning the reference tool.
For checking purposes, the subroutine S_RUNOUT can also be used.

Blum-Novotest GmbH 29 183326_V6D_APPL | 07-2023


Description of the measuring cycles

3.2.1 Recommended versions for the new Blum laser optic.


The measurement points 1, 2 and 3 are calibrated and/or linearised. Setting is done with _B_CMODE[0] in
USERPARATABx.
For LC50-DIGILOG For LC50-DIGILOG and LC52-DIGILOG.
This definition in the tool memory only applies for the
laser beam. An additional definition of the disk radius is
required for the cube of the LC52-DIGILOG.
Shape A / calibration dot pattern 1: Shape B / calibration dot pattern 1:

Entry in tool memory:


L, R L, R
Recommended measuring positions:
ROFFS = 0 mm
LOFFS ≥ R + 0.5 mm (see data sheet for measuring posi- ROFFS = 0 mm
tion) LOFFS = 2.0 mm

Please note:
If the measuring positions are not defined, the following default values apply:

Shape A Shape B
LOFFS = R + 0.5 mm LOFFS = R + 0.5 mm
ROFFS = 0 mm ROFFS = 0 mm

3.2.2 Linearisation
For the Digilog measurement in the laser beam, a linearisation characteristic curve is necessary for each measurement
direction. The linearisation characteristic curve describes the connection between the immersion depth of an object in
the laser beam and thereby the generated shading in relation to the trigger point position.
The form and increase of the characteristic curve depend on:
• the position between transmitter and receiver
• the distance transmitter/receiver
• the angle at which the object obstructs the laser beam.

The linearisation is integrated in the cycle calibration. It is additionally conducted for calibration, if the parameter RNUM
= -1 is set.
During linearisation, the laser beam is shaded by an even movement of 0% to 100%.
The characteristic curves are stored permanently in LC50-DIGILOG and overwritten during the next linearisation.

Linearisation must be performed with a clean reference tool:


• during initial commissioning
• after a modification of the mounting position
• after cleaning operations at the optics

Alternatively, the linearisation can be executed with each calibration. Therefore, the cycle takes much longer though.

183326_V6D_APPL | 07-2023 30 Blum-Novotest GmbH


Description of the measuring cycles

Example of calibration with DIGILOG operating mode:


T1 M6 ; Load reference tool
D1 ; Set tool offset number
M3 S3000 ; Spindle rpm 3000 rpm
BL9901(0,0.01,0,0) ; Calibration
T0 M6 ; Unload reference tool

Process:
Loading of reference tool (T1 M6), selection of an offset number (D1) and spindle start (M3 S3000). The calibration is
called by BL9901(..). Default values are used to position the reference tool in the laser beam (LOFFS=0, ROFFS=0). At
every position, the analogue signal is recorded over several rotations, the mean value is added to the position. The
radial run-out is determined and updated in the tool memory. An error is issued if the radial run-out exceeds the toler-
ance (RPTL=0.01). After this, the reference tool is unloaded (T0 M6).

Blum-Novotest GmbH 31 183326_V6D_APPL | 07-2023


Description of the measuring cycles

Example of calibration including linearisation with DIGILOG operating mode:


T1 M6 ; Load reference tool
D1 ; Set tool offset number
M3 S3000 ; Spindle rpm 3000 rpm
BL9901(-1,0.01,0,0) ; Calibration with linearisation
T0 M6 ; Unload reference tool

Process:
Loading of reference tool (T1 M6), selection of an offset number (D1) and spindle start (M3 S3000). The calibration is
called by BL9901(..). Default values are used to position the reference tool in the laser beam (LOFFS=0, ROFFS=0). First
of all, the spindle is oriented and linearisation is carried out at every measuring point (RNUM = -1). Spindle rotation is
then switched on again. Positioning is repeated. At every position, the analogue signal is recorded over several rotations,
the mean value is added to the position. The radial run-out is determined and updated in the tool memory. An error is
issued if the radial run-out exceeds the tolerance (RPTL=0.01). After this, the reference tool is unloaded (T0 M6).

183326_V6D_APPL | 07-2023 32 Blum-Novotest GmbH


Description of the measuring cycles

3.3 BL9904 - Temperature compensation of the NC axes


When high precision is required, the laser system and the reference tool can compensate the temperature drift of the
machine. The cycle "measures" the reference tool related to the reference dimensions, detects the actual position of
the laser beam and updates the calibration values. The actual position is compared to the position of the temperature
compensation reference measurement (TC = temperature compensation). The determined difference can be calculated
as follows:
zero point offset = actual offset – reference (e.g. as basic zero point offset).
The processing strategy is defined by the machine manufacturer in the USERSETOFFS subroutine. The part program is
then continued with the corrected values.
Temperature drift compensation with the laser measuring system is only meaningful if the measuring system is exposed
to the same thermal influences as the workpiece. The best results are obtained with a compact design, mounted near
the workpiece.

Call: BL9904(MMODE,RNUM,RPTL,LOFFS,ROFFS,LTOL,RTOL)

Parameter Description Default value


1. MMODE Measuring mode no standard compulsory
2. RNUM Number of repeated measurements DIGILOG operating mode: 0 optional
NT operating mode: 3
3. RPTL Maximum permitted radial run-out in 0,010 mm optional
DIGILOG operating mode
Maximum deviation of the measured values in
NT operating mode
4. LOFFS Axial measuring position for radius measurement 0.000 mm optional
5. ROFFS Radial measuring position for length measurement 0.000 mm optional
6. LTOL Admissible temperature drift of length axis 0,050 mm optional
7. RTOL Admissible temperature drift of radius axis 0,050 mm optional
Return parameter:
1. The calibration data (_B_CV[..]) are updated.
2. Only with DIGILOG operating mode:
The radial run-out is identified and updated as radius wear in the tool memory.
3. The measured drift of the radius- and length axis is available in the USERSETOFFS program or written into a zero
point offset.
4. Error _B_ERRNO=11
in case of comparative measurement and exceeding of axial tolerance LTOL or radial tolerance RTOL.

Please note:
1. Calibration has to be carried out at operating temperature of the machine.
2. ROFFS is set internally: ROFFS = 0
3. For input of LOFFS=0, a suitable default value is set automatically: LOFFS = R+0.5 mm
4. LOFFS must ≥ R, otherwise an error message is output
5. At the end of the cycle it will be checked, whether the calibration at the sector of the corner radius was done. In
this case the cycle will be repeated with the correct position in the length axis.

The integration of temperature compensation cycle (TC) into a normal machining process should be performed as fol-
lows:
1. Calibration of the laser measuring system with the reference tool.
2. Length and diameter measurement of all tools to be used.
3. Test machining of the first workpiece until all workpiece dimensions match the nominal size.
4. TC reference measurement (MMODE=0), keeping the actual machine status as a reference value.
5. Production of the next workpiece.
6. TC comparative measurement (MMODE=1) to determine the actual axis offset with respect to the reference val-
ues and processing by means of the additive reference zero point offset.
7. Depending on the machine's temperature drift and required accuracy, TC comparative measurement can be per-
formed before or after any desired number of machining tasks.

Blum-Novotest GmbH 33 183326_V6D_APPL | 07-2023


Description of the measuring cycles

Example for a reference measurement:


T1 M6 ; Load reference tool
D1 ; Set tool offset number
M3 S3000 ; Spindle rpm 3000 rpm
BL9904(0,0,0.01,0,0,,) ; Reference temperature compensation
T0 M6 ; Unload reference tool

Process:
Loading of reference tool (T1 M6), selection of an offset number (D1) and spindle start (M3 S3000). Temperature com-
pensation is called by BL9904(...). A reference measurement (MMODE=0) is made. Default values are used to position
the reference tool in the laser beam (LOFFS=0, ROFFS=0). A Digilog measurement is executed (RNUM=0). After this, the
reference tool is unloaded (T0 M6). Parameters LTOL and RTOL may be left away when calling.

183326_V6D_APPL | 07-2023 34 Blum-Novotest GmbH


Description of the measuring cycles

Example for a comparative measurement:


; Machining of the parts
T1 M6 ; Load reference tool
D1 ; Set tool offset number
M3 S3000 ; Spindle rpm 3000 rpm
BL9904(1,0,0.01,0,0,0.05,0.05) ; Comparison temperature compensation
T0 M6 ; Unload reference tool
; Continue machining of the parts

Process:
Loading of reference tool (T1 M6), selection of an offset number (D1) and spindle start (M3 S3000). Temperature com-
pensation is called by BL9904(...). A comparative measurement (MMODE=1) is made. Default values are used to position
the reference tool in the laser beam (LOFFS=0, ROFFS=0). A Digilog measurement is executed (RNUM=0). Temperature
drift in both axes must be within the permitted tolerances (LTOL=0.05, RTOL=0.05). Afterwards, the machining of the
parts is continued.

Blum-Novotest GmbH 35 183326_V6D_APPL | 07-2023


Description of the measuring cycles

3.4 BL9902 - Tool length measurement of centric tools


Solid core tools, such as drills, spot facer, ball nose mills, etc., are measured and checked by this cycle. The cycle assumes
a tool with an unknown tool length. In order to re-write the measuring result in the tool memory, a valid tool number
(T) and a valid offset no. (D) must have been chosen.
The most accurate measuring results are obtained when a calibration or a TC measurement has compensated the ther-
mal drift of the machine.

Call: BL9902(MMODE,LTOL,ADDLEN,RNUM,RPTL)

Parameter Description Default value


1. MMODE Measuring mode 0 optional
2. LTOL Length tolerance 0,050 mm optional
3. ADDLEN Additive length offset 0.000 mm optional
4. RNUM Number of repeated measurements DIGILOG mode: 0 optional
NT operating mode: 3
5. RPTL Maximum deviation of measured values 0,010 mm optional

Return parameter:
1. The measured tool data are available in the tool memory.
2. Error _B_ERRNO=16
for MMODE=±1 or MMODE=±2 and exceeding length tolerance LTOL.
3. Error _B_ERRNO=19
for MMODE=±1 or MMODE=±2 and exceeding the double length tolerance LTOL.
4. The measured tool length is written into _B_CTOOL[0].

Please note:
If LTOL or RPTL is exceeded, the measurement will be repeated (depending on _B_TNUM). Single or incidental error
sources (coolant drops or chips, etc.) that cause a wrong measuring value are mostly excluded by this strategy. The
measured value is determined again under minimally changed environmental conditions, e.g. cleaning the tool with
compressed air, and the result is either corrected or confirmed.

183326_V6D_APPL | 07-2023 36 Blum-Novotest GmbH


Description of the measuring cycles

Example for a tool length measurement:


T2 M6 ; Load tool T2
D1 ; Set tool offset number
M3 S3000 ; Spindle rpm 3000 rpm
BL9902(0,,0,0,0.01) ; Length measurement
; Unload tool

Process:
The tool is loaded (T2 M6), an offset number selected (D1) and the spindle started (M3 S3000). Tool length measurement
is called by BL9902(..). The measuring cycle executes a search run to determine the tool length (MMODE=0). A Digilog
measurement is executed (RNUM=0). The measured length is written into the tool memory as geometric tool length
(MMODE=0), the additive length offset (ADDLEN=0) is entered as tool length. After this, the tool is unloaded (T0 M6).
The LTOL parameter can be omitted during the call.

Blum-Novotest GmbH 37 183326_V6D_APPL | 07-2023


Description of the measuring cycles

Example for tool length verification (wear measurement):


; Tool change or machining of the parts
BL9902(1,0.05,0,0,0.01) ; Length measurement
; Continue machining of the parts

Process:
Before or after part machining (e.g. with tool T2, offset number D1 and spindle speed M3 S3000) the tool length meas-
urement is called with BL9902(..). The measuring cycle executes a search run to determine the tool length (MMODE=1).
A Digilog measurement is executed (RNUM=0). The tool length from the tool memory is deducted from the measured
length. The length offset (ADDLEN=0) is added to this calculated difference. The result is entered as wear length in the
tool memory (MMODE=1). The error marker is set when the difference exceeds the length tolerance (LTOL=0.05). Then
the tool is unloaded (T0 M6) and machining of the parts is continued.

183326_V6D_APPL | 07-2023 38 Blum-Novotest GmbH


Description of the measuring cycles

Example for a tool length check:


T2 M6 ; Load tool T2
D1 ; Set tool offset number
M3 S3000 ; Spindle rpm 3000 rpm
; Machining of the parts
BL9902(-2,0.05,0,0,0.01) ; Length measurement
; Continue machining of the parts

Process:
The tool is loaded (T2 M6), an offset number selected (D1) and the spindle started (M3 S3000). Tool length measurement
is called by BL9902(...). The tool length entered in the tool memory is used for fast positioning of the tool tip in the laser
beam (MMODE=–2). A Digilog measurement is executed (RNUM=0). The tool length from the tool memory is deducted
from the measured length. The length offset (ADDLEN=0) is added to this calculated difference. The tool memory is not
modified (MMODE=–2). The error marker is set when the difference exceeds the length tolerance (LTOL=0.05). Then
the tool is unloaded (T0 M6) and machining of the parts is continued.

Blum-Novotest GmbH 39 183326_V6D_APPL | 07-2023


Description of the measuring cycles

3.5 BL9902A - Tool length measurement (expanded options)


Tools that are only to be measured for length are measured and tested with this cycle. The cycle assumes a tool with an
unknown tool length. In order to re-write the measuring result in the tool memory, a valid tool number (T) and a valid
offset no. (D) must have been chosen.
The most accurate measuring results are obtained when a calibration or a TC measurement has compensated the ther-
mal drift of the machine.

Call: BL9902A(MMODE,LTOL,ADDLEN,RNUM,RPTL,ROFFS,TANGLE)

Parameter Description Default value


1. MMODE Measuring mode 0 optional
2. LTOL Length tolerance 0,050 mm optional
3. ADDLEN Additive length offset 0.000 mm optional
4. RNUM Number of repeated measurements DIGILOG operating mode: 0,-1 optional
operating mode NT: 3
5. RPTL Maximum deviation of measured values 0,010 mm optional
6. ROFFS Radial measuring position for length measure- 0.000 mm optional
ment
7. TANGLE Angle (for countersink) 0,000° optional

Return parameter:
1. The measured tool data are available in the tool memory.
2. Error _B_ERRNO=16
for MMODE=±1 or MMODE=±2 and exceeding length tolerance LTOL.
3. Error _B_ERRNO=19
for MMODE=±1 or MMODE=±2 and exceeding the double length tolerance LTOL.
4. The measured tool length is written into _B_CTOOL[0].

Please note:
If LTOL or RPTL is exceeded, the measurement will be repeated (depending on _B_TNUM). Single or incidental error
sources (coolant drops or chips, etc.) that cause a wrong measuring value are mostly excluded by this strategy. The
measured value is determined again under minimally changed environmental conditions, e.g. cleaning the tool with
compressed air, and the result is either corrected or confirmed.
The length of a countersink or an NC centre drill is measured at a radially offset position (ROFFS). The theoretical tip is
calculated and entered in the tool memory due to the ROFFS and TANGLE parameters.
When TANGLE = 0, the length measured in the ROFFS position is entered in the tool memory.

183326_V6D_APPL | 07-2023 40 Blum-Novotest GmbH


Description of the measuring cycles

Example of measuring the tool length of a countersink:


T2 M6 Load tool T2
D1 Set tool offset number
M3 S3000 Spindle rpm = 3000 rpm
BL9902A(0,,0,0,0.01,3,90) Length measurement
T0 M6 Unload tool

Process:
The tool is loaded (T2 M6), an offset number selected (D1) and the spindle started (M3 S3000). Tool length measurement
is called by BL9902A(...). The measuring cycle executes a search run to determine the tool length (MMODE=0). The
measuring position is 3 mm outside the centre (ROFFS+3). A Digilog measurement is executed (RNUM=0). The measured
length is corrected by 3 mm (ROFFS=3, TANGLE+90) written into the tool memory as geometric tool length (MMODE=0),
the additive length compensation (ADDLEN=0) is entered as wear length. After this, the tool is unloaded (T0 M6). The
LTOL parameter can be omitted during the call.

Blum-Novotest GmbH 41 183326_V6D_APPL | 07-2023


Description of the measuring cycles

Example for a tool length measurement:


T2 M6 Load tool T2
D1 Set tool offset number
M3 S3000 Spindle rpm = 3000 rpm
BL9902A(0,,0,0,0.01,0,0) Length measurement
T0 M6 Unload tool

Process:
The tool is loaded (T2 M6), an offset number selected (D1) and the spindle started (M3 S3000). Tool length measurement
is called by BL9902A(...). The measuring cycle executes a search run to determine the tool length (MMODE=0). A Digilog
measurement is executed (RNUM=0). The measured length is written into the tool memory as geometric tool length
(MMODE=0), the additive length compensation (ADDLEN=0) is entered as wear length. After this, the tool is unloaded
(T0 M6). The LTOL, ROFFS and TANGLE parameters may be dispensed with when calling.

183326_V6D_APPL | 07-2023 42 Blum-Novotest GmbH


Description of the measuring cycles

Example for tool length verification (wear measurement):


Tool change or machining of the parts
BL9902A(1,0.05,0,0,0.01,0,0) Length measurement
Continue machining of the parts

Process:
Before or after part machining (e.g. with tool T2, offset number D1 and spindle speed M3 S3000) the tool length meas-
urement is called with BL9902A(...). The measuring cycle executes a search run to determine the tool length
(MMODE=1). A Digilog measurement is executed (RNUM=0). The tool length from the tool memory is deducted from
the measured length. The length offset (ADDLEN=0) is added to this calculated difference. The result is entered as wear
length in the tool memory (MMODE=1). The error marker is set when the difference exceeds the length tolerance
(LTOL=0.05). Afterwards, the machining of the parts is continued. Parameters ROFFS and TANGLE may be left away
when calling.

Blum-Novotest GmbH 43 183326_V6D_APPL | 07-2023


Description of the measuring cycles

Example for a tool length check:


T2 M6 Load tool T2
D1 Set tool offset number
M3 S3000 Spindle rpm = 3000 rpm
Machining of the parts
BL9902A(-2,0.05,0,0,0.01,0,0) Length measurement
Continue machining of the parts

Process:
The tool is loaded (T2 M6), an offset number selected (D1) and the spindle started (M3 S3000). The tool length meas-
urement is called by BL9902A(...). The tool length entered in the tool memory is used for fast positioning of the tool tip
in the laser beam (MMODE=–2). A Digilog measurement is executed (RNUM=0). The tool length from the tool memory
is deducted from the measured length. The length offset (ADDLEN=0) is added to this calculated difference. The tool
memory is not modified (MMODE=–2). The error marker is set when the difference exceeds the length tolerance
(LTOL=0.05). Afterwards, the machining of the parts is continued. Parameters ROFFS and TANGLE may be left away
when calling.

183326_V6D_APPL | 07-2023 44 Blum-Novotest GmbH


Description of the measuring cycles

3.6 BL9903 - Tool setting in length and radius with run-out monitoring
Tools without a solid core (e.g. end mills, face mills, T-slot mills, disk milling cutters, ...) are checked and measured with
this cycle. The cycle assumes a tool with unknown tool data. The measuring position (LOFFS, ROFFS) must be specified
when calling. In order to re-write the measuring result in the tool memory, a valid tool number (T) and a valid offset no.
(D) must have been chosen.
The most accurate measuring results are obtained when a calibration or a TC measurement has compensated the ther-
mal drift of the machine.

NOTE
If a corner radius is entered in the tool memory and if the measuring positions LOFFS or ROFFS are selected so that
they are in the area of the corner radius (LOFFS < corner radius or (R - corner radius) < ROFFS < R), the correction
values are calculated. Using these correction values, the measuring cycle automatically determines the tool radius
and length as if they had been measured exactly with LOFFS = corner radius or 0 ≤ ROFFS ≤ (R - corner radius).

Call: BL9903(MMODE,MTYPE,SPECIAL,LOFFS,ROFFS,LTOL,RTOL,CUT,RBREAK,
ADDLEN,ADDRAD,RNUM,RPTL)

Parameter Description Default value


1. MMODE Measuring mode 0 optional
2. MTYPE Measuring scope 0 optional
3. SPECIAL Special function -1 optional
4. LOFFS Axial measuring position for radius measurement ± 0.5 mm optional
5. ROFFS Radial measuring position for length measurement 0 optional
6. LTOL Length tolerance 0,050 mm optional
7. RTOL Radius tolerance 0,050 mm optional
8. CUT Number of cutting edges 0 optional
9. RBREAK Admissible run-out tolerance 0,050 mm optional
10 ADDLEN Additive length offset 0.000 mm optional
11. ADDRAD Additive radius offset 0.000 mm optional
12. RNUM Number of repeated measurements DIGILOG operating mode: 0, -1 optional
operating mode NT: 3
13. RPTL Maximum deviation of measured values 0,010 mm optional

Return parameter:
1. The tool data are available in the tool memory.
2. Error _B_ERRNO=16
for MMODE=±1 or ±2 and exceeding length tolerance LTOL or radius tolerance RTOL.
3. Error marker _B_ERRNO=19
for MMODE=±1 or ±2 and exceeding the double length tolerance LTOL or double radius tolerance RTOL.
4. Error marker _B_ERRNO=15
if run-out tolerance RBREAK is exceeded.
5. Error marker _B_ERRNO=13
if the calculated control RPM exceeds the actual spindle RPM. Spindle overspeed is prevented to protect tool and
machine from damage.
6. The measured tool length is written into _B_CTOOL[0], the measured tool radius into _B_CTOOL[1] . At radius
measurement on both sides the measured tool radius of the second side is written into _B_CTOOL[2].
7. At RNUM=-1 and CUT>1, depending on the measuring scope, the shortest cutting edge is also measured and the
difference to the longest cutting edge is entered into _B_MPV[0] (length) or _B_MPV[1] (radius). The maximum
values are available in the tool memory and in _B_CTOOL[x].
This method replaces the measurement of the shortest cutting edge with CUT<-1.
8. For a Digilog measurement (call parameters RNUM=0 or RNUM=-1), the recognised number of cutting edges is
entered in _B_MPV[2] (length) and _B_MPV[3] (radius). A negative value indicates that the recognised number
does not match call parameter CUT.

Blum-Novotest GmbH 45 183326_V6D_APPL | 07-2023


Description of the measuring cycles

Please note:
1. When exceeding LTOL, RTOL or RPTL, the measurement will be repeated (depending on _B_TNUM). Single or inci-
dental error sources (coolant drops or chips, etc.) that cause a wrong measuring value are mostly excluded by this
strategy. The measured value is determined again under minimally changed environmental conditions, e.g. cleaning
the tool with compressed air, and the result is either corrected or confirmed.
2. With SPECIAL=+1/+2 the tool length has to be pre-set in the tool memory (±1.8 mm or _B_RET[1]), otherwise there
is the risk of collision!
3. At CUT=0 no single cutting edge monitoring is carried out.
4. At MTYPE=-1, -2, -3, the tool spindle has to be orientated.

183326_V6D_APPL | 07-2023 46 Blum-Novotest GmbH


Description of the measuring cycles

Example for the measuring of an end mill:


T3 M6 ; Load tool T3
D1 ; Set tool offset number
M3 S3000 ; Spindle rpm 3000 rpm
BL9903(0,0,-1,5.0,4.5,,,4,0.1,0,0,0,0.01) ; Tool setting
T0 M6 ; Unload tool

Process:
The tool is loaded (T3 M6), an offset number selected (D1) and the spindle started (M3 S3000). Tool setting is called by
BL9903(..). The measuring cycle executes a search run to determine the tool length (MMODE=0). Tool length and radius
are measured (MTYPE=0). The length is measured on the front edge, the radius measurement is made on one side
(SPECIAL=–1). The measuring positions are defined with ROFFS=4.5 and LOFFS=5. A Digilog measurement is executed
(RNUM=0). The cutting edges are checked to see if they are within run-out tolerance (CUT=4, RBREAK=0.1). The meas-
ured values for length and radius are written as geometric tool data in the tool memory (MMODE=0). The additive
length and radius offset (ADDLEN=0, ADDRAD=0) are entered in the wear parameters. After this, the tool is unloaded
(T0 M6). Parameters LTOL and RTOL may be left away when calling.

Blum-Novotest GmbH 47 183326_V6D_APPL | 07-2023


Description of the measuring cycles

Example for the measurement of a disk milling cutter:


T3 M6 ; Load tool T3
D1 ; Set tool offset number
M3 S3000 ; Spindle rpm 3000 rpm
BL9903(0,0,1,-1.5,24.5,,,4,0.05,0,0,0,0.01) ; Tool setting
T0 M6 ; Unload tool

Process:
The tool is loaded (T3 M6), an offset number selected (D1) and the spindle started (M3 S3000). Tool setting is called by
BL9903(...). The measuring cycle executes a search run to determine the tool length (MMODE=0). Tool length and radius
are measured (MTYPE=0). The length is measured at the rear edge, the radius measurement is made on one side
(SPECIAL=1). The measuring positions are defined with ROFFS=24.5 and LOFFS=-1.5. A Digilog measurement is executed
(RNUM=0). The cutting edges are checked to see if they are within run-out tolerance (CUT=4, RBREAK=0.05). The meas-
ured values for length and radius are written as geometric tool data in the tool memory (MMODE=0). The additive
length and radius offset (ADDLEN=0, ADDRAD=0) are entered in the wear parameters. After this, the tool is unloaded
(T0 M6). Parameters LTOL and RTOL may be left away when calling.

NOTE
Risk of collision due to false data possible.
 With SPECIAL=+1/+2 the tool length has to be pre-set in the tool memory (±1.8 mm or _B_RET[1]), otherwise
there is the risk of collision!

183326_V6D_APPL | 07-2023 48 Blum-Novotest GmbH


Description of the measuring cycles

Examples to determine the measuring positions for different tool types:

L LOFFS
L LOFFS L LOFFS
ROFFS
L R R2 ROFFS R2 ROFFS
R R
ROFFS = 0 ROFFS = R – 0.3 ROFFS = R - CRAD – 0.3 ROFFS = 0
LOFFS = CRAD + 0.3 LOFFS = CRAD + 0.3

R2 R2
L LOFFS
L a L LOFFS
LOFFS L
ROFFS
ROFFS ROFFS R
R R
ROFFS = R - CRAD – 0.3 ROFFS = R – 0.707a – 0.3 ROFFS = R - CRAD – 0.3 ROFFS = 0 … 0.1
LOFFS = CRAD LOFFS 0.707a LOFFS = - (CRAD + 0.3)

Reasons for off-centre measuring position during the length measurement:

Correct! Wrong!
1. Frontal shadowing profile of the tool cutting edge 1. Lateral shadowing profile of the tool cutting edge
2. Contact of the cutting edge at the focus point 2. Contact outside focus point
3. Dwell time in the beam t2-t1 is extended, the elec- 3. Dwell time in the beam t2-t1 is very short, the elec-
tronics can safely follow the signal chart. tronics can follow the signal chart to a limited extent.

Blum-Novotest GmbH 49 183326_V6D_APPL | 07-2023


Description of the measuring cycles

3.7 BL9906 - Measurement of tool length, -radius and corner radius


With this cycle tools with a corner radius (e.g. ball end mill, torus mill, concave shaped mill, ...) can be measured and
controlled. The cycle assumes a tool with roughly defined tool data. If an unknown tool should be measured the meas-
uring position (ROFFS) and the position of the circle centre (CCL,CCR) have to be set in the program call. In order to re-
write the measuring result in the tool memory, a valid tool number (T) and a valid offset no. (D) must have been chosen.
The most accurate measuring results are obtained when a calibration or a TC measurement has compensated the ther-
mal drift of the machine.

Call: BL9906(MMODE,ALPHA,BETA,CNUM,TDIR,CRAD,ROFFS,CCL,CCR,LTOL,RTOL,
ADDLEN,ADDRAD,RNUM,RPTL)

Parameter Description Default value


1. MMODE Measuring mode 0 optional
2. ALPHA Start angle to tool symmetric axis 5° optional
3. BETA Target angle to tool symmetric axis 90° optional
4. CNUM Number of measuring points (3..20) 3 optional
5. TDIR Tool nose position 7 optional
6. CRAD Tool corner radius no standard compul-
sory
7. ROFFS Radial measuring position for length measure- 0 optional
ment
8. CCL Length offset to centre of circle starting from tool 0 optional
length
9. CCR Radial offset from centre of circle to tool axis 0 optional
10. LTOL Length tolerance 0,050 mm optional
11. RTOL Radius tolerance 0,050 mm optional
12 ADDLEN Additive length offset 0.000 mm optional
13. ADDRAD Additive radius offset 0.000 mm optional
14. RNUM Number of repeated measurements DIGILOG operating mode: 0 optional
NT operating mode: 3
15. RPTL Maximum deviation of measured values 0,010 mm optional

Return parameter:
1. The tool data are available in the tool memory.
2. Error _B_ERRNO=16
for MMODE=±1 or ±2 and exceeding length tolerance LTOL or radius tolerance RTOL.
3. Error _B_ERRNO=19
for MMODE=±1 or ±2 and exceeding the double length tolerance LTOL or double radius tolerance RTOL.
4. The measured position of the circle point is written into _B_CTOOL[0] (length axis) and _B_CTOOL[1] (radius axis).
The measured tool corner radius is written into _B_CTOOL[2].

Please note:
1. At least 3 measuring values are needed to calculate the circle parameter from the measured values.
2. The measuring direction depends on the angle position of the measuring point. In the angle areas 0 ... 45°,
135 ... 225° and 315 ... 360° the measurements are measured with the length axis, otherwise with the radius axis.
3. ALPHA = 0 / BETA = 0: From the parameter TDIR suitable values for ALPHA and BETA are set (90° segment).

183326_V6D_APPL | 07-2023 50 Blum-Novotest GmbH


Description of the measuring cycles

Influence of the cutting edge geometry on the possible tool nose positions (call parameter TDIR):

Tool nose positions on convex radius shape: Tool nose positions on concave radius shape:
0° ≤ ALPHA, BETA ≤ 180°, CRAD > 0 180° ≤ ALPHA, BETA ≤ 360°, CRAD < 0

Influence of defective tools and wrong parameters on the measured corner radius (_B_CTOOL[2])

R R r R2 R2
L L
r R2
r
r R2

_B_CTOOL[2] ≅ r _B_CTOOL[2] > r _B_CTOOL[2] ≅ r _B_CTOOL[2] > r

α
R2
r
R2
r

_B_CTOOL[2] ≅ r _B_CTOOL[2] > r


Eccentric tool clamping: Inclined tool clamping:
Tool axis describes a circular cylinder Tool axis describes a circular cone

Blum-Novotest GmbH 51 183326_V6D_APPL | 07-2023


Description of the measuring cycles

Influence of cutting edge geometry on the corner radius CRAD, start angle ALPHA, target angle BETA

180°

R2
180° 90°
R2

270°
180°

225° 135°

R2 R2
R2 negativ neg pos R2 positiv
270° 90°

R2 negativ R2
neg
R2
pos R2 positiv
45°
315°
360°/0°

270°
R2

360° R2 90°

183326_V6D_APPL | 07-2023 52 Blum-Novotest GmbH


Description of the measuring cycles

Example for the measuring of a torus mill:


T6 M6 ; Load tool T6
D1 ; Set tool offset number
M3 S3000 ; Spindle rpm 3000 rpm
BL9906(0,0,120,7,9,6,8.5,6,9,0,0,0,0,0,0.01) ; Tool setting
T0 M6 ; Unload tool

Process:
The tool is loaded (T6 M6), an offset number selected (D1) and the spindle started (M3 S3000). Tool setting is called by
BL9906(...). The measuring cycle executes a search run to determine the tool length (MMODE=0). At first the length is
measured beside the tool axis (ROFFS=8.5) and then the corner radius is determined. The circle centre is pre-defined
with CCL=6 and CCR=9, the corner radius with CRAD=6 (convex shape). The measuring positions are calculated by the
cycle with the start angle (ALPHA=0), target angle (BETA=120) and the number of measuring points (CNUM=7). The first
measuring point is determined by a measuring block in axial direction and is 9mm (CCR) away from the tool axis at start
angle 0° (ALPHA). With angle steps of 20° the L/R-coordinates of seven (CNUM) measuring points are determined one
after another on the circular tool shape. A Digilog measurement is executed (RNUM=0). The last measuring point is
determined by a measuring block in radial direction and is above the maximum tool radius at target angle 120° (BETA).
The circle radius and centre are calculated by a circle regression using the measured values. The values of the circle
centre (TDIR=9) are taken for length and radius and are written as geometric tool data (length and radius) in the tool
memory (MMODE=0). The additive length and radius offset (ADDLEN=0, ADDRAD=0) are entered in the wear parame-
ters. After this, the tool is unloaded (T0 M6). Parameters LTOL and RTOL may be left away when calling.

Blum-Novotest GmbH 53 183326_V6D_APPL | 07-2023


Description of the measuring cycles

Example for checking a concave shaped mill:


T6 M6 ; Load tool T6
D1 ; Set tool offset number
M3 S3000 ; Spindle rpm 3000 rpm
BL9906(1,180,270,7,1,-6,2.5,0,9,0.05,0.05,0,0,0,0.01) ; Tool setting
T0 M6 ; Unload tool

Process:
The tool is loaded (T6 M6), an offset number selected (D1) and the spindle started (M3 S3000). Tool setting is called by
BL9906(...). The measuring cycle executes a search run to determine the tool length (MMODE=1). At first the length is
measured beside the tool axis (ROFFS=2.5) and then the corner radius is determined. The corner radius (concave shape)
is pre-defined with CRAD=-6. The measuring positions are calculated by the cycle with the start angle (ALPHA=180),
target angle (BETA=270) and the number of measuring points (CNUM=7). The first measuring point is determined by a
measuring block in axial direction and is 9mm (CCR) away from the tool axis at start angle 180° (ALPHA). With angle
steps of 15° the L/R-coordinates of seven (CNUM) measuring points are determined one after another on the circular
tool shape. A Digilog measurement is executed (RNUM=0). The last measuring point is determined with a measuring
block in radial direction. The circle radius and centre are calculated by a circle regression using the measured values.
The result of circle centre minus radius is the length and the radius is the result of circle centre minus radius (TDIR=1).
The tool length from the tool memory is deducted from the measured length and the tool radius from the tool memory
is deducted from the measured radius. These calculated differences will be added to the length or radius offset
(ADDLEN=0, ADDRAD=0). The result is written into the tool memory as length or radius wear (MMODE=1). The error
marker is set if the difference exceeds the length e.g. or radius tolerance (LTOL=0.05, RTOL=0.05). After this, the tool is
unloaded (T0 M6).

183326_V6D_APPL | 07-2023 54 Blum-Novotest GmbH


Description of the measuring cycles

3.8 BL9905 - Single cutting edge monitoring on a straight cutting edge geometry
Critical tools are checked before or after machining for edge breakage or wear to guarantee flawless part production.
For checking purposes, the rotating tool is driven through the laser beam to see if all the cutting edge diameters are
within run-out tolerance.
This cycle is suitable to check end mills and taps, facing heads, etc.. This cycle starts from a tool with known geometric
tool data. In order to read the tool data, a valid tool number (T) and a valid offset no. (D) must be selected.

Call: BL9905(CUT,RBREAK,LOFFS,DTG,RNUM,FEED)

Parameter Description Default value


1. CUT Number of cutting edges 1 optional
2. RBREAK Admissible run-out tolerance 0,050 mm optional
3. LOFFS Axial offset of starting position 0,500 mm optional
4. DTG Scan path or thread pitch 0 optional
5. RNUM Number of measuring points for thread mills 0 optional
6. FEED Positioning feed rate during checking 100 mm/min optional

Return parameter:
1. Error marker _B_ERRNO=15
if run-out tolerance RBREAK is exceeded.
2. Error marker _B_ERRNO=13
Only in NT operating mode: if the calculated control rpm exceeds the current spindle rpm. Spindle overspeed is
prevented to protect tool and machine from damage.

Please note:
A saw blade can be checked for segment cut-out. A measuring block is carried out, hereby the laser beam must contin-
uously be interrupted. The parameters must be set as follows:

CUT=-1 a measuring block is carried out instead of a single cutting edge monitoring.
RBREAK The selected value must be greater than the tooth depth.
LOFFS The start position for the measuring block must be within the saw blade.
DTG The target position for the measuring block must be within the saw blade.

Blum-Novotest GmbH 55 183326_V6D_APPL | 07-2023


Description of the measuring cycles

Limit value RBREAK


The tool cutting edge breakage monitoring detects the immersion of each single tool cutting edge into the laser beam
within a time period specified by the test speed.
To ensure an error-free function, the periodical interruption of the light beam by the symmetrically positioned tool
cutting edges and the fully released light beam between these shading intervals (periodical light change) are required.
Therefore, the value for the radial breakage tolerance RBREAK must be restricted to the value of the chord height h of
two sequential tool cutting edges.

light
0 < RBREAK < h
periodical light change, h R
R
detection area for each
single cutting edge 2 1
3750
3 6 S=
dark CUT

4 5

RBREAK ≤ 0: The tool does not touch the laser beam (light)
RBREAK ≥ h: The tool interrupts the laser beam completely/constantly (dark)

The value of RBREAK must not exceed a certain limit value that depends on the number of cutting edges and the tool
radius.
Otherwise, the trigger condition (light change bright-dark-bright) is no longer met and the tool will be marked as de-
fective.

CUT Factor Limit RBREAK


CUT = 3 0.5 RBREAK < 0.500 * Radius
CUT = 4 0292 RBREAK < 0.292 * Radius
CUT = 5 0191 RBREAK < 0.191 * Radius
CUT = 6 0134 RBREAK < 0.134 * Radius
CUT = 7 0099 RBREAK < 0.099 * Radius
CUT = 8 0076 RBREAK < 0.076 * Radius

Example (see table):


At an end mill with CUT = 6 cutting edges and a tool radius of R = 5 mm, RBREAK must not exceed the limit value
(Limit) of 0.134 * radius = 0.670 mm.
The following values are permitted for this tool: RBREAK = 0.005 … 0.665 mm

183326_V6D_APPL | 07-2023 56 Blum-Novotest GmbH


Description of the measuring cycles

Example for single cutting edge monitoring of an end mill:


T5 M6 ; Load tool T5
D1 ; Set tool offset number
M3 S8000 ; Max. spindle rpm 8000 rpm
; Machining of the parts
BL9905(3,0.05,0.5,6,0,100) ; Single cutting edge monitoring
; Continue machining of the parts

Process:
The tool is loaded (T5 M6), an offset number selected (D1) and the spindle started (M3 S8000). The single cutting edge
monitoring is called by BL9905(...). The spindle rpm is adapted to the number of cutting edges of the tool (CUT=3), but
it cannot be higher than the actual spindle rpm. The geometry data are read in the tool memory and are used for posi-
tioning. The start position is axial at (tool length – LOFFS) and radial at (tool radius – RBREAK). The movement in the
length axis is performed at DTG=6 with FEED=100. During this travel path, the cutting edges are checked to ensure they
are within breakage tolerance (RBREAK= 0.05). The error marker is set when a cutting edge breakage is detected. After-
wards, the machining of the parts is continued.

Blum-Novotest GmbH 57 183326_V6D_APPL | 07-2023


Description of the measuring cycles

Example for single cutting edge monitoring of a thread mill:


T5 M6 ; Load tool T5
D1 ; Set tool offset number
M3 S8000 ; Max. spindle rpm 8000 rpm
; Machining of the parts
BL9905(4,0.1,0.5,1.5,5,500) ; Single cutting edge monitoring
; Continue machining of the parts

Process:
The tool is loaded (T5 M6), an offset number selected (D1) and the spindle started (M3 S8000). The single cutting edge
monitoring is called by BL9905(...). The spindle rpm is adapted to the number of cutting edges of the tool (CUT=4), but
it cannot be higher than the actual spindle rpm. The geometry data are read in the tool memory and are used for posi-
tioning. The axial position of the front tooth row is located at (tool length–LOFFS), the radial position at (tool radius–
RBREAK). The distance between the tooth rows (thread pitch) is DTG=1.5. Positioning between the tooth rows is made
at FEED=500. In each tooth row (number RNUM=5) the cutting edges are checked to be within breakage tolerance
(RBREAK=0.1). The error marker is set when a cutting edge breakage is detected. Afterwards, the machining of the parts
is continued.

183326_V6D_APPL | 07-2023 58 Blum-Novotest GmbH


Description of the measuring cycles

Example for the check of a saw blade:


T5 M6 ; Load tool T5
D1 ; Set tool offset number
M3 S8000 ; Max. spindle rpm 8000 rpm
; Machining of the parts
BL9905(-1,0.1,-0.5,1,0,500) ; Monitoring the saw blade
; Continue machining of the parts

Process:
The tool is loaded (T5 M6), an offset number selected (D1) and the spindle started (M3 S8000). The check is called with
BL9905(...). The spindle speed is not changed (CUT=-1). The geometry data are read in the tool memory and are used
for positioning. The start position is axial at (tool length – LOFFS) and radial at (tool radius – RBREAK). In the length axis,
a measuring block is carried out with DTG=1 and FEED=100. The error marker is set when the target position is not
reached, i.e. break of a saw blade is detected. Afterwards, the machining of the parts is continued.

Blum-Novotest GmbH 59 183326_V6D_APPL | 07-2023


Description of the measuring cycles

3.9 BL9985 - Fast single cutting edge monitoring on a straight cutting edge geometry
Critical tools are checked before or after machining for edge breakage or wear to guarantee faultless part production.
For checking purposes, the rotating tool is driven through the laser beam to see if all the cutting edge diameters are
within run-out tolerance.
This cycle is suitable for checking end mills and thread mills, facing mills, etc. The cycle assumes a tool with known tool
geometry data. In order to read the tool data, a valid tool number (T) and a valid offset no. (D) must be selected.

Call: BL9985(CUT,RBREAK,LOFFS,DTG,RNUM,FEED,SAFEDIST)

Parameter Description Default value


1. CUT Number of cutting edges 1 optional
2. RBREAK Admissible run-out tolerance 0,050 mm optional
3. LOFFS Axial offset of starting position 0,500 mm optional
4. DTG Scan path or thread pitch 0 optional
5. RNUM Number of measuring points for thread mills 0 optional
6. FEED Positioning feed rate during checking 100 mm/min optional
7. SAFEDIST Interim position (tool tip in front of laser beam) _B_REPOS[0] optional

Return parameter:
1. Error marker _B_ERRNO=15
if run-out tolerance RBREAK is exceeded.
2. Error marker _B_ERRNO=13
Only in NT operating mode: if the calculated control rpm exceeds the current spindle rpm. Spindle overspeed is
prevented to protect tool and machine from damage.

NOTE
Risk of collision
The positioning of the tool to the interim position at the beginning of the cycle is executed with all axes at the same
time (risk of collision!).
 Possibly, a safe positioning must be approached first.

NOTE
Risk of collision due to false data possible.
Ensure programming of a suitable interim position at machines with multiple tool spindles. This interim position will
be used when positioning the following spindle. In particular, this concerns compact designs.

The parameter SAFEDIST gives the position of the tool tip in front/above the laser beam (interim position). If SAFEDIST
is not programmed, it is positioned on retraction level (_B_REPOS[0]).
If there are no interfering contours on the way from the actual position to the laser beam, the start position (SAFEDIST=
– LOFFS-value) can be chosen as interim position.

183326_V6D_APPL | 07-2023 60 Blum-Novotest GmbH


Description of the measuring cycles

Example for fast single cutting edge monitoring of an end mill:


; Machining of the parts
BL9985(3,0.05,0.5,5,0,100,30) ; Single cutting edge monitoring
; Continue machining of the parts

Process:
Fast single cutting edge monitoring is called by BL9985.... The tool data are read from the tool memory and used for
positioning. All axes move directly to the start position. At the starting position the tool tip stands axially 30mm above
the laser beam (SAFEDIST=30). The error marker is set when a cutting edge breakage is detected. Afterwards, the ma-
chining of the parts is continued. See chapter 0 for a detailed description of the other call parameters.

Blum-Novotest GmbH 61 183326_V6D_APPL | 07-2023


Description of the measuring cycles

3.10 BL9907 - Single cutting edge monitoring on a rounded cutting edge geometry
Critical tools are checked before or after machining for edge breakage or wear to guarantee faultless part production.
For control the rotating tool is driven through the laser beam to see if all the cutting edge diameters along the tool
shape are within run-out tolerance. The contour check is only possible with axis-parallel laser beam alignment and can
only be performed with the required precision on a focused short-distance laser measuring system. Moreover, the cal-
ibration must be made using the reference tool as the exact laser beam centre is taken into account in both axes to
calculate the path.
This cycle is suitable for contour checks on ball nose mills and torus mills, inserts with corner radius, etc. This cycle starts
from a tool with known geometric tool data. In order to read the tool data, a valid tool number (T) and a valid offset no.
(D) must be selected.

Call: BL9907(CUT,RBREAK,ROFFS,ALPHA,CRAD,BETA,DTG,FEED,TDIR)
Parameter Description Default value
1. CUT Number of cutting edges 1 optional
2. RBREAK Admissible run-out tolerance 0,050 mm optional
3. ROFFS Radial offset for the start of the corner radius 0.000 mm optional
4. ALPHA Start angle to tool symmetric axis 25° optional
5. CRAD Tool corner radius no standard compulsory
6. BETA Target angle to tool symmetric axis 90° optional
7. DTG Scan path on shaft/cone 0 mm optional
8. FEED Feed rate during checking 100 mm/min optional
9. TDIR Tool nose position 0 optional

Return parameter:
1. Error _B_ERRNO=15
in case of excess run-out tolerance RBREAK
2. Error marker _B_ERRNO=13
Only in NT operating mode: if the calculated control rpm exceeds the current spindle rpm. Spindle overspeed is
prevented to protect tool and machine from damage.

Please note:
1. If TDIR is left or set to zero the tool length up to the tip has to be entered in the tool memory. A radius value in the
tool memory is not considered with TDIR=0.
2. The parameter TDIR / tool nose position is described in detail in chapter 3.1 .

183326_V6D_APPL | 07-2023 62 Blum-Novotest GmbH


Description of the measuring cycles

Influence of cutting edge geometry on the corner radius CRAD, start angle ALPHA, target angle BETA

180°

R2
180° 90°
R2

270°
180°

225° 135°

R2 R2
R2 negativ neg pos R2 positiv
270° 90°

R2 negativ R2
neg
R2
pos R2 positiv
45°
315°
360°/0°

270°
R2

360° R2 90°

Blum-Novotest GmbH 63 183326_V6D_APPL | 07-2023


Description of the measuring cycles

Example for contour monitoring of a ball nose mill:


T7 M6 ; Load tool T7
D1 ; Set tool offset number
M3 S8000 ; Max. spindle rpm 8000 rpm
; Machining of the parts
BL9907(3,0.05.0,25.4,90,3,100.0) ; Form control
; Continue machining of the parts

Process:
The tool is loaded (T7 M6), an offset number selected (D1) and the spindle started (M3 S8000). The contour monitoring
is called by BL9907(..). Spindle rpm is adapted to the number of cutting edges (CUT), but it cannot be higher than the
actual spindle rpm. The geometry data are read in the tool memory and are used for positioning. The starting position
is calculated by means of the tool data and the call parameters (RBREAK, ROFFS, ALPHA, CRAD and TDIR). The final
position of the circular arc is calculated from call parameters (RBREAK, BETA, CRAD, and TDIR), the final position of the
straight line depends on the call parameters (BETA, RBREAK, DTG). The feed rate from the start to the end position is
FEED. During this traverse path the cutting edges are checked to be within breakage tolerance (RBREAK). The error
marker is set when a cutting edge breakage is detected. Afterwards, the machining of the parts is continued.

183326_V6D_APPL | 07-2023 64 Blum-Novotest GmbH


Description of the measuring cycles

3.11 BL9908 - Tool breakage detection


Critical tools are subject to breakage detection before or after machining to guarantee faultless part production. For
control the rotating tool is driven through the laser beam to measure the tool length and to check whether the tool is
within length tolerance.
This cycle is suitable for shaft breakage detection of drills, taps, gravers, etc. The cycle is proceeding from a tool with a
known tool length. In order to read the tool data, a valid tool number (T) and a valid offset no. (D) must be selected.

Call: BL9908(ROFFS,MDIR,LBREAK,CORLEN)

Parameter Description Default value


1. ROFFS Radial checking position 0.000 mm optional
2. MDIR Measuring direction 1 optional
3. LBREAK Admissible length tolerance 1 mm optional
4 CORLEN Additive length offset 0.000 mm optional

Return parameter:
1. Error _B_ERRNO=19
in case of exceeded length tolerance LBREAK
2. The detected tool length is written into _B_CTOOL[0].

Blum-Novotest GmbH 65 183326_V6D_APPL | 07-2023


Description of the measuring cycles

Example for tool breakage detection of a drill:


T8 M6 ; Load tool T8
D1 ; Set tool offset number
M3 S3000 ; Spindle rpm 3000 rpm
; Machining of the parts
BL9908(0,1,1.0) ; Breakage detection
; Continue machining of the parts

Process:
The tool is loaded (T8 M6), an offset number selected (D1) and the spindle started (M3 S3000). The tool breakage de-
tection is called by BL9908(..). The tool length is read in the tool memory and used for positioning. At the starting posi-
tion the tool tip stands axially 5*LBREAK in the laser beam with a radial offset of ROFFS=0 from the centre. The meas-
urement will be executed by "pulling", i.e. dark  light (MDIR=1). The detected tool length including the correction
value (CORLEN=0) must be within the breakage tolerance (LBREAK=1). The error marker is set when a shaft breakage
has been detected. Afterwards, the machining of the parts is continued.

183326_V6D_APPL | 07-2023 66 Blum-Novotest GmbH


Description of the measuring cycles

Example for tool breakage detection of an engraving mill:


T8 M6 ; Load tool T8
D1 ; Set tool offset number
M3 S3000 ; Spindle rpm 3000 rpm
; Machining of the parts
BL9908(0,-1,0.1,0) ; Breakage detection
; Continue machining of the parts

Process:
The tool is loaded (T8 M6), an offset number selected (D1) and the spindle started (M3 S3000). The tool breakage de-
tection is called by BL9908(..). The tool length is read in the tool memory and used for positioning. At the starting posi-
tion the tool tip stands axially 5*LBREAK over the laser beam with a radial offset of ROFFS=0 from the centre. The way
of measuring is “pushing”, i.e. Light  dark (MDIR=–1). The detected tool length including the correction value
(CORLEN=0) must be within the breakage tolerance (LBREAK=0.1). The error marker is set when a shaft breakage has
been detected. Afterwards, the machining of the parts is continued.

Blum-Novotest GmbH 67 183326_V6D_APPL | 07-2023


Description of the measuring cycles

Tool breakage detection on a drill

F F

Correct! Wrong!
... ...
MDIR=+1 ; MEASURING DIRECTION MDIR=-1 ; MEASURING DIRECTION
ROFFS=0 ; RADIAL OFFSET ROFFS=0 ; RADIAL OFFSET
CORLEN=0 ; ADD. LENGTH OFFSET CORLEN=0 ; ADD. LENGTH OFFSET
... ...
Wrong measuring direction MDIR

Tool breakage detection of a tap

F F F F

Correct! Correct! Wrong! Wrong!


... ... ... ...
MDIR=+1 MDIR=+1 MDIR=+1 MDIR=+1
ROFFS=0 ROFFS≥0 ROFFS=0 ROFFS>>0
CORLEN=0 CORLEN=0 CORLEN=0 CORLEN=0
... ... ... ...
Wrong measuring position Wrong measuring position
ROFFS ROFFS

183326_V6D_APPL | 07-2023 68 Blum-Novotest GmbH


Description of the measuring cycles

Tool breakage detection on an end mill

F F F F

Correct! Correct! Wrong! Wrong!


... ... ... ...
MDIR=+1 MDIR=+1 MDIR=-1 MDIR=+1
ROFFS=0 ROFFS=0 ROFFS≥0 ROFFS>>0
CORLEN≤0 CORLEN≤0 CORLEN=0 CORLEN=0
... ... ... ...
Wrong measuring direction Wrong measuring position
MDIR ROFFS

Tool breakage detection on an end mill Tool breakage detection of an engraving mill

F F L F
L F
L
L

Correct! Correct! Correct! Wrong!


... ... ... ...
MDIR=+1 MDIR=+1 MDIR=-1 MDIR=+1
ROFFS=0 ROFFS=0 ROFFS=0 ROFFS=0
CORLEN=-∆L CORLEN=-∆L CORLEN=0 CORLEN=0
... ... ... ...
Wrong measuring direction
MDIR

Blum-Novotest GmbH 69 183326_V6D_APPL | 07-2023


Description of the measuring cycles

3.12 BL9988 - Fast tool breakage detection


Critical tools are subject to breakage detection before or after machining to guarantee faultless part production. For
control the rotating tool is driven through the laser beam to measure the tool length and to check whether the tool is
within length tolerance.
This cycle is suitable for shaft breakage detection of drills, taps, gravers, etc. The cycle is proceeding from a tool with a
known tool length. In order to read the tool data, a valid tool number (T) and a valid offset no. (D) must be selected.

Call: BL9988(ROFFS,MDIR,LBREAK,CORLEN,SAFEDIST)
Parameter Description Default value
1. ROFFS Radial checking position 0.000 mm optional
2. MDIR Measuring direction 1 optional
3. LBREAK Admissible length tolerance 1 mm optional
4. CORLEN Additive length offset 0.000 mm optional
5. SAFEDIST Interim position (tool tip in front of laser beam) _B_REPOS[0] optional

Return parameter:
1. Error _B_ERRNO=19
in case of exceeded length tolerance LBREAK
2. The detected tool length is written into _B_CTOOL[0].

NOTE
Risk of collision
The positioning of the tool to the interim position at the beginning of the cycle is executed with all axes at the same
time (risk of collision!).
 Possibly, a safe positioning must be approached first.

NOTE
Risk of collision due to false data possible.
Ensure programming of a suitable interim position at machines with multiple tool spindles. This interim position will
be used when positioning the following spindle. In particular, this concerns compact designs.

1. The parameter SAFEDIST gives the position of the tool tip in front/above the laser beam (interim position). If
SAFEDIST is not programmed, it is positioned on retraction level (_B_REPOS[0]). If there is no obstacle on the way
from the actual position to the laser beam, the start position (SAFEDIST= – 5*LBREAK-value) can be chosen as in-
terim position.
2. The detected tool length is written into _B_CTOOL[0].

183326_V6D_APPL | 07-2023 70 Blum-Novotest GmbH


Description of the measuring cycles

Example for fast tool breakage detection of a drill:


; Machining of the parts
BL9988(0,1,1,0,-5) ; Breakage detection
; Continue machining of the parts

Process:
The fast tool breakage detection is called by BL9988(..). The tool length is read in the tool memory and used for posi-
tioning. All axes move directly to the interim position. The interim position (SAFEDIST) is chosen so that the tool tip axial
5*LBREAK is in the laser beam (time optimised). There is no radial offset of the tool axis. The measurement will be
executed by "pulling", i.e. dark  light (MDIR=1). The detected tool length including the correction value (CORLEN=0)
must be within the breakage tolerance (tool length – LBREAK < detected length < tool length + 2*LBREAK). The error
marker is set when a shaft breakage has been detected. Afterwards, the machining of the parts is continued.

Blum-Novotest GmbH 71 183326_V6D_APPL | 07-2023


Description of the measuring cycles

3.13 Examples of different tool types

Drill bit

Initial measurement Wear measurement Breakage detection


Blum cycle call: Blum cycle call: Blum cycle call:
BL9902(+3,,0,0,0.01) BL9902(-1,0.01,0,0,0.01) BL9908(0,1,0,5,0)

Result: Result: Result:


Tool memory is updated Tool memory is updated Tool memory unchanged
* Measured tool length L * Tool length unchanged * Tool length unchanged
* Wear length = 0 * Wear length is updated * Wear length unchanged
Tool condition Tool condition Tool condition
* no error * no error * no error
* E16 if tolerance exceeded * E16 if tolerance exceeded
* E19 in the case of tool breakage

Tap

Initial measurement Wear measurement Breakage detection


Blum cycle call: Blum cycle call:
BL9902(+3,,0,0,0.01) BL9908(0,1,0.5,ROFFS)

Result: ROFFS Result:


Tool memory is updated Tool memory unchanged
* Measured tool length L * Tool length unchanged
* Wear length = 0 * Wear length unchanged
Tool condition Tool condition
* no error * no error
* E16 if tolerance exceeded
* E19 in the case of tool breakage

183326_V6D_APPL | 07-2023 72 Blum-Novotest GmbH


Description of the measuring cycles

Countersink

Initial measurement Wear measurement Breakage detection


Blum cycle call: Blum cycle call: Blum cycle call:
BL9902A(+3,,0,0,0.01,ROFFS,TANGLE) BL9902A(-1,0.05,0,0,0.01, BL9902A(-2,0.05,0,0,0.01,
ROFFS,TANGLE) ROFFS,TANGLE)

Result: Result: Result:


Tool memory is updated Tool memory is updated Tool memory unchanged
* Calculated tool tip L * Tool length unchanged * Tool length unchanged
* Wear length = 0 * Wear length is updated * Wear length unchanged
Tool condition Tool condition Tool condition
* no error * no error * no error
* E16 if tolerance exceeded * E16 if tolerance exceeded

Step drill

L LOFFS

ROFFS
R

Initial measurement Wear measurement Breakage detection


Blum cycle call: Blum cycle call: Blum cycle call:
BL9903(+3,0,-1,LOFFS,ROFFS,,, BL9903(-1,0,-1,LOFFS,ROFFS, BL9905(CUT,0.1,0.5,0,0,100)
CUT,0.1,0,0,0,0.01) 0.05,0.05,CUT,0.1,0,0,0,0.01)

Result: Result: Result:


Tool memory is updated Tool memory is updated Tool memory unchanged
* Measured tool length L * Tool length unchanged * Tool length unchanged
* Wear length = 0 * Wear length is updated * Wear length unchanged
* Measured tool radius R * Tool radius unchanged * Tool radius unchanged
* Wear radius = 0 * Wear radius is updated * Wear radius unchanged
Tool condition Tool condition Tool condition
* no error * no error * no error
* E15 in the case of cutting edge * E15 in the case of cutting edge * E15 in the case of cutting edge
breakage breakage breakage
* E16 if tolerance exceeded

Blum-Novotest GmbH 73 183326_V6D_APPL | 07-2023


Description of the measuring cycles

End milling cutter/finishing cutter

L LOFFS

R2 ROFFS
R
Initial measurement Wear measurement Breakage detection
Blum cycle call: Blum cycle call: Blum cycle call:
BL9903(+3,0,-1,LOFFS,ROFFS,,, BL9903(-1,0,-1,LOFFS,ROFFS, For R < 5 mm
CUT,0.1,0,0,0,0.01) 0.05,0.05,CUT,0.1,0,0,0,0.01) BL9908(0,1,0,5,0)
LOFFS=CRAD+0.3mm LOFFS=CRAD+0.3mm Alternative for R > 3 mm
ROFFS=R-CRAD-0.3mm ROFFS=R-CRAD-0.3mm BL9905(CUT,0.1,0.5,0,0,100)

Result: Result: Result:


Tool memory is updated Tool memory is updated Tool memory unchanged
* Measured tool length L * Tool length unchanged * Tool length unchanged
* Wear length = 0 * Wear length is updated * Wear length unchanged
* Measured tool radius R * Tool radius unchanged * Tool radius unchanged
* Wear radius = 0 * Wear radius is updated * Wear radius unchanged
Tool condition Tool condition Tool condition
* no error * no error * no error
* E15 in the case of missing cutting * E15 in the case of missing cutting * E15 in the case of missing cutting
edge edge edge
* E16 if tolerance exceeded * E16 if tolerance exceeded
* E19 in the case of tool breakage

183326_V6D_APPL | 07-2023 74 Blum-Novotest GmbH


Description of the measuring cycles

Ballnose mill

L LOFFS

R2 ROFFS
R
Initial measurement Wear measurement Breakage detection
Blum cycle call: Blum cycle call: Blum cycle call:
BL9903(+3,0,-1,LOFFS,ROFFS,,, BL9903(-1,0,-1,LOFFS,ROFFS, For R < 5 mm
CUT,0.1,0,0,0,0.01) 0.05,0.05,CUT,0.1,0.05,0.05,0,0.01) BL9908(0,1,0,5,0)
LOFFS=CRAD+0.3mm LOFFS=CRAD+0.3mm
ROFFS=0 ROFFS=0

Alternative for R > 3 mm Alternative for R > 3 mm Alternative for R > 3 mm


BL9906(+3,0,90,3,3,CRAD,0,CCL,CCR, BL9906(-1,0,90,3,3,CRAD,0,CCL,CCR, BL9907(CUT,0.1,0,30,CRAD,90,0,100,)
0,0,0,0,0,0.01) 0.05,0.05,0,0,0,0.01)
CCL=CRAD CCL=CRAD
CCR=CRAD CCR=CRAD

Result: Result: Result:


Tool memory is updated Tool memory is updated Tool memory unchanged
* Measured tool length L * Tool length unchanged * Tool length unchanged
* Wear length = 0 * Wear length is updated * Wear length unchanged
* Measured tool radius R * Tool radius unchanged * Tool radius unchanged
* Wear radius = 0 * Wear radius is updated * Wear radius unchanged
Tool condition Tool condition Tool condition
* no error * no error * no error
* E15 in the case of missing cutting * E15 in the case of missing cutting * E15 in the case of missing cutting
edge edge edge
* E16 if tolerance exceeded * E16 if tolerance exceeded
* E19 in the case of tool breakage

Blum-Novotest GmbH 75 183326_V6D_APPL | 07-2023


Description of the measuring cycles

Torus mill

R2

L LOFFS

ROFFS
R
Initial measurement Wear measurement Breakage detection
Blum cycle call: Blum cycle call: Blum cycle call:
BL9903(+3,0,-1,LOFFS,ROFFS,,, BL9903(-1,0,-1,LOFFS,ROFFS, BL9905(CUT,0.1,LOFFS,0,0,100)
CUT,0.1,0,0,0,0.01) 0.05,0.05,CUT,0.1,0.05,0.05,0,0.01)
LOFFS=CRAD LOFFS=CRAD
ROFFS=R-CRAD-0.3 ROFFS=R-CRAD-0.3

Alternative for CRAD > 3 mm Alternative for CRAD > 3 mm Alternative for CRAD > 3 mm
BL9906(+3,0,90,3,3,CRAD,ROFFS, BL9906(-1,0,90,3,3,CRAD,ROFFS, BL9907(CUT,0.1,0,0,CRAD,90,0,100,)
CCL,CCR,0,0,0,0,0,0.01) CCL,CCR,0.05,0.05,0,0,0,0.01)
ROFFS=R-CRAD-0.3 ROFFS=R-CRAD-0.3
CCL=CRAD CCL=CRAD
CCR=CRAD CCR=CRAD

Result: Result: Result:


Tool memory is updated Tool memory is updated Tool memory unchanged
* Measured tool length L * Tool length unchanged * Tool length unchanged
* Wear length = 0 * Wear length is updated * Wear length unchanged
* Measured tool radius R * Tool radius unchanged * Tool radius unchanged
* Wear radius = 0 * Wear radius is updated * Wear radius unchanged
Tool condition Tool condition Tool condition
* no error * no error * no error
* E15 in the case of missing cutting * E15 in the case of missing cutting * E15 in the case of missing cutting
edge edge edge
* E16 if tolerance exceeded * E16 if tolerance exceeded

183326_V6D_APPL | 07-2023 76 Blum-Novotest GmbH


Description of the measuring cycles

Corner / Facing mill

a
L
LOFFS
ROFFS
R
Initial measurement Wear measurement Breakage detection
Blum cycle call: Blum cycle call: Blum cycle call:
BL9903(+3,0,-1,LOFFS,ROFFS,,, BL9903(-1,0,-1,LOFFS,ROFFS, BL9907(CUT,0.1,0,45,0.1,90,0,100,)
CUT,0.1,0,0,0,0.01) 0.05,0.05,CUT,0.1,0.05,0.05,0,0.01)
LOFFS=0.707*a LOFFS=0.707*a
ROFFS=R-0.707*a-0.3mm ROFFS=R-0.707*a-0.3mm

Result: Result: Result:


Tool memory is updated Tool memory is updated Tool memory unchanged
* Measured tool length L * Tool length unchanged * Tool length unchanged
* Wear length = 0 * Wear length is updated * Wear length unchanged
* Measured tool radius R * Tool radius unchanged * Tool radius unchanged
* Wear radius = 0 * Wear radius is updated * Wear radius unchanged
Tool condition Tool condition Tool condition
* no error * no error * no error
* E15 in the case of missing cutting * E15 in the case of missing cutting * E15 in the case of missing cutting
edge edge edge
* E16 if tolerance exceeded * E16 if tolerance exceeded

Blum-Novotest GmbH 77 183326_V6D_APPL | 07-2023


Description of the measuring cycles

T-slot mill

R2
L LOFFS

ROFFS
R
Initial measurement Wear measurement Breakage detection
Blum cycle call: Blum cycle call: Blum cycle call:
BL9903(+3,0,+1,LOFFS,ROFFS,,, BL9903(-1,0,+1,LOFFS,ROFFS, For CUT ≤ 20
CUT,0.1,0,0,0,0.01) 0.05,0.05,CUT,0.1,0.05,0.05,0,0.01) BL9905(CUT,0.1,LOFFS,0,DTG,100)
LOFFS=-CRAD-0.3 (LOFFS<0!) LOFFS=-CRAD-0.3 (LOFFS<0!) For CUT > 10
ROFFS=R-CRAD-0.3mm ROFFS=R-CRAD-0.3mm BL9905(-1,0.1,LOFFS,0,DTG,100)
LOFFS=-DTG-CRAD (LOFFS<0!)
DTG ≥ 0

Result: Result: Result:


Tool memory is updated Tool memory is updated Tool memory unchanged
* Measured tool length L * Tool length unchanged * Tool length unchanged
* Wear length = 0 * Wear length is updated * Wear length unchanged
* Measured tool radius R * Tool radius unchanged * Tool radius unchanged
* Wear radius = 0 * Wear radius is updated * Wear radius unchanged
Tool condition Tool condition Tool condition
* no error * no error * no error
* E15 in the case of missing cutting * E15 in the case of missing cutting * E15 in the case of missing cutting
edge edge edge
* E16 if tolerance exceeded * E16 if tolerance exceeded

Engraving mill

Initial measurement Wear measurement Breakage detection


Blum cycle call: Blum cycle call: Blum cycle call:
BL9902A(+3,,0,0,0.01,ROFFS,0) BL9902A(-1,LTOL,0,0,0.01,ROFFS,0) BL9902A(-2,LTOL,0,0,0.01,ROFFS,0)
ROFFS ≥ 0.01mm LTOL≈ 0.03 ... 0.1 mm LTOL≈ 0.03 ... 0.1 mm
ROFFS ≥ 0.01mm ROFFS ≥ 0.01mm
BL9908() not recommended!

Result: Result: Result:


Tool memory is updated Tool memory is updated Tool memory unchanged
* Measured tool length L * Tool length unchanged * Tool length unchanged
* Wear length = 0 * Wear length is updated * Wear length unchanged
Tool condition Tool condition Tool condition
* no error * no error * no error
* E16 if tolerance exceeded * E16 if tolerance exceeded

183326_V6D_APPL | 07-2023 78 Blum-Novotest GmbH


Description of the measuring cycles

Thread mill

Initial measurement Wear measurement Breakage detection


Blum cycle call: Blum cycle call:
BL9903(+3,0,-1,LOFFS,ROFFS,,, BL9905(CUT,0.1,LOFFS,RNUM,
CUT,0.1,0,0,0,0.01) DTG,100)
LOFFS= Position first tooth row LOFFS= Position first tooth row
DTG = Distance between the tooth
rows
RNUM = Number of tooth rows

Result: Result:
Tool memory is updated Tool memory unchanged
* Measured tool length L * Tool length unchanged
* Wear length = 0 * Wear length unchanged
* Measured tool radius R * Tool radius unchanged
* Wear radius = 0 * Wear radius unchanged
Tool condition
Tool condition
* no error
* no error
* E15 in the case of missing cutting
* E15 in the case of missing cutting
edge
edge

Blum-Novotest GmbH 79 183326_V6D_APPL | 07-2023


Tables

4. Tables
4.1 Program overview
Main programs
These programs shall demonstrate as an example in which way the cycle related parameters are defined and how the
measuring cycles are called and started. The parameter definitions and the cycle call can directly be taken over into a
part program. As an alternative, the program can be called via input masks depending on the CNC (in case of cycle
support, ShopMill, Wizard and EasyScreen). As a standard, the main programs are saved in the workpiece directory
BLUMLASxx.WPD (xx=language code).

CYCLE_01 Main program 2-axes calibration (length and radius)


CYCLE_02 Main program length measurement of centric tools (drills)
CYCLE_03 Main program length and radius measurement of non-centric tools (mills)
CYCLE_04 Main program 2-axes temperature compensation (length and radius)
CYCLE_05 Main program single cutting edge monitoring on straight cutting edges
CYCLE_06 Main program length-, radius and corner radius measurement
CYCLE_07 Main program contour monitoring on round cutting edges (ballnose mills)
CYCLE_08 Main program tool breakage detection (shaft breakage)
CYCLE_85 Main program fast single cutting edge monitoring
CYCLE_88 Main program fast breakage detection

Subroutines
These programs contain the actual measuring cycles. Any modification of the execution of the program should only be
made after having consulted the manufacturer. By default, the subroutines are saved in the directory manufacturer
cycles CMA.DIR.

BL9901 Subroutine 2-axes calibration (length and radius)


BL9902 Subroutine length measurement of centric tools (drills)
BL9903 Subroutine length and radius measurement of non-centric tools (mills)
BL9904 Subroutine temperature compensation in 2 axes (length and radius)
BL9905 Subroutine single cutting edge monitoring on straight cutting edges
BL9906 Subroutine length-, radius and corner radius measurement
BL9907 Subroutine contour monitoring on round cutting edges (ballnose mills)
BL9908 Subroutine tool breakage detection (shaft breakage)
BL9985 Subroutine fast single cutting edge monitoring
BL9988 Subroutine fast tool breakage detection

183326_V6D_APPL | 07-2023 80 Blum-Novotest GmbH


Tables

General subroutines
These subroutines are called by the different measuring cycles. They are saved in the directory manufacturer cycles
CMA.DIR. Following programs are necessary for the execution:
BAX2STARTEND, BCHKDATA, BCHKTDIR, BLASONOFF, BLMEAS, BMATRIX, BPARATAB, BPOS1AX, BPOS2AX, BSPFUNC,
BTEXTxx (xx=language), BTOOLDATA.

Machine-specific subroutines
These subroutines are called by the different measuring cycles. During the start-up of the machine, the manufacturer
has made machine- and user-specific adaptations. These are saved in the manufacturer's cycle directory CMA.DIR after
the machine is commissioned/started-up.

USERENDPROG Final operations, retracting strategy, error strategy, tool change


USERPARATAB1... Machine-specific definitions, assignment of axes, basic settings, configuration for calibration
USERPARATAB9 program
USERSETOFFS Setting of zero point offset
USERSTARTPROG Preliminary actions, approach strategy, skip axes limit switch

Please note: Other programs, not described here, may be required to guarantee proper operation of the measuring
cycles. Please refer to the documentation supplied by the machine manufacturer.

Blum-Novotest GmbH 81 183326_V6D_APPL | 07-2023


Tables

4.2 List of GUD variables


GUD variables to be defined in USERSTARTPROG:
_B_SYSTEM Selection of USERPARATAB1 (=1) ... USERPARATAB99 (=99)

GUD variables to be defined in USERPARATABx:


_B_ADDTOOLDATA[0] Tool length offset value (option for post processor applications)
_B_ADDTOOLDATA[1] Tool radius offset value (optional for post processor applications)
_B_ADDTOOLDATA[2] Real length of “zero tool”
_B_ANGLE[1] Angle deviation laser beam to tool radius axis
_B_AX[0] Axis name for tool radius measurement
_B_AX[1] Axis name of laser beam axis
_B_AX[2] Axis name for tool length measurement (1. length axis)
_B_AX[3] Axis name for tool length measurement (2. length axis), optional
_B_BP[0] Measuring position of the axis for tool radius measurement
_B_BP[1] Measuring position of the laser axis (position between transmitter and receiver)
_B_BP[2] Measuring position of the axis for tool length measurement
_B_CMODE[0] Type of reference tool, extend of calibration (radius one-sided/double-sided)
_B_CMODE[2] Measuring direction for calibration and temperature compensation measurement
_B_CSET Index for calibration parameter block (0,1,2,3,...)
_B_CTOOL[0] Length of reference tool (L)
_B_CTOOL[1] Radius of reference tool (R)
_B_DBC[0] Distance between laser beam and interfering contour in tool radius axis
_B_DBC[1] Distance between laser beam and interfering contour in laser beam axis
_B_DBC[2] Distance between laser beam and interfering contour in front of the laser beam in tool
_B_DBC[3] length axis
Distance between laser beam and interfering contour in front of laser beam in tool radius
axis
_B_DIR[0] Side of approach in the length axis (+1 or -1) and characteristic curves
_B_DIR[1] Side of approach in the radius axis (+2,+1 or –1, –2) and characteristic curves
_B_FEED[0] Rapid traverse speed
_B_FEED[1] Positioning velocity
_B_FEED[2] Maximum measuring speed
_B_FEED[3] Feed rate at the end of measuring cycle
_B_FEED[4] Measuring speed 1
_B_FEED[5] Measuring speed 2
_B_IO[0] CNC measuring input (1 or 2)
_B_IO[1] Basic address of input signals
_B_IO[2] Basic address of output signals
_B_LANGUAGE Language code for NC error messages

183326_V6D_APPL | 07-2023 82 Blum-Novotest GmbH


Tables

GUD variables to be defined in USERPARATABx:


_B_LNOZZLE Definition of mode of nozzle usage in the length axis
_B_RNOZZLE Definition of mode of nozzle usage in the radial axis
_B_OPTION[0] Option bits for measuring cycles l
_B_OPTION[1] Option bits for measuring cycles II
_B_OPTION[2] Option bits for measuring cycles III
_B_OPTION[3] Option bits for measuring cycles IV
_B_POSLIM[0] Software limit switch plus the tool length axis
_B_POSLIM[1] Software limit switch minus the tool length axis
_B_POSLIM[2] Software limit switch plus the tool radius axis
_B_POSLIM[3] Software limit switch minus the tool radius axis
_B_PULSE Pulse time of “Output Dynamic” of the laser system
_B_REPOS[0] Retraction level in the tool length axis before measuring cycle
_B_REPOS[1] Retraction level in the tool length axis after measuring cycle
_B_RET[0] Distance before tool edge
_B_RET[1] Retracting travel after first measuring block
_B_RET[2] Retracting travel after second measuring block
_B_RET[3] Retracting travel after the following measuring blocks
_B_RET[4] Distance for compensation path
_B_RPM[0] Spindle speed for measurement
_B_RPM[1] Number of tool spindle at program call
_B_RPM[2] Reduced spindle speed for radius measurement
_B_TNUM Number of attempts (1, .., 10)
_B_TOOLLIM[0] Maximum tool length
_B_TOOLLIM[1] Minimum tool length
_B_TOOLLIM[2] Maximum tool radius
_B_TOOLLIM[3] reserved
_B_TOOLM Axis designation of tool memory data

Blum-Novotest GmbH 83 183326_V6D_APPL | 07-2023


Tables

GUD Variables which are automatically set by the program:


_B_AXPOS[0] Axis position of radius axis
_B_AXPOS[1] Axis position of laser axis
_B_AXPOS[2] Axis position of length axis
_B_CV[x,0] Calibration value L+ in length axis The shading is generated at the positive axis side of
the laser beam centre. x= 0,1,.. (Standard=0)
_B_CV[x,1] Calibration value L- in length axis The shading is generated at the negative axis side of the
laser beam centre. x= 0,1,.. (Standard=0)
_B_CV[x,2] Calibration value R+ in radius axis The shading is generated at the positive axis side of
the laser beam centre. x= 0,1,.. (Standard=0)
_B_CV[x,3] Calibration value R- in radius axis The shading is generated at the negative axis side of
the laser beam centre. x= 0,1,.. (Standard=0)
_B_CV[x,4] Laser beam centre in length axis. The laser beam centre is the arithmetic mean of the
positive and the negative calibration value. x= 0,1,.. (Standard=0)
_B_CV[x,5] Laser beam centre in radius axis The laser beam centre is the arithmetic mean of the
positive and the negative calibration value. x= 0,1,.. (Standard=0)
_B_CV[x,6] Reference value for the temperature-dependent displacement of the length axis. Arith-
metic mean to positive and negative length reference measurement. x= 0,1,.. (Stand-
_B_CV[x,7] ard=0)
Reference value for the temperature-dependent displacement of the radius axis. Arith-
_B_CV[x,8] metic mean from positive and negative radius reference measurement. x= 0,1,.. (Stand-
_B_CV[x,9] ard=0)
reserved. x= 0,1,.. (Standard=0)
Position of laser axis (≙_B_BP[1]). x=0.1,.. (Standard=0)
_B_DISPLAY[x] Internal data for graphical user interface
_B_EPTEXT Name of program/error text
_B_ERRNO Error text number, 0=no error
_B_MPV[x] General calculation parameters
_B_MRPM[1] Basic speed for MODE1
_B_PRGNUM Current program number (1..29,85,86,87,88)
_B_RPM[0] Spindle rpm and rotation direction at program call
_B_SCALE Scaling factor, depending on unit system of the machine 1=mm, 25.4=inch
_B_SKIP[0] Trigger-point of measuring axis
_B_TOOL[0] Length (drilling or milling tool) or length L1 (turning tool)
_B_TOOL[1] Wear length (drilling/milling tool) or wear L1 (turning tool)
_B_TOOL[2] Radius (drilling or milling tool) or tool length L2 (turning tool)
_B_TOOL[3] Radius wear (drilling / milling tool) or wear L2 (turning tool)
_B_TOOL[4] Radius (turning tool)
_B_TOOL[5] Radius wear (turning tool)
_B_TOOLD D-number of the current tool + 0.001*number of cutting edges
_B_TNDIR Tool nose position

183326_V6D_APPL | 07-2023 84 Blum-Novotest GmbH


Recommended uses – Information

5. Recommended uses – Information


The following instructions should always be observed to ensure a satisfactory measuring result:

5.1.1 Coolant
• Before measurements can be taken, the coolant supply (external and internal coolant) must be switched off. If
possible, do not take measurements immediately after switching off the coolant. If required, insert a dwell time.
• Tool cutting edges, which are coated with cooling lubricant or swarf, should be cleaned with compressed air or spun
at high speed. In doing so, observe the max. permitted speed of the tool manufacturer.
• If internal coolant, which has been switched off, drips onto tools, they can be cleaned to some extent by high speed.
Tool breakage detection is also possible in this case with limited precision (error < 0.1 mm).
• If coolant is splashed around during the measurement, the barrier air must be left switched on. By changing the
spindle speed, the radiation angle of the dripping internal coolant can be modified so that the droplets are not spun
off at the height of the pollution protector.

5.1.2 Coolant mist


• Coolant mist reduces the light output on the receiver, the greater the mist formation and the larger the light path
between the transmitter and receiver. In this case the signal receiver must be operated with increased reinforce-
ment.
• If the coolant mist is very thick, the laser light barrier may not reach operational readiness. In this case the coolant
mist must be extracted or a dwell time must be inserted until the mist subsides.
• Even if the light output is reduced, a precise measurement can be taken if a calibration is performed immediately
before the tool measurement.
• Constant mist in the working area can be compensated for if the calibration and the tool measurement are per-
formed on both sides and the partial results are averaged (e.g. for the tool radius). For reasons of time, measure-
ment on one side is preferred.

5.1.3 Soiled optics


• If lenses are frequently soiled, the filter unit must be checked for oil or water residue in the filter and the filter unit
may have to be replaced. Also the pneumatic lines from the pollution protector and barrier air must be replaced
with new, clean lines, as internal deposits are continuously conveyed with the air flow into the measuring system.
• The optical glass for covering the transmitter and receiver must be kept meticulously clean and, if required, cleaned
with a damp glasses cleaning cloth. Even fingerprints can cause inaccurate measurements.
• If the pneumatic system with filter system is correctly installed, the cleanliness of the optical system can usually be
ensured over a long period of use.

Blum-Novotest GmbH 85 183326_V6D_APPL | 07-2023


Recommended uses – Information

5.1.4 Influencing variables on the absolute accuracy


• If there is a thick coolant mist in the light path, the trigger position is moved towards the laser beam centre, i.e. the
trigger signal is emitted earlier. As a result, the tool geometry is measured apparently larger (error ap-
prox. < 0.02 mm).
• If the tool cutting edges are heavily soiled with cooling lubricants (lubricant film, no droplets!), the tool geometry
is measured larger (error approx. < 0.03 mm).
• Compared with a tool setting device, which determines the tool geometry statically according to the optical re-
flected or transmitted light principle using a CCD camera, dimensional deviations may occur, as the laser measuring
system determines the tool geometry dynamically in the clamped state. During the tool length measurement the
actual tool length is measured in consideration of the pull-in error of the tool holder (error verified up to 0.07 mm
with steep tapers). During the tool radius measurement the run-out errors of the spindle, the tool change errors,
as well as the concentricity errors are also calculated in the measured value for small acentrically clamped tools.
• The surface finish (mat, shiny, metallic) has no measurable effect on the precision, also the surface colour due to
different coatings (HSS, VHM, PKD, TiN, TiCN).
• The recommended spindle speed for measuring the tool length and tool radius corresponds to the machining speed.
• The measuring speed is adapted to the rpm. To achieve a system error due to the feed-rpm ratio of 1 µm, the
following measuring speed is adhered to:
Measuring feed rate [mm/min] ≤ 0.001 [mm] * spindle rpm [1/min]
The measuring speed must be kept constant during the measuring block and must not be influenced or reduced
using the override switch.

183326_V6D_APPL | 07-2023 86 Blum-Novotest GmbH


Error messages

6. Error messages
At disturbances during the process, an error message is given. The GUD variable _B_ERRNO contains an error status.
Additional information is contained in the error marker _B_ERRNO. The following error codes are affected:
_B_ERRNO=4, 5, 6, 7, 11, 12, 14, 16, 19.
The previous error message remains unchanged, in the values after the decimal point B_ERRNO contains additional
information on the possible cause of the error. See chapter 6.1

Legend:

E1 = Error message = Check the following points

= Error description = Remedy

E1 “Laser not ready”


The intensity of the laser beam at the receiver is too low; measurement is not possible.

(1) Are the shutters open?


(2) Are the lenses clean?
(3) Is the laser beam visible and the “Laser ON” LED red?
(4) Does PLC receive the signal ”LC_OK”?
(1) Turn on PLC output for "shutter". Control air pipes. Adjust the barrier air pressure 0.2 MPa below
the shutter pressure.
(2) Remove the pollution protectors and clean the lenses (glasses cleaning cloth).
(3) Turn on PLC output for ENABLE0.
(4) Turn on PLC output for ENABLE0 and ENABLE1 on and deactivate ENABLE2.
Control the wiring.

E2 "No tool correction T0/D0?"


The tool number or tool cutting edge number is 0. The tool data can neither be read nor written.

(1) Is tool number T=0?


(2) Is tool cutting edge D=0?
(1) Set tool number T.
(2) Set tool cutting edge D.

E3 "Incorrect table parameter"


The measuring cycle cannot be executed with the table parameters set in USERPARATABx.

Are the parameters in USERPARATABx set correctly?

Set the parameters according to chapter 5.2. 5 of the installation instructions. Run the calibration cycle
to obtain more detailed information.

E4 “Incorrect call parameters”


The measuring cycle cannot be executed with the set call parameters.

Are the parameters in the call up line correct?


e.g. BL9908(x,x,x,x)
Correctly set parameter.

Blum-Novotest GmbH 87 183326_V6D_APPL | 07-2023


Error messages

E5 “Incorrect tool parameters”


The tool data stored in the tool memory are faulty.

(1) Is the tool length entered correctly if the length is to be measured on the tool surface (SPECIAL =1
or =2) or if only the radius (MTYPE=2) is to be measured?
(2) Are _B_POSLIM[0] .. _B_POSLIM[3] set correctly?
(1) Enter correct tool length data.
(2) Enter correct values for software limit switch according to chapter 5.2. 5 of the installation instruc-
tions.

E6 "Risk of collision with laser measuring system"


There is risk of collision with the set call parameters or tool data.

(1) Is the measuring point too far behind the tool tip?
(2) Is the tool radius larger than the interference distance (_B_DBC[0] and _B_DBC[1])?
(3) Are the parameters in the call up line correct?
(1) The measuring point must be within _B_DBC[2] (USERPARATABx).
(2) Measure tools with a smaller radius as the interference distances! Use larger laser system and
change the values of _B_DBC[0] and _B_DBC[1] (USERPARATABx).
(3) Set correct values.

E7 "Tool data out of limit"


Tool length or radius exceed the admissible limit.

(1) Are _B_TOOLLIM[0] .. _B_TOOLLIM[3] set correctly?


(2) Are the tool data exceeding the limit values (_B_TOOLLIM[0] .. _B_TOOLLIM[3])?
(1) Set the parameters according to chapter 5.2. 5 of the installation instructions.
(2) The tool cannot be measured.

E8 "Error start measuring block"


The trigger signal has a wrong level. The measuring block cannot be executed.

(1) Are the lenses clean?


(2) Is MD 13200[x] (rising or falling edge) set correctly?
(3) Has the dynamic signal the correct address (_B_IO[0] or _B_NCKIN[1])?
(4) Is the laser beam interrupted by coolant drops?
(5) Are correct tool data used for NT measurement?
(1) Remove the pollution protectors and clean the lenses (glasses cleaning cloth).
(2) Set MD 13200[x] correctly.
(3) Check assignment of signals in USERPARATABx.
(4) Execute NT measurement (Set MMODE=3 in the call).
(5) Enter correct tool data in tool memory.

183326_V6D_APPL | 07-2023 88 Blum-Novotest GmbH


Error messages

E9 “Measuring block without trigger point”


No trigger signal has been detected during the measuring block (MEAS).

(1) Are the lenses clean?


(2) Is MD 13200[x] (rising or falling edge) set correctly?
(3) Has the dynamic signal the correct address (_B_IO[0] or _B_NCKIN[1])?
(4) Is coolant or oil on the tool?
(5) Is the laser beam interrupted by coolant drops?
(6) Are _B_BP[0] .. B_BP[2] in USERPARATABx set correctly?
(7) Are the calibration data (GUD8) _B_CV[x,0] to [x,9] adequate?
(8) Is the tool shorter than the minimum tool length?
(9) Is the measuring feed rate too high?
(10) Is the retracting stroke too low after the measurement?
(1) Remove the pollution protectors and clean the lenses (glasses cleaning cloth).
(2) Set MD 13200[x] correctly.
(3) Check assignment of signals in USERPARATABx.
(4) Clean the tool.
(5) Execute NT measurement (Set MMODE=3 in the call).
(6) Set _B_BP[0] .. B_BP[2] in USERPARATABx correctly according to chapter 5.2. 5 of the installation
instructions.
(7) Zero _B_CV[x,0] to _B_CV[x,9] manually in the GUDs and run the calibration cycle.
(8) Set minimum tool length _B_TOOLLIM[1] (USERPARATABx) correctly.
(9) Reduce feed rate _B_FEED[2] in USERPARATABx.
(10) Enlarge the values of _B_RET[0] .. _B_RET[2] in USERPARATABx step by step (x1.5, x2, x3, …).

E10 "Dispersion of measuring values > Limit"


The dispersion of the single measuring values within the series of measurement exceeds the permissi-
ble limit value.
(1) Are the lenses clean?
(2) Is the laser rigidly fixed?
(3) Is coolant or oil on the tool?
(4) Is the laser beam interrupted by coolant drops?
(5) Is call parameter RPTL in the program too small?
(1) Remove the pollution protectors and clean the lenses (glasses cleaning cloth).
(2) Mount the laser system rigidly.
(3) Clean the tool.
(4) Execute NT measurement (Set MMODE=3 in the call).
(5) Enlarge the RPTL value step by step (R=0.005, R= 0.01, R=0.015, …)

E11 "Temperature drift > Limit"


The measured temperature drift of an axis is out of tolerance.

(1) Are call parameters LTOL or RTOL in the program too small?
(2) Is the machine temperature drift unusual?
(3) Has a reference measurement (MMODE=0) been executed before?
(1) Enlarge values for LTOL and RTOL..
(2) Fix the mechanical error (check levelling of the machine, etc.).
(3) Execute reference measurement (MMODE=0).

E12 “Error in measurement evaluation”


A fatal error has been detected while evaluating the measuring data, e.g. division through zero.

Are there any abnormal values in USERPARATABx parameters?

Set the parameters according to chapter 5.2. 5 of the installation instructions.

Blum-Novotest GmbH 89 183326_V6D_APPL | 07-2023


Error messages

E13 "Wrong spindle RPM"


Spindle rpm for single cutting edge monitoring is wrong.

(1) Is spindle override at 100%?

(1) Set spindle override to 100%.

E14 "Wrong calibration / TC parameter"


The reference tool data are wrong or the calibration / TC values differ too much from the measuring
position in the calibration cycle. There is risk of collision with the measuring system.
(1) Are the calibration data (GUD) _B_CV[x,0] to _B_CV[x,9] changed or replaced?
(2) Is the difference between the value of _B_CV[x,0], _B_CV[x,1] or _B_CV[x,4] and _B_BP[2] less than
2mm? Is the difference between the value of _B_CV[x,2], _B_CV[x,3] or _B_CV[x,5] and _B_BP[0]
less than 2mm?
(3) Are the reference data _B_CTOOL[0] .. _B_CTOOL[2] correct?
(1) Zero _B_CV[x,0] to _B_CV[x,9] manually in the GUDs and run the calibration cycle.
(2) Set _B_BP[0] and _B_BP[2] in USERPARATABX correctly according to chapter 5.2. 5 of the installa-
tion instructions.
(3) Set the reference tool data according to chapter 5.2. 5 of the installation instructions.

E15 "Cutting edge broken"


A broken cutting edge was detected on the tool.

(1) Is the cutting edge broken?


(2) Is call parameter CUT set correctly?
(3) Is spindle override at 100%?
(4) Are call parameters RBREAK and LOFFS set correctly?
(5) Is there an unusual run-out?
(6) Is coolant or oil on the tool?
(7) Are _B_PULSE, _B_MRPM[0] and [3] correct?
(1) Replace tool or insert.
(2) Set the correct cutting edge number.
(3) Set spindle override to 100%.
(4) Enlarge the call parameter RBREAK. Set LOFFS to the correct value.
(5) Remove chips from the tool holder / clean contact surfaces.
(6) Clean the tool.
(7) Set _B_PULSE, _B_MRPM[0] and [3] correctly according to chapter 5.2. 5 of the installation instruc-
tions.

E16 "Tolerance exceeded"


The measured tolerance exceeds the limit.

(1) Is the tool worn or broken? Has the tool been pulled out of the holder?
(2) Are chips sticking at the cutting edge?
(1) Replace the tool or mount it correctly.
(2) Remove chips.

E17 "B_SYSTEM invalid"


The value of the variable is out of the valid range (1 to 9).

Check the value of _B_SYSTEM in USERSTARTPROG.

Set the _B_SYSTEM according to chapter 5.2. 3 of the installation instructions.


Default value: _B_SYSTEM=1.

183326_V6D_APPL | 07-2023 90 Blum-Novotest GmbH


Error messages

E18 "Wrong scale unit G70/71"


The cycle was not called in the machine measuring system.

Check call up line/ program.

Use the correct unit.

E19 "Tool broken"


A broken shaft was detected at the tool.

(1) Is the tool broken?


(2) Is D-number correct?
(3) Are call parameters LBREAK, LTOL or RTOL too small?
(1) Replace tool.
(2) Set correct D-number.
(3) Enlarge the values. For tool breakage detection LBREAK should be 0.5mm or larger.

E20 “Function not possible”


The hardware does not match to the option.

(1) Is Laser NT function required?


(2) Are option bits _B_OPTION[0] to _B_OPTION[3] set correctly?
(3) Is call parameter MMODE negative without Laser NT installed?
(1) Install Laser NT hardware.
(2) Set _B_OPTION[0] to [3] correctly according to chapter 5.2. 5 of the installation instructions.
(3) Set call parameter MMODE to 0, 1 or 2.

E21 reserved
Not used

E22 "Error communication"


An error occurred during communication between NC cycle and IF10 interface.

(1) Note the error code _B_ERRNO=22.xxxxx.


(2) Communication parameter correct?
(3) Hardware correctly assembled and connected?
(1) Observe the expanded error codes.
(2) Set communication parameters correctly.
(3) Mount hardware correctly.

E23 reserved
Not used

E24 "Invalid error number"


The program for error messages has been called with an invalid error number.

Internal use only.

Blum-Novotest GmbH 91 183326_V6D_APPL | 07-2023


Error messages

6.1 Expanded error codes

Error code Possible cause


_B_ERRNO=1.0 No LC_OK during laser and cube operation
_B_ERRNO=1.1xxyy Laser not ready with xx=actual state and yy=target state
_B_ERRNO=1.6xxyy Cube not ready for application LC52 with xx=actual state and yy=target state

_B_ERRNO=3,002 Table parameter _B_DIR[0] incorrect


_B_ERRNO=3,003 Table parameter _B_DIR[1] incorrect
_B_ERRNO=3,008 Table parameter _B_DBC[1] incorrect
_B_ERRNO=3,009 Table parameter _B_DBC[2] incorrect
_B_ERRNO=3,020 Table parameter _B_REPOS[0] incorrect
_B_ERRNO=3,021 Table parameter _B_REPOS[1] incorrect
_B_ERRNO=3,022 Table parameter _B_RET[0] incorrect
_B_ERRNO=3,023 Table parameter _B_RET[1] incorrect
_B_ERRNO=3,024 Table parameter _B_RET[2] incorrect
_B_ERRNO=3,025 Table parameter _B_RET[3] incorrect
_B_ERRNO=3,032 Table parameter _B_PULSE incorrect
_B_ERRNO=3,038 Table parameter _B_CMODE[0] incorrect
_B_ERRNO=3,039 Table parameter _B_CMODE[2] incorrect
_B_ERRNO=3,041 Table parameter _B_TNUM incorrect
_B_ERRNO=3,043 Table parameter _B_RPM[0] incorrect
_B_ERRNO=3,050 Table parameter _B_POSLIM[0] incorrect
_B_ERRNO=3,051 Table parameter _B_POSLIM[1] incorrect
_B_ERRNO=3,052 Table parameter _B_POSLIM[2] incorrect
_B_ERRNO=3,053 Table parameter _B_POSLIM[3] incorrect
_B_ERRNO=3,054 Table parameter _B_OPTION[0] incorrect
_B_ERRNO=3,063 Table parameter _B_ANGLE[1] incorrect
_B_ERRNO=3,070 Table parameter _B_IO[2] incorrect
_B_ERRNO=3,072 Table parameter _B_IO[1] incorrect (only for ClientServer)
_B_ERRNO=3,076 Table parameter _B_IO[1] incorrect
_B_ERRNO=3,077 Table parameter _B_IO[0] incorrect
_B_ERRNO=3,082 Table parameter _B_DBC[3] incorrect
_B_ERRNO=3,085 Table parameter _B_MPV[0] incorrect (only for LaserNT with AngleHead option)
_B_ERRNO=3.094x Table parameter _B_HEAD_ANGLE[x] incorrect (only for AngleHead option)
_B_ERRNO=3.1xx Variable _B_DEFAULTSTRING[xx] incorrect

_B_ERRNO=4.01 Parameter RNUM incorrect, combination of CUT=0 and RNUM=-1 may be the cause
_B_ERRNO=4.02 Parameter MMODE incorrect
_B_ERRNO=4.03 Parameter CUT incorrect, combination of CUT=0 and RNUM=-1 may be the cause
_B_ERRNO=4.04 Parameter ALPHA or TANGLE incorrect (depending on cycle)
_B_ERRNO=4.05 Parameter CRAD incorrect
_B_ERRNO=4.06 Parameter BETA incorrect
_B_ERRNO=4.08 Parameter CNUM or MTYPE incorrect (depending on cycle)

183326_V6D_APPL | 07-2023 92 Blum-Novotest GmbH


Error messages

_B_ERRNO=4.13 Parameter SPECIAL, TDIR, difference (BETA-ALPHA) incorrect (depending on cycle)


_B_ERRNO=4.17 Parameter LBREAK, RBREAK or WSIZE incorrect (depending on cycle)
_B_ERRNO=4.18 Parameter RPTL incorrect
_B_ERRNO=4.19 Parameter LTOL or TOLL1 incorrect (depending on cycle)
_B_ERRNO=4.20 Parameter RTOL or TOLL2 incorrect (depending on cycle)
_B_ERRNO=4.21 Parameter ADDRAD or ADDL2 is greater than _B_RET[0] (depending on cycle)
_B_ERRNO=4.22 Parameter DTG incorrect
_B_ERRNO=4.23 Parameter ADDLEN or ADDL1 is greater than _B_RET[0] (depending on cycle)
_B_ERRNO=4.24 Parameter ROFFS incorrect
_B_ERRNO=4.26 Parameter LOFFS is smaller than the tool radius (during calibration)

_B_ERRNO=5.02 Cutting edge length in tool memory incorrect


_B_ERRNO=5.04 When shuttering in radius
_B_ERRNO=5.05 Corner radius incorrect
_B_ERRNO=5.06 When shuttering in the length
_B_ERRNO=5.07 Corner radius in the tool memory is not =0
_B_ERRNO=5.13 Cutting edge position incorrect

_B_ERRNO=5.19 Length or L1 incorrect or not measurable


_B_ERRNO=5.20 Radius or L2 incorrect or not measurable
_B_ERRNO=5.24 Radius or L2 exceeded (depending on cycle)
Difference in radius in the tool memory and in the parameter table too large
_B_ERRNO=5.26 Length or L1 exceeded (depending on cycle)
Difference in length in the tool memory and in the parameter table too large
Difference in reference tool length in tool memory and _B_CTOOL[0] in USERPARATAB
greater than _B_RET[1]

_B_ERRNO=6.04 Possible collision, cause _B_DBC[0] (possibly also _B_DBC[1])


When shuttering in radius
_B_ERRNO=6.05 Possible collision, cause _B_DBC[1] (possibly also _B_DBC[0])
Risk of collision due to tool radius
_B_ERRNO=6.06 Possible collision, cause _B_DBC[2]
When shuttering in the length or call parameter LOFFS is greater _B_DBC[2]
_B_ERRNO=6.13 Call parameter MTYPE (BL9903) or TDIR (BL9909) incorrect
_B_ERRNO=6.26 Possible collision, cause tool length and _B_RET[0]
Length calibration value, _B_TOOLLIM[0] and REPOS[x] do not match

_B_ERRNO=7.19 Tool limit length or L1 exceeded (depending on cycle)


_B_ERRNO=7.20 Tool limit radius or L2 exceeded (depending on cycle)

_B_ERRNO=8.8xxyy Measuring block start error with xx=actual state and yy=target state

_B_ERRNO=10.0 During linearisation length of characteristic curve=0


_B_ERRNO=10.19 Scattering of the individual values with switching measurement too large in terms of length
_B_ERRNO=10.20 Scattering of the individual values with switching measurement too large in terms of radius

Blum-Novotest GmbH 93 183326_V6D_APPL | 07-2023


Error messages

_B_ERRNO=10.99999 No high point found for cycle BL9909/BL9929

_B_ERRNO=11.19 Parameter LTOL or TOLL1 exceeded (depending on cycle BL9904/BL9924)


_B_ERRNO=11.20 Parameter RTOL or TOLL2 exceeded (depending on cycle BL9904/BL9924)

_B_ERRNO=12.08 Incorrect start position for OrientateTool (cycle BL9986)


_B_ERRNO=12.09 No trigger point for OrientateTool (cycle BL9986)
_B_ERRNO=12.10 Position 10% is not below tolerance for characteristic curve test (cycle BL9901/BL9921)
_B_ERRNO=12.50 Position 50% is not below tolerance for characteristic curve test (cycle BL9901/BL9921)
_B_ERRNO=12.90 Position 90% is not below tolerance for characteristic curve test (cycle BL9901/BL9921)
_B_ERRNO=12.99 Mathematical error in the circle calculation (cycle BMATRIX)

_B_ERRNO=13.01 Spindle rpm for Digilog measurement (RNUM=0, RNUM=-1) too low (S< 50)

_B_ERRNO=14.04 Calibration values incorrect, difference between _B_CV[x,2],_B_CV[x,3],_B_CV[x,5] and


_B_BP[0]
_B_ERRNO=14.05 Calibration values incorrect, difference between _B_CV[x,9] and _B_BP[1]
_B_ERRNO=14.06 Calibration values incorrect, difference between _B_CV[x,0],_B_CV[x,1],_B_CV[x,4] and
_B_BP[2]
_B_ERRNO=14.24 Radius calibration values difference left/right too large (cycle
BL9901/BL9904/BL9921/BL9924)

_B_ERRNO=15.20 Cutting edge broken, detected due to Digilog measurement

_B_ERRNO=16.17 Parameter RBREAK exceeded, tolerance exceeded in corner radius


_B_ERRNO=16.19 Parameter LTOL exceeded, tolerance exceeded in length
Tool too long in length by twice the tolerance (cycle BL9908/BL9988)
_B_ERRNO=16.20 Parameter RTOL/RPTL exceeded, tolerance exceeded in radius

_B_ERRNO=19.17 Parameter RBREAK exceeded, double tolerance exceeded in corner radius


_B_ERRNO=19.19 Parameter LTOL exceeded, double length tolerance exceeded (cycle
BL9902/BL9902A/BL9903/BL9906)
Tool too short in length by the tolerance (cycle BL9908/BL9988)
_B_ERRNO=19.20 Parameter RTOL exceeded, double radius tolerance exceeded (cycle BL9903/BL9906)

_B_ERRNO=20.24 Calculated radius position not reached


_B_ERRNO=20.26 Calculated length position not reached
_B_ERRNO=20,054 _B_OPTION[0] incorrect
_B_ERRNO=20,055 _B_OPTION[1] incorrect
_B_ERRNO=20,057 _B_OPTION[3] incorrect
_B_ERRNO=20,063 _B_ANGLE[1] not possible (only LaserNT)
_B_ERRNO=20,077 Input signal_B_IO[0] incorrectly defined
_B_ERRNO=20,078 Input signal #678 not defined, only for FNC (only LaserNT)
_B_ERRNO=20,079 Output signal #679 not defined, only for FNC (only LaserNT)

183326_V6D_APPL | 07-2023 94 Blum-Novotest GmbH


Error messages

_B_ERRNO=20.00206 Missing software license in IF10 (for option AH,ED,ES,RO,...)


_B_ERRNO=20,999 Incorrect firmware version in IF10

_B_ERRNO=22.07001 No reaction from ClientServer


_B_ERRNO=22.xxxxx Error xxxxx when transmitting data to IF10 or LC-Vision
22.00xxx error code from IF10
22.99990 timeout during transmission to IF10

Blum-Novotest GmbH 95 183326_V6D_APPL | 07-2023


Service

7. Service

Head office
Blum-Novotest GmbH
Kaufstrasse 14
88287 Gruenkraut, Germany
Tel.: +49 751 6008‐0

Sales
sales@blum‐novotest.com
Tel.: +49 751 6008‐200

Service
service@blum‐novotest.com
Tel.: +49 751 6008‐202

Homepage

www.blum‐novotest.com

International
The contact data of our global subsidiaries can be found on our homepage.

www.blum‐novotest.com /en/international.html

You might also like