To compensate for dead time, a constant velocity is required for the duration of the compensation time.
Consider the type if the encoder position is shared via C2C:
For a physical master encoder: LE.Delay = -Axis.ShaftRefDelay + C2C_EncIn.DataDelay
For an axis: LE.Delay = One SERCOS cycle of C2C controller with connected master axis + C2C_EncIn.DataDelay
Example of synchronous run of an axis to a master encoder:
Values of the delay parameters with a Sercos Cycle Time of 1 ms
Object |
Parameter |
Type |
Value [ms] |
Reasoning |
---|---|---|---|---|
LEnc2 |
Delay |
EF |
-Axis_Sync.ShaftRefDelay |
Compensation of the "Sercos distance". |
Axis_Sync2 |
ShaftDelay |
AD |
0.46994 ms(1) |
Dead time of the "Sercos distance" for the actual position. |
Axis_Sync2 |
ShaftRefDelay |
AD |
-3.90506 ms(1) |
Dead time of the "Sercos distance" for the target position. |
1. Example value |
PositionWithoutDelay is used to maintain the position of the master encoder shaft at a marker (TouchProbe event).
FC_TPEdge(TPld:=IM_0.LogAdr, DevId:=LEnc1.LogAdr, ParType:=6, (*PositionWithoutDelay*) PoaEdge:=TRUE, LowLimit:=IrLowLimit, HighLimit:=IrHighLimit);
ShaftMechPosition is used to maintain the position of the shaft of the "subsequent" axis at a marker (TouchProbe event).
FC_TPEdge(TPId:=IM_1.LogAdr, DevId:= Axis_Sync.LogAdr, ParType:= 4, (* ShaftMechPosition *) PosEdge:= TRUE, LowLimit:= lrLowLimit, HighLimit:= lrHighLimit);
Example of a synchronous run of an axis to a virtual axis that follows a master encoder:
Values of the delay parameters with a Sercos CycleTime of 1 ms
Object |
Parameter |
Type |
Value [ms] |
Reasoning |
---|---|---|---|---|
LEnc1 |
Delay |
EFC |
-Axis_Sync.ShaftRefDelay |
Compensation of the "Sercos distance". |
Axis_Sync |
ShaftDelay |
AD |
0 ms |
0,since axis is virtual. |
Axis_Sync |
ShaftRefDelay |
AD |
0 ms |
0,since axis is virtual. |
LEnc2 |
Delay |
EFC |
-Axis_Sync2.ShaftRefDelay |
Compensation of the "Sercos distance". |
AxisSync2 |
ShaftDelay |
AD |
0.46994 ms (1) |
Dead time of the "Sercos distance" for the actual position. |
Axis_Sync2 |
ShaftRefDelay |
AD |
-3.90506 ms(1) |
Dead time of the "Sercos distance" for the target values. |
1. Example value |
Values of the delay parameters with a Sercos CycleTime of 1 ms
Object |
Parameter |
Type |
Value [ms] |
Reasoning |
---|---|---|---|---|
LEnc1 |
Delay |
EFC |
-Axis_Sync.ShaftRefDelay |
Compensation of the "Sercos distance". |
Axis_Sync |
ShaftDelay |
AD |
0.41975 ms (1) |
Dead time of the "Sercos distance" for the actual position. |
Axis_Sync |
ShaftRefDelay |
AD |
-3.230250 ms (1) |
Dead time of the "Sercos distance" for the target values. |
LEnc2 |
Delay |
EFC |
0 |
0, since "Sercos distance" is already compensated for in LEnc1 and Axis_Sync is a real axis. |
Axis_Sync2 |
ShaftDelay |
AD |
0.41975 ms (1) |
Dead time of the "Sercos distance" for the actual position. |
Axis_Sync2 |
ShaftRefDelay |
AD |
-3.230250 ms (1) |
Dead time of the "Sercos distance" for the target values. |
1. Example value |