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.

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 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 velocityIn controller mode
SMC_torque
to compute the set position from the actual position and the actual velocityIf software position lag supervision is turned on
In the
SMC_GetTravelTime
function block if the inputValueSource
has the valueMC_SOURCE.ACT
In the
SMC_DigitalCamSwitch_HighPrecision
function block if the inputValueSource
has the valueMC_SOURCE.ACT
In the
SMC_ETC_InterpolateAxisPosition
function block (PLC based touch probe)