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
Object 2031h: Unit Options (Encoder Enable, Capture In/Trip Out)
Object Description
Index
2031
Entry Description
h
Access
R/W/S
Note: Encoder functions only apply to the MDrive products. The MForce products do not have closed loop capability.
Bit
Position
0Reserved ReservedReservedReservedEncoder
1Reserved ReservedReservedReservedEncoder
Default00000000
Example00001100
0x800x400x200x100x080x040x020x01
Name
Unit Options
PDO Mapping
No
Range
0/1
Object Code
VAR
Disabled
Enabled
Data Type
Unsigned 8
Capture InReservedReserved
Trip OutReservedReserved
Object 2032h: Clock Options
Object Description
Default
0
Index
2032
Entry Description
h
Access
R/W/S
Bit
Position
0n/an/an/an/an/an/an/an/a
1Invert
Default00000001
Example0000100
0x800x400x200x100x080x040x020x01
Direction
Name
Clock Options
PDO Mapping
No
Invert
Step
ReservedSquare
Range
See Table
Step Up/DnReservedQuadratureStep/
Out
Object Code
VAR
Data Type
Unsigned 8
Default
0
Object 2033h: Capture Input
Object Description
Index
2033
Name
Capture Input
h
Object Code
VAR
Data Type
See Entry Desc.
Direction
21Part 2: DSP-402 Implementation
Entry Description
Sub-IndexDescriptionCategoryAccessPDO
01h
02h
03h
04h
Enable Capture
Position
Enable Capture
Input Flag
Capture Input
Filter
Capture In
Position
Object 2204h: Run Current Percent
Object Description
Index
2204
Entry Description
Access
h
R/W/S
Name
Run Current %
PDO Mapping
No
Value RangeDefaultData Type
Mapping
R/WYes0/1
R/WNo0/1
R/WNo
R/WNo
Object Code
VAR
Range
Data Type
Unsigned 8
1 - 100
Default
25
2204
h
10MDrive Range 0 To
200.61.0
300.91.5
401.22.0
501.52.5
601.8*3.0
702.13.5
802.44.0
902.74.5
1003.05.0
Shaded Area Reserved for Future Use
*HC=67 for maximum 2.0 Amp Hold Current
MDrivePlus (All)MForce MicroDrive
100%
Actual Current Not
required as Motor is
appropriately sized
to the device.
Object 2205h: Hold Current Percent
Object Description
Index
2205
h
Name
Hold Current %
Run Current % By Device
(Amps RMS)
0.30.5
Object Code
VAR
MForce PowerDrive
(Amps RMS)
Data Type
Unsigned 8
Entry Description
Access
R/W/S
22MDrivePlus CANopen R020507
PDO Mapping
No
Range
0 - 100
Default
5
Hold Current % By Device
2205
h
10MDrive Range 0 To
200.61.0
300.91.5
401.22.0
501.52.5
601.8*3.0
702.13.5
802.44.0
902.74.5
1003.05.0
Shaded Area Reserved for Future Use
*HC=67 for maximum 2.0 Amp Hold Current
MDrivePlus (All)MForce MicroDrive
100%
Actual Current Not
required as Motor is
appropriately sized
to the device.
Object 2211h: Position Present Point Target
Object Description
(Amps RMS)
0.30.5
MForce PowerDrive
(Amps RMS)
Index
2211
h
Name
Position Present
Point Target
Entry Description
Access
R
PDO Mapping
No
Object 2212h: Position Final Point Target
Object Description
Index
2212
h
Name
Position Final Point
Target
Entry Description
Access
R/W/S
PDO Mapping
No
Range
± 2
Range
± 2
Object Code
VAR
31
Object Code
VAR
31
Data Type
Integer 32
Default
0
Data Type
Integer 32
Default
0
Object 5001h: Configuration
The following object is set at the factory, and is not user configurable.
Object Description
Index
5001
h
Name
Options Setting
Object CodeData Type
Unsigned 32
23Part 2: DSP-402 Implementation
Entry Description
Access
R/K
Object 5002h: ASCII Serial Number
The following object is set at the factory, and is not user configurable. It can be read by the user in the event that the contained data is needed for technical or application support.
Object Description
Index
5002
Entry Description
Access
h
R/K
Object 5003h: ASCII Part Number
The following object is set at the factory, and is not user configurable. It can be read by the user in the event that the contained data is needed for technical or application support.
Object Description
PDO Mapping
No
Name
ASCII Ser. No.
PDO Mapping
No
Range
N/A
Object CodeData Type
Range
N/A
Default
Factory
Unsigned 32
Default
Factory
Index
5003
Entry Description
Access
h
R/K
Object 5004h: Motor Parameters
The following object is set at the factory, and is not user configurable. It can be read by the user in the event that the contained data is needed for technical or application support.
Object Description
Index
5004
Entry Description
Access
h
R/K
Name
ASCII Part No.
PDO Mapping
No
Name
Motor Parameters
PDO Mapping
No
Object CodeData Type
Range
N/A
Object CodeData Type
Range
N/A
Unsigned 32
Default
Factory
Unsigned 32
Default
Factory
24MDrivePlus CANopen R020507
Section 4
DEVICE CONTROL
State Machine
Controlword 6040h
Profile Position
Profile Velocity
Modes of Operation
6060h
Statusword
6041h
Device Control
Device Control
The device control function block controls all the functions of the MDrivePlus CANopen and is divided into to
sections:
1. Control of the State Machine
2. Operation Mode
Control and Status words
Controlword (Object Index 6040h) controls the state
and operation modes of the MDrivePlus CANopen.
Statusword (Object Index 6041h) returns the status of the
MDrivePlus CANopen.
State Machine
The State Machine describes the status and control sequence of the MDrivePlus CANopen and specifies the Initialization sta-
tus, the Pre-Operational status, the Operational status, and the Stopped status. See Figure 1.2 for a diagrammatic representation of State machine states and state transitions.
State Machine States
StateStatus Description
Not Ready to Switch OnLow Level Power Applied.
The drive is being initialized or is running a self test.
A brake, if present, is applied in this state.
The drive function is disabled.
Switch On DisabledDrive Initialization is complete.
The drive parameters have been set up.
Drive parameters may be changed.
High Voltage may not be applied to the drive.
The drive function is disabled.
Ready To Switch OnHigh Voltage may be applied to the drive.
The drive parameters may be changed.
The drive function is disabled.
Switched OnHigh Voltage has been applied to the drive.
The Power Amplifier is ready.
The drive parameters may be changed.
The drive function is disabled.
Operation EnableNo faults have been detected.
The drive function is enabled and power is applied to the motor.
The drive parameters may be changed.
(This corresponds to normal operation of the drive.)
Quick Stop ActiveThe drive parameters may be changed.
The Quick Stop function is being executed.
The drive function is enabled and power is applied to the motor.
Figure 4.1: Device Control
Fault Reaction Active
SUPPORT UNDER
DEVELOPMENT
Fault
SUPPORT UNDER
DEVELOPMENT
NOTE: If the ‘Quick-Stop-Option-Code’ is switched to 5 (Stay in Quick-Stop), the
MDrivePlus cannot exit the Quick-Stop-State, but you can transmit to ‘Operation
Enable’ with the command ‘Enable Operation’.
The drive parameters may be changed.
A non-fatal fault has occurred in the drive.
The Quick Stop function is being executed.
The drive function is enabled and power is applied to the motor.
The drive parameters may be changed.
A fault has occurred in the drive.
The drive function is disabled.
Event:‘Enable Operation’ command received from host.
Action:The drive function is enabled.
Event:
Action:The drive operation will be disabled.
Event:‘Shutdown’ command received from host.
Action:The power section is switched off.
Event:‘Quick stop’ command received from host.
Action:None
Event:‘Shutdown’ command received from host.
Action:
Event:‘Disable Voltage’ command received from host.
Action:
Event:
Action:
The drive has self-tested and/or initialized
successfully.
Activate communication and process data
monitoring
The power section is switched on if it is not
already switched on.
‘Disable Operation’ command received from
host.
The power section is switched off immediately,
and the motor is free to rotate if unbraked
The power section is switched off immediately,
and the motor is free to rotate if unbraked
‘Disable Voltage’ or ‘Quick Stop’ command
received from host.
The power section is switched off immediately,
and the motor is free to rotate if unbraked
11
12
13
14
15
16
Operation EnableQuick Stop Active
Quick Stop ActiveSwitch On Disabled
All States
Fault Reaction
Active
FaultSwitch On Disabled
Quick Stop ActiveOperation Enable
Fault Reaction
Active
Fault
Table 4.2: State Machine Transitions
Event:‘Quick Stop’ command received from host.
Action:The Quick Stop function is executed.
‘Quick Stop’ is completed or ‘Disable Voltage’
Event:
Action:The power section is switched off.
Event:A fault has occured in the drive.
Action:Execute appropriate fault reaction.
Event:Fault reaction is completed.
Action:
Event:‘Fault Reset’ command is recieved from the host.
Action:
Event:
Action:
command received from host. This transition
is possible, if the Quick-Stop-Option-Code is
different 5 (Stay in Quick-Stop)
The drive function is disabled, the power section
may be switched off.
A reset of the fault condition is carried out if no
fault exists currently on the drive. After leaving
the ‘Fault’ state the Bit ‘Fault Reset’ of the
controlword has to be cleared by
the host.
‘Enable Operation’ command received from
host. This transition is possible if the Quick-StopOption-Code is 5,6,7 or 8.
The drive function is enabled
26MDrivePlus CANopen R020507
Power Disabled
Power Enabled
Fault
Start
Not Ready to Switch On
Fault Reaction Active
Fault
Switch On Disabled
Ready To Switch On
0
1
2
7
4
5
6
Switched On
Operation EnableQuick Stop Active
938
16
11
10 12
14
13
15
Controlword 6040h
Internal
Event
Statusword
6041h
SUPPORT FOR FAULT
STATES UNDER
DEVELOPMENT
Notes On State Transitions
Commands directing a change in state are processed completely and the new state achieved before additional state
Transitions 0 and 1 occur automatically at drive power-on or reset. All other state changes must be directed by the
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 and profile velocity
Figure 4.2: State Machine States/Transitions Block Diagram
change commands are processed.
host.
reference values may be processed.
27Part 2: DSP-402 Implementation
Object 6040h — Controlword
Ths controlword is a mandatory, unsigned 16 bit number containing bits for controlling the state and operating modes for the MDrivePlus CANo-
pen.
Object Description
Index
6040
Entry Description
Access
h
r/w
Data Description
MSB
15111098
Manufacturer
Specific
OOOMOMMMM
O=Optional M= Mandatory
Device Control Command Bit Patterns (Bits 0-3 and 7)
Command
Shutdown0X1102, 6, 8
Switch On001113
Switch On011113
Disable Voltage0XX0X7, 9, 10, 12
Quick Stop0X01X7,10, 11
Disable Operation001115
Enable Operation011114, 16
Fault ResetXXXX15
*The MDrivePlus CANopen executes the functionality of Switched On
** The MDrivePlus CANopen will do nothing
Name
Controlword
PDO Mapping
n/a
ReservedHaltFault
Bit of Controlword (6040h)
Fault Reset
(Bit 7)
Table 4.3: MDrivePlus CANopen Device Control Commands (Bits Marked X are not relevant)
Enable
Operation
(Bit 3)
Object Code
VAR
Range
Unsigned16
LSB
7643210
Operation
Reset
Mode Specific
Quick Stop
(Bit 2)
Enable
Operation
Enable
Voltage
(Bit 1)
Data Type
Unsigned16
Default
n/a
Quick
Stop
Switch On
Enable
Voltage
(Bit 0)
Switch
On
State
Transitions
Device Operation Mode Bit Patterns (Bits 4-6 and 8)
Operation Mode
Bit 8Bit 6Bit 5Bit 4
Profile PositionHaltAbsolute/RelativeChange Set ImmediatelyNew Setpoint
Profile VelocityHaltReservedReservedReserved
Homing*HaltHoming Operation StartReservedReserved
*Homing Mode is currently under development for the MDrivePlus CANopen
Table 4.4: MDrivePlus CANopen Operation Modes
28MDrivePlus CANopen R020507
Controlword 6040h Bits 4-6, 8
Object 6041h — Statusword
Statusword (6041h) Bits
LSB
MSB
Ready to S
witch O
n
Switched On
Opera
tion Enabled
Fault
Vo
ltage Enabled
Quick Stop Active
Switch On Disabled
Warnin
g
Manufacturer Specific
Manufacturer Specific
Manufacturer Specific
Remote
Target R
eache
d
Internal Limit Activ
e
Ope
ra
tion Mode Specific
Ope
ra
tion Mode Specific
0
M
15O14
O
12O11M10M9M8O7O6M5M4M3M2M1
M
13
O
The Statusword is a read-only object that indicates the current state of the drive, no bits are latched. Statusword consists of
bits for:
The current state of the drive.
The operating state of the mode.
Manufacturer Specific options.
Object Description
Index
6041
Entry Description
Access
h
ro
Data Description
Name
Statusword
PDO Mapping
n/a
Object Code
VAR
Range
Unsigned16
Data Type
Unsigned16
Default
n/a
X=Irrelevant Bit State, *Bit 4 shown for illustration purpose only.
Figure 4.3: Statusword Bits
Bits 0-3 and 5-6
The following bits indicate the status of the MDrivePlus CANopen.
Status
Not Ready to Switch On0XX0000
Switch On Disabled1XX0000
Ready to Switch On01X0001
Switched On01X0011
Operation Enabled01X0111
Quick Stop Active00X0111
Fault Reaction Active0XX1111
Fault0XX0000
564*3210
Table 4.5: Device State Bits for Statusword
Bit of Statusword (6041h)
29Part 2: DSP-402 Implementation
Bit 4: Voltage Enabled
The Disable Voltage request is active when the voltage_disabled bit is cleared to 0.
Bit 5: Quick Stop Active
When reset, this bit indicates that the drive is reacting on a quick stop request. Bits 0, 1 and 2 of the statusword must
be set to 1 to indicate that the drive is capable to regenerate. The setting of the other bits indicates the status of the drive
(e.g. the drive is performing a quick stop as result of a reaction to a non-fatal fault. The fault bit is set as well as bits 0, 1
and 2).
Bit 7: Warning
A drive warning is present if bit 7 is set. The cause means no error but a state that has to be mentioned, e.g. temperature
limit, job refused. The status of the drive does not change. The cause of this warning may be found by reading the fault
code parameter. The bit is set and reset by the device.
Bit 8: Manufacturer Specific
This bit may be used by a drive manufacturer to implement any manufacturer specific functionality.
Bit 9: Remote
If bit 9 is set, then parameters may be modified via the CAN-network, and the drive executes the content of a command
message. If the bit remote is reset, then the drive is in local mode and will not execute the command message. The drive
may transmit messages containing valid actual values like a position_actual_value, depending on the actual drive
configuration. The drive will accept accesses via service data objects (SDOs) in local mode.
Bit 10: Target Reached
If bit 10 is set by the drive, then a setpoint has been reached (torque, speed or position depending on the modes_of_operation). The change of a target value by software alters this bit. If quickstop_option_code is 5, 6, 7 or 8, this bit must be
set, when the quick stop operation is finished and the drive is halted. If Halt occured and the drive has halted then this
bit is set too.
Bit 11: Internal Limit Active
This bit set by the drive indicates, that an internal limitation is active (e.g. position_range_limit).
Bits 12-13: Operation Mode Specific
Operation Mode
Profile PositionSet Point
Acknowledge
Profile VelocitySpeedMax Slippage Error
Homing*Homing AttainedHoming Error
*Homing Mode is currently under development for the MDrivePlus CANopen
Table 4.6: MDrivePlus CANopen Operation Mode Status
Statusword 6041h
Bit 12Bit 13
Following Error
Bit 14-15: Manufacturer Specific
These bits may be used by a drive manufacturer to implement any manufacturer specific functionality.
30MDrivePlus CANopen R020507
Section 5
Operation
Mode
Function
Profile Velocity Mode
Profile Position Mode
Homing Mode
Mode of Operation
(6060h)
Mode of Operation Display
(6061h)
Modes of Operation
Object 6060h — Modes of Operation
The performance of the MDrivePlus CANopen depends on the activated Modes of Operation. It is not possible to operates
the modes in parallel. The user must select a mode to operate in. An example of exclusive functions are Profile Velocity and
Profile Position modes.
The MDrivePlus allows the user to switch dynamically from operation mode to operation mode.
Figure 5.1: Mode of Operation
The IMS MDrivePlus CANopen supports the following Modes of Operation:
Profile Position
Profile Velocity
Homing Mode
Object Description
Index
6060
Entry Description
Access
rw
Data Description
The actual mode is reflected in the modes_of_operation_display (index 6061h), and not in the modes of operation
(index 6060h). It may be changed by writing to modes of operation.
Name
h
Mode of Operation
PDO Mapping
n/a
Object Code
VAR
Range
±Integer8
Data Type
±Integer8
Default
n/a
31Part 2: DSP-402 Implementation
Mode of Operation (6060h)
Manuf
. Specific Mode
s
R
eserve
d
R
eserve
d
Interpolated P
osition Mode
R
eserve
d
Profile P
osition Mode
Profile V
elocity Mode
Homing Mode
V
elocity Mode
Profile T
orque Mode
-1...-1288...12701234567
Gray Text modes unsupported by MDrivePlus CANopen
Figure 5.2: Modes of Operation
Object 6061h — Modes of Operation Display
The Modes of Operation Display shows the current mode of operation. The meaning of the returned value corresponds to
that of the Modes of Operation option code (index 6060h)
Object Description
Index
6061
Entry Description
h
Access
r
Data Description
Same as Object 6060h Modes of Operation.
Name
Mode of Operation Display
PDO Mapping
n/a
Object 6502h — Supported Drive Modes
This object shall provide information on the supported drive modes.
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 Section. These two function blocks are optionally controlled by individual
parameter sets.
Figure 6.1: Trajectory Generator Block Diagram
At the input to the Trajectory Generator, parameters may have optional limits applied before being normalized to internal
units. Normalized parameters are denoted with an asterisk. The simplest form of a Trajectory Generator is just to pass through
a target_position and to transform it to a position_demand_value* with internal units (increments) only.
For the IMS MDrivePlus CANopen the following values apply:
Note that the
MDrivePlus CANopen
is fixed at 256
microsteps/full motor
step or 51,200
microsteps per motor
revolution.
35Part 2: DSP-402 Implementation
Functional Description
Bit 4: new_set-point
Bit 12: set-point_acknowledge
Bit 5: change_set_immediately
data
0 = Single Set-Point 1 = Set of Set-points
1
6
6
1
5
5
3
3
4
4
2
2
Single Set-Point is Expected by MDrivePlus
Host Signals “Data is Valid” new_set-point = 1
MDrivePlus responds by setting Bit 12, set-point_acknowledge = 1
MDrivePlus responds by setting Bit 12, set-point_acknowledge = 0
MDrivePlus is ready to accept new data
Once Data is Validated, Host may release new_set-point
Indicates state Change of change_set_immediately to 1
ControlWord
(6040h)
StatusWord
(6041h)
There are two different ways to apply target_positions to a drive, are supported by this device profile.
1.
Set of set-points:
After reaching the target_position the drive unit immediately processes the next target_position which results in a
move where the velocity of the drive normally is not reduced to zero after achieving a set-point.
2. Single set-point:
After reaching the target_position the drive unit signals this status to a host computer and then receives a new setpoint. After reaching a target_position the velocity normally is reduced to zero before starting a move to the next
set-point.
The two modes are controlled by the timing of the bits new_set-point and change_set_immediately in the controlword and
set-point_acknowledge in the statusword.
These bits allow to set up a request-response mechanism in order to prepare a set of set-points while another set still is processed in the drive unit. This minimizes reaction times within a control program on a host computer.
36MDrivePlus CANopen R020507
Figure 6.2: Set-Point Transmission from Host Computer
Figure 6.2, Figure 6.3 and Figure 6.4 illustrate the difference between the “set of set-points” mode and the “single set-point”
mode. The initial status of the bit change_set_immediately in the controlword determines which mode is used. Trapezoidal
moves are used as this is the only motion_profile_type the MDrivePlus CANopen supports.
If the bit change_set_immediately is “0” (shaded area in Figure 3.2) a single set-point is expected by the drive . After data
is applied to the drive, a host signals that the data is valid by changing the bit new_setpoint to “1” in the controlword . The
drive responds with set-point_acknowledge set to “1” in the statusword after it recognized and buffered the new valid data.
Now the host may release new_setpoint and afterwards the drive signals with set-point_acknowledge equal “0” its ability
to accept new data again . In Figure 3.3 this mechanism results in a velocity of zero after ramping down in order to reach
a target_position X1.at T1. After signalling to the host, that the set-point is reached like described above, the next target_posi-tion X2 is processed at T2 and reached at T3.
V
2
V
1
T
0
T1T
2
T
3
Velocity
Time
target_position X
1
target_position X
2
Figure 6.3: Single Set-Point Mode (Move After a Move) 6040h Bit 5=0
V
2
V
1
T
0
T
1
T
2
Velocity
Time
Second target_position
given - immediate response
target_position reached
With change_set_immediately set to “1” , symbolized by the clear area in Figure 6.2, the host advises the drive to apply
a new set-point immediately after reaching the last one. The relative timing of the other signals is unchanged. This behavior
causes the drive to already process the next set-point X2 and to keep its velocity when it reaches the target_position X1 at T1.
Then drive moves immediately to the already calculated next target_position X2.
Figure 6.4: Set of Setpoints (Move on a Move) 6040h Bit 5=1
Controlword (6040h) of Profile Position Mode
15 9876543 0
See 1.3HaltSee 1.3abs/relChange Set ImmediatelyNew Set-PointSee 1.3
MSBLSB
BitNameValueDescription
4New Set Point
Change Set
5
Immediately
6abs/rel
8Halt
0Does not assume target position
1Assume target position
0Finish the actual positioning and then start the next positioning
1Interrupt the actual positioning and start the next positioning
0Target position is an absolute value
1Target position is a relative value
0Execute positioning
1Stop motion with profile deceleration
Table 6.1: Profile Position Mode Bits of Controlword
37Part 2: DSP-402 Implementation
Statusword (6041h) of Profile Position Mode
9141312111090
See 1.4Following ErrorSet-Point AcknowledgeSee 1.4Target ReachedSee 1.4
MSBLSB
BitNameValueDescription
0Halt=0: Target position not reached
10Target Reached
12
13Following Error
Set-Point
Acknowledge
Halt=1: Axis decelerating
1Halt=0: Target position reached
Halt=1: Axis velocity is 0
0Trajectory generator has not assumed the positioning values yet
1Trajectory generator has assumed the positioning values
0No following error
1Following error
Table 6.2: Profile Position Mode Bits of Statusword
Object 607Ah — Target Position
The Target Position is the position that the drive should move to in position profile mode using the MDrivePlus CANopen
parameters such as velocity, acceleration, deceleration, motion profile type etc. The target position is given in terms of 51,200
units per motor shaft revolution. The target position will be interpreted as absolute or relative depending on the absolute
relative flag (bit 6) in the controlword.
Object Description
Index
607A
Entry Description
Access
h
rw
Name
Target Position
PDO Mapping
Possible
Object Code
VAR
Range
Integer 32
Data Type
Integer 32
Default
n/a
Object 6081h — Profile Velocity
The profile velocity is the velocity normally attained at the end of the acceleration ramp during a profiled move and is valid for
both directions of motion. The profile velocity is given in steps per second..
Object Description
Index
6081
Entry Description
h
Access
rw
Name
Profile Velocity
PDO Mapping
Possible
Object Code
VAR
Range
Integer 32
Data Type
Integer 32
Default
n/a
38MDrivePlus CANopen R020507
Object 6082h — End Velocity
The end velocity defines the velocity which the drive must have on reaching the target position. Normally, the drive
stops at the target position, i.e. the end_velocity = 0. The end velocity is given in the same units as profile velocity.
Object Description
Index
6082
Entry Description
h
Access
rw
Object 6083h — Profile Acceleration
Profile Acceleration is given in steps/sec
Object Description
Index
6083
Entry Description
Access
h
rw
Name
End Velocity
PDO Mapping
Possible
Name
Profile Acceleration
PDO Mapping
Possible
2
Object Code
VAR
Range
Integer 32
Object Code
VAR
Range
Integer 32
Data Type
Integer 32
Default
n/a
Data Type
Integer 32
Default
n/a
Object 6084h — Profile Deceleration
Profile Deceleration is given in steps/sec
Object Description
Index
6084
Entry Description
Access
h
rw
Name
Profile Deceleration
PDO Mapping
Possible
2
Range
Integer 32
Object Code
VAR
Data Type
Integer 32
Default
n/a
39Part 2: DSP-402 Implementation
Object 6086h — Motion Profile Type
The Motion Profile Type is used to select the type of motion profile used to perform a move. The
MDrivePlus CANopen is fixed at Value 0: Linear Ramp (Trapezoidal Profile)
Object Description
Index
6086
Entry Description
Access
h
rw
Name
Motion Profile Type
PDO Mapping
Possible
Object Code
VAR
Range
Integer 16
Data Type
Integer 16
Default
0
40MDrivePlus CANopen R020507
Section 7
control_word
status_word
position_demand_value
homing_method
homing_speed
Homing
Homing Mode
General Information
This chapter describes the method by which a drive seeks the home position (also called, the datum, reference point or zero
point). There are various methods of achieving this using limit switches at the ends of travel or a home switch (zero point
switch) in mid-travel, most of the methods also use the index (zero) pulse train from an incremental encoder.
Figure 7.1: The Homing Function
Input Data Description
The user can specify the speeds and the method of homing. There are two homing_speeds; in a typical cycle the faster speed
is used to find the home switch and the slower speed is used to find the index pulse. The manufacturer is allowed some discretion in the use of these speeds as the response to the signals may be Dependent upon the hardware used.
Output Data Description
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.
Internal States
There is only one internal state called homing which is reflected in the bits of the statusword.
Controlword (6040h) of Profile Position Mode
15 9876543 0
See 1.3HaltSee 1.3ReservedHoming Operation StartSee 1.3
MSBLSB
BitNameValueDescription
0Homing Mode Inactive
0 1Start Homing Mode
1Homing Mode Active
1 0Interrupt Homing Mode
0Execute the instruction of bit 4
1Stop motion
Table 7.1: Homing Mode Bits of Controlword
Homing Operation
4
8Halt
Start
41Part 2: DSP-402 Implementation
Statusword (6041h) of Homing Mode
0
HOME
OFFSET (Steps)
9141312111090
See 1.4Homing ErrorHoming AttainedSee 1.4Target ReachedSee 1.4
MSBLSB
BitNameValueDescription
0Halt=0: Home position not reached
10Target Reached
12Homing Attained
13Following Error
Halt=1: Axis decelerating
1Halt=0: Home position reached
Halt=1: Axis velocity is 0
0Homing Mode not yet complete
1Homing Mode carried out successfully
0No homing error
1Homing error
Table 7.2: Homing Mode Bits of Statusword
Homing Offset (607Ch)
This object shall indicate the conFigure d difference between
the zero position for the application and the machine home
position (found during homing). During 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. All subsequent absolute
moves shall be taken relative to this new zero position. This is
illustrated in Figure 7.2. If this object is not implemented then
the home offset shall be regarded as zero. The value of this
object shall be given in micro steps. Negative values shall indicate the opposite direction.
Figure 7.2: Home Offset
Object Description
Index
607C
Entry Description
Access
h
rw
Name
Homing Offset
PDO Mapping
Possible
Object Code
VAR
Range
Integer 32
Data Type
Integer 32
Default
0
d
42MDrivePlus CANopen R020507
Axis Direction
1
Index Pulse
Negative Limit Switch
Homing Method (6098h)
The homing method object determines the method that will be used during homing.
Object Description
Index
6098
Entry Description
Access
h
rw
Data Description
ValueDescription
-128 — -1Manufacturer Specific
0No Homing Operation Required
1 — 35Homing Methods 1 through 35 (See Functional Description)
36 — 128Reserved
Functional Description of Homing Methods
Name
Homing Method
PDO Mapping
Possible
Object Code
VAR
Range
± Integer 8
Method 1: Homing on the Negative Limit Switch and Index Pulse
Using this method the initial direction of movement is leftward if the negative limit switch is inactive (here
shown as low). The home position is at the first index pulse to the right of the position where the negative limit
switch becomes inactive.
Data Type
± Integer 8
Default
0
Figure 7.3: Homing on the Negative Limit and Index Pulse
43Part 2: DSP-402 Implementation
Method 2: Homing on the Positive Limit Switch and Index Pulse
Axis Direction
2
Index Pulse
Positive Limit Switch
3
3
Index Pulse
Home Switch
4
4
Using this method the initial direction of movement is rightward if the positive limit switch is inactive (here
shown as low). The position of home is at the first index pulse to the left of the position where the positive limit
switch becomes inactive.
Figure 7.4: Homing on the Positive Limit and Index Pulse
Methods 3 and 4: Homing on the Positive Home Switch and Index Pulse
Using methods 3 or 4 the initial 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 sited so that the direction of movement must reverse during homing, the point at which the
reversal takes place is anywhere after a change of state of the home switch.
Figure 7.5: Homing on the Positive Home Switch and Index Pulse
Methods 5 and 6: Homing on the Negative Home Switch and Index Pulse
Using methods 5 or 6 the initial 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 sited so that the direction of movement must reverse during homing, the point at which the
reversal takes place is anywhere after a change of state of the home switch.
44MDrivePlus CANopen R020507
6
6
Index Pulse
Home Switch
5
5
Figure 7.6: Homing on the Negative Home Switch and Index Pulse
7
9
9
9
7
7
10
Home Switch
Positive Limit Switch
8
10
8
8
10
Index Pulse
Methods 7 to 14: Homing on the Home Switch and Index Pulse
These methods use a home switch which is active over only portion of the travel, in effect the switch has a
‘momentary’ action as the axle`s position sweeps past the switch.
Using methods 7 to 10 the initial direction of movement is to the right, and using methods 11 to 14 the initial
direction of movement is to the left except if the home switch is active at the start of the motion. In this case the
initial direction of motion is Dependent on the edge being sought. The home position is at the index pulse on
either side of the rising or falling edges of the home switch, as shown in the following two diagrams. If the initial
direction of movement leads away from the home switch, the drive must reverse on encountering the relevant
limit switch.
Figure 7.7: Homing on the Home Switch and Index Pulse - Positive Initial Move
45Part 2: DSP-402 Implementation
Home Switch
Negative Limit Switch
Index Pulse
14
14
13
12
11
11
11
12
12
13
13
14
Figure 7.8: Homing on the Home Switch and Index Pulse - Negative Initial Move
Home Switch
19
20
19
20
Methods 15 and 16: Reserved
These methods are reserved for future expansion of the homing mode.
Methods 17 to 30: Homing without an Index Pulse
These methods are similar to methods 1 to 14 except that the home position is not dependent on the index pulse
but only Dependent on the relevant home or limit switch transitions. For example methods 19 and 20 are similar
to methods 3 and 4 as shown in the following diagram.
Figure 7.9: Homing without an Index Pulse
Methods 31 and 32: Reserved
These methods are reserved for future expansion of the homing mode.
46MDrivePlus CANopen R020507
Methods 33 and 34: Homing on an Index Pulse
34
33
Index Pulse
Using methods 33 or 34 the direction of homing is negative or positive respectively. The home position is at the
index pulse found in the selected direction.
Method 35: Homing on the Current Position
In method 35 the current position is taken to be the home position.
Homing Speeds (6099h)
Object Description
Figure 7.10: Homing on the Index Pulse
Index
6099
Entry Description
h
Sub-IndexDescriptionCategoryAccessPDO
01hNumber of EntriesMandatoryRONo22
02h
03h
Name
Homing Speeds
Speed during search for
switch
Speed during search for
zero
Object Code
VAR
MandatoryR/WPossibleUnsigned 320
MandatoryR/WPossibleUnsigned 320
Data Type
Unsigned 32
Value RangeDefault
Mapping
47Part 2: DSP-402 Implementation
Page Intentionally Left Blank
48MDrivePlus CANopen R020507
Section 8
Position Control Function
General Information
In this chapter, all parameters are described which are necessary for a closed loop position control. The control loop is fed
with the position_demand_value as one of the outputs of the Trajectory Generator and with the output of the position detection unit (position_actual_value) like a resolver or encoder as input parameters.
Object 6062h — Position Demand Value
This object shall provide the demanded position value. The value shall be given in motor steps.
Object Description
Index
6062
Entry Description
h
Access
r
Object 6063h — Position Actual Value Internal
This object shall provide the actual value of the position measurement device, which shall be one of the two input values of
the closed-loop position control
Object Description
Index
6063
Entry Description
h
Access
r
Name
Position Demand Value
PDO Mapping
n/a
Name
Range
Integer 32
Position Actual Value*
PDO Mapping
n/a
Range
Integer 32
Object Code
VAR
Object Code
VAR
Data Type
Integer 32
Default
n/a
Data Type
Integer 32
Default
n/a
Object 6064h — Position Actual Value
This object represents the actual value of the position measurement device microsteps.
Object Description
Index
6064
Entry Description
h
Access
r
Name
Position Actual Value
PDO Mapping
n/a
Range
Integer 32
Object Code
VAR
Data Type
Integer 32
Default
n/a
49Part 2: DSP-402 Implementation
Object 6065h — Following Error Window
This object shall indicate t he conFigure d 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 closedloop coefficients. The value shall be given in user defined position units. If the value of the following error
window is FFFF FFFFh, the following c ontrol shall be switched off.
Object Description
Index
6065
Entry Description
h
Access
r
Object 6066h — Following Error Timeout
This object shall indicate t he conFigure d time for a following error condition, after that the bit 13 of the
statusword shall be set to 1. The reaction of the drive when a following error occurs is manufacturer -specific.
The value shall be given in milliseconds.
Object Description
Index
6066
Entry Description
h
Name
Following Error Window
PDO Mapping
n/a
Name
Range
Unsigned 32
Following Error Timeout
Object Code
VAR
Object Code
VAR
Data Type
Unsigned 32
Default
n/a
Data Type
Unsigned 32
Access
r
Object 6068h — Position Window Time
This object shall indicate t he conFigure d time, during which the actual position within the posi tion window
is measured. The value shall be given in milliseconds.
Object Description
Index
6068
Entry Description
h
Access
r
PDO Mapping
n/a
Name
Range
Unsigned 32
Position Window Time
PDO Mapping
n/a
Range
Unsigned 16
Object Code
VAR
Default
n/a
Data Type
Unsigned 16
Default
Mfg-Specific
50MDrivePlus CANopen R020507
Section 9
Profile Velocity Mode
Controlword (6040h) of Profile Velocity Mode
15 98763 0
See 1.3HaltSee 1.3ReservedSee 1.3
MSBLSB
BitNameValueDescription
8Halt
Statusword (6041h) of Profile Velocity Mode
9141312111090
See 1.4Max Slippage ErrorSpeedSee 1.4Target ReachedSee 1.4
MSBLSB
BitNameValueDescription
10Target Reached
12Speed
Max Slippage
13
Error
0Execute the Motion
1Stop axis
Table 8.1: Profile Velocity Mode Bits of Controlword
0Halt=0: Target position not reached
Halt=1: Axis decelerating
1Halt=0: Target position reached
Halt=1: Axis velocity is 0
0Speed is not equal to 0
1Speed is equal 0
0Maximum slippage not reached
1Maximum slippage reached
Table 8.2: Profile Velocity Mode Bits of Statusword
Object 606Ch — Velocity Actual Value
This object shall provide the actual velocity value derived either from the velocity sensor or the p osition sensor.
The value shall be given in microsteps per second.
Object Description
Index
606C
Entry Description
Access
h
ro
Name
Velocity Actual Value
PDO Mapping
n/a
Range
Integer 32
Object Code
VAR
Data Type
Integer 32
Default
n/a
51Part 2: DSP-402 Implementation
Object 60FFh — Target Velocity
The Target Velocity is the input to the trajectory generator and the value is given in microsteps/second.
Object Description
Index
60FF
Entry Description
Access
h
rw
Object 60F8h — Maximum Slippage
This object shall indicate the conFigure d maximal slippage of an asynchronous motor. When the max slippage has been
reached, the corresponding bit 13 max slippage error in the statusword shall be set to 1. The reaction of the drive device,
when the max slippage error occurs, is manufacturer-specific. This value shall be given in umicrosteps.
Intelligent Motion Systems, Inc. (“IMS”), warrants only to the purchaser of the Product from IMS (the “Customer”) that the
product purchased from IMS (the “Product”) will be free from defects in materials and workmanship under the normal use
and service for which the Product was designed for a period of 24 months from the date of purchase of the Product by the
Customer. Customer’s exclusive remedy under this Limited Warranty shall be the repair or replacement, at Company’s
sole option, of the Product, or any part of the Product, determined by IMS to be defective. In order to exercise its warranty
rights, Customer must notify Company in accordance with the instructions described under the heading “Obtaining Warranty
Service.”
NOTE: MDrivePlus Motion Control electronics are not removable from the motor in the eld. The entire unit must be returned to the factory for repair.
This Limited Warranty does not extend to any Product damaged by reason of alteration, accident, abuse, neglect or
misuse or improper or inadequate handling; improper or inadequate wiring utilized or installed in connection with the
Product; installation, operation or use of the Product not made in strict accordance with the specications and written
instructions provided by IMS; use of the Product for any purpose other than those for which it was designed; ordinary
wear and tear; disasters or Acts of God; unauthorized attachments, alterations or modications to the Product; the misuse
or failure of any item or equipment connected to the Product not supplied by IMS; improper maintenance or repair of the
Product; or any other reason or event not caused by IMS.
IMS HEREBY DISCLAIMS ALL OTHER WARRANTIES, WHETHER WRITTEN OR ORAL, EXPRESS OR IMPLIED BY
LAW OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE. CUSTOMER’S SOLE REMEDY FOR ANY DEFECTIVE PRODUCT WILL BE AS
STATED ABOVE, AND IN NO EVENT WILL THE IMS BE LIABLE FOR INCIDENTAL, CONSEQUENTIAL, SPECIAL OR
INDIRECT DAMAGES IN CONNECTION WITH THE PRODUCT.
This Limited Warranty shall be void if the Customer fails to comply with all of the terms set forth in this Limited Warranty. This
Limited Warranty is the sole warranty offered by IMS with respect to the Product. IMS does not assume any other liability in
connection with the sale of the Product. No representative of IMS is authorized to extend this Limited Warranty or to change
it in any manner whatsoever. No warranty applies to any party other than the original Customer.
IMS and its directors, ofcers, employees, subsidiaries and afliates shall not be liable for any damages arising from any
loss of equipment, loss or distortion of data, loss of time, loss or destruction of software or other property, loss of production
or prots, overhead costs, claims of third parties, labor or materials, penalties or liquidated damages or punitive damages,
whatsoever, whether based upon breach of warranty, breach of contract, negligence, strict liability or any other legal theory,
or other losses or expenses incurred by the Customer or any third party.
OBTAINING WARRANTY SERVICE
Warranty service may obtained by a distributor, if the Product was purchased from IMS by a distributor, or by the Customer
directly from IMS, if the Product was purchased directly from IMS. Prior to returning the Product for service, a Returned
Material Authorization (RMA) number must be obtained. Complete the form at http://www.imshome.com/rma.html after
which an RMA Authorization Form with RMA number will then be faxed to you. Any questions, contact IMS Customer
Service (860) 295-6102.
Include a copy of the RMA Authorization Form, contact name and address, and any additional notes regarding the Product
failure with shipment. Return Product in its original packaging, or packaged so it is protected against electrostatic discharge
or physical damage in transit. The RMA number MUST appear on the box or packing slip. Send Product to: Intelligent Motion
Systems, Inc., 370 N. Main Street, Marlborough, CT 06447.
Customer shall prepay shipping changes for Products returned to IMS for warranty service and IMS shall pay for return of
Products to Customer by ground transportation. However, Customer shall pay all shipping charges, duties and taxes for
Products returned to IMS from outside the United States.
intelligent motion systems, INC.
Excellence in Motion
www.imshome.com
370 N. Main St., P.O. Box 457
Marlborough, CT 06447 U.S.A.
Phone: 860/295-6102
Fax: 860/295-6107
E-mail: info@imshome.com