CL3-E CANopen/USB Technical Manual

Profile Position

Overview

Description

The Profile Position Mode is used to move to positions relative to the last target position or to the absolute last reference position. During the movement, the limit values for the speed, acceleration and deceleration and jerks are taken into account.

Note
The limit switches - and therefore the tolerance bands - are active in this mode. See chapter "Tolerance bands of the limit switches" for further information about the limit switches.

Control word

The following bits in object 6040h (control word) have a special function:

  • Bit 4 starts a travel order. This is carried out on a transition of "0" to "1".
  • Bit 5: If this bit is set to "1", a travel order triggered by bit 4 is immediately carried out. If it is set to "0", the travel order just being carried out is completed and only then is the next travel order started.
  • Bit 6: If "0", the target position (607Ah) is absolute and if "1", the target position is relative to the actual position. The reference position is depending on the Bits 0 and 1 of the object 60F2h.
  • Bit 8 (Halt): At the transition from "1" to "0" the motor accelerates with the given start ramp to the target velocity. At the transition from "0" to "1" the motor decelerates and will come to a halt. The deceleration is depending on the settings in the "Halt Option Code" in object 605Dh.
  • Bit 9: If this bit is set, the speed is not changed until the first target position is changed. This means that braking is not performed before the first destination is reached as the motor should not stop at this position.

Controlword 6040h
Bit 9 Bit 5 Definition
X 1 The new target position is moved to immediately.
0 0 The positioning is not completed until the next target position is being moved to with the new limitations.
1 0 The current speed is held until the current target position is reached, and only then is the new target position moved to with the new values.

See the figure in "Setting move commands".

CAUTION
The bit 9 in the controlword will get ignored, when the velocity will fell below in the target set point. In this case the controller would need to back up and take a run-up to reach the target.

Status word

The following bits in object 6041h (status word) have a special function:

  • Bit 10: Target reached: This bit is set to "1" when the last target was reached and the motor is idling for a specified time (6068h) within a tolerance window (6067h).
  • Bit 12 (set-point acknowledge): This bit confirms the receipt of a new and valid target position. It is synchronously set and reset with the "New set-point" bit in the control word.

    An exception is if a new travel is started when another travel has not yet been completed and the next travel should only be carried out after the end of the first travel. In this case, the bit is only reset when the command has been accepted and the motor controller is ready to carry out new move commands. If a new travel order is sent although this bit is still set, the latest travel order is ignored.

    The bit is not set if one of the following conditions occurs:

    • The new target position can no longer be reached if the marginal conditions are adhered to.
    • A target position has already been moved to and a target position has already been specified. A new target position cannot be specified until the current positioning has been completed.
    • The new position is outside of the valid range (607Dh (Software Position Limit)).
  • Bit 13 (Following Error): This bit is set in closed loop mode if the following error is greater than the set limits is (6065h (Following Error Window) and 6066h (Following Error Time Out)).

Setting move commands

Move command

In object 607Ah (Target Position), the new target position is specified in user units (see "User-defined units"). Afterwards, the move command is triggered when bit 4 is set in object 6040h (control word). If the target position is valid, the motor controller responds with bit 12 in object 6041h (status word) and begins the positioning run. As soon as the position is reached, bit 10 is set to "1" in the status word.



The controller is able to release bit 4 in the object 6040h (Controlword) autonomously. This is controlled with bits 4 and 5 of the object 60F2h.

Further move commands

Bit 12 in object 6041h (status word, set-point acknowledge) changes to "0" if another move command can be buffered (see time 1 in the following diagram). While a target position is being moved to, a second target position can be transferred to the motor controller in preparation. All parameters - such as speed, acceleration, deceleration, etc. - can be reset (time 2). After the buffer is empty again, the next time can be added to the sequence (time 3).

If the buffer is already full, a new time is ignored (time 4). If bit 5 in object 6040h (control word, bit: "Change Set-Point Immediately") is set, the motor controller operates without the buffer and new move commands are implemented directly (time 5).

Times



Transition procedure for second target position

The following graphic shows the transition procedure for the second target position while the first target position is being moved to. In this figure, bit 5 of object 6040h (control word) is set to "1" and the new target value is adopted immediately.



Options for moving to a target position

If bit 9 in object 6040h (control word) is "0", the actual target position is first moved to completely. In this example, the end speed (6082h ) of the first target position is zero. If bit 9 is set to "1", the end speed is held until the target position is reached; only then do the new marginal conditions apply.



Possible move command combinations

In this chapter combinations of move commands are listened and pictured in order to get a better overview of the move commands.

The following images assume:
  • A double arrow marks a new positioning command.
  • The first command from start is always an absolute positioning move to the position 1100.
  • The second move is done with a slower speed in order to get a clearly represented graph.

Marginal conditions for a positioning run

Object entries

The marginal conditions for the position to which the run is made can be set in the following entries of the object directory:

  • 6064h (Position Actual Value): Actual position of the motor
  • 607Ah (Target Position): Planned target position
  • 607Bh (Position Range Limit): Definition of the limit stops (see the section below)
  • 607Ch (Home Offset): Shifting of the machine zero point (see "Homing")
  • 607Eh (Polarity): Direction of rotation
  • 6081h (Profile Velocity): Maximum speed with which the position should be moved to
  • 6082h (End Velocity): Speed when reaching the target position
  • 6083h (Profile Acceleration): Required acceleration
  • 6084h (Profile deceleration): Required deceleration
  • 6085h (Quick Stop Deceleration): Emergency stop deceleration in case of the "Quick stop active" state of the "DS402 Power State machine"
  • 6086h (Motion Profile Type): Type of ramp to be moved to; if the value is "0", jerk is not limited, if value is "3", the values from 60A4h :1h - 4h are set as jerk limitations.
  • 60C5h (Max Acceleration): The maximum acceleration that may not be exceeded when moving to the end position.
  • 60C6h (Max Deceleration): The maximum deceleration that may not be exceeded when moving to the end position
  • 60A4h (Profile Jerk), sub-index 01h to 04h : Objects for describing the limit values for the jerk. This value will be clipped by the "Real Jerk Limit" (see 2067h for further information).
  • 2067h (Jerk Limit (internal)): object for the jerk limit.

Objects for the positioning run

The following graphic shows the objects involved for the marginal conditions for the positioning run.



Parameters for the target position

The following diagram shows an overview of the parameters that are used for moving to a target position (figure is not to scale).



Precision loss with relative movements

Chaining relative move commands can lead to loss of precision, when having the "end velocity" set to a non zero value. The following image shows, why.

The current position is sampled once a millisecond. It is possible, that the target position is arrived between two samples. In case the end velocity is not zero the sample of the position value after arriving the target position will count as the new offset for the next movement. Therefore the next movement may be bit longer than expected.

Jerk-limited and non-jerk-limited mode

Description

Two basic modes exist: the "jerk-limited" and "non-jerk-limited" mode.

Jerk-limited mode

A jerk-limited positioning is achieved by setting object 6086h to "3". This causes the entries for the jerks in object 60A4h:01h- 04h to become valid.

Non-jerk-limited mode

A "0" in an entry means that there is no jerk limitation at the particular point in the profile.

If all four entries of object 60A4h are set to "0", a non-jerk-limited ramp is traveled.

A "non-jerk-limited" ramp is traveled in two ways: either all values of the jerk in the entries 60A4h:01h to 60A4h:04h are set to "0" and the object 6086h is set to "3", or the entry in the object 6086h is set to "0".

▶   next

Contents