Online interpolation of interpolation point tables

As shown above, the current table description defines the slave position at the end of the cam as being = to the slave position at the start of the cam and is therefore only suitable for use with closed scanning.

If we go one step further, and want to interpolate between the interpolation points, the slave positions from the "neighbouring" modulo ranges are also used to compute information such as the pitch of the interpolated cam at a specific point.

Therefore, such an interpolation uses information that is not contained in the table as such, but in the definition of closed scanning.

Under the boundary conditions just pointed out, interpolation between the equidistant slave interpolation points is possible in linear fashion, cubically (only makes sense with very fine tables) or not at all.

The manufacturer-specific Input "MC_CamIn.TableFctType" to the PLCopen FB specifies how interpolation takes place between two table interpolation points:

HLI_STEP_DIRECT     : UDINT := 0;

Within the master position interval s_mi, s_mi+1 the slave position entry s_si is output.

HLI_LINEAR          : UDINT := 1;

Within the master position interval s_mi, s_mi+1 a linear interpolation is placed between the slave position entries s_si, s_si+1.

HLI_POLYNOM_3       : UDINT := 2;

Within the master position interval s_mi, s_mi+1 a constant tangent cubic Bezier spline is interpolated between the four adjacent slave position entries s_si-1, s_si, s_si+1, s_si+2. Polynomial coefficient calculation takes place online.

These interpolation types are shown in the following figure. Obtaining of tangent information at each interpolation point and also at the modulo limits is also hinted at in the bottom figure: at every interpolation point, the tangent is a parallel line to the straight line that passes through the two neighbouring interpolation points.

Interpolation types: "StepDirect"," Linear" and" Polynom_3"
Interpolation types: "StepDirect"," Linear" and" Polynom_3"