Skip to main content

Kollmorgen Support Network

EtherCAT Motion Tasks | 05 Aug 2014 | |

EtherCAT Motion Tasks

Valid for S700 & S300 with -EC Option. Fw  5.18

General

The firmware  ≥ 5.18 implements a motion tasks functionality that can be used for advanced positioning functions.

This functionality requires the XML file version 9a or newer (see the Downloads page, under "Fieldbus Support"). Additionally the configuration bit 16 of DRVCNFG3 parameter has to be set to 1 (0x10000).

The Optioncard EtherCAT (old) doesn't support the Motion task over EtherCAT

PDO Mappings

S700 input

0x1710 Object 0x607A subindex 0 : Target position (4 bytes, ASCII parameter O_P)
  Object 0x6081  subindex 0 :  Target velocity (4 bytes, ASCII parameter O_V)
  Object 0x35B9 subindex 1 : motion task control word (4 bytes, O_C)
  Object 0x35B7 subindex 1 : motion task acceleration (4 bytes, O_ACC)
  Object 0x35BA subindex 1 : motion task deceleration (4 bytes, O_DEC)
  Object 0x35BA subindex 1 : motion task profile number (2 bytes, O_TAB)
  Object 0x6040  subindex 0 : drive control word (2 Byte, no ASCII parameter)
  Object 0x2802  subindex 0 : latch control word (2 Byte, no ASCII parameter)

S700 output

0x1B08 Object 0x6064 subindex 0 : position real value (4 bytes, PFB)
  Object 0x6077 subindex 0 : current real value (2 bytes, I)
  Object 0x60F4 subindex 0 : following error (4 bytes, PE)
  Object 0x6061 subindex 0 : current operation mode (2 bytes, OPMODE)
  Object 0x6041 subindex 0 : drive status word(2 bytes, no ASCII parameter)
  Object 0x2901 subindex 0 : latch status word ( 2 bytes, no ASCII parameter)
  Object 0x2902 subindex 0 : latched position (4 bytes, LATCH1P32)

Due to performance issues, only the most important motion task parts can be transmitted inside of the mapping area. If required, the missing parts must be transmitted separately as SDO.

Motion task parts which are not components of the mapping data:

  • Number of following motion tasks – SDO 0x35BC (ASCII command O_FN)
  • Delay before starting following motion tasks – SDO 0x35BD (ASCII command O_FT)
  • Number of the internal profile table – SDO 0x35B8 (ASCII command O_TAB)

Drive status word (2 Bytes)

Bit Value (bin) Value (hex) Description
0 00000000 00000001 0x0001 =0 drive ready to switch on
1 00000000 00000010 0x0002 =0 drive switched on
2 00000000 00000100 0x0004 =0 drive enabled by fieldbus control word
3 00000000 00001000 0x0008 =1 error active
4 00000000 00010000 0x0010 reserve
5 00000000 00100000 0x0020 =0 emergency active, power stage disabled
6 00000000 01000000 0x0040 =1 lock for switch on
7 00000000 10000000 0x0080 =1 warning active
8 00000001 00000000 0x0100 =1 following error active
9 00000010 00000000 0x0200 =1 homing done
10 00000100 00000000 0x0400 =1  in position
11 00001000 00000000 0x0800 =1 hardware/software limit switch active
12 00010000 00000000 0x1000 =1 cyclic communication O.K.
13 00100000 00000000 0x2000 =1 internal emergency mode active
14 01000000 00000000 0x4000 =1 hard error  (COLDSTART required)
15 10000000 00000000 0x8000 =1 motion task /  homing active

Drive control word (2 Bytes)

Bit Value (bin) Value (hex) Description
0 00000000 00000001 0x0001 =0  disable the drive immediately
1 00000000 00000010 0x0002 =0  stop the motion and disable the drive
2 00000000 00000100 0x0004 =0  stop the motion, drive remains enabled
3 00000000 00001000 0x0008 =1  lock for set points
4 00000000 00010000 0x0010 Rising edge = motion task data valid
Falling edge = start motion task
5 00000000 00100000 0x0020  
6 00000000 01000000 0x0040  
7 00000000 10000000 0x0080 =1 clear error
8 00000001 00000000 0x0100  
9 00000010 00000000 0x0200  
10 00000100 00000000 0x0400  
11 00001000 00000000 0x0800 =1 start homing move
12 00010000 00000000 0x1000 =1 save parameter in EEPROM (SAVE command)
13 00100000 00000000 0x2000  
14 01000000 00000000 0x4000  
15 10000000 00000000 0x8000   

How to use

Definition and start of a direct motion task

Required steps:

  • Definition of the motion task components which are not in the 0x1710 mapping. The according SDOs have to be used for them, like 35BC sub 1 for O_FN etc.
  • Definition of the motion task-components within the 0x1710 mapping.
  • Enabling of the servo amplifier with step-wise writing of the control word values 0x6, 0x7 and 0xF.
  • Set bit 4 of the control word. The rising edge causes the takeover of the motion task data into the direct motion task 0.
  • With the falling edge on bit 4 of the control word the motion task is started.

Start of a predefined motion task from the servo amplifier's memory

Required steps:

  • Setting of the motion task components in the 0x1710 mapping to 0 (at least position and target velocity).
  • Setting the motion task control word to the number of the motion task to be started (MTNo=1…300).
  • Set bit 4 of the control word. The rising edge causes the takeover of the motion task number MTNo from the motion task control word.
  • With the falling edge on bit 4 of the control word the motion task MTNo from the servo amplifier's memory is started. 

Motion task execution

  • At the start of the motion task bit 15 (motion task active) of the servo amplifier's status word is set to 1. Additional bit 10 (in position) of the servo amplifier's status word is set to 0.
  • When the difference between the current position and the target position is smaller than in position window (INPOS), bit 10 (in position) of the servo amplifier's status word is set to 1.
  • After the target position is reached and the motion task is done, bit 15 (motion task active) is set to 0.
  •  The motion task is completely done when bit 10=1 and bit15=0.

Motion task abort

Setting of the bits  0,1,2,3 of the servo amplifier's control word to 0 aborts the running motion task.

Possible situations:

  • Bit 0 = 0, disable the servo amplifier immediately
  • Bit 1 = 0, stop the motion first and disable the servo amplifier
  • Bit 2 = 0, stop the motion, servo amplifier remains enabled
  • Bit 3 = 0, stop the motion, servo amplifier remains enabled, rising edge continues aborted motion task
Back to top

About this Article

Kollmorgen Support