Programming instructions
Programming instructions
BLUM Software
Programming instructions
Software 183326
Version V6D
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
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.
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.
DIGILOG functionalities are only possible with connection to bus systems. Therefore, extension modules
are necessary. E.g.: EM30 (PROFIBUS), EM31 (PROFINET), …
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.
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 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:
• The selection of the requested cycle is carried out with the vertical soft keys.
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.
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.
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.
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.
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.
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.
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
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.
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).
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.
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
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
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
Call: BL9901(RNUM,RPTL,LOFFS,ROFFS)
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.
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.
Alternatively, the linearisation can be executed with each calibration. Therefore, the cycle takes much longer though.
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).
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).
Call: BL9904(MMODE,RNUM,RPTL,LOFFS,ROFFS,LTOL,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.
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.
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.
Call: BL9902(MMODE,LTOL,ADDLEN,RNUM,RPTL)
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.
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.
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.
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.
Call: BL9902A(MMODE,LTOL,ADDLEN,RNUM,RPTL,ROFFS,TANGLE)
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.
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.
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.
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.
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.
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)
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.
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.
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.
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!
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)
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.
Call: BL9906(MMODE,ALPHA,BETA,CNUM,TDIR,CRAD,ROFFS,CCL,CCR,LTOL,RTOL,
ADDLEN,ADDRAD,RNUM,RPTL)
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).
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
α
R2
r
R2
r
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°
0°
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.
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).
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)
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.
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.
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.
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.
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.
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)
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.
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.
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 .
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°
0°
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.
Call: BL9908(ROFFS,MDIR,LBREAK,CORLEN)
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].
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.
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.
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
F F F F
F F F F
Tool breakage detection on an end mill Tool breakage detection of an engraving mill
F F L F
L F
L
L
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].
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.
Drill bit
Tap
Countersink
Step drill
L LOFFS
ROFFS
R
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)
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
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
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
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
Engraving mill
Thread mill
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
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).
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.
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.
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.
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.
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:
Set the parameters according to chapter 5.2. 5 of the installation instructions. Run the calibration cycle
to obtain more detailed information.
(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.
(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.
(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).
(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.
E21 reserved
Not used
E23 reserved
Not used
_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)
_B_ERRNO=8.8xxyy Measuring block start error with xx=actual state and yy=target state
_B_ERRNO=13.01 Spindle rpm for Digilog measurement (RNUM=0, RNUM=-1) too low (S< 50)
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