Brother Blum-Novotest V4B Probing
Blum-Novotest V4B is the workpiece probing software for Brother CNC machines. Unlike Renishaw (which uses separate macro numbers per cycle), Blum uses a single dispatcher macro G65 P8700 with parameter combinations selecting the measurement type. Results are stored via indirect addressing: #[#111+n] (default base #100).
Architecture — Key Difference from Renishaw
| Aspect | Blum V4B (Brother) | Renishaw Inspection Plus (Fanuc/Haas) |
|---|---|---|
| Cycle dispatch | Single macro G65 P8700 | Separate macros G65 P9811, P9812, P9814, etc. |
| Cycle selection | Parameter combination determines type | Macro number determines type |
| Output variables | #[#111+0]–#[#111+9] (indirect, configurable) | Fixed #135–#149 (Fanuc) / #185–#199 (Haas) |
| Calibration variables | #[#110+0]–#[#110+5] (indirect, configurable) | Fixed #500–#519 (Fanuc) / #556–#597 (Haas) |
| Protected move | G65 P8703 | G65 P9810 |
| Probe on/off | Parameter M on P8700 (M1.=on, M2.=off, M3.=neither) | Separate macros O9832/O9833 |
Program Overview
| Program | Name | Description |
|---|---|---|
8700 | MAIN | Main dispatcher—all measuring and calibration calls go through here |
8701 | TOUCH XYZ | Single point and corner touching |
8702 | CONTOUR | Contour touching (bore, boss, width) |
8703 | PROTECTED MOVE | Protected positioning (collision detection) |
8704 | MEASURE | Measuring block execution |
8705 | SET WCS | Write workpiece coordinate system offset |
8706 | SET TOOL | Tool offset correction after measurement |
8707 | TOLERANCE | Tolerance checking |
8708 | PROBE ONOFF STATUS | Probe on/off and status checking |
8709 | CALIB-MEAS SPHERE | Calibration on sphere |
8710 | USER GLOBAL | User-configurable global settings |
8711 | 3-POINTS CONTOUR | Contour probing with 3 points |
8712–8714 | CORNER MAIN/MOVE/CALC | Corner/contour location calculation |
8715 | ANGLE-DISTANCE | Angle and distance calculation |
8716 | DPRNT | Data output via DPRNT command |
8717 | TC-USER 1 | Settings for probe 1 |
8718–8719 | TC-USER 2/3 | Settings for optional probes 2 and 3 |
Cycle Types via G65 P8700
The measurement type is determined by which parameters you pass, not by calling a different macro number:
| Measurement | Call Format | Example |
|---|---|---|
| Calibration (parameter C) | ||
| Calibrate Z + XY (ring) | G65 P8700 C1. Z... then G65 P8700 C1. S... | G65 P8700 C1. Z-10. |
| Calibrate XY (sphere) | G65 P8700 C2. S... Z... | G65 P8700 C2. S25. Z-10. |
| Zero Point — Single Point (parameter W + axis) | ||
| Single point X/Y/Z | G65 P8700 X... W... | G65 P8700 X-10. W55. |
| Corner 2-axis | G65 P8700 X... Y... W... | G65 P8700 X10. Y10. W59. |
| Corner 3-axis | G65 P8700 X... Y... Z... W... | G65 P8700 X10. Y10. Z-10. W59. |
| Zero Point — Contour (parameter S + W) | ||
| Inside diameter | G65 P8700 S... W... | G65 P8700 S40. W57. |
| Outside diameter | G65 P8700 S... Z... W... | G65 P8700 S30. Z-10. W54. |
| Inside width (X or Y) | G65 P8700 S... X1. W... | G65 P8700 S20. X1. W54. |
| Outside width (X or Y) | G65 P8700 S... X1. Z... W... | G65 P8700 S10. X1. Z-20. W54. |
| 3-point bore/boss | G65 P8700 S... W... H... U... V... | G65 P8700 S40. W57. H30. U150. V280. |
| Measurement During Production (parameter A1.) | ||
| Measure single point | G65 P8700 A1. X... | G65 P8700 A1. X0. |
| Measure corner | G65 P8700 A1. X... Y... | G65 P8700 A1. X10. Y10. |
| Measure inside diameter | G65 P8700 A1. S... | G65 P8700 A1. S60. |
| Measure outside diameter | G65 P8700 A1. S... Z... | G65 P8700 A1. S50. Z-3. |
| Measure inside width | G65 P8700 A1. S... X1. | G65 P8700 A1. S20. X1. |
| Measure outside width | G65 P8700 A1. S... X1. Z... | G65 P8700 A1. S20. X1. Z-4. |
P8700 MAIN Program — Input Parameters
| Param | Var | Description |
|---|---|---|
A | #1 | Mode: 0. = relative, 1. = absolute dimensioning. For measuring: A1. = production measurement mode |
B | #2 | Select probe (1. = probe 1, 2. = probe 2, 3. = probe 3) |
C | #3 | Calibration: 1. = Z + XY with ring gauge, 2. = XY with sphere |
D | #7 | Angle/distance function (D>0 = distance, D<0 = angle measurement) |
E | #8 | Tool number for correction after measurement |
H | #11 | Angle of 1st probing point (0°–360°) |
I | #4 | Set position X |
J | #5 | Set position Y |
K | #6 | Set position Z |
M | #13 | Probe on/off: 1. = on, 2. = off only, 3. = neither on nor off |
Q | #17 | Overtravel in XY (overrides default from #114) |
R | #18 | Safety distance / clearance for external features |
S | #19 | Set value: diameter, width, or calibration gauge size |
T | #20 | Tolerance check (see TOLERANCE program) |
U | #21 | Angle of 2nd probing point for 3-point measurement |
V | #22 | Angle of 3rd probing point for 3-point measurement |
W | #23 | WCS number to write (54–59 = G54–G59; negative = extended G54.1 Pn) |
X | #24 | Nominal position / traverse in X |
Y | #25 | Nominal position / traverse in Y |
Z | #26 | Nominal position / traverse in Z (also triggers external feature mode) |
P8703 — Protected Move
Equivalent to Renishaw O9810. Monitors probe signal during positioning; stops on collision.
| Param | Var | Description |
|---|---|---|
X | #24 | Target X position |
Y | #25 | Target Y position |
Z | #26 | Target Z position |
M | #13 | 1. = switch probe on first, 3. = probe already on |
Typical sequence: G65 P8703 X.. Y.. Z.. M1. (on + move) → G65 P8703 X.. Y.. Z.. M3. (move only) → G65 P8700 S.. M3. (measure) → G65 P8700 Z.. M2. (retract + off)
Output Variables (Result Parameters)
Results are stored via indirect addressing from base address #111 (default value: 100, so results go to #100–#109). The base address can be changed in program 8710 (USER GLOBAL).
| Variable | Default | Description |
|---|---|---|
#[#111+0] | #100 | Result X — center or edge position in active WCS |
#[#111+1] | #101 | Result Y — edge or ball center position |
#[#111+2] | #102 | Result Z — edge or ball center position |
#[#111+3] | #103 | Deviation from set position (I) in X, or actual value X |
#[#111+4] | #104 | Deviation from set position (J) in Y, or actual value Y |
#[#111+5] | #105 | Deviation from set position (K) in Z, or actual value Z |
#[#111+6] | #106 | Contour result: bore diameter, width, or sphere diameter |
#[#111+7] | #107 | Deviation from set value (S) for contour measurement |
#[#111+8] | #108 | Corner length, or component presence (1. = present, -1. = absent) |
#[#111+9] | #109 | Angle result (corner angle, rotation axis correction) |
Additional distance/angle results: #142–#146 (fixed, not indirect).
Calibration Variables
Stored via indirect addressing from base address #110 (default value: 500, so calibration data lives in #500–#505). Configurable in program 8717 (TC-USER 1).
| Variable | Default | Description | Example Value |
|---|---|---|---|
#[#110+0] | #500 | Calibration value X | 2.785 (3 mm ball) |
#[#110+1] | #501 | Calibration value Y | 2.788 |
#[#110+2] | #502 | Probe center offset X | 0.005 |
#[#110+3] | #503 | Probe center offset Y | 0.010 |
#[#110+4] | #504 | Basic rotation for G68 | — |
#[#110+5] | #505 | Calibration value Z | 0.206 |
Error Codes
Blum errors use #3000 with codes in the 101–116 range. Format: #3000 = NNN.mm where NNN is the error group and mm is the sub-code.
| Error | Title | Common Causes |
|---|---|---|
| 101–107 | Probe signal errors | No STATUS/ERROR signal from P8703/P8704, start and skip positions identical, probe move error |
| 108 | Battery low | BATTERY error signal active from probe interface |
| 109 | Wrong probe length | Entered probe length = 0, or tool length mismatch in TC-USER (#4111/#4120) |
| 110 | Error switching on/off | Probe could not be switched on/off within specified time, ERROR signal missing |
| 111 | Wrong tool | H-number of probe in USERPARATAB not active, tool correction mismatch |
| 112 | No calibration value in Z | Z calibration parameter undefined—calibrate probe in Z first |
| 113 | Error in USERPARATAB | Invalid parameters in TC-USER 1 (8717): address range, ball radius, feed, distances |
| 114 | Communication error | Timeout or error communicating with counterpart, waiting for QUIT signal |
| 115 | Turn spindle by 180° | Programmed stop during calibration requiring spindle reorientation |
| 116 | Parameter settings | Parameters deleted by M0 during measurement; adapt machine settings |
Practical Example — Measure Bore & Set WCS
(MEASURE BORE AND SET G55)
(PROBE IS IN TOOL #99, BORE IS APPROX 40MM)
T99 M6
G43 H99
G90 G54
(PROTECTED MOVE TO ABOVE BORE)
G65 P8703 X0. Y0. Z50. M1.
(PROTECTED MOVE INTO BORE)
G65 P8703 X0. Y0. Z-15. M3.
(MEASURE INSIDE DIAMETER, SET G55)
G65 P8700 S40. W55. M3.
(RETRACT AND TURN PROBE OFF)
G65 P8703 X0. Y0. Z50. M3.
G65 P8700 Z100. M2.
(RESULTS NOW IN #100-#109)
(#100 = BORE CENTER X)
(#101 = BORE CENTER Y)
(#106 = MEASURED DIAMETER)
(#107 = DEVIATION FROM S40.)
References
- Blum-Novotest, V4B Probing System Manual, Blum-Novotest GmbH.
- Brother, Operator’s Manual, Brother Industries, Ltd.
Have a question or want to contribute?
Contact us with corrections, additions, or topics you'd like covered.
Get in Touch