Two fields, settleOnStop and settleOnEstop are incorporated
into the MPIAxisInPosition{} structure. These fields control the
generation and use of IN_FINE_POSITION, and DONE status bits and
events. A value of FALSE in these fields causes the IN_FINE_POSITION
to be held false after STOP (or E-STOP) events and DONE to be based
solely on command velocity (i.e. DONE is true as soon as the command
velocity reaches 0). A value of TRUE in these fields causes IN_FINE_POSITION
and DONE to be calculated in the same manner as that for normal
motion, except that the position where the command velocity reaches
zero is used for a target rather than the original Target Position.
The following table shows the generation of these status bits with
settleOnStop (settleOnEstop) = FALSE (the default value):
|
Motion Status
|
After S-curve
or Trapezoidal Move |
During Velocity Move |
After STOP (E-STOP) |
After ABORT |
IN_FINE_POSITION |
Based on target distance
(see note 3) |
FALSE |
FALSE |
FALSE |
IN_COARSE_POSITION |
Based on target distance |
FALSE |
FALSE |
FALSE |
AT_TARGET |
TRUE when command
= target |
FALSE |
FALSE |
FALSE |
DONE |
TRUE if both TC and
IN_FINE_POSITION are true |
FALSE |
TRUE when command velocity = 0 |
TRUE |
|
The following table shows the generation of these
status bits with settleOnStop (settleOnEstop) = TRUE:
|
Motion Status
|
After S-curve
or Trapezoidal Move |
During Velocity Move |
After STOP (E-STOP) |
After ABORT |
IN_FINE_POSITION |
Based on target distance
(see note 3) |
FALSE |
Based on position error (see note 1) |
FALSE |
IN_COARSE_POSITION |
Based on target distance |
FALSE |
FALSE |
FALSE |
AT_TARGET |
TRUE when command
= target |
FALSE |
FALSE |
FALSE |
DONE |
TRUE if both TC and
IN_FINE_POSITION are true |
FALSE |
Same as IN_FINE_
POSITION |
TRUE |
|
NOTE 1: IN_FINE_POSITION is
based on four criteria:
- The trajectory has completed (see note 2).
- |command position - actual position| < fine position tolerance.
- Target velocity - actual velocity| < velocity tolerance (the
default setting for velocity tolerance so large that this criteria
is ignored).
- The above 3 criteria have been satisfied for the duration specified
by the settling time parameter.
NOTE 2: The reference to "TC"
above refers to TRAJECTORY_COMPLETE, an internal status that is
set when all of the current motion segments (frames) have completed.
NOTE 3: The criteria used for
calculation of IN_FINE_POSITION after s-curve or trapezoidal motion
has changed to the following: (This is the same as the MPI-1 criteria.)
- The trajectory has completed (see note 2).
- |target position - actual position| < fine position tolerance.
- |command velocity - actual velocity| < velocity tolerance (the
default setting for velocity tolerance so large that this criteria
is ignored).
- The above 3 criteria have been satisfied for a duration specified
by the settling time parameter.
|
Return to MPIAxisInPosition

|