Independent CNC repair and technical reference Contact

FANUC three-dimensional tool compensation: why IJK sets both direction and magnitude with a fixed denominator

Published Updated

For 30i/31i/32i-B machining centers with a nonzero fixed denominator, original, doubled and normalized IJK values give different compensation displacements despite identical direction. The article also checks zero components, activation mode and vector retention during arcs.

Contents
  1. First limit the compensation type and fixed-denominator condition
  2. How the three components jointly determine displacement
  3. A zero component is not equivalent to an omitted address
  4. Verify linear blocks first, then other interpolation modes

Multiplying I, J and K by 2 in a postprocessor, or converting them to a vector of length 1, leaves their direction unchanged. In the FANUC three-dimensional tool-compensation configuration discussed here, however, it changes compensation displacement and is not merely an output-format adjustment.

First limit the compensation type and fixed-denominator condition

The FANUC 30i/31i/32i-B machining-center manual B-64484EN-2/03, §6.9, pages 240–242, and appendix page 389 (public mirror of the original manual) defines 3-dimensional tool compensation. This article is limited to machines with that function, positive compensation using G41, and 5011 already configured as a nonzero fixed denominator. It gives no recommendation to change that parameter.

The manual covers 30i-B, 31i-B, 31i-B5 and 32i-B; actual availability still depends on model configuration. IJK in this section expresses three-dimensional compensation direction and associated magnitude data. This must not be generalized into a universal definition for all five-axis tool-contact-point or tool-axis commands.

How the three components jointly determine displacement

The manufacturer's component relation is V=(ri/p,rj/p,rk/p), where i, j and k come from IJK, r is the compensation value selected by D, and p is the confirmed fixed denominator here. Independently applying Euclidean length gives |V|=|r/p|√(i²+j²+k²). With p fixed, input-vector length directly affects compensation-vector length.

Original model with consistent millimeter input: the compensation table holds r=10 mm and fixed p=5. The number after D selects a table entry; it does not directly mean 10 mm. The following three IJK vectors have exactly the same direction but produce different displacements.

Postprocessor outputIJK valuesResulting V, mm|V|
Original vector(3,0,4)(6,0,8)10 mm
All components multiplied by 2(6,0,8)(12,0,16)20 mm
Converted to a unit vector(0.6,0,0.8)(1.2,0,1.6)2 mm

For example, the first row gives Vx=10×3/5=6 and Vz=10×4/5=8, with length √(6²+8²)=10. The third row retains direction but reduces displacement to 1/5 of the original. A fixed denominator allows the program to express both direction and magnitude; IJK must not be normalized automatically without understanding that convention.

A zero component is not equivalent to an omitted address

Page 241 requires all of I, J and K when starting three-dimensional compensation from compensation cancel. If any is missing, two-dimensional cutter compensation is entered instead. J=0 in the example is still an explicit component. Removing the entire J address in a postprocessor changes the activation condition. Review numeric scaling and deletion of zero-valued addresses as separate output changes.

Verify linear blocks first, then other interpolation modes

Page 242 states that circular, helical and involute interpolation retain the compensation vector generated by the preceding block. Results recalculated from new IJK values as in the table must not be treated as continuous normal-direction compensation during those interpolation modes.

For offline checking, first select a linear block that clearly generates a vector under this section. Substitute actual IJK, the compensation-table value and the confirmed fixed denominator, then compare all three components. If directions match but magnitudes differ by an integer factor, investigate input-vector scaling. If the mode itself differs, first check whether all activation addresses are present. This model contains no entry or exit moves and is not an executable cutting program. Other compensation resources are in the OPTION section.

Related technical articles

FANUC optional rotary-axis control: how the sign of an absolute command selects directionFANUC direction-dependent high-speed position switches: why one coordinate can give different outputsFANUC flexible synchronization: matching speed and aligning phase are separate conditions