VS Output Variables
After each probing cycle, results are stored in VS (system) variables. Only variables relevant to each cycle are populated.
O9811 — Single Surface
| Var | Output |
VS75 | X position |
VS76 | Y position |
VS77 | Z position |
VS78 | Size |
VS80 | X error |
VS81 | Y error |
VS82 | Z error |
VS83 | Size error |
VS85 | True position error |
VS86 | Metal condition |
VS87 | Direction indicator |
VS88 | Out of tolerance |
VS89 | Probe error flag |
O9812 — Web / Pocket
| Var | Output |
VS75 | X position |
VS76 | Y position |
VS78 | Size |
VS80 | X error |
VS81 | Y error |
VS83 | Size error |
VS85 | True position error |
VS86 | Metal condition |
O9814 — Bore / Boss
| Var | Output |
VS75 | X position |
VS76 | Y position |
VS78 | Size |
VS80 | X error |
VS81 | Y error |
VS83 | Size error |
VS85 | True position error |
VS86 | Metal condition |
O9815 — Internal Corner
| Var | Output |
VS75 | X position |
VS76 | Y position |
VS78 | Size |
VS79 | X surface angle |
VS80 | X error |
VS81 | Y error |
VS82 | Y surface angle |
VS83 | Y angle error |
VS84 | X angle error |
VS85 | True position error |
O9816 — External Corner
| Var | Output |
VS75 | X position |
VS76 | Y position |
VS79 | X surface angle |
VS80 | X error |
VS81 | Y error |
VS82 | Y surface angle |
VS83 | Y angle error |
VS84 | X angle error |
VS85 | True position error |
O9817 — 5 Point Rectangle
| Var | Output |
VS75 | X position |
VS76 | Y position |
VS79 | Component angle |
O9818 — 4th Axis
| Var | Output |
VS79 | 4th angle |
VS83 | Height error |
VS84 | Angle error |
O9819 — PCD Bore
| Var | Output |
VS75 | X position |
VS76 | Y position |
VS78 | Size |
VS79 | Angle |
VS80 | X error |
VS81 | Y error |
VS82 | PCD error |
VS83 | Size error |
VS84 | Angle error |
VS85 | True position error |
VS86 | Metal condition |
VS87 | Hole number |
O9820 — Stock Allowance
| Var | Output |
VS84 | Maximum value |
VS85 | True position error |
VS86 | Variation (stock) |
O9821 — Angle Single Surface (AD Input)
| Var | Output |
VS75 | X position |
VS76 | Y position |
VS78 | Size from start |
VS80 | X error |
VS81 | Y error |
VS83 | Size error |
VS85 | True position error |
VS86 | Metal condition |
O9821 — Angle Single Surface (XYZ Input)
| Var | Output |
VS75 | X position |
VS76 | Y position |
VS77 | Z position |
VS78 | Size |
VS80 | X error |
VS81 | Y error |
VS82 | Z error |
VS85 | True position error |
VS86 | Metal condition |
O9822 — Angle Web / Pocket
| Var | Output |
VS75 | X position |
VS76 | Y position |
VS78 | Size |
VS80 | X error |
VS81 | Y error |
VS83 | Size error |
VS85 | True position error |
VS86 | Metal condition |
VS87 | Direction indicator |
O9823 — 3 Point Bore / Boss
| Var | Output |
VS75 | X position |
VS76 | Y position |
VS78 | Size |
VS80 | X error |
VS81 | Y error |
VS83 | Size error |
VS85 | True position error |
VS86 | Metal condition |
O9834 — Feature to Feature
| Var | Output |
VS75 | X incremental distance |
VS76 | Y incremental distance |
VS77 | Z incremental distance |
VS78 | Minimum distance |
VS79 | Angle |
VS80 | X error |
VS81 | Y error |
VS82 | Z error |
VS83 | Minimum distance error |
VS84 | Angle error |
VS85 | True position error |
VS86 | Metal condition |
O9843 — XY Angle Measure
| Var | Output |
VS79 | Angle |
VS83 | Height error |
VS84 | Angle error |
VC Output Variables (Base Number of 50)
When using VC (common) variables instead of VS (system) variables, the same outputs are available with the VC prefix. Variable numbers match the VS equivalents.
O9811 — Single Surface
| Var | Output |
VC75 | X position |
VC76 | Y position |
VC77 | Z position |
VC78 | Size |
VC80 | X error |
VC81 | Y error |
VC82 | Z error |
VC83 | Size error |
VC85 | True position error |
VC86 | Metal condition |
VC87 | Direction indicator |
VC88 | Out of tolerance |
VC89 | Probe error flag |
O9812 — Web / Pocket
| Var | Output |
VC75 | X position |
VC76 | Y position |
VC78 | Size |
VC80 | X error |
VC81 | Y error |
VC83 | Size error |
VC85 | True position error |
VC86 | Metal condition |
O9814 — Bore / Boss
| Var | Output |
VC75 | X position |
VC76 | Y position |
VC78 | Size |
VC80 | X error |
VC81 | Y error |
VC83 | Size error |
VC85 | True position error |
VC86 | Metal condition |
O9815 — Internal Corner
| Var | Output |
VC75 | X position |
VC76 | Y position |
VC78 | Size |
VC79 | X surface angle |
VC80 | X error |
VC81 | Y error |
VC82 | Y surface angle |
VC83 | Y angle error |
VC84 | X angle error |
VC85 | True position error |
O9816 — External Corner
| Var | Output |
VC75 | X position |
VC76 | Y position |
VC79 | X surface angle |
VC80 | X error |
VC81 | Y error |
VC82 | Y surface angle |
VC83 | Y angle error |
VC84 | X angle error |
VC85 | True position error |
O9817 — 5 Point Rectangle
| Var | Output |
VC75 | X position |
VC76 | Y position |
VC79 | Component angle |
O9818 — 4th Axis
| Var | Output |
VC79 | 4th angle |
VC83 | Height error |
VC84 | Angle error |
O9819 — PCD Bore
| Var | Output |
VC75 | X position |
VC76 | Y position |
VC78 | Size |
VC79 | Angle |
VC80 | X error |
VC81 | Y error |
VC82 | PCD error |
VC83 | Size error |
VC84 | Angle error |
VC85 | True position error |
VC86 | Metal condition |
VC87 | Hole number |
O9820 — Stock Allowance
| Var | Output |
VC84 | Maximum value |
VC85 | True position error |
VC86 | Variation (stock) |
O9821 — Angle Single Surface (AD Input)
| Var | Output |
VC75 | X position |
VC76 | Y position |
VC78 | Size from start |
VC80 | X error |
VC81 | Y error |
VC83 | Size error |
VC85 | True position error |
VC86 | Metal condition |
O9821 — Angle Single Surface (XYZ Input)
| Var | Output |
VC75 | X position |
VC76 | Y position |
VC77 | Z position |
VC78 | Size |
VC80 | X error |
VC81 | Y error |
VC82 | Z error |
VC85 | True position error |
VC86 | Metal condition |
O9822 — Angle Web / Pocket
| Var | Output |
VC75 | X position |
VC76 | Y position |
VC78 | Size |
VC80 | X error |
VC81 | Y error |
VC83 | Size error |
VC85 | True position error |
VC86 | Metal condition |
VC87 | Direction indicator |
O9823 — 3 Point Bore / Boss
| Var | Output |
VC75 | X position |
VC76 | Y position |
VC78 | Size |
VC80 | X error |
VC81 | Y error |
VC83 | Size error |
VC85 | True position error |
VC86 | Metal condition |
O9834 — Feature to Feature
| Var | Output |
VC75 | X incremental distance |
VC76 | Y incremental distance |
VC77 | Z incremental distance |
VC78 | Minimum distance |
VC79 | Angle |
VC80 | X error |
VC81 | Y error |
VC82 | Z error |
VC83 | Minimum distance error |
VC84 | Angle error |
VC85 | True position error |
VC86 | Metal condition |
O9843 — XY Angle Measure
| Var | Output |
VC79 | Angle |
VC83 | Height error |
VC84 | Angle error |
Worked Example: Probe a Feature and Use the Output
The tables above tell you where each cycle leaves its results — this program shows the full loop in use: call the O9814 bore/boss cycle, copy its VS outputs somewhere safe, gate on tolerance with IF/GOTO, and write the measured center error into the active work offset via the OSP work-zero system variables VZOFX/VZOFY.
( ===== PROBE A 25.0 MM BORE AND CORRECT WORK OFFSET SET 1 ===== )
( PROBE IS CALIBRATED AND IN THE SPINDLE, SPINDLE STOPPED )
G15 H1 ( ACTIVATE THE WORK OFFSET WE INTEND TO CORRECT )
G00 X0 Y0 ( RAPID OVER THE NOMINAL BORE CENTER )
G00 Z5.0 ( 5 MM ABOVE THE FACE )
CALL O9814 D=25.0 Z=-8.0 ( BORE/BOSS CYCLE - MEASURE THE BORE 8 MM DOWN )
( COPY THE RESULTS OUT OF THE VS OUTPUT VARIABLES BEFORE THE )
( NEXT PROBING CYCLE OVERWRITES THEM )
VC1=VS75 ( MEASURED X CENTER )
VC2=VS76 ( MEASURED Y CENTER )
VC3=VS78 ( MEASURED DIAMETER - SIZE )
VC4=VS80 ( X ERROR )
VC5=VS81 ( Y ERROR )
VC6=VS83 ( SIZE ERROR )
( TOLERANCE GATE: REJECT IF THE BORE IS MORE THAN 0.05 MM OFF SIZE )
IF [ABS[VC6] GT 0.05] N900
( IN TOLERANCE - SHIFT THE WORK ZERO BY THE MEASURED CENTER ERROR )
( VZOFX/VZOFY ARE THE OSP WORK-ZERO SYSTEM VARIABLES; [1] = G15 H1 )
VZOFX[1]=VZOFX[1]+VC4 ( CORRECT X )
VZOFY[1]=VZOFY[1]+VC5 ( CORRECT Y )
GOTO N990
N900 M00 ( STOP: SIZE OUT OF TOLERANCE - OFFSET NOT TOUCHED )
( OPERATOR: INSPECT THE BORE AND REMEASURE BEFORE CONTINUING )
N990 G00 Z100.0 ( RETRACT CLEAR )
M02
Two habits worth keeping: first, always copy the VS results into VC variables (or act on them) immediately — every cycle in the tables above reuses the same VS75–VS89 slots, so the next probing call clobbers them. On installations configured for VC output, read the VC75–VC89 equivalents instead. Second, prove the sign convention on your machine before trusting the offset write: rerun the same O9814 call after the correction and confirm the X/Y errors (VS80/VS81) collapse toward zero — if they doubled instead, the correction needs the opposite sign.
References
- Renishaw, Inspection Plus Programming Manual, Renishaw plc.
- Okuma, OSP Programming Manual, Okuma Corporation.