Renishaw Inspection Plus is a suite of probing macros installed on Fanuc CNC controls. Cycles are called via G65 P98xx and handle protected positioning, measurement, calibration, and tool offset updates. Results are stored in common variables #135–#149; calibration data lives in #500–#541.
Cycle Quick Reference
| Cycle | Name | Format |
| Calibration |
O9801 | Probe Length Calibration | G65 P9801 Zz Tt |
O9802 | Stylus X/Y Offset Calibration | G65 P9802 Dd [Zz] |
O9803 | Stylus Ball Radius Calibration | G65 P9803 Dd [Zz Ss] |
O9804 | Vector Ball Radius Calibration | G65 P9804 Dd [Zz Ss] |
| Positioning |
O9810 | Protected Positioning | G65 P9810 Xx Yy Zz [Ff Mm] |
| Standard Measuring |
O9811 | Single Surface (X, Y, or Z) | G65 P9811 Xx|Yy|Zz [opts] |
O9812 | Web / Pocket | G65 P9812 Xx|Yy [Zz] [opts] |
O9814 | Bore / Boss | G65 P9814 Dd [Zz] [opts] |
O9815 | Internal Corner | G65 P9815 Xx Yy [opts] |
O9816 | External Corner | G65 P9816 Xx Yy [opts] |
| Vector Measuring (requires O9804) |
O9821 | Angle Single Surface | G65 P9821 Aa Dd [opts] |
O9822 | Angle Web / Pocket | G65 P9822 Aa Dd [Zz] [opts] |
O9823 | 3-Point Bore / Boss | G65 P9823 Aa Bb Cc Dd [Zz] [opts] |
| Additional Cycles |
O9817 | 4th Axis X Measurement | G65 P9817 Xx Zz [opts] |
O9818 | 4th Axis Y Measurement | G65 P9818 Yy Zz [opts] |
O9819 | Bore/Boss on PCD | G65 P9819 Cc Dd Zz|Kk [opts] |
O9820 | Stock Allowance | G65 P9820 Xx|Yy|Zz Ii Jj Kk [opts] |
O9834 | Feature-to-Feature | G65 P9834 [Xx Yy Zz Aa Dd] [opts] |
O9835 | SPC Tool Offset Update | G65 P9835 Tt Mm [opts] |
O9843 | XY Plane Angle Measure | G65 P9843 Xx|Yy Dd [opts] |
Common Optional Inputs
Most measuring cycles accept these optional letter-address inputs:
| Input | Description | Notes |
H h | Tolerance on feature dimension | Exceeding triggers #3006 alarm |
M m | True position tolerance (cylindrical zone) | Evaluated as radial error |
Q q | Overtravel distance | Default: 4 mm (Z), 10 mm (X/Y) |
S s | Work offset number to update | S1–S6 = G54–G59; S7–S48 = extended |
T t | Tool offset number to update | Adjusts wear offset register |
W w | Print data (DPRNT) | W1. = feature #; W2. = component # |
E e | Experience value | Spare tool offset # storing adjustment |
F f | Percent feedback | 0–1 fraction for tool offset update |
U u | Upper tolerance limit | No offset update if exceeded |
V v | Null band | Dead zone—no offset if error within this range |
R r | Radial clearance (external features) | Default 5 mm. R-r = force internal |
Cycle Input Arguments
O9810 — Protected Positioning
Monitors probe trigger signal during positioning moves. If the probe trips (collision), machine stops immediately with #3000 = 86(PATH OBSTRUCTED).
| Input | Req? | Description |
X x | Yes | Target X position |
Y y | Yes | Target Y position |
Z z | Yes | Target Z position |
F f | Modal | Feedrate for all protected moves (stays set until changed) |
M m | Opt | M1. = flag mode: sets #148 = 7 on trigger instead of alarm |
O9811 — Single Surface Measurement
Measures one surface in X, Y, or Z. Only one axis per call.
| Input | Req? | Description |
X x / Y y / Z z | One required | Nominal surface position |
| Plus common optional inputs: H, M, Q, S, T, W, E, F, U, V |
O9812 — Web / Pocket Measurement
Measures a web (external) or pocket (internal) in X or Y. Omit Z for pocket; include Z for web.
| Input | Req? | Description |
X x / Y y | One required | Nominal feature size in X or Y |
Z z | Opt | Absolute Z for web (external). Omit = pocket. |
R r | Opt | Radial clearance for external. R-r = force internal. |
| Plus common optional inputs: H, M, Q, S, T, W, E, F, U, V |
O9814 — Bore / Boss Measurement
Four-touch measurement (X+, X−, Y+, Y−). Omit Z for bore; include Z for boss.
| Input | Req? | Description |
D d | Yes | Nominal diameter of feature |
Z z | Opt | Absolute Z for boss (external). Omit = bore. |
R r | Opt | Radial clearance for boss. R-r = force internal. |
| Plus common optional inputs: H, M, Q, S, T, W, E, F, U, V |
Calibration Cycles
| Cycle | Required Inputs | Purpose |
O9801 | Z z (ref surface), T t (tool offset #) | Calibrate probe length |
O9802 | D d (bore diameter), opt Z z for external | Calibrate X/Y stylus offsets → #502, #503 |
O9803 | D d (gauge diameter), opt Z z, S s | Standard ball radius → #500, #501 |
O9804 | D d (gauge diameter), opt Z z, S s | Vector ball radius → #500–#501 + #510–#517 |
Calibration order: O9801 (length) → O9802 (X/Y offsets) → O9803 or O9804 (ball radius). Use O9804 if you will use vector cycles (O9821/O9822/O9823).
Calibration Variables
Stored in persistent common variables #500–#541. These survive power-off.
| Variable | Name | Description |
#500 | XRAD | X calibration ball radius |
#501 | YRAD | Y calibration ball radius |
#502 | XOFF | X-axis stylus offset |
#503 | YOFF | Y-axis stylus offset |
#506 | BMCF | Back-off distance (basic move control factor) |
#509 | — | Active vector radius (for O9821/O9822/O9823) |
#510–#517 | VRAD | Vector calibration radii at 30° intervals (30°, 60°, 120°, 150°, 210°, 240°, 300°, 330°) |
#518–#521 | K1 | Multi-stylus K1 store (XRAD, YRAD, XOFF, YOFF) |
#522–#525 | K2 | Multi-stylus K2 store |
#526–#533 | K11 | Vector multi-stylus K11 store |
#534–#541 | K12 | Vector multi-stylus K12 store |
Skip Signal & Internal Variables
Renishaw macros use G31 (skip signal) internally. When the probe contacts the workpiece, the position is captured in system variables:
| Variable | Description |
#5061 | Skip signal X position (machine coords at probe contact) |
#5062 | Skip signal Y position |
#5063 | Skip signal Z position |
Standard two-touch measuring: fast approach → back-off → slow gauge move at 100 mm/min. Measuring uncertainty ≈ 0.002 mm at 4 ms PLC scan time.
Error & Alarm Handling
#148 — Out-of-Tolerance Flag
| Value | Meaning | Offset Update? |
| 0 | No error | — |
| 1 | OUT OF TOL / OUT OF POS / ANGLE OUT OF TOL | Yes (after cycle start) |
| 2 | OUT OF POS | Yes (after cycle start) |
| 3 | UPPER TOL EXCEEDED | No |
| 4 | ANGLE OUT OF TOL | Yes (after cycle start) |
| 5 | DIA OFFSET TOO LARGE | Yes (after cycle start) |
| 6 | EXCESS STOCK | No |
| 7 | Probe triggered (O9810 flag mode) | — |
#3000 Reset Alarms (Program Stop)
| Alarm # | Message | Cause |
| 86 | PATH OBSTRUCTED | Probe triggered during O9810 move |
| 88 | NO FEED RATE | O9810 called without F input |
| 89 | NO TOOL LENGTH ACTIVE | G43/G44 not active before probe cycle |
| 91 | FORMAT ERROR / INPUT MISSING | Required input not supplied or conflicting inputs |
| 92 | PROBE OPEN | Probe already triggered before move (stylus in contact) |
| 93 | PROBE FAIL | Probe did not trigger during move (surface not found) |
#3006 Cycle-Start-to-Continue Alarms
These pause execution; press cycle start to continue:
| Message | Condition |
| OUT OF TOL | Feature size outside H tolerance |
| OUT OF POS | Position outside M true position tolerance |
| ANGLE OUT OF TOL | Angle outside B tolerance |
| UPPER TOL EXCEEDED | Exceeds U upper tolerance (no offset update) |
| EXCESS STOCK | Stock exceeds U limit (no offset update) |
Output Variables by Cycle
All measuring cycles write results to #135–#149. Variables #148 (out-of-tolerance flag) and #149 (probe error flag) are set by every cycle.
O9811 — Single Surface
| Var | Output |
#135 | X position |
#136 | Y position |
#137 | Z position |
#140 | X error |
#141 | Y error |
#142 | Z error |
#145 | True position error |
#146 | Metal condition |
#147 | Direction indicator |
O9812 — Web / Pocket
| Var | Output |
#135 | X position |
#136 | Y position |
#138 | Size |
#140 | X error |
#141 | Y error |
#143 | Size error |
#145 | True position error |
#146 | Metal condition |
O9814 — Bore / Boss
| Var | Output |
#135 | X position |
#136 | Y position |
#138 | Size (diameter) |
#140 | X error |
#141 | Y error |
#143 | Size error |
#145 | True position error |
#146 | Metal condition |
O9815 — Internal Corner
| Var | Output |
#135 | X position |
#136 | Y position |
#138 | Size |
#139 | X surface angle |
#140 | X error |
#141 | Y error |
#142 | Y surface angle |
#143 | Y angle error |
#144 | X angle error |
#145 | True position error |
O9816 — External Corner
| Var | Output |
#135 | X position |
#136 | Y position |
#139 | X surface angle |
#140 | X error |
#141 | Y error |
#142 | Y surface angle |
#143 | Y angle error |
#144 | X angle error |
#145 | True position error |
O9817/O9818 — 4th Axis
| Var | Output |
#135 | X position (O9817) |
#136 | Y position (O9818) |
#139 | 4th axis angle |
#143 | Height error (Z1−Z2) |
#144 | Angle correction |
O9819 — PCD Bore/Boss
| Var | Output |
#135 | X position |
#136 | Y position |
#137 | PCD |
#138 | Size (diameter) |
#139 | Angle |
#140 | X error |
#141 | Y error |
#142 | PCD error |
#143 | Size error |
#145 | True position error |
#146 | Metal condition |
#147 | Hole number |
O9820 — Stock Allowance
| Var | Output |
#144 | Maximum value (metal) |
#145 | Minimum value (metal) |
#146 | Variation (stock allowance) |
O9821 — Angle Single Surface
| Var | Output |
#135 | X position |
#136 | Y position |
#140 | X error |
#141 | Y error |
#143 | Size error |
#145 | True position error |
#146 | Metal condition |
O9822 — Angle Web / Pocket
| Var | Output |
#135 | X position |
#136 | Y position |
#138 | Size |
#140 | X error |
#141 | Y error |
#143 | Size error |
#145 | True position error |
#146 | Metal condition |
#147 | Direction indicator |
O9823 — 3-Point Bore / Boss
| Var | Output |
#135 | X position |
#136 | Y position |
#138 | Size (diameter) |
#140 | X error |
#141 | Y error |
#143 | Size error |
#145 | True position error |
#146 | Metal condition |
O9834 — Feature to Feature
| Var | Output |
#135 | X incremental distance |
#136 | Y incremental distance |
#137 | Z incremental distance |
#138 | Minimum distance |
#139 | Angle |
#140 | X error |
#141 | Y error |
#142 | Z error |
#143 | Min distance error |
#144 | Angle error |
#145 | True position error |
#146 | Metal condition |
O9843 — XY Angle Measure
| Var | Output |
#139 | Measured angle |
#143 | Height error |
#144 | Angle error |
References
- Renishaw, Inspection Plus Programming Manual, Renishaw plc.
- Fanuc, Operator’s Manual / Parameter Manual, FANUC Corporation.