Setup of EtherCAT master to run an AKD2G in DS402: Profile Velocity Mode
This article was originally created using AKD2G Firmware AKD2G_01-90-13-000
Objective
Help setup the AKD2G in DS402 Profile Velocity mode.
This document assumes the EtherCAT Master has “free mapping” function available. The ability to select what data is to be shard every update cycle. This information may not make sense to you but (hopefully) it will make sense to the person helping set up your master.
I added the analog and digital I/O to the mapping. That is optional. The position units in my example are 65536 counts/rev. The velocity units in my example are in RPM.
AKD2G Single Axis Mapping example
CoE Master to Drive (RXPDO)
- Control Word, 0x6040
- Target Velocity, 0x60FF
- AOUT1, 0x3800sub02
- AOUT2, 0x3801sub02
- Digital Outputs, 0x3601sub01
Drive to CoE Master (TXPDO)
- Status Word, 0x6041
- Position feedback, 0x6064
- AIN1, 0x3780sub01
- AIN2, 0x3781sub01
- Digital Input, 0x60FDsub0
SDO Run-up script to configure the drive
Units will be 65536 counts/rev of the motor
Index | Data | Comment |
---|---|---|
0x1C12:00 | 0x00 | clear sm PDOs (0x1C12) |
0x1C13:00 | 0x00 | clear sm PDOs (0x1C13) |
0x1A00:00 | 0x00 | Clear RX-PDO1 |
0x1A00:01 | 0x60410010 | Map Axis1.status word |
0x1A00:02 | 0x60640020 | Map Axis1.position feedback |
0x1A00:03 | 0x37800110 | Map AIN1 |
0x1A00:04 | 0x37810110 | Map AIN2 |
0x1A00:05 | 0x60FD0020 | Map Digital Input |
0x1A00:00 | 0x05 | Set count to 5 |
0x1A01:00 | 0x00 | Clear RX-PDO2 |
0x1A02:00 | 0x00 | Clear RX-PDO3 |
0x1A03:00 | 0x00 | Clear RX-PDO4 |
0x1600:00 | 0x00 | Clear TX-PDO1 |
0x1600:01 | 0x60400010 | Map control word |
0x1600:02 | 0x60FF0020 | Map velocity command |
0x1600:03 | 0x38000210 | Map AOUT1 |
0x1600:04 | 0x38010210 | Map AOUT2 |
0x1600:05 | 0x36010120 | Map DOUT |
0x1600:00 | 0x05 | Set count to 5 |
0x1601:00 | 0x00 | Clear TX-PDO2 |
0x1602:00 | 0x00 | Clear TX-PDO3 |
0x1603:00 | 0x00 | Clear TX-PDO4 |
0x1C12:01 | 0x1600 | Download PDO 0x1C12:01 index |
0x1C12:00 | 0x01 | Download PDO 0x1C12 count |
0x1C13:01 | 0x1A00 | Download PDO 0x1C13:01 index |
0x1C13:00 | 0x01 | Download PDO 0x1C13 count |
0x3601:02 | 0xFFFFFFFF | Output mask |
0x6060:00 | 0x08 | Set OpMode to Cyclic Synchronous Position |
0x60C2:01 | 0x02 | Cycle time 2mS |
0x60C2:02 | 0xDF | Cycle exp. |
0x6096:01 | 0x0000003C | Vel Numerator (60 counts/rev) |
0x6096:02 | 0x00010000 | Vel Devisor (65536 counts/rev) |
0x6092:01 | 0x00010000 | Pos Feed (65536 counts) |
0x6092:02 | 0x00000001 | Pos Shaft Rotation (1 Rotation) |
AKD2G Dual Axis Mapping example
CoE Master to Drive (RXPDO)
- Axis1.Control Word, 0x6040
- Axis1.Target Velocity, 0x60FF
- Axis2.Control Word, 0x6840
- Axis2.Target Position, 0x68FF
- AOUT1, 0x3800sub02
- AOUT2, 0x3801sub02
- Digital Outputs, 0x3601sub01
Drive to CoE Master (TXPDO)
- Axis2.Status Word, 0x6041
- Axis2.Position feedback, 0x6064
- Axis2.Status Word, 0x6841
- Axis2.Position feedback, 0x6864
- AIN1, 0x3780sub01
- AIN2, 0x3781sub01
- Digital Input, 0x60FDsub0
SDO Run-up script to configure the drive
Units will be 65536 counts/rev of the motor
Index | Data | Comment |
---|---|---|
0x1C12:00 | 0x00 | clear sm PDOs (0x1C12) |
0x1C13:00 | 0x00 | clear sm PDOs (0x1C13) |
0x1A00:00 | 0x00 | Clear RX-PDO1 |
0x1A00:01 | 0x60410010 | Map Axis1.status word |
0x1A00:02 | 0x60640020 | Map Axis1 position feedback |
0x1A00:03 | 0x68410010 | Map Axis2.status word |
0x1A00:04 | 0x68640020 | Map Axis1 potision feedback |
0x1A00:05 | 0x37800110 | Map AIN1 |
0x1A00:06 | 0x37810110 | Map AIN2 |
0x1A00:07 | 0x60FD0020 | Map Digital Input |
0x1A00:00 | 0x07 | Set count to 7 |
0x1A01:00 | 0x00 | Clear RX-PDO2 |
0x1A02:00 | 0x00 | Clear RX-PDO3 |
0x1A03:00 | 0x00 | Clear RX-PDO4 |
0x1600:00 | 0x00 | Clear TX-PDO1 |
0x1600:01 | 0x60400010 | Map control word |
0x1600:02 | 0x60FF0020 | Map velocity command |
0x1600:03 | 0x68400010 | Map control word |
0x1600:04 | 0x68FF0020 | Map velocity command |
0x1600:05 | 0x38000210 | Map AOUT1 |
0x1600:06 | 0x38010210 | Map AOUT2 |
0x1600:07 | 0x36010120 | Map DOUT |
0x1600:00 | 0x07 | Set count to 7 |
0x1601:00 | 0x00 | Clear TX-PDO2 |
0x1602:00 | 0x00 | Clear TX-PDO3 |
0x1603:00 | 0x00 | Clear TX-PDO4 |
0x1C12:01 | 0x1600 | Download PDO 0x1C12:01 index |
0x1C12:00 | 0x01 | Download PDO 0x1C12 count |
0x1C13:01 | 0x1A00 | Download PDO 0x1C13:01 index |
0x1C13:00 | 0x01 | Download PDO 0x1C13 count |
0x3601:02 | 0xFFFFFFFF | Output mask |
0x6060:00 | 0x08 | Axis1.Set OpMode to Cyclic Synchronous Position |
0x60C2:01 | 0x02 | Axis1.Set Cycle time 2mS |
0x60C2:02 | 0xDF | Axis1.Set Cycle exp. |
0x6096:01 | 0x0000003C | Axis1 Vel Numerator (60) |
0x6096:02 | 0x00010000 | Axis1 Vel Devisor (65536) |
0x6092:01 | 0x00010000 | Axis1 Feed (65536 counts) |
0x6092:02 | 0x00000001 | Axis1 Shaft revolutions (1 revolution) |
0x6860:00 | 0x08 | Axis2.Set OpMode to Cyclic Synchronous Position |
0x68C2:01 | 0x02 | Axis2.Set Cycle time 2mS |
0x68C2:02 | 0xDF | Axis2.Set Cycle exp. |
0x6896:01 | 0x00000001 | Axis2 Numerator (60) |
0x6892:02 | 0x00010000 | Axis2 Devisor (65536) |
0x6892:01 | 0x00010000 | Axis2 Feed (65536 counts) |
0x6892:02 | 0x00000001 | Axis2 Shaft revolutions (1 revolution) |