Skip to main content

Actual Values, Set Values, and Dead Time

This page answers the question of when the actual values and set values are received and sent, and how they are related to the dead time. For the sake of simplicity, we focus on the position, but the same applies to other values such as the velocity or torque. We also focus on EtherCAT. The behavior is similar for other fieldbuses. (Note that we assume the default and recommended configuration with FrameAtTaskStart = TRUE.)

When are the actual values received?

The actual position (<DriveA>.fActPosition) is received at the beginning of the current bus task cycle. It is the actual position of the drive at the time of the previous EtherCAT SYNC event.

In bus task cycle i, the EtherCAT frame which was sent in the previous bus task cycle i-1 is received. This frame contains the actual position which has been latched by the drive at SYNC event i-2.

_sm_img_dead_time.png

When are the set values sent?

The set values which are computed in the current bus task cycle i are sent to the drive in the following bus task cycle i+1 and applied by the drive at SYNC event i+1. See the diagram above.

What is the dead time, how is it estimated, and how is it used?

As a general rule, the dead time is important whenever it is necessary to perform an action exactly when the drive reaches a position. The dead time is also important to exactly determine the drive position at a given time. Examples include applying glue with high velocity, or performing a touch probe in the PLC with high precision digital inputs connected to the PLC.

Definition of the dead time

The dead time is the time it takes for the drive to actually reach the set position sent by the PLC. That means it is the time lag between the fActPosition and the fSetPosition, at the beginning of the current bus task cycle. The dead time can be configured in the general drive editor (Tab: General) or using the MC_WriteParameter function block with the parameter number 1070 (fSetActTimeLagCycles).

. The dead time is the sum the following times:
  • The time it takes to send the set position to the drive

  • The time the drive controller needs to reach the set position

  • The time it takes to receive the actual position from the drive

Estimation of the dead time

The dead time can be estimated using the SMC_EstimateDeadTime function block. The drive should be moved with constant velocity, and the median or average of several dead-time measurements should be used.

Alternatively, the dead time can be estimated using the trace editor. For more information, see the following: Determining the dead time of the system

Use of the dead time

The dead time is used in the following functionality. If you are using any of these functions and need high precision, make sure to determine and configure the dead time.

  • When switching controller mode to controller mode SMC_position

    For more information, see the following: Standard Use Cases

  • In controller mode SMC_velocity to compute the set position from the actual position and the set velocity

  • In controller mode SMC_torque to compute the set position from the actual position and the actual velocity

  • If software position lag supervision is turned on

  • In the SMC_GetTravelTime function block if the input ValueSource has the value MC_SOURCE.ACT

  • In the SMC_DigitalCamSwitch_HighPrecision function block if the input ValueSource has the value MC_SOURCE.ACT

  • In the SMC_ETC_InterpolateAxisPosition function block (PLC based touch probe)