background image

maxon motor control 

EPOS Positioning Controller

  

EPOS Application Note: Interpolation Position Mode

 

 

8

  maxon motor control 

Edition December 2008 / Subject to change 

3.1.2

 

Structure of the FIFO 

The FIFO is implemented by a circular buffer with the length of 64 entries. 
 

T

V

P

T

V

P

T

V

P

T

V

P

T

V

P

T

V

P

T

V

P

T

V

P

T

V

P

T

V

P

T

V

P

1

64

Buffer underflow error

Buffer underflow warning

(0x20C4-02)

Buffer overflow warning

(0x20C4-03)

Buffer overflow error

Buffer position
(0x60C4-04)

Actual buffer size
(0x60C4-02)

Interpolation data record (0x20C1)

Reference point [n]

Reference point [n-1]

V

P

Interpolation segment

}

 

Figure 4:  Interpolation buffer FIFO organization 

 

3.2

 

Interpolated position mode FSA 

The interpolated position finite state automaton is a sub FSA of the 

Operation enable state. 

 

Figure 5: 

Interpolated position mode FSA 

 

FSA state 

Function 

Interpolation inactive 

The drive device will accept input data and will buffer it for 
interpolation calculations, but does not move the axis 

Interpolation active 

The drive unit will accept input data and it moves the axis 

Table 2:  ‘Interpolated Position Mode’ FSA states and supported functions 

Summary of Contents for EPOS2 50/5

Page 1: ... communication with several EPOS devices use the CANopen protocol The individual devices of a network are commanded by a CANopen master Objectives This application note explains the functionality of interpolation position mode Interpolated position mode is used to control multiple coordinated axes or a single axis with the need for time interpolation of setpoint data In interpolated position mode ...

Page 2: ... Interpolated position mode FSA 8 3 3 Configuration parameters 9 3 4 Commanding parameters 9 3 4 1 Controlword Interpolated Position Mode specific bits 10 3 5 Output parameters 10 3 5 1 Statusword Interpolated Position Mode specific bits 10 3 6 Detailed Object description 11 3 6 1 COB ID Time Stamp Object 11 3 6 2 High Resolution Time Stamp 11 3 6 3 Interpolation data record 11 3 6 4 Interpolation...

Page 3: ...ed Position Mode Commanding parameters 9 Table 6 Interpolated Position Mode specific Controlword 10 Table 7 Interpolated Position Mode bits of the Controlword 10 Table 8 Interpolated Position Mode Output parameters 10 Table 9 Interpolated Position Mode specific Statusword 10 Table 10 Interpolated Position Mode bits of the Statusword 10 Table 11 IPM data buffer record structure 12 Table 12 Interpol...

Page 4: ... time Both goals can be reached by interpolation and data buffering The central controller decides first which points of the local trajectories are substantial for a synchronized total movement Then each relevant point of the local trajectories is supplemented with the corresponding velocity and time i e triples of the kind position velocity time PVT are formed These triples are then transferred t...

Page 5: ...erpolated Position Mode the interpolation type is a cubic spline interpolation The higher level trajectory planer sends a set of interpolation points by PVT reference point Each PVT reference point contains the position velocity and time information of a profile segment end point The trajectory generator of the drive performs a third order interpolation between the actual and the next reference po...

Page 6: ... the CANopen DSP301 SYNC Service COB Id 0x80 and the High Resolution Time Stamp Object 0x1013 The SYNC Frame will be transmitted periodically by the SYNC master and the exact transmitting time Tm1 should be stored in the master by latching an internal 1us timer The reception time Td1 of the SYNC message will be stored by latching the device internal motion clock timer As following up the measured ...

Page 7: ...mand_value inc statusword 0x6041 velocity_demand_value inc ms acceleration_demand_value inc ms 2 Multiplier max_acceleration 0x60C5 position inc inc ms 2 controlword 0x6040 position inc inc ms Limit Function Interpolationstatus 0x20C4 acceleration units velocity inc ms velocity Multiplier inc ms Interpolation_submode_selection 0x60C0 Interpolation_data_configuration 0x60C4 Figure 3 Interpolation C...

Page 8: ...on 0x60C4 04 Actual buffer size 0x60C4 02 Interpolation data record 0x20C1 Reference point n Reference point n 1 V P Interpolation segment Figure 4 Interpolation buffer FIFO organization 3 2 Interpolated position mode FSA The interpolated position finite state automaton is a sub FSA of the Operation enable state Figure 5 Interpolated position mode FSA FSA state Function Interpolation inactive The ...

Page 9: ...ve is within this area for a specified time the related control bit 10 Target Reached in the Statusword is set Position Window Time 0x6068 These parameters define the time for the position window Profile Velocity 0x6081 If the calculated velocity from the interpolation exceeds this profile velocity a warning bit in the Interpolation buffer status word will be set Profile Acceleration 0x6083 If the...

