Tab: Logical Axes

Axis type

Modulo

: The drive turns endlessly without limiting the traversing range (example: belt drive).

Modulo settings

Modulo value: Value of one cycle

The value is saved in the fPositionPeriod parameter of the AXIS_REF_SM3 function block.

Note: If you select the Modulo drive type, then the product fPositionPeriod * dwRatioTechUnitsDenom has to be an integer.

Finite

: The drive has a fixed work area (example: one linear drive).

  • Negative: Input field for the negative limiting value

  • Positive: Input field for the positive limiting value

Master reference value

Set

: The set value of the master is used as the input for the logical axis and the dead-time compensation.

Actual

: The actual value of the master is used as the input for the logical axis and the dead-time compensation.

Time offset

Time offset relative to the master values

Number of cycles

The set values have to be extrapolated in this time span

Input data filters

With the filters, it is possible to smooth the position and velocity values of an encoder using a PT1 filter.

Position

Number of cycles used as the time constant of the PT1 filter.

Value range: [0..999.9]

Value 0: No filtering is performed (raw values are returned).

The filtered return value is a combination of a PT1 filtered position signal and an additional position extrapolation using the velocity signal. The extrapolation itself also uses a PT1 filter to mitigate noise and automatically selects an appropriate time constant:

  • If only set values should get filtered or the axis sends the velocity signal, then the time constant of the extrapolation PT1 is the same as for the position PT1 filter.

  • Otherwise, an heuristic approach is used:

    TExtrapolate = (TPos + TDead) * TPos / TCycle

    TExtrapolate: Time constant from the PT1 extrapolation filter

    TPos: Time constant from the PT1 position filter

    TCycle: Cycle time

    TDead: Dead time compensation, using the time shift relative to the master values of the logical axis nShift and the cycle time TCycle: TDead = nShift * TCycle

Velocity

Number of cycles used as the time constant of the PT1 filter.

Value range: [0..999.9]

Value 0: No filtering is performed (raw values are returned).

The filtered return value is a combination of a PT1 filtered velocity signal and an additional velocity extrapolation using the acceleration signal. Note that the extrapolation is used only if the axis sends a velocity signal or if set points should be filtered. The extrapolation itself also uses a PT1 filter to mitigate noise and automatically selects an appropriate time constant:

  • TExtrapolate = (TVel + TDead) * TVel / TCycle

    with

    TExtrapolate: Time constant from the PT1 extrapolation filter

    TVel: Time constant from the PT1 velocity filter

    TCycle: Cycle time

    TDead: Dead time compensation, using the time shift relative to the master values of the logical axis nShift and the cycle time TCycle: TDead = nShift * TCycle

Velocity signal of the logical axis (fActVelocity):

  • Case 1: Master reference value = Set

    fSetVelocity of the master axis is used as a raw value for the velocity signal of the logical axis.

  • Case 2: Master reference value = Actual and no velocity signal from the master axis.

    The numerical derivative of the filtered position of the logical axis (fActPosition) is used as a raw value for the velocity signal of the logical axis.

  • Case 3: Master reference value = Actual and a velocity signal from the master axis.

    The velocity signal is used as a raw value for the velocity signal of the logical axis.

Velocity filtering is performed on this raw signal. This means that if it is configured with the default value usiFilterDepthVelocity = 0, then this signal is passed unchanged to fActVelocity.

NOTICE

In case 2, it would also be possible to use the numerical derivative of the unfiltered position (fActPosition of the master axis). The filtered position has been selected because in this case the fActVelocity of the logical axis matches the fActPosition in the default configuration without velocity filtering.

NOTICE

For the velocity, the extrapolation of the filter delay is performed only in cases 1 and 3. In case 2, this would not be numerically stable or this would require too much filtering of the acceleration to be meaningful.

Acceleration of the logical axis (fActAcceleration)

Jerk of the logical axis (fActJerk)

The jerk of the logical axis (fActJerk) is either

IMPORTANT:

No dead time compensation is performed for the acceleration and jerk signal.

All set values (position, velocity, acceleration, and jerk) of the logical axis correspond to the actual values.

Write values

Writes the values of Input data filters and Time offset on the PLC.

Identification

ID

Unique ID of the logical axis