12/20/2006R122006Added newly supported objects to DSP-402 Implementation
02/05/2007R020507Added new object support, broke out DSP 402 to separate document.
The information in this book has been carefully checked and is believed to be accurate; however, no responsibility is assumed for inaccuracies.
Intelligent Motion Systems, Inc., reserves the right to make changes without further notice to any products herein to improve reliability, function or
design. Intelligent Motion Systems, Inc., does not assume any liability arising out of the application or use of any product or circuit described herein;
neither does it convey any license under its patent rights of others. Intelligent Motion Systems and are trademarks of Intelligent Motion
Systems, Inc.
Intelligent Motion Systems, Inc.’s general policy does not recommend the use of its products in life support or aircraft applications wherein a failure or
malfunction of the product may directly threaten life or injury. Per Intelligent Motion Systems, Inc.’s terms and conditions of sales, the user of Intelligent Motion Systems, Inc., products in life support or aircraft applications assumes all risks of such use and indemnifies Intelligent Motion Systems,
Inc., against all damages.
Table 4.5: Device State Bits for Statusword..................................................................................29
Table 6.1: Profile Position Mode Bits of Controlword .................................................................37
Table 8.1: Profile Velocity Mode Bits of Controlword .................................................................51
Table 8.2: Profile Velocity Mode Bits of Statusword ....................................................................51
v
This Page Intentionally Left Blank
vi
Excellence in Motion
DSP-402
Application guide
Section 1: Introduction to the MDrivePlus CANopen DSP-402
Implementation
TM
Section 2: Manufacturer Specific Objects
Section 3: Accessing the MDrivePlus CANopen
Section 4: Device Control
Section 5: Modes of Operation
Section 6: Profile Position
Section 7: Homing Mode
Section 8: Position Control Function
Section 9: Profile Velocity
Section 10: Optional Application FE
Page Intentionally Left Blank
2MDrivePlus CANopen R020507
Section 1
CAN Node
Application Layer and Communications Profile DS 301
Drive Profile DSP 402
Device Control State Machine
(Section XX)
Modes of Operation
Profile
Position
Mode
(Section X)
Homing
Mode
(Section X)
Profile
Velocity
Mode
(Section X)
Motor
MDrivePlus
CAN Network
Start
Arbitration
(Command and Address)
Control
Data
CRC ACK End Space
Marks Start
of Message Frame
Marks End
of Message Frame
Address and Message Modifier
(PDO, SDO etc.)
Data Length
Up to 8 Bytes
of Data
Cyclic Redundancy
Checksum
Receiver Pulls
Bit Low
Introduction to the MDrivePlus CANopen DSP-402 Implementation
Introduction
This document describes the Operational Modes and Objects utilized by the MDrivePlus CANopen. The MDrivePlus uses
the CiA DSP402 protocol as described the the CiA document CANopen Device Profile for Drives and Motion Control V2.0B.
CAN Message Format
The MDrivePlus is compliant with CAN 2.0B Active Specification. The Data Packets follow the message format shown in
Figure 1.1. The Figure is for reference only, please refer to the CAN 2.0B Specification.
Figure 1.1: Message Format
MDrivePlus Architecture
Figure 1.2: MDrivePlus Architecture
3Part 2: DSP-402 Implementation
Device Control
Homing Function
Position Function
Velocity Function
Trajectory
Generator
Trajectory
Generator
Trajectory
Generator
Position Control
Loop
Velocity Control
Loop
Homing Mode (Section X)
Profile Position Mode (Section X)
Profile Velocity Mode (Section X)
The starting and stopping of the drive and several mode specific commands are executed by the state machine.
Modes of Operation
The operation mode defines the behavior of the drive. The following modes are defined in this profile:
Homing Mode
This chapter describes the various methods to find a home position (also: reference point, datum, zero point).
Profile Position Mode
The positioning of the drive is defined in this mode. Speed, position and acceleration can be limited and profiled moves using
a Trajectory Generator are possible as well.
Profile Velocity Mode
The Profile Velocity Mode is used to control the velocity of the drive with no special regard of the position. It supplies limit
functions and trajectory generation.
4MDrivePlus CANopen R020507
Figure 1.3: Functional Architecture
Trajectory Generator
CAN
Contoller
Object Dictionary
I/O
Output (LED, Relay)
Input (Switch, Sensor)
Analog Input
Drive
Logic
Motor
MDrivePlus Node
Additional System Nodes
The chosen operation mode and the corresponding parameters (objects) define the input of the Trajectory Generator. The
Trajectory Generator supplies the control loop(s) with the demand values. They are generally mode specific.
Each Mode may use its own Trajectory Generator. A general description of its functionality is given in Section X, which is
related to the Profile Position Mode.
Objects and the Object Dictionary
In a CANopen network, a device is controlled by writing to device parameters and reading the status of the device. This is
accomplished using a pre-defined dictionary of instructions that can be written and status information that can be read. These
pieces of information are called Objects.
The full set of objects are called the Object Dictionary. The Object Dictionary is the interface between the CANopen master,
or controller and the MDrivePlus node on a CANopen network.
Figure 1.4: MDrivePlus CANopen Object Dictionary
Entries within the Object Dictionary are addressed using 16-bit Indexes. In the case of simple variables (VAR) the index references the value of the variable directly. In the case of records and arrays the index addresses the entire data structure.
To allow individual elements of the data structures a sub-index is defined. The fields accessed by the sub-index may be of differing data types.
Index (hex)Object
0000Not Used
0001 – 004FStatic Data Types
0020 – 003FComplex Data Types
0040 – 005FManufacturer Specific Data
0060 – 007FDevice Profile Specific Static Data Types
0080 – 009FDevice Profile Specific Complex Data Types
00A0 – 0FFFReserved for Future Use
1000 – 1FFFCommunications Profile Area
2000 – 5FFFManufacturer Specific Profile
6000 – 9FFFStandardized Device Profile
A000 – BFFF
C000 – FFFFReserved for Future Use
Standardized Interface Profile
Table 1.1: Object Dictionary
5Part 2: DSP-402 Implementation
Object Formatting
This manual will display the Object and Entry data using the model detailed below.
Object Description
Index
XXXX
h
Name
Index Name
Object Code
VAR
Data Type
I/U
Index
The Index is the hexadecimal number that represents the index number of the object in the CANopen Object
Dictionary. With the exception of IMS Manufacturer specific objects these are defined in CiA Device Profile for
Drives and Controls DSP402. The applicable objects are defined in this document as well.
Index Name
The Index Name is the general name and description of the object. With the exception of IMS Manufacturer specific objects these are defined in CiA Device Profile for Drives and Controls DSP402.
Object Code
VAR - Variable
Data Type
Physically, the types consist of one or more bytes. One byte consists of 8 bits (Bit 0 to 7). Bit 0 is the LSB (Least
Significant Bit). A byte can also be depicted hexadecimally (0x00 ... 0xff).
If a data type consists of n byte, the following applies:
Data byte 1 (Byte in address x) = highest value byte
Data byte n (Byte in address x+n-1) = lowest value byte
The data coding and the value ranges for the respective data types apply, unless otherwise explicitly stated in the
data description of an MDrivePlus communication object.
R .......................................................................................Read Access
W .....................................................................................Write Access
S ........................................ Storable to Non Volatile Memory (NVM)
K .......................................................... Key Required for Write Access
Category
M/O
Range
I/U
Default
I/U
6MDrivePlus CANopen R020507
PDO Mapping
Describes whether (Yes) or not (No) the Index may be mapped to a PDO (Process Data Object). If yes it may be
mapped to a PDO, if No the Object must be accessed using SDO (Service Data Objects).
Category
M .......................................................................................Mandatory
O ..........................................................................................Optional
Range
The range of the Index will be expressed as a ± Integer or Unsigned.
Default
The range of the Index will be expressed as a ± Integer or Unsigned.
Sub-Indexes
An object may have a number of Sub-Indexes which further define the operation of the object, such as I/O Configuration
Parameters.
Sub-Indexes are formatted thus:
Sub-Index X
DescriptionSub-Index Functional Description
Entry CategoryMandatory/Optional
AccessR/W/S/K
PDO MappingYes/No
Value Range1 Byte Hex
Default Value1 Byte Hex
7Part 2: DSP-402 Implementation
Page Intentionally Left Blank
8MDrivePlus CANopen R020507
Section 2
ProducerConsumer
TPDORPDO
RPDO
RPDO
Data
Client
Server
ID Request
ID Request
Accessing The MDrivePlus CANopen
Introduction
The access from the CAN network to the drive is done through data objects.
Process Data Object (PDO)
PDOs are messages in an unconfirmed service. They are used for the transfer of real-time data to and from the drive. The
transfer is fast, because it is performed with no protocol overhead what means to transport eight application data bytes in one
CAN-frame. The PDOs correspond to entries in the Object dictionary.
PDO Attributes
Two Types: RPDO (Receive) and TPDO (Transmit)
1.
Up to 8 Bytes of application data per message frame. No additional protocol overhead is required.
2.
Transfer is not confirmed
3.
PDOs Require setup, SDOs map each byte of the PDO to one or more Object Entries.
4.
PDOs operate using the Producer (TPDO)/Consumer (RPDO) relationship Push-Pull model.
5.
Best for transferring data such as Device Status, Set-points etc.
6.
Figure 2.1: PDO Producer – Consumer Relationship
Service Data Object (SDO)
A Service Data Object (SDO) reads from entries or writes to entries of the Object Dictionary. The SDO transport protocol allows transmitting objects of any size. The first byte of the first segment contains the necessary flow control information including a toggle bit to overcome the well-known problem of doubly received CAN frames. The next three byte of the first segment
contain index and sub-index of the Object Dictionary entry to be read or written. The last four byte of the first segment are
available for user data. The second and the following segments (using the very same CAN identifier) contain the control byte
and up to seven byte of user data. The receiver confirms each segment or a block of segments, so that a peer-to-peer communication (client/server) takes place.
SDO Attributes
Can access any Object in the Object Dictionary regardless of size.
Transition Bit
MUST be reset to zero
between set-points
The MDrivePlus CANopen allows you to map objects to PDOs to reduce the transfer application data more efficiently. By
using the PDO the user can map a PDO to multiple objects (8 Data Bytes max.)
The example will show RPDO 1400h mapped to Control Word (6040h) and Target Position (607Ah).
RPDO IndexSub-IndexMapped To IndexBytes
1600
1600
1600
h
h
h
00
01
02
h
h
h
6040
607A
h
h
2
4
PDO Mapping Procedure (Consumer PDO)
PDO Mapping Example 1: Profile Position Mode – Mapping ControlWord and Target Position to RPDO1
StepActionIndexSub-IndexBytesValue
1
Place MDrive in PreOperational State—
2Turn Off RPDO11400
3
Set 1600h Sub-Index 00 to 01600
4Map ControlWord 6040h to 1600.01h, Establish New
Set Point
5
Map target_position 607Ah to 1600.02
h
6Set 1600h.00 to 2 Max Sub-Indexes1600
7Turn On RPDO11400
8Place MDrive in Profile Position Mode6060
6040
607A
h
h
h
h
h
h
h
9Place MDrive in Operational State
10Send PDO to MDrive
Note: Before re-sending the PDO to the MDrive, the old set-point must be cleared by sending 6040.00h 004Fh in a
second PDO or in an SDO.
01—8000 01C0
00—0
002005F
4
Desired Axis
Position in Hex
00—2
00—0000 01C0
0011
h
h
h
h
h
h
10MDrivePlus CANopen R020507
Figure 2.3: PDO Mapping Showing the Default Mapping for RPDO2