Page 10: ...20C4 The statusword of the interpolation mode is placed in subindex 1 of this object Statusword 0x6041 The interpolated position mode state can be observed by the specific bits of Statusword Position demand value 0x6062 The position demand value is the output of the trajectory generator This value is the input for the position control function Table 8 Interpolated Position Mode Output parameters 3...

Page 11: ...ast received SYNC Object 1us The resolution of the device internal motion clock timer depends on the selected CAN bitrate bit time e g 1us at 1Mbit s After a write access to this object the EPOS2 calculates the difference between the received timestamp and the internal latched timestamp of the SYNC Object This time difference is used as correction for the IPM time calculations 3 6 3 Interpolation ...

Page 12: ...ata records have to be in the FIFO Otherwise a Queue underflow Emergency will be launched and the drive changes to Fault reaction state A data record with time 0 changes the state to Interpolation inactive without any error 3 6 4 Interpolation status Name Interpolation status Index 0x20C4 number of entries 0x03 Name Interpolation buffer status Index 0x20C4 Subindex 0x01 Type UNSIGNED16 Access RO D...

Page 13: ...aximal profile velocity 0x607F detected Æ trajectory abort 0 No maximal profile acceleration violation detected Acceleration Error 3 1 IPM acceleration greater then maximal profile acceleration 0x60C5 detected Æ trajectory abort 0 Disabled access to the input buffer Buffer enabled 14 1 Access to the input buffer enabled 0 ip mode inactive same as bit 12 in statusword Ip Mode active 15 1 ip mode ac...

Page 14: ...g No Description This object shall indicate the actually chosen interpolation mode Interpolation Sub Mode Description 32768 to 2 Manufacturer specific reserved 1 cubic spline interpolation PVT 0 Linear interpolation not yet implemented 1 to 32767 reserved Table 14 Interpolation Sub Mode Definition 3 6 6 Interpolation time period Name Interpolation time period Index 0x60C2 number of entries 0x02 Na...

Page 15: ...me index s econds The interpolation time index sub index 0x02 is dimensionless 3 6 7 Interpolation data configuration Name Interpolation data configuration Index 0x60C4 number of entries 0x06 Name Maximum buffer size Index 0x60C4 Subindex 0x01 Type UNSIGNED32 Access RO Default Value Value range 64 64 PDO Mapping No Description This object provides the maximal buffer size and is given in interpolat...

Page 16: ...ion Value Description 0 FIFO buffer 1 Ring buffer not supported 2 to 255 reserved Table 15 Buffer Organisation Definition Name Buffer position Index 0x60C4 Subindex 0x04 Type UNSIGNED16 Access RW Default Value 0 Value range 0 64 PDO Mapping No Description This object provides the used buffer space and is given in interpolation data records Writing to this object has no effect Name Size of data rec...

Page 17: ...efault Value 0 Value range 0 1 PDO Mapping No Description If 0 is written to this object the data buffer is cleared and the access to it is denied If 1 is written the access to the data buffer is enabled Related Objects Interpolation status Value Description 0 clear input buffer and all data records Access disabled 1 Enable access to the input buffer for the drive functions 2 to 255 reserved Table...

Page 18: ...0x6040 00 0x6040 00 0x0006 0x000F Buffer clear 0x60C4 06 0x01 Interpolation data record 0x20C1 00 Reference points PVT minimum 2 points Controlword enable ip mode 0x6040 00 0x001F if Interpolation buffer status do Interpolation data record until Interpolation buffer status 0x20C4 01 0x20C1 00 0x20C4 01 Bit 0 1 Underflow Warning Reference point PVT Bit 1 1 Overflow Warning Interpolation data record...

Page 19: ...otor control 19 Use CANopen Wizard in Epos Studio for configuration the PDO mapping Step 1 Select Restore Default COB IDs in Step 4 of CANopen Wizard Step 2 Set PDO is valid and transmission type to Asynchronous in Receive PDO1 Parameter Step 3 Delete all mapped Object in Change Mapping window Step 4 Add Interpolation Data Record to Receive PDO1 ...

Page 20: ...l have the same time In order to start several axes synchronously map the controlword to a synchronous RPDO and then use the mapped controlword to enable interpolation for all axes Nothing will happen until the next SYNC Then all drives will enable interpolated motion at once setting the SYNC arrival time as the zero time of the path specification If the axes have been synchronized by the SYNC Tim...

Page 21: ...ntroller internal hardware counter is used as timing reference This hardware counter will be incremented by the bit time 3 8 Interruption of interpolation mode in case of an error If a currently running interpolation index 0x20C4 subindex 0x03 interpolation status bit 15 ip mode active set will be interrupted by the occurance of an error the EPOS2 reacts as specified for the certain error i e disa...

Reviews: