1 Life support policy ....................................................................................................................................................... 5
2 About this document .................................................................................................................................................. 6
3 Features ........................................................................................................................................................................... 7
3.1 Features of the PDx-116-60-SE ......................................................................................................................... 7
3.2 Features of the PDx-140-42-SE ......................................................................................................................... 9
3.3 Features of the TMCM-103 ............................................................................................................................... 10
3.4 General features of this CANopen implementation ................................................................................ 11
4 Communication ........................................................................................................................................................... 12
4.1 Reference model ................................................................................................................................................ 12
4.2 NMT state machine ............................................................................................................................................ 13
4.3 Device model ...................................................................................................................................................... 15
5 Communication objects ............................................................................................................................................ 17
6.4.2 How to move a motor in vl mode ........................................................................................................ 58
7 Manufacturer specific area ....................................................................................................................................... 59
7.1.27 Object 2700h: TMCL™ direct communication ....................................................................................... 67
7.1.28 Object 2701h: Manufacturer specific mode ........................................................................................... 68
7.1.29 Object 2702h: Digital inputs ...................................................................................................................... 68
7.1.30 Object 2703h: Digital outputs ................................................................................................................... 68
7.1.31 Object 2704h: CAN bit rate ........................................................................................................................ 69
7.1.32 Object 2705h: Node ID ................................................................................................................................ 69
7.1.33 Object 2706h: Store ...................................................................................................................................... 69
7.1.34 Object 2707h: CAN bit rate load ............................................................................................................... 70
7.1.35 Object 2708h: Node ID load ...................................................................................................................... 70
7.1.36 Object 270Eh: Analog inputs ..................................................................................................................... 70
9 Revision history .......................................................................................................................................................... 73
TRINAMIC Motion Control GmbH & Co. KG does not
authorize or warrant any of its products for use in life
support systems, without the specific written consent
of TRINAMIC Motion Control GmbH & Co. KG.
Life support systems are equipment intended to
support or sustain life, and whose failure to perform,
when properly used in accordance with instructions
provided, can be reasonably expected to result in
personal injury or death.
Information given in this data sheet is believed to be
accurate and reliable. However neither responsibility
is assumed for the consequences of its use nor for
any infringement of patents or other rights of third
parties, which may result from its use.
Specifications are subject to change without notice.
This document specifies objects and modes of operation of the TRINAMIC PDx-116-60-SE, PDx-140-42SE, and TMCM-103 with CANopen firmware. As these products are stepper motor controller and driver
modules (PD-116 and PD-140 with motor) the use of the CiA DSP402 protocol (described in the CiA CANopen drives and motion control device profile, Part 2) is fundamental. The CANopen firmware is
designed to fulfill the DS301 version 4.02 and DS402 version 3.o standards. The CiA conformance has
also been tested. This CANopen firmware has been developed to turn the ARM-based TRINAMIC
motion control modules into CANopen compatible ones. There are versions for PDx-116-60-SE, PDx140-42-SE, and TMCM-103.
As with most TRINAMIC modules the software running on the microprocessor of the TMCM-116/TMCM140/TMCM-103 consists of two parts, a boot loader and the CANopen firmware itself. Whereas the
boot loader is installed during production and testing at TRINAMIC and remains – normally –
untouched throughout the whole lifetime, the CANopen firmware can be updated by the user. New
versions can be downloaded free of charge from the TRINAMIC website (http://www.trinamic.com).
The CANopen firmware can be loaded into the modules easily just by using the firmware update
function of the TMCL-IDE.
It is also still possible to control the drive using TMCL™ commands via a special vendor-specific
object. You can turn the drive back into a TMCL™ module by loading the TMCL™ firmware into the
drive again.
This manual assumes that the reader is already familiar with the basics of the CANopen protocol
(especially DS301 and DS402). On the following pages you will find a short introduction or rather a
short overview and afterwards the information will be more in detail.
The following text gives an overview of the three TRINAMIC products which are discussed in this
manual.
3.1 Features of the PDx-116-60-SE
The PDx-116-60-SE is a full mechatronic device consisting of a NEMA 24 (flange size 60mm [QSH6018])
stepper motor, controller/driver electronics and integrated encoder.
Electrical data
Supply voltage: +24V DC nominal (28.5V DC max.) Motor current: up to 2.8A RMS per axis (programmable)
Stepper motor data
two phase bipolar stepper motors with up to 2.8A RMS coil current optional incremental encoder interface (a/b/n), accepts differential or single ended signals
Interfaces
5 general purpose inputs including 3 inputs for reference and home switches (+24V compatible) 1 shutdown input (enable/disable driver stage in hardware) 3 general purpose outputs (open-collector) 1 output for connecting an external brake (open-collector) CAN (2.0B up to 1Mbit/s) and RS232 communication interfaces
Features
High-efficient operation, low power-dissipation (TMC249 stepper driver with external MOSFETs) Dynamic current control Integrated Protection On the fly alteration of motor parameters (e.g. position, velocity, acceleration) Motion profile calculation in real-time (TMC428 motion controller) Supports up to 64 microsteps per fullstep Integrated chopSyncIntegrated sensOstepIntegrated stallGuard
TM
for high velocity operation
TM
magnetic encoder (max. 4096 increments per rotation)
TM
for motor stall detection (e.g. elimination of end switches)
USB (mini USB connector) and CAN interface, CANopen firmware
3.2 Features of the PDx-140-42-SE
The PDx-140-42-SE is a full mechatronic device consisting of a NEMA 17 (flange size 42mm) stepper
motor, controller/driver electronics and integrated encoder.
Applications
Very compact single-axis stepper motor solutions Encoder feedback for high reliability operation
Electrical data
Supply voltage: +24V DC nominal (28.5V DC max.) Motor current: up to 2.0A RMS (programmable)
Stepper motor data
Interfaces
USB and either RS232, RS485 or CAN (2.0B up to 1Mbit/s)
Features
High-efficient operation, low power dissipation (TMC249 stepper driver with external MOSFETs) Integrated Protection Motion profile calculation in real-time (TMC428 motion controller) Up to 16 microsteps Integrated magnetic encoder (max. 4096 increments per rotation) 2 inputs for reference switches, 2 general purpose inputs and 2 general purpose outputs
Software
CANopen firmware (DS301 + DSP402 with homing mode, profile position mode, and velocity
mode)
Alternative: TMCL™ remote (direct mode) or stand-alone operation (memory for 2048 TMCL™
commands). TMCL™ is fully supported by TMCL-IDE (PC based integrated development
environment).
The TMCM-103 is a powerful one axis bipolar stepper motor controller/driver board with incremental
encoder feedback. The module is very compact and features a high-efficient operation with low power
dissipation. Further you can use the RS232 and CAN interfaces as well as CANopen, if you choose the
CANopen option for your module. The TRINAMIC BB-103 baseboard [BB-103] is available for this unit.
Electrical data
Supply voltage +24V DC nominal (28.5V DC max.) Internal +5V DC switching regulator for logic and encoder supply Motor current up to 2A RMS per axis (programmable)
Stepper motor data
two phase bipolar stepper motors with up to 2A RMS coil current, for example QSH4218 optional incremental encoder interface (a/b/n), accepts differential or single ended input signals
Interfaces
CANopen (CiA 301 + CiA 402 with homing mode, profile position mode, and velocity mode) CAN (2.0B up-to 1Mbit/s) and RS232 communication interfaces Two general purpose inputs and two general purpose outputs
Features
Very compact single-axis stepper motor solutions Encoder feedback for high reliability operation High-efficient operation, low power dissipation (TMC249 stepper driver with external MOSFETs) Integrated Protection Motion profile calculation in real-time (TMC428 motion controller) Up to 64 microsteps incremental encoder inputs (a/b/n) supporting differential and single ended encoder signals 8 dip switches for CANopen address setting
Software
CANopen firmware (DS301 + DSP402 with homing mode, profile position mode, and velocity
mode)
Alternative: TMCL™ remote (direct mode) or stand-alone operation (memory for 2048 TMCL™
commands). TMCL™ is fully supported by TMCL-IDE (PC based integrated development
environment).
The application layer comprises a concept to configure and communicate real-time-data as well as the
mechanisms for synchronization between devices. The functionality the application layer offers to an
application is logically divided over different service data objects (SDO) in the application layer. A
service object offers a specific functionality and all the related services.
Applications interact by invoking services of a service object in the application layer. To realize these
services this object exchanges data via the CAN Network with peer service object(s) via a protocol.
The application and the application layer interact with service primitives.
There are four different service primitives:
Request issued by the application to the application layer to request a service
Indication issued by the application layer to the application to report an internal event detected
by the application layer or indicate that a service is requested
Response issued by the application to the application layer to respond to a previous received
indication
Confirmation issued by the application layer to the application to report the result of a previously
issued request
A service type defines the primitives that are exchanged between the application layer and the
cooperating applications for a particular service of a service object.
There are the following service types:
Local service involves only the local service object. The application issues a request to
its local service object that executes the requested service without
communicating with peer service object(s)
Unconfirmed service involves one or more peer service objects. The application issues a request
to its local service object. This request is transferred to the peer service
object(s) that each passes it to their application as an indication. The result
is not confirmed back.
Confirmed service can involve only one peer service object. The application issues a request
to its local service object. This request is transferred to the peer service
object that passes it to the other application as an indication. The other
application issues a response that is transferred to the originating service
object that passes it as a confirmation to the requesting application.
Provider initiated service involves only the local service object. The service object (being the service
provider) detects an event not solicited by a requested service. This event
is then indicated to the application.
Unconfirmed and confirmed services are collectively called remote services.
The finite state machine (FSM) or simply state machine is a model of behavior composed of a finite
number of states, transitions between those states, and actions. It shows which way the logic runs
when certain conditions are met.
Starting and resetting the device is controlled via the state machine. The NMT state machine consists
of the following states:
Figure 4.1: Overview CANopen NMT state machine
After power-on or reset the device enters the Initialization state.
After the device initialization is finished, the device automatically transits to the Pre-operational state
and indicates this state transition by sending the boot-up message. This way the device indicates that
it is ready to work. A device that stays in Pre-operational state may start to transmit SYNC-, time
stamp- or heartbeat message. In contrast to the PDO communication that has to be disabled in this
state, the device can communicate via SDO.
The PDO communication is only possible within the Operational state. During Operational state the
device can use all supported communication objects.
A device that was switched to the Stopped state only reacts on received NMT commands. In addition
the device indicates the current NMT state by support the error control protocol during Stopped state.
The transitions between states are made by issuing a network management (NMT) communication
object to the device. The NMT protocols are used to generate state machine change commands (e.g.
to start and stop the device), detect remote device boot-ups and error conditions.
The Heartbeat message of a CANopen device contains the device status of the NMT state machine and
is sent cyclically by the CANopen device.
The most important part of a device profile is the Object Dictionary description. The Object Dictionary
is essentially a grouping of objects accessible via the network in an ordered pre-defined fashion. Each
object within the dictionary is addressed using a 16-bit index.
The overall layout of the standard Object Dictionary is shown below:
Table 4.1: Object Dictionary
*1 The communication profile area at indices 1000h through 1FFFh contains the communication
specific parameters for the CAN network. These entries are common to all devices.
*2 The manufacturer segment at indices 2000h through 5FFFh contains manufacturer specific objects.
These objects control the special features of the TRINAMIC motion control devices TMCM-103, PD116 and PD-140.
*3 The standardized device profile area at indices 6000h through 9FFFh contains all data objects
common to a class of devices that can be read or written via the network. The device profiles
use entries from 6000h to 9FFFh to describe the device parameters and the device functionality.
This object contains information about the device type. The object 1000h describes the type of device
and its functionality. It is composed of a 16-bit field which describes the device profile that is used
and a second 16-bit field which gives additional information about optional functionality of the
device.
OBJECT DESCRIPTION
ENTRY DESCRIPTION
5.1.2 Object 1001
: Error register
h
This object is an error register. The module can map internal errors and object 1001h is part of an
emergency object.
OBJECT DESCRIPTION
ENTRY DESCRIPTION
STRUCTURE OF THE ERROR REGISTER
If a bit is set to 1, the specific error has occurred.
This object defines the COB-ID of the synchronization Object (SYNC). Further, it defines whether the
module generates the SYNC.
OBJECT DESCRIPTION
ENTRY DESCRIPTION
5.1.4 Object 1008
: Manufacturer device name
h
This object contains the manufacturer device name.
OBJECT DESCRIPTION
ENTRY DESCRIPTION
5.1.5 Object 1009
: Manufacturer hardware version
h
This object contains the hardware version description.
OBJECT DESCRIPTION
ENTRY DESCRIPTION
5.1.6 Object 1010
: Store parameters
h
This object supports the saving of parameters in non volatile memory. By read access the device
provides information about its saving capabilities.
This command can only be carried out if the module is in ready to switch on mode.
Several parameter groups are distinguished:
˗ Sub-index 0 contains the largest sub-index that is supported.
˗ Sub-index 1 refers to all parameters that can be stored on the device.
˗ Sub-Index 3 refers to application related parameters (index 6000
- 9FFFh TRINAMICs specific
h
application parameters).
˗ Sub-Index 4 stores motor parameters.
In order to avoid storage of parameters by mistake, storage is only executed when a specific
signature is written to the appropriate Sub-Index. The signature is safe.
0 1 Device does not safe parameters autonomously
Device safes parameters autonomously
0
0 1 Device does not safe parameters on command
Device safes parameters on command
Index
Name
Object Code
Data Type
1010h
Store parameters
ARRAY
UNSIGNED 32
Sub-Index
Description
Access
PDO Mapping
Value Range
Default Value
00h
Largest sub-index supported
ro
no
1h-7Fh
no
01h
Safe all parameters
rw
no
UNSIGNED32
no
03h
Safe application parameters
rw
no
UNSIGNED32
no
04h
Safe manufacturer specific motor
parameters
rw
no
UNSIGNED32
no
Storage write access structure
On reception of the correct signature in the appropriate sub-index the device stores the parameter and
then confirms the SDO transmission (initiate download response). If the storing failed, the device
responds with an Abort SDO transfer (abort code: 0606 0000h).
If a wrong signature is written, the device refuses to store and responds with Abort SDO transfer
(abort code: 0800 002xh).
On read access to the appropriate sub-index the device provides information about its storage
functionality with the following format.
Storage read access structure
Autonomous saving means that a device stores the storable parameters in a non-volatile manner
without user request.
OBJECT DESCRIPTION
ENTRY DESCRIPTION
Please mind the figures above which explain the value ranges of the write access and the read access
for the sub-indices.
5.1.7 Object 1011
: Restore default parameters
h
With this object the default values of parameters according to the communication or device profile
are restored. By read access the device provides information about its capabilities to restore these
values.
This command can only be carried out if the module is in ready to switch on mode.
Restore manufacturer specific motor
default parameters
rw
no
UNSIGNED32
no
Several parameter groups are distinguished:
˗ Sub-index 0 contains the largest sub-index that is supported.
˗ Sub-index 1 refers to all parameters that can be restored.
˗ Sub-Index 3 refers to application related parameters (index 6000
- 9FFFh TRINAMICs specific
h
application parameters).
˗ Sub-Index 4 restores motor parameters.
In order to avoid the restoring of default parameters by mistake, restoring is only executed when a
specific signature is written to the appropriate sub-index. The signature is load.
On reception of the correct signature in the appropriate sub-index the device restores the default
parameters and then confirms the SDO transmission (initiate download response). If the restoring
failed, the device responds with an Abort SDO Transfer (abort code: 0606 0000h). If a wrong signature
is written, the device refuses to restore the defaults and responds with an Abort SDO Transfer (abort
code: 0800 002xh). The default values are set valid after the device is reset (reset node for sub-index
1h – 7Fh, reset communication for sub-index 2h) or power cycled.
Figure 5.1: Restore procedure
On read access to the appropriate sub-index the device provides information about its default
parameter restoring capability with the following format.
Structure of restore read access
OBJECT DESCRIPTION
ENTRY DESCRIPTION
Please mind the figures above which explain the value ranges of the write access and the read access
for the sub-indices.
The consumer heartbeat time defines the expected heartbeat cycle time and thus has to be higher
than the corresponding producer heartbeat time configured on the module producing this heartbeat.
The monitoring starts after the reception of the first heartbeat.
˗ If the consumer heartbeat time is 0 the corresponding entry is not used.
˗ The time has to be a multiple of 1ms.
Table 5.1: Structure of consumer heartbeat time entry
To configure several consumer heartbeat times unequal 0 for the same Node-ID the device aborts the
SDO download with abort code 0604 0043h
OBJECT DESCRIPTION
ENTRY DESCRIPTION
5.1.12 Object 1017
: Producer heartbeat time
h
The producer heartbeat time defines the cycle time of the heartbeat. The producer heartbeat time is 0
if it is not used. The time has to be a multiple of 1ms.
firmware revision number;
reads e.g. 2003h for version 2.3
Index
Name
Object Code
Data Type
Category
1023h
OS command
RECORD
Command Par
Optional
Sub-Index
Description
Access
PDO Mapping
Value Range
Default Value
00h
Number of
supported entries
ro
no
3
number of entries: 3 (for direct TMCL™
communication)
01h
Command (TMCL™
command)
rw
no
Octet string
no
02h
Status (error code
of a TMCL™
command)
ro
no
UNSIGNED8
no
03h
Reply (reply of a
TMCL™ command)
ro
no
Octet string
no
5.1.13 Object 1018
: Identity object
h
The object 1018h contains general information about the device.
The Vendor ID (sub-index 01
) contains a unique value allocated to each manufacturer. The
h
vendor ID of TRINAMIC is 0286h.
The manufacturer-specific Product code (sub-index 2The Manufacturer-specific Revision number (sub-index 3
) identifies a specific device version.
h
) consists of a major revision number
h
and a minor revision number.
OBJECT DESCRIPTION
ENTRY DESCRIPTION
5.1.14 Object 1023
: OS command
h
The OS Command object is used as a command driven interface to programmable devices. The host
system puts the command into the object OS Command, which is of the type Command Par.
Index 1400h: 200h + Node-ID
Index 1401h: 300h + Node-ID
Index 1402h: 400h + Node-ID
Index 1403h: 500h + Node-ID
Index 1405h: 0
02h
Transmission type
rw
no
UNSIGNED8
Index 1400h: Ffh
Index 1401h: Ffh
Index 1402h: Ffh
Index 1403h: Ffh
Index 1405h: Ffh
5.1.15 Object 1029
: Error behavior
h
If a device failure is detected in operational state, the device can be configured to enter alternatively
the stopped state or remain in the current state in case of a device failure. Device failures include the
following errors:
Communication error Application error
OBJECT DESCRIPTION
ENTRY DESCRIPTION
5.1.16 Objects 1400
-1405h: Receive PDO communication parameter
h
This object contains the communication parameters for the PDOs the device is able to receive. The
sub-index 0h contains the number of valid entries within the communication record. Its value is at
Index 1600h: 1
Index 1601h: 2
Index 1602h: 2
Index 1603h: 2
Index 1605h: 2
01h
Mapping entry 1
rw
no
UNSIGNED32
Index 1600h: 60400010h
Index 1601h: 60400010h
Index 1602h: 60400010h
Index 1603h: 60400010h
Index 1605h: 60400010h
02h
Mapping entry 2
rw
no
UNSIGNED32
Index 1600h: 0
Index 1601h: 60600008 h
Index 1602h: 607A0020h
Index 1603h: 60FF0020h
Index 1605h: 60420010h
03h
Mapping entry 3
rw
no
UNSIGNED32
Index 1600h: 0
Index 1601h: 0
Index 1602h: 0
Index 1603h: 0
Index 1605h: 0
5.1.17 Objects 1600
-1605h: Receive PDO mapping
h
This object contains the mapping for the PDOs the device is able to receive. The sub-index 0h contains
the number of valid entries within the mapping record. This number of entries is also the number of
the application variables which shall be transmitted/received with the corresponding PDO. The sub-
indices from 1h to the number of entries contain the information about the mapped application
variables. These entries describe the PDO contents by their index, sub-index and length. All three
values are hexadecimal coded.
Slow down on slow down ramp and transit into switch on disabled
2
Slow down on quick stop ramp and transit into switch on disabled
3
Slow down on current limit and transit into switch on disabled
5
Slow down on slow down ramp and stay in quick stop active
6
Slow down on quick stop ramp and stay in quick stop active
7
Slow down on voltage limit an stay in quick stop active
Index
Name
Object Code
Data Type
605Ah
Quick stop option
code
Variable
SIGNED16
Sub-Index
Access
PDO Mapping
Value Range
Default Value
00h
rw
Refer to CiA402-3
See value definition above
2
6 Device profile objects (CiA402) and modes of
operation
The PDS behavior depends on the activated mode of operation. The PDS implements several modes
of operation. Since it is not possible to operate the modes in parallel, the user is able to activate the
required function by selecting a mode of operation.
The control device writes to the modes of operation object in order to select the operation mode. The
drive device provides the modes of operation display object to indicate the actual activated operation
mode. Controlword, statusword, and set-points are used mode-specific. This implies the responsibility
of the control device to avoid inconsistencies and erroneous behavior.
The following operation modes can be chosen:
Profile position mode Homing mode Profile velocity mode
Please refer to object 6060h (section 6.1.6) for information about how to choose an operation mode.
6.1 Detailed object specifications
6.1.1 Object 605A
This object indicates what action is performed when the quick stop function is executed. The slow
down ramp is the deceleration value of the used mode of operations. The following quick stop option
codes are supported in the current version of the CANopen firmware:
Disable drive function (switch-off the drive power stage)
Index
Name
Object Code
Data Type
605Bh
Shutdown option code
Variable
UNSIGNED16
Sub-Index
Access
PDO Mapping
Value Range
Default Value
00h
r0
Refer to CiA402-3
See value definition above
0
Value
Definition
1
Slow down with slow down ramp; disable of the drive function
Index
Name
Object Code
Data Type
605Ch
Disable operation
option code
Variable
UNSIGNED16
Sub-Index
Access
PDO Mapping
Value Range
Default Value
00h
r0
Refer to CiA402-3
See value definition above
1
Value
Definition
1
Slow down on slow down ramp and stay in operation enabled
Index
Name
Object Code
Data Type
605Dh
Halt option code
Variable
UNSIGNED16
Sub-Index
Access
PDO Mapping
Value Range
Default Value
00h
r0
Refer to CiA402-3
See value definition above
1
6.1.2 Object 605B
: Shutdown option code
h
This object indicates what action is performed if there is a transition from operation enabled state to
ready to switch on state. The slow down ramp is the deceleration value of the used mode of
operations. The shutdown option code always has the value 0 as only this is supported.
VALUE DEFINITION
OBJECT DESCRIPTION
ENTRY DESCRIPTION
6.1.3 Object 605C
: Disable operation option code
h
This object indicates what action is performed if there is a transition from operation enabled state to
switched on state. The disable operation option code always has the value 1 as only this is
supported.
VALUE DEFINITION
OBJECT DESCRIPTION
ENTRY DESCRIPTION
6.1.4 Object 605D
: Halt option code
h
This object indicates what action is performed when the halt function is executed. The slow down
ramp is the deceleration value of the used mode of operation. The halt option code always has the
value 1 as only this is supported.
This object indicates what action is performed when fault is detected in the power drive system. The
slow down ramp is the deceleration value of the used mode of operation. The fault reaction option
code always has the value 2 as only this is supported.
VALUE DEFINITION
OBJECT DESCRIPTION
ENTRY DESCRIPTION
6.1.6 Object 6060
: Modes of operation
h
This object indicates the requested operation mode. Supported operating modes are:
VALUE DEFINITION
* The motor will not run when the operating mode is set to 0. It will be stopped when the motor is running in one of the
supported operating modes and the operating mode is then switched to 0.
* The motor will not run when the operating mode is set to 0. It will be stopped when the motor is running in one of the
supported operating modes and the operating mode is then switched to 0.
OBJECT DESCRIPTION
ENTRY DESCRIPTION
6.1.8 Object 606A
: Sensor selection code
h
This object provides the source of the velocity sensor actual value. It selects whether an encoder is to
be used or not.
VALUE DEFINITION
OBJECT DESCRIPTION
ENTRY DESCRIPTION
6.1.9 Object 60C5
: Max acceleration
h
This object indicates the configured maximal acceleration. It is used to limit the acceleration to an
acceptable value in order to prevent the motor and the moved mechanics from being destroyed. It is
given in internal or user specific units (depending on object 208Ch, paragraph 7.1.17, object 2087h and
object 2088h, paragraph 7.1.15 and paragraph 7.1.16)
This object indicates the configured maximal deceleration. It is used to limit the acceleration to an
acceptable value in order to prevent the motor and the moved mechanics from being destroyed. The
max deceleration is given in internal or user specific units (depending on object 208Ch, paragraph
7.1.17, object 2087h and object 2088h, paragraph 7.1.15 and paragraph 7.1.16). Object 60C6h has the
same unit as the max acceleration object 60C5h.
OBJECT DESCRIPTION
ENTRY DESCRIPTION
6.1.11 Object 60FD
: Digital inputs
h
This object contains the states of the digital inputs of the module. Starting from bit 0, every bit
reflects the state of one digital input. The number of valid bits depends on the number of digital
inputs on the module used.
VALUE DEFINITION
OBJECT DESCRIPTION
ENTRY DESCRIPTION
6.1.12 Object 6502
: Supported drive modes
h
This object provides information on the supported drive modes and contains always the value
0x00000025 which means that the following modes are provided by the drive:
0 = no mode 1 = profile position mode 2 = velocity mode 6 = homing mode
A target position is applied to the trajectory generator. It is generating a position-demand-value for
the position control loop described in the position control function.
6.2.1 Detailed object specifications
The following text offers detailed object specifications. According to this it is necessary to show how
the state machine works in detail:
Notes on state transitions:
- Commands directing a change in state are processed completely and the new state achieved
- Transitions 0 and 1 occur automatically at drive power-on or reset. Transition 14 occurs
- Drive function disabled indicates that no current is being supplied to the motor.
- Drive function enabled indicates that current is available for the motor and profile position
before additional state change commands are processed.
automatically, too. All other state changes must be directed by the host.
and profile velocity reference values may be processed.
LEGEND: nu = not used; r = reserved; oms = operation mode specific; h = halt;
fr = fault reset; eo = enable operation; qs = quick stop; ev = enable voltage; so = switch on
Bit
Name
Definition
4
New set point
0-to-1: The next positioning will be started after the last
one has completed.
5
Change immediately
Not supported
6
Absolute/relative
0 = new position is absolute; 1 = new position is relative
9
Change set point
Not supported
Command
Bits of controlword
Transitions
Bit 7
Bit 3
Bit 2
Bit 1
Bit 0
Shutdown
0 x 1 1 0
2, 6, 8
Switch on
0 0 1 1 1
3
Switch on + enable
operation
0 1 1 1 1
3 + 4 (NOTE)
Disable voltage
0 x x 0 x
7, 9, 10, 12
Quick stop
0 x 0 1 x
7, 10, 11
Disable operation
0 0 1 1 1
5
Enable operation
0 1 1 1 1
4, 16
Fault reset
x x x x 15
Index
Name
Object Code
Data Type
6040h
Controlword
Variable
UNSIGNED16
Sub-Index
Access
PDO Mapping
Value Range
Default Value
00h
rw
Refer to CiA402-3
See command
coding above
Device and operation mode specific
6.2.1.1 Object 6040
: Controlword
h
This object indicates the received command controlling the power drive system finite state
automation (PDS FSA). The CiA-402 state machine can be controlled using this object. Please refer to
Figure 6.1: Finite state machine for detailed information.
LEGEND: ms = manufacturer specific; oms = operation mode specific; ila = internal limit active;
tr = target reached; rm = remote; w = warning; sod = switch on disabled; qs = quick stop;
ve = voltage enabled; f = fault; oe = operation enabled; so = switched on;
rtso = ready to switch on
5
sodqsveilaomsms
12
1314
Bit
Name
Definition
10
Target reached
Set when the motor is within the target position window
12
Set point acknowledge
0 = set point processed; 1 = set point still in process
13
Following error
Not supported
Statusword
PDS FSA state
xxxx xxxx x0xx 0000b
Not ready to switch on
xxxx xxxx x1xx 0000b
Switch on disabled
xxxx xxxx x01x 0001b
Ready to switch on
xxxx xxxx x01x 0011b
Switched on
xxxx xxxx x01x 0111b
Operation enabled
xxxx xxxx x00x 0111b
Quick stop active
xxxx xxxx x0xx 1111b
Fault reaction active
xxxx xxxx x0xx 1000b
Fault
Index
Name
Object Code
Data Type
6041h
Statusword
Variable
UNSIGNED16
Sub-Index
Access
PDO Mapping
Value Range
Default Value
00h
r0
Refer to CiA402-3
See state coding
above
No
6.2.1.2 Object 6041
: Statusword
h
This object provides the status of the PDS FSA. It reflects the status of the CiA402 state machine.
Please refer to Figure 6.1: Finite state machine for detailed information. The object is structured as
defined below.
For more information about the coding refer to the CANopen Drives and motion control device profile, part 2 please.
This object provides the demanded position value. The value is given in microsteps. Object 6062h
indicates the actual position that the motor should have. It is not to be confused with the objects
6063h and 6064h.
OBJECT DESCRIPTION
ENTRY DESCRIPTION
6.2.1.4 Object 6063
: Position actual internal value
h
This object provides the actual value of the encoder or the motor. Please use the sensor selection
object 606Ah (6.1.8) for selecting the motor or the encoder first. Object 6063h indicates the actual
position of the encoder or the motor, re-scaled to the microstep resolution. The value is given in
microsteps.
OBJECT DESCRIPTION
ENTRY DESCRIPTION
6.2.1.5 Object 6064
: Position actual value
h
This object provides the actual value of the position measurement device. It always contains the
same value as object 6063h.
This object indicates the configured range of tolerated position values symmetrically to the position
demand value. If the position actual value is out of the following error window, a following error
occurs. A following error may occur when a drive is blocked, unreachable profile velocity occurs, or at
wrong closed-loop coefficients. The value shall be given in microsteps. If the value of the following
error window is 0 or FFFF FFFFh, the following control will be switched off.
When the difference between motor position (object 6062h) and encoder position (object 6063h or
6064h) is greater than the value set here, the motor will be stopped and an emergency message will
be sent. Setting this object to zero will turn off this feature completely. Setting this object to a too
low value will lead to false alarms.
OBJECT DESCRIPTION
ENTRY DESCRIPTION
6.2.1.7 Object 6067
: Position window
h
This object indicates the configured symmetrical range of accepted positions relative to the target
position. If the actual value of the position encoder is within the position window, this target
position is regarded as having been reached. The value is given in increments. If the value of the
position window is FFFF FFFF
the position window control is switched off.
,
h
If this object is set to zero, the target reached event will be signaled when the demand position
(6062h) has reached the target position (6064h).
When the position window is set to a value greater than zero, the target reached event will be
signaled when the actual encoder position value (6064h) is within the target position – position
This object indicates the configured time, during which the actual position within the position
window is measured. The value is given in ms. If this object is set to a value greater than zero and
also the position window (6067h) is set to a value greater than zero the target reached event will not
be signaled until the actual position (6064h) is at least as many milliseconds within the position
window as defined by this object.
OBJECT DESCRIPTION
ENTRY DESCRIPTION
6.2.1.9 Object 607A
: Target position
h
The target position is the position that the drive should move to in profile position mode using the
current settings of motion control parameters (such as velocity, acceleration, deceleration, motion
profile type etc.). The value of this object is interpreted as absolute or relative depending on the
abs/rel flag in the controlword. It is given in microsteps.
OBJECT DESCRIPTION
ENTRY DESCRIPTION
6.2.1.10 Object 607D
: Software position limit
h
This object indicates the configured maximal and minimal software position limits. These parameters
define the absolute position limits for the position demand value and the position actual value. Every
new target position is checked against these limits. The limit positions are always relative to the
machine home position. Before being compared with the target position, they are corrected internally
by the home offset as follows:
Corrected min position limit = min position limit – home offset
Corrected max position limit = max position limit – home offset
The limit positions are given in microsteps (same as target position). Two limits for moving the motor
in positioning mode can be set here. It will then not be possible to leave this window.
This object indicates the configured maximal allowed velocity in either direction during a profiled
motion. It is the maximum velocity that can be used for positioning. The value is given in internal or
user specific units (depending on object 208Ch, paragraph 7.1.17).
OBJECT DESCRIPTION
ENTRY DESCRIPTION
6.2.1.12 Object 6081
: Profile velocity
h
This object indicates the configured velocity normally attained at the end of the acceleration ramp
during a profiled motion and is valid for both directions of motion. The profile velocity is the
maximum velocity used when driving to a new position. It is given in internal or user specific units
(depending on object 208Ch, paragraph 7.1.17)
OBJECT DESCRIPTION
ENTRY DESCRIPTION
6.2.1.13 Object 6083
: Profile acceleration
h
This object indicates the configured acceleration. Object 6083h sets the maximum acceleration to be
used in profile positioning mode.
Please choose the units for object 6083h with object 208Eh, described in paragraph 7.1.18. Object 208Eh
reads 0 when internal units are selected or 179 when user units (PPS/s) are selected.
This object indicates the configured deceleration. It sets the maximum deceleration used in profile
positioning mode.
Please choose the units for object 6084h with object 208Eh, described in paragraph 7.1.18. Object 208Eh
reads 0 when internal units are selected or 179 when user units (PPS/s) are selected.
OBJECT DESCRIPTION
ENTRY DESCRIPTION
6.2.1.15 Object 6085
: Quick stop deceleration
h
This object indicates the configured deceleration used to stop the motor when the quick stop function
is activated and the quick stop code object 605Ah is set to 2 [or 6]. The value is given in the same
unit as profile acceleration object 6083h. Object 6085h defines the deceleration that is to be used
during a quick stop operation.
OBJECT DESCRIPTION
ENTRY DESCRIPTION
6.2.1.16 Object 6086
: Motion profile type
h
This object indicates the configured type of motion profile used to perform a profiled motion. Set
this object to 0 for trapezoid ramps and to 1 for S-shaped ramps.
Here is a little example that shows how to get a motor running in pp mode. In this little example we
assume that the module has been reset (and then switched to start) by NMT commands before.
Please note, that the values are decimal.
If you do not have any limit switches connected, first disable the limit switch inputs by
writing 3 to object 2005h.
Select pp mode by writing 1 to object 6060Write 6 to object 6040Write 7 to object 6040Write 15 to object 6040
to switch to READY_TO_SWITCH_ON state.
h
to switch to SWITCHED_ON state.
h
to switch to OPERATION_ENABLED state.
h
Write the desired target position (e.g. 500000) to object 607AMark the new target position as active by writing 31 to object 6040
This clause describes the method by which a drive seeks the home position (reference point). There
are various methods of achieving this using limit switches at the ends of travel or a home switch in
mid-travel. Some methods also use the index (zero) pulse train from an incremental encoder. The user
may specify the speeds, acceleration and the method of homing.
There is no output data except for those bits in the statusword, which return the status or result of
the homing process and the demand to the position control loops.
There are four sources of the homing signal available: These are positive and negative limit switches,
the home switch and the index pulse from an encoder.
Figure 7.1 shows the defined input objects as well as the output objects. The user can specify the
speeds, acceleration and method of homing. There is a further object home offset, which allows
displacing zero in the coordinate system for the home position.
By choosing a homing method, the following behavior is determined: the homing signal (positive
limit switch, negative limit switch, and home switch), the direction of actuation and where
appropriate, the position of the index pulse. The home position and the zero position are offset by
the home offset.
For the operation of positioning drives, an exact knowledge of the absolute position is normally
required. Since for cost reasons, drives often do not have an absolute encoder, a homing operation is
necessary. There are several application specific methods. The homing method is used for selection.
The PDx-140-42-SE has four connectors, a 5-pin power and serial communication interface connector,
an 8-pin input/output connector, a 4-pin motor connector (for the attached motor) and a 5-pin miniUSB connector.
Figure 6.4: Connectors of PDx-140-42-SE
Please connect home switch, left switch, and right switch with the I/O connector as follows:
6.3.2 Homing methods: Homing on negative home switch and index
pulse
There are several different methods of homing. This paragraph describes homing on negative home
switch and index pulse.
Using the two methods as shown in Figure 6.5, the initial position is situated so that the direction of
movement is dependent on the state of the home switch. The home position is at the index pulse to
either to the left or the right of the point where the home switch changes state. If the initial position
is situated so that the direction of movement is reverse during homing, the point at which the
reversal takes place is anywhere after a change of state of the home switch.
Figure 6.5: Homing on negative home switch and index pulse
Set to 1 to start homing; setting to 0 stops homing
8
Halt
Not supported
Index
Name
Object Code
Data Type
6040h
Controlword
Variable
UNSIGNED16
Sub-Index
Access
PDO Mapping
Value Range
Default Value
00h
rw
Refer to CiA402-3
See command
coding above
Device and operation mode specific
6.3.3 Detailed object definitions
6.3.3.1 Object 6040
: Controlword
h
This object indicates the received command controlling the power drive system finite state
automation (PDS FSA). The CiA-402 state machine can be controlled using this object. Please refer to
Figure 6.1: Finite state machine for detailed information.
Set when the zero position has been found or homing
has been stopped by setting controlword bit 4 to zero
12
Homing attained
Set when the zero position has been found
13
Homing error
Not supported
Bit 13
Bit 12
Bit 10
Definition
0 0 0
Homing procedure is in progress
0 0 1
Homing procedure is interrupted or not reached
0 1 0
Homing is attained, but target is not reached
0 1 1
Homing procedure is completed successfully
1 0 0
Homing error occurred, velocity is not 0
1 0 1
Homing error occurred, velocity is 0
1 1 x
reserved
Index
Name
Object Code
Data Type
6041h
Statusword
Variable
UNSIGNED16
Sub-Index
Access
PDO Mapping
Value Range
Default Value
00h
r0
Refer to CiA402-3
See state coding
above
No
6.3.4 Object 6041
: Statusword
h
This object provides the status of the PDS FSA. It reflects the status of the CiA402 state machine.
Please refer to Figure 6.1: Finite state machine for detailed information. The object is structured as
defined below.
For more information about the coding refer to the CANopen Drives and motion control device profile, part 2 please.
No homing. This is the default value, but there is actually no homing method 0.
3
Search the positive edge of the home switch, than search the next encoder index pulse.
5
Search the negative edge of the home switch, than search the next encoder index pulse.
19
Search the positive edge of the home switch.
21
Search the negative edge of the home switch.
33
Search next index pulse in negative direction.
34
Search next index pulse in positive direction.
35
The actual position is used as the home position. All position values (objects 6062h, 6063h, and 6064h) are set
to zero, but the motor will not move.
Index
Name
Object Code
Data Type
6098h
Homing method
Variable
SIGNED8
Sub-Index
Access
PDO Mapping
Value Range
Default Value
00h
rw
Refer to CiA402-3
0, 3, 5, 19, 21, 33, 34, 35
0
6.3.4.1 Object 607C
: Home offset
h
This object indicates the configured difference between the zero position for the application and the
machine home position/home switch (found during homing). While homing, the machine home
position is found and once the homing is completed, the zero position is offset from the home
position by adding the home offset to the home position. The effect of setting the home position to
a non-zero value depends on the selected homing method. The value of this object is given in
microsteps. Negative values indicate the opposite direction.
Figure 6.6: Home offset definition
OBJECT DESCRIPTION
ENTRY DESCRIPTION
6.3.4.2 Object 6098
: Homing method
h
The homing method to be used in homing mode can be selected here. Homing methods supported
by the current firmware are:
VALUE DEFINITION
Other homing methods are not supported by the current firmware, but will be added in later
firmware releases.
This object indicates the configured speeds used during homing procedure. The values are given in
units, which can be selected with object 208Ch, described in paragraph 7.1.17. Using object 6099h a
fast and a slow homing speed can be set. In most homing modes, the home switch is searched with
the fast speed first. When the home switch has been found, the motor will be decelerated to the
slow speed (using the homing acceleration, object 609Ah) and then stopped at the exact switch point.
OBJECT DESCRIPTION
ENTRY DESCRIPTION
6.3.4.4 Object 609A
: Homing acceleration
h
This object indicates the configured acceleration and deceleration to be used during homing
operation. The values for accelerating to the fast homing speed and for decelerating to the slow
homing speed can be set here. The values are given in units, which can be selected with object 208Eh,
described in paragraph 7.1.18.
OBJECT DESCRIPTION
ENTRY DESCRIPTION
6.3.5 How to start a homing in hm mode
Here is a little example that shows how to home the motor in hm mode. In this little example we
assume that the module has been reset (and then switched to start) by NMT commands before. The
home switch must be connected to the home switch input. It can be operated manually.
Select hm mode by writing 6 to object 6060Write 6 to object 6040Write 7 to object 6040Write 15 to object 6040
to switch to READY_TO_SWITCH_ON state.
h
to switch to SWITCHED_ON state.
h
to switch to OPERATION_ENABLED state.
h
Select homing method 19 by writing 19 to object 6098Set the homing speeds by writing e.g. 50000 to object 6099
object 6099h sub index 2.
Write 31 to object 6040
to start the homing process.
h
Press and release the home switch. When homing has finished, write 15 to object 6040
The velocity mode is used to control the velocity of the drive without a special regard of the position.
It contains limit functions.
The operation of the reference value generator and its input parameters include:
Velocity Acceleration Deceleration Emergency stop
6.4.1 Detailed object definitions
6.4.1.1 Object 6040
: Controlword
h
This object indicates the received command controlling the power drive system finite state
automation (PDS FSA). The CiA-402 state machine can be controlled using this object. Please refer to
Figure 6.1: Finite state machine for detailed information.
STRUCTURE OF CONTROLWORD / VALUE DEFINITION
There are no mode specific bits supported in vl mode.
This object provides the status of the PDS FSA. It reflects the status of the CiA402 state machine.
Please refer to Figure 6.1: Finite state machine for detailed information. The object is structured as
defined below.
For more information about the coding refer to the CANopen Drives and motion control device profile, part 2 please.
STRUCTURE OF STATUSWORD / VALUE DEFINITION
There are no mode specific bits supported in vl mode.
OBJECT DESCRIPTION
ENTRY DESCRIPTION
6.4.1.3 Object 6042
: vl target velocity
h
This object indicates the required velocity of the system. It is the target velocity when the velocity
mode is active. Use this object to control the velocity of the motor in velocity mode. When this object
is changed the motor will be accelerated or decelerated to the new velocity. The range depends on
the chosen units, which can be internal or user-specific. Please refer to object 208Ch (paragraph 7.1.17)
for more information about that.
The object provides the instantaneous velocity generated by the ramp function. It shows the last
target velocity that has been set using object 6042h. The value is given in the same unit as the target
velocity, too. Please refer to object 208Ch (paragraph 7.1.17) for more information about that.
OBJECT DESCRIPTION
ENTRY DESCRIPTION
6.4.1.5 Object 6044
: vl velocity actual value
h
This object shows the actual velocity of the motor when the motor is in velocity mode. The value is
given in the same unit as vl target velocity and vl velocity demand. Please refer to object 208Ch
(paragraph 7.1.17) for more information about that.
OBJECT DESCRIPTION
ENTRY DESCRIPTION
6.4.1.6 Object 6046
: vl velocity min max amount
h
This object indicates the configured minimum and maximum amount of velocity in velocity mode.
This object indicates the configured delta speed and delta time of the slope of the acceleration ramp
as shown in the following figure. Object 6048h provides the acceleration used in velocity mode. This
value is also used for the deceleration. The value of the delta speed is given in internal or in user
units (rpm/s).
Figure 6.7: Transfer characteristic of the velocity acceleration
OBJECT DESCRIPTION
ENTRY DESCRIPTION
6.4.1.8 Object 6049
: vl velocity deceleration
h
This object contains the same value as set in object 6048h. A separate declaration value is not
supported.
This object provides the demanded position value. The value is given in microsteps. Object 6062h
indicates the actual position that the motor should have. It is not to be confused with objects 6063h
and 6064h.
OBJECT DESCRIPTION
ENTRY DESCRIPTION
6.4.1.11 Object 6063
: Position actual internal value
h
This object indicates the actual position of the encoder, re-scaled to the microstep resolution of the
motor. If necessary, the data unit may be transformed from user-defined units to increments. The
value is given in microsteps or encoder steps, depending on object 606Ah (described in paragraph
6.1.8).
OBJECT DESCRIPTION
ENTRY DESCRIPTION
6.4.1.12 Object 6064
: Position actual value
h
This object provides the actual value of the position measurement device. It always contains the
same value as object 6063h. The value is given in microsteps.
Corrected min position limit = min position limit - home offset
Corrected max position limit = max position limit - home offset
6.4.1.13 Object 6065
: Following error window
h
This object indicates the configured range of tolerated position values symmetrically to the position
demand value. If the position actual value is out of the following error window, a following error
occurs. A following error may occur when a drive is blocked, unreachable profile velocity occurs, or at
wrong closed-loop coefficients. The value is given in microsteps. If the value of the following error
window is 0 or FFFF FFFFh, the following control will be switched off.
When the difference between motor position (object 6062h) and encoder position (object 6063h or
6064h) is greater than the value set here, the motor will be stopped and an emergency message will
be sent. Setting this object to zero will turn off this feature completely. Setting this object to a too
low value will lead to false alarms.
OBJECT DESCRIPTION
ENTRY DESCRIPTION
6.4.1.14 Object 607D
This object indicates the configured maximal and minimal software position limits. These parameters
define the absolute position limits for the position demand value and the position actual value. The
position actual vale is always checked against these limits. The limit position is always relative to the
machine home position. Before being compared with the target position, they have to be corrected
internally by the home offset as follows:
This calculation needs only be performed when home offset or software position limit is changed.
The limit positions are given in microsteps (same as target position). Two limits for moving the motor
in positioning mode can be set here. Overstepping the window will lead to an emergency message
and the motor will be stopped.
This object indicates the configured acceleration. Object 6083h sets the maximum acceleration to be
used in profile velocity mode.
Please choose the units for object 6083h with object 208Eh, described in paragraph 7.1.18. Object 208Eh
reads 0 when internal units are selected or 179 when user units (PPS/s) are selected.
OBJECT DESCRIPTION
ENTRY DESCRIPTION
6.4.1.16 Object 6084
: Profile deceleration
h
This object indicates the configured deceleration. It sets the maximum deceleration used in profile
velocity mode.
Please choose the units for object 6083h with object 208Eh, described in paragraph 7.1.18. Object 208Eh
reads 0 when internal units are selected or 179 when user units (PPS/s) are selected.
OBJECT DESCRIPTION
ENTRY DESCRIPTION
6.4.1.17 Object 6085
: Quick stop deceleration
h
This object indicates the configured deceleration used to stop the motor when the quick stop function
is activated and the quick stop code object 605Ah is set to 2 or 6. The quick stop deceleration is also
used if the fault reaction code object 605Eh is 2 and the halt option code object 605Dh is 2. Object
6085h defines the deceleration that is to be used during a quick stop operation.
The value is given in the same physical unit as profile acceleration object 6083h. You can choose the
units for object 6083h with object 208Eh, described in paragraph 7.1.18. Object 208Eh reads 0 when
internal units are selected or 179 when user units (PPS/s) are selected.
Here is a little example that shows how to get a motor running in vl mode. In this little example we
assume that the module has been reset (and then switched to start) by NMT commands before.
If you do not have any limit switches connected, first disable the limit switch inputs by
writing 3 to object 2005h.
Select vl mode by writing 2 to object 6060Write 6 to object 6040Write 7 to object 6040Write 15 to object 6040
to switch to READY_TO_SWITCH_ON state.
h
to switch to SWITCHED_ON state.
h
to switch to OPERATION_ENABLED state.
h
Write the desired target speed (e.g. 500) to object 6042
The manufacturer segment contains manufacturer specific objects. These objects control the special
features of the TRINAMIC motion control devices PD-116, PD-140, and TMCM-103.
7.1 Detailed object specifications
7.1.1 Object 2000
: Microstep resolution
h
This object sets the microstep resolution of the drive. A value of 6 means 64 microsteps (26). It is only
writeable in the SWITCHED_ON_DISABLED state, but always readable.
OBJECT DESCRIPTION
ENTRY DESCRIPTION
7.1.2 Object 2001
: Fullstep resolution
h
This object shows the fullstep resolution of the motor shipped with a PANdrive™. It is normally 200
(1.8° motor).
Time between applying brake / disabling
power stage
rw
no
0… 65535
0
02h
Time between releasing brake / switching
the state machine to operational
rw
no
0… 65535
0
Index
Name
Object Code
Data Type
2003h
Maximum current
Variable
UNSIGNED8
Sub-Index
Access
PDO Mapping
Value Range
Default Value
00h
rw
no
0… 255
228
Index
Name
Object Code
Data Type
2004h
Standby current
Variable
UNSIGNED8
Sub-Index
Access
PDO Mapping
Value Range
Default Value
00h
rw
no
0… 255
20
7.1.3 Object 2002
: Brake delay times
h
With this object the delay times for applying and releasing an (optional) brake can be defined. Please
see also object 200Ah for an additional delay between enabling the power stage and releasing the
brake. Both times are given in ms.
Figure 7.1: Brake output timing
OBJECT DESCRIPTION
ENTRY DESCRIPTION
7.1.4 Object 2003
: Maximum current
h
This object defines the current used when the motor is moving. A value of 255 means 100% of the
maximum current of the drive.
OBJECT DESCRIPTION
ENTRY DESCRIPTION
7.1.5 Object 2004
: Standby current
h
This object defines the current used when the motor is standing (two seconds after the last move). A
value of 255 means 100% of the maximum current of the drive.
This object defines which limit switches are to be used. Bit 0 stands for the left and bit 1 stands for
the right limit switch. If a bit is set, the corresponding limit switch will not be used. So this object
has to be set to the value 3 if limit switches are not connected. The object can only be written when
the drive is in the SWITCHED_ON_DISABLED state (but is always readable).
From firmware version 3.01 on
The limit switches can also be inverted using bit 2 and bit 3:
- Bit 2 inverts the left limit switch
- Bit 3 inverts the right limit switch
OBJECT DESCRIPTION
ENTRY DESCRIPTION
7.1.7 Object 2006
: Mixed decay threshold
h
This object defines the behaviour of the mixed decay feature of the drive. When it is set to the value
-1, fast decay is always used. When it is set to a value between 0… 2047, fast decay will only be used
when the internal velocity is higher or equal to that value. When set to 2048, fast decay will never be
used.
It is recommended to use -1. Only when stallGuard™ is to be used this value has to be set to 2048
first.
OBJECT DESCRIPTION
ENTRY DESCRIPTION
7.1.8 Object 2007
: Stall detection threshold
h
This object defines if stallGuard™ is to be used. When set to 0, stallGuard™ will not be used. When
set to 1… 7, the motor will be stopped and an emergency message will be generated if the stall value
is the same or higher than the value set here. Switch off mixed decay (object 2006h) before using
stallGuard™.
When the internal velocity gets higher than the value defined here the motor will be switched to
fullstep operation. A value of 0 or 2048 turns off this feature. Normally only needed for getting more
force in higher speeds.
OBJECT DESCRIPTION
ENTRY DESCRIPTION
7.1.10 Object 200A
: Enable drive delay time
h
This is an additional delay time (in milliseconds) between enabling the power stage and releasing the
brake. It can be used to prevent the brake from being released too early (before the hold current in
the motor has been reached). Please see also object 2002h.
OBJECT DESCRIPTION
ENTRY DESCRIPTION
7.1.11 Object 200B
: Encoder parameters
h
OBJECT DESCRIPTION
ENTRY DESCRIPTION
This object defines the polarity of the encoder null channel. The following options can be selected:
Bit 0: polarity of channel A on index pulse (0=low, 1=high).
Bit 1: polarity of channel B on index pulse (0=low, 1=high).
Bit 2: polarity of channel N on index pulse (0=low, 1=high).
Bit 3: ignore channel A/B polarity on index pulse.
This object is only writable in SWITCHED_ON_DISABLED state.
This object configures how much current has to be fed into the brake to apply and to release it. 0
means 0%, 255 means 100% of the maximum current (this depends on the module). In most cases it
is needed to feed current into the brake to release it. The default configuration is made for this case.
Setting both values to 0 disables the automatic brake control. This object is only writable in
SWITCHED_ON_DISABLED state.
Please note that on the TMCM-103 and TMCM-140 modules only 0 (brake output switched off) and
255 (brake output switched on) can be used. Set both values to zero if no brake is used. In such
a case the brake output can be used as a normal digital output.
OBJECT DESCRIPTION
ENTRY DESCRIPTION
7.1.13 Object 2085
: Ramp divisor
h
Use this object to define the ramp divisor when internal units are selected for velocity and
acceleration. Please see the TMCL™ manual and the hardware manual of the drive for more
information about this value. This object can only be written in the SWITCHED_ON_DISABLE state (but
is always readable).
OBJECT DESCRIPTION
ENTRY DESCRIPTION
7.1.14 Object 2086
: Pulse divisor
h
Use this object to define the pulse divisor when internal units are to be used for velocity and
acceleration. Please see the TMCL™ manual and the hardware manual of the drive for more
information about this value. This object can only be written in the SWITCHED_ON_DISABLED state
(but is always readable).
The functionality of this object depends on the unit selection (object 208Ch):
- If internal units are selected this object will be set to the fixed value of 2047 and cannot be
changed.
- If user units are selected the maximum velocity (RPM) that is to be used must be set here. A
lower value in this object leads to a better accuracy of the unit conversion.
This value can only be changed when the drive is in the SWITCHED_ON_DISABLED state.
OBJECT DESCRIPTION
ENTRY DESCRIPTION
7.1.16 Object 2088
: Maximum acceleration
h
The functionality of this object also depends on the unit selection (object 208Eh):
- If internal units are selected this object will be set to the fixed value of 2047 and cannot be
changed.
- If user units are selected the maximum acceleration (RPM/s) that is to be used must be set
here. A lower value in this object leads to a better accuracy of the unit conversion.
This value can only be change when the drive is in the SWITCHED_ON_DISABLED state.
OBJECT DESCRIPTION
ENTRY DESCRIPTION
7.1.17 Object 208C
: Velocity dimension index
h
Writing 0 selects internal units, writing 164 sets PPS units for velocity and PPS/s units for acceleration.
This can only be changed in SWITCHED_ON_DISABLED mode.
This object reads 0 when internal units are selected or 177 when user units (PPS/s) are selected. This
depends on the setting of object 208Ch, paragraph 7.1.17)
OBJECT DESCRIPTION
ENTRY DESCRIPTION
7.1.19 Object 2100
: Home offset display
h
The value is given in microsteps.
OBJECT DESCRIPTION
ENTRY DESCRIPTION
7.1.20 Object 2101
: Actual stallGuard™ load value
h
This object shows the actual stallGuard™ load value. It is needed for configuring the stallGuard™
feature, to find the optimal velocity (please see the TMCL™ manual for more about using
stallGuard™.)
3 PWM cycles with overcurrent within 63 PWM cycles
3
OLB
Open load bridge B
No PWM switch off for 14 oscillator cycles
2
OLA
Open load bridge A
No PWM switch off for 14 oscillator cycles
1
OCB
Overcurrent bridge B low side
3 PWM cycles with overcurrent within 63 PWM cycles
0
OCA
Overcurrent bridge A low side
3 PWM cycles with overcurrent within 63 PWM cycles
Index
Name
Object Code
Data Type
2102h
Driver error flags
Variable
UNSIGNED8
Sub-Index
Access
PDO Mapping
Value Range
Default Value
00h
ro
no
0… 255
0
Index
Name
Object Code
Data Type
2103h
Pulse divisor display
Variable
UNSIGNED8
Sub-Index
Access
PDO Mapping
Value Range
Default Value
00h
ro
no
0… 13
3
Index
Name
Object Code
Data Type
2104h
Maximum velocity display
Variable
UNSIGNED32
Sub-Index
Access
PDO Mapping
Value Range
Default Value
00h
ro
no
0… 2047
2047
7.1.21 Object 2102
: Driver error flags
h
This object shows the hardware error flags of the motor driver IC.
THERE ARE THE FOLLOWING ERROR BITS:
OBJECT DESCRIPTION
ENTRY DESCRIPTION
7.1.22 Object 2103
: Pulse divisor display
h
The pulse divisor display shows the pulse divisor that has been calculated by the drive when user
units are selected or that can be set using object 0x2086 when internal units are selected.
The ramp divisor display shows the ramp divisor that has been calculated by the drive when user
units are selected or that can be set using object 2085h when internal units are selected.
OBJECT DESCRIPTION
ENTRY DESCRIPTION
7.1.25 Object 2106
: Maximum acceleration display
h
This object shows the value of object 2088h.
OBJECT DESCRIPTION
ENTRY DESCRIPTION
7.1.26 Object 2107
: Microstep resolution display
h
This object shows the microstep resolution (set by object 2000h when internal units are selected or
calculated when user units are selected).
OBJECT DESCRIPTION
ENTRY DESCRIPTION
7.1.27 Object 2700
: TMCL™ direct communication
h
After writing the make signature 656b616dh to this object the drive switches to TMCL™ mode. The
drive can then only be controlled via TMCL™ commands written to the OS command object 1023/01h
The drive has to be reset (using the DS-301 reset application command) to return to normal CANopen
functionality.
* read: 0 = manufacturer specific mode is inactive
1 = manufacturer specific mode is active
write: 656b616dh = make signature
6c6c696bh = kill signature
7.1.28 Object 2701
: Manufacturer specific mode
h
Writing the make signature to this object turns on the manufacturer specific mode. The manufacturer
specific mode can be turned off again by writing the kill signature to this object.
The manufacturer specific mode has the following features:
PDOs do not need to be disabled and re-enabled when the PDO mapping is to be changed The RTR bit in the COB-ID of PDO definitions is ignored.
OBJECT DESCRIPTION
ENTRY DESCRIPTION
7.1.29 Object 2702
: Digital inputs
h
Bits 16… 23 of this object reflect the states of the digital inputs (general purpose inputs 0… 8, the
number of available inputs depend on the module type).
OBJECT DESCRIPTION
ENTRY DESCRIPTION
7.1.30 Object 2703
: Digital outputs
h
With this object the digital outputs (general purpose outputs) can be set. Bits 16… 23 of sub index 1
switch outputs 0… 8 of the module. Bits 16… 23 of sub index 2 determine which outputs can be
switched. The number of available digital outputs depends on the module type.
With this object it is possible to change the CAN bit rate. To do this, first write the new value to this
object. Then, store the new setting by writing the save signature to object 2706h. After that, reset the
module. The new setting becomes active then.
OBJECT DESCRIPTION
ENTRY DESCRIPTION
7.1.32 Object 2705
: Node ID
h
On modules that do not have address switches the node ID can be selected using this object. On
modules with address switches the node ID is normally selected using the address switches. Only
when the address switches are set to an invalid value (0 or >127) this object overrides the address
switch setting.
To change the node ID, first write the new node ID to this object. Then, store the new setting by
writing the save signature to object 2706h. After that, reset the module. The new setting becomes
active then.
OBJECT DESCRIPTION
ENTRY DESCRIPTION
7.1.33 Object 2706
: Store
h
Writing the save signature to this object permanently saves changes made on objects 2707h and
2708h.
The motor driver indicates open load on bridge A. It is possible that the motor cable is
broken or that there is an error in the power amplifier itself.
0x1000
2 0 0 0 0
Generic error: open load bridge B
The motor driver indicates open load on bridge B. It is possible that the motor cable is
broken or that there is an error in the power amplifier itself.
0x2310
0 0 0 0 0
Overcurrent high side
The motor driver indicates an overcurrent on the high side. This can be caused by a short
circuit in the driver stage.
0x2311
0 0 0 0 0
Overcurrent bridge B
The motor driver indicates that there is overcurrent on bridge B. This can be caused by a
short circuit in the motor itself or in the motor driver stage.
0x2312
0 0 0 0 0
Overcurrent bridge A
The motor driver indicates that there is overcurrent on bridge A. This can be caused by a
short circuit in the motor itself or in the motor driver stage.
0x3230
0 0 0 0 0
stallGuard™ error
The actual load value exceeds the StallGuard limit.
0x4310
1 0 0 0 0
Overtemperature pre-warning
The temperature in the motor driver exceeds the pre-warning limit.
0x4310
2 0 0 0 0
Overtemperature error
The motor driver has been switched off because the temperature limit has been exceeded.
0x5441
0 0 0 0 0
Shutdown switch active
The enable signal is missing (due to the shutdown switch) and the motor driver has been
switched off.
0x6320
0 0 0 0 0
Parameter error
The data in the received PDO is either wrong or cannot be accepted due to the internal
state of the drive.
0x8110
1 0 0 0 0
CAN controller overflow
The receive message buffer of the CAN controller hardware is full and some CAN messages
are lost.
0x81110
2 0 0 0 0
CAN Tx buffer overflow
The software CAN transmit buffer is full and thus some CAN messages are lost.
0x81110
3 0 0 0 0
CAN Rx buffer overflow
The software CAN receive buffer is full and so some CAN messages are lost.
0x8120
0 0 0 0 0
CAN error passive
The CAN controller has detected communication errors and has entered the CAN Error
passive state.
0x8140
0 0 0 0 0
CAN controller recovered from bus-off state
The CAN controller had detected too many errors and had changed into the bus-off state.
The drive has been stopped and disabled. This message is sent after the CAN controller has
recovered from bus-off state and is bus-on again.
0x8611
0 0 0 0 0
Following error
The deviation between motor position counter and encoder position counter has exceeded
the following error window.
0xff00
0 0 0 0 0
Undervoltage
The supply voltage is too low to drive a motor.
0xff01
1 0 0 0 0
Positive software limit
The actual position is outside the range defined by object 0x607d.
8 Emergency messages
The module sends an emergency message if an error occurs. The message contains information about
the error type. The module can map internal errors and object 1001h (error register) is part of every
Some functions added (position window, brake delay
times, homing modes 33 and 34, additional objects).
2.30
2008-SEP-09
OK
Faster response times.
2.40
2009-SEP-23
OK
Shutdown switch ignored when in
NOT_READY_TO_SWITCH_ON, SWITCHED_ON_DISABLED,
READY_TO_SWITCH_ON and SWITCHED_ON states.
Brake output configurable.
Safer detection of open load conditions.
2.50
2008-OCT-31
OK
Identity object also provides serial number
3.01
2009-OCT-12
OK
Home switch polarity reversed
Node ID and bitrate can be configured via manufacturer
specific objects
3.02
2010-JAN-07
OK
Home switch polarity switchable (via object 2005h)
3.05
2010-DEC-15
OK
Heartbeat consumer functionality added
Non volatile storage of some motor parameters added
Analog inputs can be read via object 270Eh
Version
Date
Author
Description
0.90
2008-JUL-09
OK
Initial version, preliminary
0.91
2008-AUG-08
OK
Adapted to version 2.2 of the CANopen firmware
0.92
2008-SEP-08
OK
Object 60fdh added
0.93
2008-SEP-09
OK
Chapter 4.1: TPDO communication parameters
corrected
0.94
2008-SEP-23
OK
Emergency messages added
0.95
2008-NOV-03
OK
Module types changed
0.97
2009-OCT-15
OK
Homing methods and objects 1014h /1015h /1017h
corrected
1.00
2010-MAR-14
SD
Initial version based on version 0.97
1.01
2010-MAY-24
SD
Objects 2704h, 2705h, 2707h, and 2708h corrected
1.02
2010-JUN-15
SD
Object 2706h and object 6098h corrected, minor
changes