Back to top

AKD DS402 Position Scaling Setup

Some History: We have been making EtherCAT drives since ~1998. That was before EtherCAT.org and before the EtherCAT standard. We don’t want to “break” our existing Customers' applications so we kept the same original scaling in the AKD. But the rest of the world has started using EtherCAT and they are following the EtherCAT standard so we implemented a way for the new Customers to use the EtherCAT CoE DS402 standard method of scaling. But!! This does not include EtherCAT CANopen objects 0x6064 and 0x60C1. They are only scaled by FBUS.PSCALE

OpModes: There are many CoE (CANopen over EtherCAT) operations modes. Example: Profile Velocity or Interpolated Position (IP) or Cyclic Synchronous Position (CSP). Each OpMode has its own objects to command and feedback. Example: CSP used 0x607A for position command and 0x6064 for position feedback. IP uses 0x60C1 sub 1 for position command and 0x6063 for position feedback.

So, here is a cheat sheet for your understanding:

With FBUS.PARAM05 bit 4 = 0, all your position command and position feedback over EtherCAT will be 2^20 bit /rev of the motor.

UNIT.PIN      1048576
UNIT.POUT     1
UNIT.PROTARY  3
FB1.PSCALE    20 (scale for 0x6063 and 0x60C1 sub 1)

With this setting all the position command and position feedback canopen objects will be the same scale units, 2^20 bit.

With FBUS.PARAM05, bit 4 = 1, you now enter the maze of parameters known as DS402 CANopen standard for scaling. Here are the parameters in play:

AKD Parameter name CANopen Object Number Description Position feedback Position command ACC command DEC command
DS402.POSFCFEED 0x6092 sub 1 Position units, numerator of ratio of load to drive shaft units 0x6064 0x607A 0x6083 0x6084
DS402.POSFCSHAFTREV 0x6092 sub 2 Position units, denominator of ratio of load to drive shaft units 0x6064 0x607A 0x6083 0x6084
DS402.POSGEARMOTORREV 0x6091 sub 1 Position units, numerator of ratio of motor to drive shaft units 0x6064 0x607A 0x6083 0x6084
DS402.POSGEARSHAFTREV 0x6091 sub 2 Position units, denominator of ratio of motor to drive shaft units 0x6064 0x607A 0x6083 0x6084

Again, 0x6063 and 0x60C1 sub 1 are only controlled by FB1.PSCALE

So, to make this work with 2^20 bit / rev position scaling:

DS402.POSFCFEED        1
DS402.POSFCSHAFTREV    1
DS402.POSGEARMOTORREV  1