Init Parameter

General

Name

Default value

Unit

Type

Position Interpretation

Incremental

 

MC.EEncoderInterpretation

 

Maximum Absolute Counter Value

(Visibility depends on position interpretation)

1048575

INC

UDINT

Position Data Range

FullRange

 

MC.EEncoderDataRange

 

Minimum Counter Value

(Visibility depends on the position data range setting)

32-bit encoder system

  • unsigned: 0
  • signed: -2147483648

INC

LINT

 

Maximum Counter Value

(Visibility depends on the position data range setting)

32-bit encoder system

  • unsigned: 4294967295
  • signed: 2147483647

INC

LINT

Feedback Velocity Source

HardwareProvidedIfAvailable

 

MC.EEncoderFeedbackVeloSource

Position Interpretation

The Position Interpretation parameter defines the semantics according to which the values are transmitted by the position encoder and interpreted by the MC3 axis.

Incremental

The Incremental setting does not use the absolute properties of the physical feedback system, but can be used with both incremental and absolute encoder systems. After starting the controller, homing is required to initialize the actual position of the axis (IsPositionValid = FALSE).

AbsoluteFullRange

The AbsoluteFullRange setting is typically used with multi-turn or single-turn absolute encoders. The MC3 axis takes into account the entire data range of the data type in the I/O mapping (FullRange). The maximum number of increments corresponds to the upper limit of the data type. The size of the data type is specified in the protocol used.

When the controller is powered on or restarted and position limits are enabled, the axis signals IsPositionValid = TRUE. Configuring and enabling the software-based position limits for the axis allows the axis position to be restored after a controller restart. This applies to a maximum of one overflow of the transmitted increments. The position limits must be selected such that the resulting possible travel range of the axis is less than the encoder’s counting range (FullRange).

If the position limits are disabled, the axis signals this with IsPositionValid = FALSE. A homing run is not required for AbsoluteFullRange.

AbsolutUserDataRange

The same boundary conditions apply as for the setting. AbsoluteFullRange. In addition, the parameter Maximum Absolute Counter Value is displayed and taken into account:

  • Maximum Absolute Counter Value
    Unique maximum number of increments that the encoder system transmits (within the limits of the data type used). For example, the default value is set to 2^20-1.

AbsoluteModulo

The position increments are transmitted by the I/O device using modulo logic. For example, if one revolution of the encoder system corresponds to the modulus of the MC3 axis, the position is unique within this range. The axis indicates IsPositionValid = TRUE.

Position Data Range

The Position Data Range parameter defines the value range of the encoder system that is used for position calculation. This refers to the raw value received from the drive or encoder via the process data (PDO mapping) and enables the detection and handling of overflows. The parameter can only be changed at configuration time, not at runtime.

FullRange

Position overflow is based on the data type limits of the respective encoder system. For a signed 32-bit encoder system (e.g., CoE DS402 Drive (AX8000), SoE Drive (AX5000), EtherCAT encoder), this implicitly means a value range from -2147483648 to 2147483647. For an unsigned 32-bit encoder system (e.g., MDP742 Drive (selected ELM72xx), SSI encoder), this implies a value range from 0 to 4294967295.

UserDefined

This parameter value allows you to manually enter the range limits used to determine an overflow. Two additional parameters for entering the upper and lower limits will be displayed:

  • Minimum Counter Value
  • Maximum Counter Value

Feedback Velocity Source

Specifies the source of the actual velocity (AXIS_REF.McToPlc.Act.Velocity). The velocity can either be obtained from the hardware being used or calculated internally by differentiating the actual position value.

HardwareProvidedIfAvailable (Default value)

Uses the velocity provided by the hardware. If no entry for the actual velocity is mapped in the process data, it is automatically calculated internally.

InternallyCalculated

Velocity is always calculated from the derivative of the actual positions. Actual hardware velocities are ignored, even if they are available.

HardwareProvided

The velocity is always taken directly from the hardware feedback. This requires linking the actual velocity via process data (PDO mapping). If the mapping is missing, this will result in an error when the configuration is started.

Scaling

Name

Default value

Unit

Type

Position Scaling Numerator from Hardware

360

[PosUnit]/INC

LREAL

Position Scaling Denominator from Hardware

1048576.0

 

LREAL

Encoder Mounting Offset

0.0

[PosUnit]

LREAL

Direction Inverted

FALSE

 

BOOL

Velocity Scaling Numerator from Hardware

1.0

[PosUnit]/(INC*s)

LREAL

Velocity Scaling Denominator from Hardware

1.0

 

LREAL

The position scaling factor is divided into a numerator and a denominator. It is used to convert the path increments into axis positions or to calculate a user unit from encoder increments.

Position Scaling Numerator from Hardware

Position Scaling Numerator From Hardware is the feed rate that the application applies when the output shaft has completed one revolution.

Position Scaling Denominator from Hardware

Position Scaling Denominator From Hardware is the number of increments that the drive outputs when the motor shaft has completed one revolution.

Example 1 on position scaling:

Motor without gear unit with 100 mm pinion on AX5000 with default settings:

Example 2 on position scaling:

Motor with gear unit with i=10 on turntable on AX5000 with default settings:

Encoder Mounting Offset

An offset used to correct the position of an encoder system or align it within the machine coordinate system, thereby defining the machine-specific zero point. This offset is restored when the controller is restarted.

Direction Inverted

The Direction Inverted parameter can reverse the counting direction of the encoder or drive:

WARNING

Risk of injury from unexpected movements

If the counting direction of the encoder and the motor polarity do not match, the axis will perform unexpected movements.

  • When commissioning the system, make sure that the drive's direction of rotation is set correctly.
  • Always maintain a safe distance.

Velocity Scaling Numerator from Hardware

Used to calculate the actual velocity value from the encoder pulses.

Velocity Scaling Denominator from Hardware

Used to calculate the actual velocity value from the encoder pulses.

Dead Time Compensation

A requirement for high-precision conversion of positions into times and vice versa is precise dead time compensation of the axes.

Name

Default value

Unit

Type

Dead Time Compensation

NonlinearShift

 

MC.EDeadTimeCompensationMode

 

Additional Time Shift from Hardware

0.0

ms

LREAL

Dead Time Compensation

Specify how the compensated target value and actual value are to be calculated. The dead time is automatically determined during EtherCAT initialization.

Additional Time Shift from Hardware

Additional offset of the automatically calculated dead time to compensate for the current position.

Connection

Name

Default value

Unit

Type

AMS address

0.0.0.0.0.0:0

 

 

 

.netId

0.0.0.0.0.0

 

AMSNETID

 

.port

0x0000

 

WORD

Channel Number

0

 

UDINT

EtherCAT Slave Oid

00000000

 

OTCID

AMS address

Information about the address of the assigned hardware drive (read-only); no manual configuration is required. It is used for communication purposes.

Channel Number

Information about the channel number of the assigned hardware drive (read-only); no manual configuration is required. It is used for communication purposes.

EtherCAT Slave Oid

Object ID of the EtherCAT slave.

Status Mask

Name

Default value

Unit

Type

Status Word Error Mask

0x0008

 

WORD

Actual Position Filter

Name

Default value

Unit

Type

Filter Type

None

 

MC.EFilterType

 

Filter Time Position

0.0

s

LREAL

 

Filter Time Velocity

0.0

s

LREAL

 

Filter Time Acceleration

0.01

s

LREAL

 

Filter Time

0.001

s

LREAL

Filter Type

None

No filter is applied.

PT1-Filter

This is a first-order delay element (digital low-pass filter, proportional element with first-order delay) used to smooth out noisy signals (actual value). The PT1 filter is applied independently to the three actual values: position, velocity, and acceleration. Each variable has its own filter time constant. The filter time constants should be selected from the positive range of values. The value 0.0 disables filtering for the corresponding variable. The larger the filter time constant, the more the actual value is smoothed, and the greater the delay.
Because the variables are filtered separately, the output values are not necessarily consistent with each other.

MovingAverage-Filter

The moving-average filter calculates the arithmetic mean over a sliding time window of the last N input values and is thus a simple FIR low-pass filter (with a finite impulse response).
The moving-average filter is applied independently to the three actual values: position, velocity, and acceleration. Each variable has its own window length: N. The window length is calculated as the quotient of the parameterized filter time and the cycle time. The maximum window length is 1000 data points. The dead time is equal to half the window length.
Since the variables are filtered separately, the output values are not necessarily consistent with one another.
With a filter time of 0.0, the actual value is processed immediately and is not filtered. A long filter time results in significant smoothing and increases the dead time.

KalmanFilter3x1

The 3x1 Kalman filter estimates a set of position (s), velocity (v), and acceleration (a) values based on the continuous actual position values. On the one hand, this serves to reduce noise; on the other hand, the calculation of (s, v, a) is performed consistently, i.e., taking into account the interdependence of these variables. 3x1 indicates that the filter has three output variables (s, v, a) and one input variable (s).
It is often advantageous for (s, v, a) to be consistent with one another. In particular, the Kalman filter is recommended when coupling an axis to an encoder signal.
The 3x1 Kalman filter is configured using the “Filter Time” parameter, which defines the time scale used to calculate (s, v, a). The choice of this parameter represents a trade-off between noise reduction and dynamic response. A longer filter time results in greater noise reduction but a decrease in responsiveness, and vice versa (see the Filter Time parameter below).

Filter Time Position

This parameter is enabled when the Filter Type is set to PT1 or MovingAverage . The value 0.0 disables position filtering. The filter time constant must be selected from the positive range of values. The larger the filter time constant, the more the actual value is smoothed, and the greater the delay.

Filter Time Velocity

This parameter is enabled when the Filter Type is set to PT1 or MovingAverage . The value 0.0 disables velocity filtering. The filter time constant must be selected from the positive range of values. The larger the filter time constant, the more the actual value is smoothed, and the greater the delay.

Filter Time Acceleration

This parameter is enabled when the Filter Type is set to PT1 or MovingAverage . The value 0.0 disables acceleration filtering. The filter time constant must be selected from the positive range of values. The larger the filter time constant, the more the actual value is smoothed, and the greater the delay.

Filter Time

The parameter is active when the Filter Type is set to KalmanFilter3x1 . The Kalman filter is adapted to the application using a simplified parameterization with a single filter time constant. The larger the filter time constant, the greater the degree of smoothing.