CPB CANopen Technical Manual

Interpolated Position Mode



Interpolated position mode is used to synchronize multiple axes. For this purpose, a higher-level controller performs the ramp and path calculation and passes the respective demand position, at which the axis is to be located at a certain time, to the controller. The controller interpolates between these intermediate position points.

Synchronization with the SYNC object

For interpolated position mode, it is necessary that the controller synchronizes with the SYNC object (depending on the fieldbus). This SYNC object is to be sent by the higher-level controller in regular intervals. Synchronization occurs as soon as the controller is switched to the Operational NMT mode.

Note: Where possible, it is recommended that a time interval of the SYNC object be used.


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

  • Bit 4 activates the interpolation when it is set to "1".
  • Bit 8 (Halt): If this bit is set to "1", the motor stops. On a transition from "1" to "0", the motor accelerates with the set start ramp to the target speed. On a transition from "0" to "1", the motor brakes and comes to a standstill. The braking deceleration is dependent here on the setting of the "Halt Option Code" in object 605Dh.


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

  • Bit 10: Target position reached: This bit is set to "1" if the target position was reached (if the halt bit in the controlword is "0") or the axis has speed 0 (if the halt bit in the last control word was "1").
  • Bit 12 (IP mode active): This bit is set to "1" if interpolation is active.

  • Bit 13 (Following Error): This bit is set in closed loop mode if the following error is greater than the set limits (6065h (Following Error Window) and 6066h (Following Error Time Out)).


The controller follows a linearly interpolated path between the current position and the preset target position. The (next) target position must be written in record 60C1h:01h.

In the current implementation, only

  • linear interpolation
  • and a target position

are supported.


The following setup is necessary:

  • 60C2h:01h: Time between two passed target positions in ms.
  • 60C4h:06h: This object is to be set to "1" to be able to modify the target position in object 60C1h:01h.
  • 6081h (Profile Velocity): Maximum speed with which the position is to be approached
  • 6084h (Profile Deceleration): Desired braking deceleration during braking
  • 60C6h: (Max Deceleration): The maximum allowed braking deceleration
  • Only if closed loop is activated: The speed is limited by 607Fh (Max Profile Velocity) and 6080h (Max Motor Speed); the smaller value is used as the limit.
  • To be able to turn the motor, the power state machine is to be set to the Operation enabled state (see CiA 402 Power State Machine).


After setting up, the task of the higher-level controller is to write the target positions to object 60C1h:01h in time.

▶   下一个