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 FB1.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