Back to top

Setup of EtherCAT master to run an AKD2G in “DS402: Cyclic Synchronous Position Mode”

AKD2G Firmware AKD2G_01-90-13-000

Objective:

We, Kollmorgen, supply an AKD2G XML files to be used with the EtherCAT CoE Master.  It has one default configuration, “cyclic Synchronous Position” mode.  Many Customers want to use EtherCAT master CNC/PLC that don’t use the AKD2G XML files and need information how to manually setup the EtherCAT CoE mapping.  It’s impossible to give instruction how to setup every EtherCAT master available on the market but the actual setup data will be almost the same every time.

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 your setup your master.

I added the analog and digital I/O to the mapping.  That is optional.  The position units in my example is 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 Position, 0x607A

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 0x607A0020 Map position 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 Position, 0x607A

Axis2.Control Word, 0x6840

Axis2.Target Position, 0x687A

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.position 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 0x607A0020 Map position command
0x1600:03 0x68400010 Map control word
0x1600:04 0x687A0020 Map position 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)