Canopen Programming: User Manual
Canopen Programming: User Manual
Programming
User Manual
© Technosoft 2010
TECHNOSOFT
CANopen Programming
User Manual
P091.063.UM.0210
Technosoft S.A.
Step 2 Drive setup using Technosoft EasySetUp software for drive commissioning
Step 3 Motion programming using one of the options:
A. A CANopen master
B. The drive built-in motion controller executing a Technosoft Motion Language (TML)
program developed using Technosoft EasyMotion Studio software
C. A TML_LIB motion library for PCs (Windows or Linux)
D. A TML_LIB motion library for PLCs
E. A distributed control approach which combines the above options, like for example
a host calling motion functions programmed on the drives in TML
Important! CANopen versions of Technosoft intelligent drives and motors have other order
codes than the standard versions. They also use a different firmware.
Notational Conventions
This document uses the following conventions:
TML – Technosoft Motion Language
IU – drive/motor internal units
ControlWord.5 – bit 5 of ControlWord data
MotionChip II – generic name for the second generation family of Technosoft intelligent
drives or motors
MotionChip III – generic name for the third generation family of Technosoft intelligent
drives
Related Documentation
Help of the EasySetUp software – describes how to use EasySetUp to quickly setup
any Technosoft drive for your application using only 2 dialogues. The output of
EasySetUp is a set of setup data that can be downloaded into the drive EEPROM or
saved on a PC file. At power-on, the drive is initialized with the setup data read from
its EEPROM. With EasySetUp it is also possible to retrieve the complete setup
information from a previously programmed drive. EasySetUp includes a firmware
programmer, which allows you to update your drive firmware to the latest revision.
EasySetUp can be downloaded free of charge from Technosoft web page
User Manual of each intelligent drive or motor – describes the hardware including the
technical data, the connectors, the wiring diagrams needed for installation and
detailed setup information.
Help of the EasyMotion Studio software – describes how to use the EasyMotion Studio
to create motion programs using the Technosoft Motion Language (TML).
EasyMotion Studio platform includes EasySetUp for the drive/motor setup, and a
Motion Wizard for the motion programming. The Motion Wizard provides a simple,
graphical way of creating motion programs and automatically generates all the TML
instructions. With EasyMotion Studio you can fully benefit from a key advantage of
Technosoft drives – their capability to execute complex motions without requiring an
external motion controller, thanks to their built-in motion controller. A demo version
of EasyMotion Studio (with the corresponding EasySetUp part fully functional)
can be downloaded free of charge from Technosoft web page
TML_LIB v2.0 (part no. P091.040.v20.UM.xxxx) – explains how to program in C, C++,
Visual Basic or Delphi Pascal a motion application for the Technosoft intelligent
1. Introduction........................................................................................................................ 13
1.1. Installing EasySetUp........................................................................................................ 13
1.2. Getting Started with EasySetUp ...................................................................................... 13
1.2.1. Establish communication.......................................................................................... 14
1.2.2. Setup drive/motor ..................................................................................................... 15
1.2.3. Download setup data to drive/motor......................................................................... 16
1.2.4. Evaluate drive/motor behaviour (optional)................................................................ 17
1.3. Changing the drive Axis ID .............................................................................................. 17
1.4. Setting the CANbus rate .................................................................................................. 18
1.5. CANopen factor group setting ......................................................................................... 19
1.6. Creating an Image File with the Setup Data .................................................................... 20
1.7. Motion Programming using a CANopen Master .............................................................. 20
1.7.1. TechnoCAN Extension ............................................................................................. 21
1.7.2. Checking Setup Data Consistency........................................................................... 21
1.8. Using the built-in Motion Controller and TML .................................................................. 21
1.8.1. Technosoft Motion Language Overview................................................................... 21
2. CAN and the CANopen protocol ...................................................................................... 23
2.1. CAN Architecture ............................................................................................................. 23
2.2. Accessing CANopen devices........................................................................................... 24
2.2.1. Object dictionary ....................................................................................................... 24
2.2.2. Object access using index and sub-index ................................................................ 25
2.2.3. Service Data Objects (SDO)..................................................................................... 25
2.2.4. Process Data Objects (PDO).................................................................................... 26
2.3. Objects that define SDOs and PDOs............................................................................... 26
2.3.1. Object 1200h: Server SDO Parameter ..................................................................... 26
2.3.2. Object 1400h: Receive PDO1 Communication Parameters .................................... 27
2.3.3. Object 1401h: Receive PDO2 Communication parameters..................................... 28
2.3.4. Object 1402h: Receive PDO3 Communication parameters..................................... 29
2.3.5. Object 1403h: Receive PDO4 Communication parameters..................................... 30
2.3.6. Object 1600h: Receive PDO1 Mapping Parameters................................................ 32
2.3.7. Object 1601h: Receive PDO2 Mapping Parameters................................................ 33
2.3.8. Object 1602h: Receive PDO3 Mapping Parameters................................................ 34
2.3.9. Object 1603h: Receive PDO4 Mapping Parameters................................................ 34
2.3.10. Object 1800h: Transmit PDO1 Communication parameters.................................... 35
2.3.11. Object 1801h: Transmit PDO2 Communication parameters.................................... 37
2.3.12. Object 1802h: Transmit PDO3 Communication parameters.................................... 38
2.3.13. Object 1803h: Transmit PDO4 Communication parameters.................................... 39
2.3.14. Object 1A00h: Transmit PDO1 Mapping Parameters .............................................. 40
2.3.15. Object 1A01h: Transmit PDO2 Mapping Parameters .............................................. 41
The output of EasySetUp is a set of setup data, which can be downloaded into the drive
EEPROM or saved on your PC for later use.
EasySetUp includes a set of evaluation tools like the Data Logger, the Control Panel and the
Command Interpreter which help you to quickly measure, check and analyze your drive
commissioning.
EasySetUp works with setup data. A setup contains all the information needed to configure and
parameterize a Technosoft drive. This information is preserved in the drive EEPROM in the setup
table. The setup table is copied at power-on into the RAM memory of the drive and is used during
runtime. With EasySetUp it is also possible to retrieve the complete setup information from a drive
previously programmed.
Note that with EasySetUp you do only your drive/motor commissioning. For motion programming
you have the following options:
• Use a CANopen master
• Use EasyMotion Studio to create and download a TML program into the drive/motor memory
and from the CANopen master send commands to execute the TML code and monitor the
execution (see Chapter 16).
Before selecting one of the above options, you need to establish the communication with the drive
you want to commission. Use menu command Communication | Setup to check/change your
PC communication settings. Press the Help button of the dialogue opened. Here you can find
detailed information about how to setup your drive and do the connections. Power on the drive,
then close the Communication | Setup dialogue with OK. If the communication is established,
EasySetUp displays in the status bar (the bottom line) the text “Online” plus the axis ID of your
drive/motor and its firmware version. Otherwise the text displayed is “Offline” and a
communication error message tells you the error type. In this case, return to the Communication |
Setup dialogue, press the Help button and check troubleshoots.
Remark: When first started, EasySetUp tries to communicate via RS-232 and COM1 with a drive
having axis ID=255 (default communication settings). If your drive is powered with all the DIP
switches OFF and it is connected to your PC port COM1 via an RS-232 cable, the communication
shall establish automatically. If the drive has a different axis ID and you don’t know it, select in the
Communication | Setup dialogue at “Axis ID of drive/motor connected to PC” the option
Autodetected.
The selection continues with the motor technology (for example: 2 phase stepper, 3 phase
stepper) the control mode (for example: open-loop or closed-loop) and type of feedback device
(for example: none or incremental encoder).
The selection opens 2 setup dialogues: for Motor Setup and for Drive setup through which you
can configure and parameterize a Technosoft drive, plus several predefined control panels
customized for the product selected.
Press the Download to Drive/Motor button to download your setup data in the
drive/motor EEPROM memory in the setup table. From now on, at each power-on, the setup data
is copied into the drive/motor RAM memory which is used during runtime. It is also possible to
1
800 kHz not available for MotionChip III family
2
Only available for MotionChip III family
3
Electronic gearing and camming are not available by default on the CANopen versions of
MotionChip II family. However, they are available on request as special firmware versions.
Master controller
High level
Motion trajectory
application generation
CAN network
Trajectory
Trajectory
Control Control
Torque Torque
Control Control
Motor Motor
Technosoft extended the concept of distributed motion application allowing splitting the motion
application between the Technosoft drives and the CANopen master. Using TML the user can
build complex motion applications locally, on each drive, leaving on the CANopen master only a
high level motion application and thus reducing the CAN master complexity. The master has the
vision of the motion application, specific tasks being executed on the Technosoft drives.
CAN network
Position Position
Generation
Generation
Trajectory
Trajectory
Control Control
Torque Torque
Control Control
Motor Motor
Sub-index 01h
Description SDO receive COB-ID
Access RO
PDO mapping No
Value range UNSIGNED32
Default value 600h + Node-ID
Sub-index 01h
Description COB-ID RPDO1
Access RW
PDO mapping No
Value range UNSIGNED32
Default value 200h + Node-ID
Sub-index 02h
Description Transmission type
Access RW
PDO mapping No
Sub-index 01h
Description COB-ID RPDO2
Access RW
Sub-index 02h
Description Transmission type
Access RW
PDO mapping No
Value range UNSIGNED8
Default value 255
Sub-index 01h
Description COB-ID RPDO3
Access RW
PDO mapping No
Value range UNSIGNED32
Default value 400h + Node-ID
Sub-index 01h
Description COB-ID RPDO2
Access RW
PDO mapping No
Value range UNSIGNED32
Default value 500h + Node-ID
Sub-index 02h
Description Transmission type
Access RW
PDO mapping No
MSB LSB
Index (16 bits) Sub-index (8 bits) Object length (8 bits)
In order to change the PDO mapping, first the PDO has to be disabled - the object 160xh sub-
index 00h has to be set to 0. Now the objects can be remapped. If a wrong mapping parameter is
introduced (object does not exist, the object can not be mapped or wrong mapping length is
detected) the SDO transfer will be aborted with an appropriate error code (0602 0000h or 0604
0041h). After all objects are mapped, sub-index 00h has to be set to the valid number of mapped
objects thus enabling the PDO.
If data types (index 01h - 07h) are mapped, they serve as “dummy entries”. The corresponding
data is not evaluated by the drive. This feature can be used to transmit data to several drives
using only one PDO, each drive using only a part of the PDO. This feature is only valid for receive
PDOs.
Object description:
Index 1600h
Name RPDO1 Mapping Parameters
Object code RECORD
Data type PDO Mapping
Entry description:
Sub-index 00h
Description Number of mapped objects
Access RW
PDO mapping No
Value range 0: deactivated
1 – 64: activated
Default value 1
Sub-index 01h
Description 1st mapped object
Access RW
PDO mapping No
Sub-index 01h
Description 1st mapped object
Access RW
PDO mapping No
Value range UNSIGNED32
Default value 60400010h – control word
Sub-index 02h
Description 2nd mapped object
Access RW
PDO mapping No
Value range UNSIGNED32
Default value 60600008h – modes of operation
Sub-index 01h
Description 1st mapped object
Access RW
PDO mapping No
Value range UNSIGNED32
Default value 60400010h – control word
Sub-index 02h
Description 2nd mapped object
Access RW
PDO mapping No
Value range UNSIGNED32
Default value 607A0020h – target position
Sub-index 01h
Description 1st mapped object
Access RW
PDO mapping No
Value range UNSIGNED32
Default value 60400010h – control word
Sub-index 02h
Description 2nd mapped object
Access RW
PDO mapping No
Value range UNSIGNED32
Default value 60FF0020h – target velocity
Sub-index 01h
Description COB-ID TPDO1
Access RW
PDO mapping No
Value range UNSIGNED32
Default value 180h + Node-ID
Sub-index 02h
Description Transmission type
Access RW
PDO mapping No
Value range UNSIGNED8
Default value 255
Sub-index 03h
Description Reserved
Sub-index 04h
Description Reserved
Sub-index 05h
Description Event timer
Access RW
PDO mapping No
Value range UNSIGNED16
Default value 0
Sub-index 01h
Description COB-ID TPDO2
Access RW
PDO mapping No
Value range UNSIGNED32
Default value 280h + Node-ID
Sub-index 02h
Description Transmission type
Access RW
PDO mapping No
Value range UNSIGNED8
Default value 255
Sub-index 03h
Description Reserved
Sub-index 04h
Description Reserved
Sub-index 01h
Description COB-ID TPDO3
Access RW
PDO mapping No
Value range UNSIGNED32
Default value 380h + Node-ID
Sub-index 02h
Description Transmission type
Access RW
PDO mapping No
Value range UNSIGNED8
Default value 255
Sub-index 04h
Description Reserved
Sub-index 05h
Description Event timer
Access RW
PDO mapping No
Value range UNSIGNED16
Default value 0
Entry description:
Sub-index 00h
Description Number of entries
Access RO
PDO mapping No
Value range -
Default value 5
Sub-index 01h
Description COB-ID TPDO4
Access RW
PDO mapping No
Value range UNSIGNED32
Default value 480h + Node-ID
Sub-index 03h
Description Reserved
Sub-index 04h
Description Reserved
Sub-index 05h
Description Event timer
Access RW
PDO mapping No
Value range UNSIGNED16
Default value 0
Sub-index 01h
Description 1st mapped object
Access RW
PDO mapping No
Value range UNSIGNED32
Default value 60410010h – status word
Sub-index 02h
Description 2nd mapped object
Access RW
PDO mapping No
Value range UNSIGNED32
Sub-index 01h
Description 1st mapped object
Access RW
PDO mapping No
Value range UNSIGNED32
Default value 60410010h – status word
Sub-index 02h
Description 2nd mapped object
Access RW
PDO mapping No
Value range UNSIGNED32
Default value 60640020h – position actual value
Sub-index 01h
Description 1st mapped object
Access RW
PDO mapping No
Value range UNSIGNED32
Default value 60410010h – status word
Sub-index 02h
Description 2nd mapped object
Access RW
PDO mapping No
Value range UNSIGNED32
Default value 606C0020h – velocity actual value
Example: Map the receive PDO3 of axis number 10 with ControlWord (index 6040h) and Modes
of Operation (index 6060h).
1. Disable the PDO. Write zero in object 1602h sub-index 0, this will disable the PDO.
Send the following message (SDO access to object 1602h sub-index 0, 8-bit value 0):
COB-ID 60A
Data 2F 02 16 00 00 00 00 00
2. Change the communication parameters. For example purposes the communication
parameters default values are acceptable.
3. Map the new objects.
a. Write in object 1602h sub-index 1 the description of the Control Word:
Index Sub-index Length
6040h 00h 10h 60400010h
Send the following message (SDO access to object 1602h sub-index 1, 32-bit value 60400010h):
COB-ID 60A
Data 23 02 16 01 10 00 40 60
b. Write in object 1602h sub-index 2 the description of the Mode of Operation:
Index Sub-index Length
6060h 00h 08h 60600008h
Send the following message (SDO access to object 1602h sub-index 2, 32-bit value 60600008h):
COB-ID 60A
Data 23 02 16 02 08 00 60 60
4. Enable the PDO. Set the object 1602h sub-index 0 with the value 2.
Send the following message (SDO access to object 1602h sub-index 0, 8-bit value 2):
COB-ID 60A
Data 2F 02 16 00 02 00 00 00
State Description
The drive enters the pre-operational state after finishing its initialization. In
Pre-operational this state the communication between the CANopen master and the drive
can be done only via SDOs. PDOs are not allowed.
This is the normal operating state of the drives. The communication through
Operational
SDO and PDO is allowed
In this state the drive stops the communication except the network
Stopped
management messages.
The network manager can change the state of the drives using one of the following services:
Service Description
Start Remote Node The NMT master sets the state of the selected NMT slave to operational
Stop Remote Node The NMT master sets the state of the selected NMT slave to stopped
Enter Pre-Operational The NMT master sets the state of the selected NMT slave to pre-operational
The NMT master sets the state of the selected NMT slave to the “reset
Reset Node application” sub-state. In this state the drives perform a software reset and
enter the pre-operational state.
The NMT master sets the state of the selected NMT slave to the “reset
Reset Communication communication” sub-state. In this state the drives resets their communication
and enter the pre-operational state.
The Emergency message contains of 8 data bytes having the following contents:
4
Only valid for MotionChip III family
Object description:
Index 1001h
Name Error register
Object code VAR
Data type UNSIGNED8
Entry description:
Access RO
PDO mapping No
Value range UNSIGNED8
Default value No
Bit Description
0 Generic error
1 Current
2 Voltage
3 Temperature
4 Communication error
5 Device profile specific
6 Reserved (always 0)
7 Manufacturer specific.
MSB LSB
31 30 29 28 - 11 10 - 0
0/1 0 1 000000000000000000 11-bit Identifier
0/1 0 1 29 –bit Identifier
It is not allowed to change Bits 0-29, while the object exists (Bit 31=0).
State Description
Not Ready to Switch On The drive performs basic initializations after power-on.
The drive function is disabled
The transition to this state is automatic.
Switch On Disabled The drive basic initializations are done and the green led must
turn-on if no error is detected. The drive is not ready to switch on;
any drive parameters can be modified, including a complete
update of the whole EEPROM data (setup table, TML program,
cam files, etc.) The motor supply can be switched on, but the
motion functions cannot be carried out yet.
The transition to this state is automatic.
Ready to Switch On The motor supply voltage may be switched on, most of the drive
parameter settings can still be modified, motion functions cannot
be carried out yet.
Switched On The motor supply voltage must be switched on. The power stage
is switched on (enabled). If the operation mode set performs
(Operation Disabled)
position control, the motor is held in position. If the operation
mode set performs speed control, the motor is kept at zero speed.
If the operation mode is torque external, the motor is kept with
zero torque. The motion functions cannot be carried out yet.
Operation Enable No fault present, power stage is switched on, motion functions are
enabled. This corresponds to the normal operation of the drive.
Quick Stop Active Drive has been stopped with the quick stop deceleration. The
power stage is enabled. If the drive was operating in position
control when quick stop command was issued, the motor is held in
position. If the drive was operating in speed control, the motor is
kept at zero speed. If the drive was operating in torque control, the
motor is kept at zero torque.
Fault Reaction Active The drive performs a default reaction to the occurrence of an error
condition
Fault The drive remains in fault condition, until it receives a Reset Fault
command. If following this command, all the bits from the Motion
Error Register are reset, the drive exits the fault state
Index 6040h
Name Control word
Object code VAR
Data type UNSIGNED16
Entry description:
Access RW
PDO mapping Yes
Units -
Value range 0 … 65535
Default value No
5
Only valid for MotionChip III family
Index 6041h
Name Status word
Object code VAR
Data type UNSIGNED16
Entry description:
Access RO
PDO mapping Yes
6
Only available for MotionChip III family. Available also on request for MotionChip II family
7
Only available for MotionChip III family. Available also on request for MotionChip II family
8
Only available for MotionChip III family. Available also on request for MotionChip II family
9
Only available for MotionChip III family. Available also on request for MotionChip II family
10
Only available for MotionChip III family. Available also on request for MotionChip II family
Bit Description
15 Drive disabled due to enable input. Set when enable input is on disable state. Reset when
enable input is on enable state
The Motion Error Register Mask offers the possibility to choose which of the errors set or reset in
the Motion Error Register to be signaled via emergency messages. The Motion Error Register
Mask has the same bit codification as the Motion Error Register (see Table 4.6) and the following
meaning:
1 – Send an emergency message when the corresponding bit from the Motion Error Register is
set
0 – Don’t send an emergency message when the corresponding bit from the Motion Error
Register is set
Object description:
Index 605Eh
Name Fault reaction option code
Object code VAR
Data type INTEGER16
Entry description:
Access RW
PDO mapping No
Value range -32768 … 32767
Default value 2
Data description:
Value Description
-32768…-2 Manufacturer specific
-1 No action
11
Only valid for MotionChip III family
12
Only valid for MotionChip III family
13
Only valid for MotionChip III family
Object description:
Index 60FDh
Name Digital inputs
Object code VAR
Data type UNSIGNED32
Entry description:
Access RO
PDO mapping Possible
Value range UNSIGNED32
Default value 0
Bit Description
31 IN15 status
30 IN14 status
29 IN13 status
28 IN12 status
27 IN11 status
26 IN10 status
25 IN9 status
24 IN8 status
23 IN7 status
22 IN6 status
Manufacturer specific
21 IN5 status
20 IN4 status
19 IN3 status
18 IN2 status
17 IN1 status
16 IN0 status
Device profile
15..4 Reserved
3 Interlock (Drive enable)
defined
Object description:
Index 2042h
Name Digital inputs mask
Object code VAR
Data type UNSIGNED32
Entry description:
Access RW
PDO mapping Possible
Units -
Value range UNSIGNED32
Default value E00F0000h
Data description:
MSB LSB
Manufacturer specific reserved Interlock Home Positive Negative
(enable) switch limit switch limit switch
31 16 15 4 3 2 1 0
If the any of the non-reserved bits is SET, then the corresponding drive input will be actively
monitored. If the bit is RESET, then the corresponding drive input active monitoring would stop.
14
Only valid for MotionChip III family
Remarks:
The number of available digital inputs is product dependent. Check the drive user manual for the
available digital inputs.
Object description:
Index 2040h
Name Digital inputs status
Object code VAR
Data type UNSIGNED16
Entry description:
Access RO
PDO mapping Possible
Value range UNSIGNED16
Default value 0
Data description:
Bit Meaning Bit Meaning
15 Drive enable status 7 IN7 status
14 Negative limit switch status 6 IN6 status
13 Positive limit switch status 5 IN5 status
12 IN12 status 4 IN4 status
11 IN11 status 3 IN3 status
10 IN10 status 2 IN2 status
9 IN9 status 1 IN1 status
8 IN8 status 0 IN0 status
15
Only valid for MotionChip II family
16
Only valid for MotionChip III family
Remarks:
The actual number of available digital outputs is product dependent. Check the drive user manual
for the available digital outputs.
If an unavailable digital output is specified, the drive will issue an emergency message.
Object description:
Index 60FEh
Name Digital outputs
Object code ARRAY
Data type UNSIGNED32
Entry description:
Sub-index 0
Description Number of entries
Access RO
PDO mapping No
Value range 1…2
Default value 2
Sub-index 1
Description Physical outputs
Access RW
PDO mapping Possible
Value range UNSIGNED32
Default value 0
Sub-index 2
Description Bit mask
Access RW
PDO mapping Possible
Value range UNSIGNED32
Default value 0
Bit Description
Manufacturer Specific
21 OUT5 command
20 OUT4 command
19 OUT3 command
18 OUT2 command
17 OUT1 command
16 OUT0 command
15…1 Reserved
Device profile
Defined
0 Set brake
17
Only valid for MotionChip III family
Remarks:
The actual number of available digital outputs is product dependent. Check the drive user manual
for the available digital outputs.
Object description:
Index 2043h
Name Digital outputs command
Object code VAR
Data type UNSIGNED16
Entry description:
Access WO
PDO mapping Possible
Units -
Value range UNSIGNED16
Default value No
Data description:
Bit Meaning Bit Meaning
18
Only valid for MotionChip II family
If any of the selection bits (0…7) is SET, then the corresponding drive output will be selected to
be switched according to the information in the command bits (8…15). If an output port is selected
and the command bit is SET, then the corresponding drive output will be switched to logical “1”
(high). If the command bit is RESET, then the corresponding drive output will be switched to
logical “0” (low).
19
Only valid for MotionChip III family
20
Only valid for MotionChip III family
21
Only valid for MotionChip III family
22
Only valid for MotionChip III family
The points I_I2t and t_I2t on the motor thermal protection curve together with the nominal motor
current In define the surface SI2t. If the motor instantaneous current is greater than the nominal
current In and the I2t protection is activated, the difference between the square of the
instantaneous current and the square of the nominal current is integrated and compared with the
SI2t value (see Figure 4.3 ). When the integral equals the SI2t surface, the I2t protection is
triggered.
Object description:
Index 2053h
Name I2t protection integrator limit
Object code VAR
Data type UNSIGNED32
Entry description:
Access RW
PDO mapping No
Units -
Value range 0 … 231-1
Default value No
The computation formula for the i2t protection integrator limit (I2TINTLIM) is
The computation formula for the i2t protection scaling factor (SFI2T) is
Ts _ S
SFI2T = 2 26 ⋅
t _ I2t
where Ts_S is the sampling time of the speed control loop [s], and t_I2t is the I2t protection time
corresponding to the point on the graphic in Figure 4.2
23
Only valid for MotionChip III family
24
Only valid for MotionChip III family
25
Only valid for MotionChip III family
26
Only valid for MotionChip III family & the intelligent stepper drives of the MotionChip II family
27
Only valid for MotionChip III family & the intelligent stepper drives of the MotionChip II family
28
Only valid for MotionChip III family & the intelligent stepper drives of the MotionChip II family
29
Only valid for MotionChip III family
Remark:
There is a special case of using this object for an IDM680-8EI with SSI encoder and IDM680-8BI
with BiSS encoder – as these 2 sensors use the same SPI interface used for communication with
the EEPROM. The steps to correctly use this object in these cases are the following:
1. Set the drive into Switch on Disabled status.
2. Enable EEPROM. Send the following TechnoCAN message (assumes the NodeID is 10):
30
Only valid for MotionChip III family
Index 6089h
Name Position notation index
Object code VAR
Data type INTEGER8
Entry description:
Access RW
PDO mapping Possible
Value range -128 … 127
Default value 0
31
This chapter, along with all the objects described inside it, is only valid for MotionChip III family
Index 608Ah
Name Position dimension index
Object code VAR
Data type UNSIGNED8
Entry description:
Access RW
PDO mapping Possible
Value range 0 … 255
Default value 0
Index 608Bh
Name Velocity notation index
Object code VAR
Data type INTEGER8
Entry description:
Index 608Ch
Name Velocity dimension index
Object code VAR
Data type UNSIGNED8
Entry description:
Access RW
PDO mapping Possible
Value range 0 … 255
Default value 0
Index 608Dh
Name Acceleration notation index
Object code VAR
Data type INTEGER8
Access RW
PDO mapping Possible
Value range -128 … 127
Default value 0
Index 608Eh
Name Acceleration dimension index
Object code VAR
Data type UNSIGNED8
Entry description:
Access RW
PDO mapping Possible
Value range 0 … 255
Default value 0
Index 206Fh
Name Time notation index
Object code VAR
Entry description:
Access RW
PDO mapping Possible
Value range -128 … 127
Default value 0
Index 2070h
Name Time dimension index
Object code VAR
Data type UNSIGNED8
Entry description:
Access RW
PDO mapping Possible
Value range 0 … 255
Default value 0
Index 6093h
Entry description:
Sub-index 01h
Description Numerator
Access RW
PDO mapping Possible
Value range UNSIGNED32
Default value 1
Sub-index 02h
Description Divisor
Access RW
PDO mapping Possible
Value range UNSIGNED32
Default value 1
Index 6094h
Name Velocity encoder factor
Object code ARRAY
Number of elements 2
Data type UNSIGNED32
Entry description:
Sub-index 02h
Description Divisor
Access RW
PDO mapping Possible
Value range UNSIGNED32
Default value 1
Index 6097h
Name Acceleration factor
Object code ARRAY
Number of elements 2
Data type UNSIGNED32
Entry description:
Sub-index 01h
Description Numerator
Access RW
PDO mapping Possible
Value range UNSIGNED32
Sub-index 02h
Description Divisor
Access RW
PDO mapping Possible
Value range UNSIGNED32
Default value 1
Index 2071h
Name Time factor
Object code ARRAY
Number of elements 2
Data type UNSIGNED32
Entry description:
Sub-index 01h
Description Numerator
Access RW
PDO mapping Possible
Value range UNSIGNED32
Default value 1
Sub-index 02h
Description Divisor
Access RW
There are two homing speeds: a fast speed (which is used to find the home switch), and a slow
speed (which is used to find the index pulse).
The homing acceleration establishes the acceleration to be used for all accelerations and
decelerations with the standard homing modes.
The homing method descriptions in this document are based on those in the Profile for Drives and
Motion Control (DSP402 Standard).
As in the figure below for each homing method we will present a diagram that clearly describes
the sequence of homing operation.
Starting Position
Methods 3 and 4: Homing on the Positive Home Switch and Index Pulse.
The home position is at the index pulse either after home switch high-low transition (method 3) or
after home switch low-high transition (method 4).
The initial direction of movement is dependent on the state of the home switch (if low - move
positive, if high - move negative).
Figure 6.5 Homing on the Negative Home Switch and Index Pulse
For method 3, if home input is high the initial direction of movement will be negative, or positive if
home input is low, and reverse (with slow speed) after home input low-high transition. The motor
will stop at first index pulse after home switch high-low transition.
For method 4, if home input is low the initial direction of movement will be positive, or negative if
home input is high, and reverse (with slow speed) after home input high-low transition. The motor
will stop at first index pulse after home switch low-high transition.
In all cases after home switch transition the speed of the movement is slow.
Methods 5 and 6: Homing on the Negative Home Switch and Index Pulse.
The home position is at the index pulse either after home switch high-low transition (method 5) or
after home switch low-high transition (method 6).
Figure 6.6 Homing on the Negative Home Switch and Index Pulse
Methods 7 to14: Homing on the Negative Home Switch and Index Pulse.
These methods use a home switch that is active over only a portion of the travel distance, 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 (positive), and using
methods 11 to 14 the initial direction of movement is to the left (negative), except the case when
the home switch is active at the start of the motion (initial direction of motion is dependent on the
edge being sought – the rising edge or the falling edge).
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 will reverse on
encountering the relevant limit switch (negative limit switch for methods 7 to 10, or positive limit
switch for methods 11 to 14).
Using method 7 the initial move will be positive if home input is low and reverse after home input
low-high transition, or move negative if home input is high. Reverse also if the positive limit switch
is reached. Stop at first index pulse after home switch active region ends (high-low transition). In
all cases after high-low home switch transition the motor speed will be slow.
Using method 8 the initial move will be positive if home input is low, or negative if home input is
high and reverse after home input high-low transition. Reverse also if the positive limit switch is
reached. Stop at first index pulse after home switch active region starts (low-high transition). In all
cases after low-high home switch transition the motor speed will be slow.
Using method 9 the initial move will be positive and reverse(slow speed) after home input high-
low transition. Reverse also if the positive limit switch is reached. Stop at first index pulse after
home switch active region starts (low-high transition).
Using method 10 the initial move will be positive. Reverse if the positive limit switch is reached,
then reverse once again after home input low-high transition. Stop at first index pulse after home
switch active region ends (high-low transition). In all cases after high-low home switch transition
the motor speed will be slow.
Using method 11 the initial move will be negative if home input is low and reverse after home
input low-high transition. Reverse also if the negative limit switch is reached. If home input is high
move positive. Stop at first index pulse after home switch active region ends (high-low transition).
In all cases after high-low home switch transition the motor speed will be slow.
Using method 12 the initial move will be negative if home input is low. If home input is high move
positive and reverse after home input high-low transition. Reverse also if the negative limit switch
is reached. Stop at first index pulse after home switch active region starts (low-high transition). In
all cases after low-high home switch transition the motor speed will be slow.
Using method 13 the initial move will be negative and reverse after home input high-low
transition. Reverse also if the negative limit switch is reached. Stop at first index pulse after home
switch active region starts (low-high transition). In all cases after high-low home switch transition
the motor speed will be slow.
Using method 14 the initial move will be negative. Reverse if the negative limit switch is reached,
then reverse once again after home input low-high transition. Stop at first index pulse after home
switch active region ends (high-low transition). In all cases after high-low home switch transition
the motor speed will be slow.
Using method 19, if home input is high, the initial direction of movement will be negative, or
positive if home input is low, and reverse (with slow speed) after home input low-high transition.
The motor will stop right after home switch high-low transition.
Using method 20, if home input is low, the initial direction of movement will be positive, or
negative if home input is high, and reverse (with slow speed) after home input high-low transition.
The motor will stop after right home switch low-high transition.
Using method 21, if home input is high, the initial direction of movement will be positive, or
negative if home input is low, and reverse (with slow speed) after home input low-high transition.
The motor will stop right after home switch high-low transition.
Using method 22, if home input is low, the initial direction of movement will be negative, or
positive if home input is high, and reverse (with slow speed) after home input high-low transition.
The motor will stop right after home switch low-high transition.
Using method 23 the initial move will be positive if home input is low and reverse after home
input low-high transition, or move negative if home input is high. Reverse also if the positive limit
switch is reached. Stop right after home switch active region ends (high-low transition).
Using method 24 the initial move will be positive if home input is low, or negative if home input is
high and reverse after home input high-low transition. Reverse also if the positive limit switch is
reached. Stop right after home switch active region starts (low-high transition).
Using method 25 the initial move will be positive and reverse after home input high-low transition.
Reverse also if the positive limit switch is reached. Stop right after home switch active region
starts (low-high transition).
33
34
Sub-index 1
Description Speed during search for switch
Access RW
PDO mapping Possible
Value range UNSIGNED32
Default value 0
Sub-index 2
Description Speed during search for zero
Access RW
PDO mapping Possible
Value range UNSIGNED32
Default value 0
Table 7.2 Status Word bits description for Position Profile Mode
Object description:
Index 6083h
Name Profile acceleration
Object code VAR
Data type UNSIGNED32
Entry description:
Access RW
PDO mapping Possible
Value range 0..(232-1)
Default value -
32
7.2.8. Object 6063h: Position actual value*
This object represents the actual value of the position measurement device in increments. It can
be used as an alternative to position actual value (6064h) in order to save computation time.
Object description:
Index 6063h
Name Position actual value*
Object code VAR
Data type INTEGER32
Entry description:
Access RO
PDO mapping Possible
Units increments
Value range -231 … 231-1
Default value -
32
Only available for MotionChip III family
Object description:
Index 6065h
Name Following error window
Object code VAR
Data type UNSIGNED32
Entry description:
Access RW
PDO mapping Possible
Value range UNSIGNED32
Default value -
Object description:
Index 6067h
Name Position window
Object code VAR
Data type UNSIGNED32
Entry description:
Access RW
PDO mapping Possible
Value range UNSIGNED32
Default value -
34
7.2.15. Object 60FCh: Position demand value*
This output of the trajectory generator in profile position mode is an internal value using
increments as unit. It can be used as an alternative to position demand value (6062h) in order to
save computation time.
Object description:
Index 60FCh
Name Position actual value
Object code VAR
Data type INTEGER32
Entry description:
Access RO
PDO mapping Possible
Units Increments
Value range -231 … 231-1
Default value -
33
Only available for the MotionChip III family
34
Only available for the MotionChip III family
Example: Execute an absolute trapezoidal profile with limited speed. First perform 4 rotations,
wait motion complete and then set the target position of 16 rotations.
1. Start remote node. Send a NMT message to start the node id 6.
Send the following message:
COB-ID 0
Data 01 06
2. Ready to switch on. Change the node state from Switch on disabled to Ready to switch
on by sending the shutdown command via control word associated PDO.
Send the following message:
COB-ID 206
Data 06 00
3. Switch on. Change the node state from Ready to switch on to Switch on by sending the
switch on command via control word associated PDO.
Send the following message:
COB-ID 206
Data 07 00
4. Enable operation. Change the node state from Switch on to Operation enable by
sending the enable operation command via control word associated PDO.
Send the following message:
COB-ID 206
Data 0F 00
Table 8.1 Control Word bits description for Interpolated Position Mode
Table 8.2 Status Word bits description for Interpolated Position Mode
Sub-index 02h
Description X2: the second parameter of ip
function
Access RW
PDO mapping Possible
Value range Interpolated Mode dependent
Default value -
Example: Execute a PVT movement. Because this is a demo for a single axis the
synchronization mechanism is not used here.
1. Start remote node. Send a NMT message to start the node id 6.
Send the following message:
COB-ID 0
Data 01 06
COB-ID 606
Data 23 01 16 01 20 01 C1 60
b. Write in object 1601h sub-index 2 the description of the interpolated data record
sub-index 2:
Send the following message (SDO access to object 1601h sub-index 2, 32-bit value 60C10220h):
COB-ID 606
Data 23 01 16 02 20 02 C1 60
After the sequences before are executed the motor should execute a movement as the one
shown below.
Remark: In case of the MotionChip III family, in order to set / reset bit 12 (speed), the object
606Fh, velocity threshold is used. If the actual velocity of the drive / motor is below the velocity
threshold, then bit 12 will be set, else it will be reset.
Object description:
Index 6069h
Name Velocity sensor actual value
Object code VAR
Data type INTEGER32
Entry description:
Access RO
PDO mapping Possible
Value range INTEGER32
Default value -
35
Only available for MotionChip III family
36
Only available for MotionChip III family. In case of MotionChip II family, the corresponding
parameter can be set via the set-up or via indirect memory accesses.
37
Same as note 31.
38
Only available for MotionChip III family. Available also on request for MotionChip II family
Sub-index 2
Description EGEAR ratio denominator
(master)
Object code VAR
Data type UNSIGNED16
Access RW
PDO mapping Possible
Value range 0 … 65535
Default value 1
Entry description:
Access RW
PDO mapping No
Value range UNSIGNED16
Default value -
Value Description
0 Reserved
On-line.
In case of External Reference Position / Speed / Torque Modes, select
this option in order to read the reference from the object 201C, External
1 Online Reference
In case of Electronic Gearing and Camming Position Modes, select this
option in order to read the master position received from a master drive
via communication
Analogue.
2 In case of External Reference Position / Speed / Torque Modes, select
this option in order to read the reference from the dedicated analogue
input.
Digital.
In case of External Reference Position Modes, select this option in order
to read the reference from the dedicated digital inputs as set in the setup
made using EasySetup / EasyMotion Studio (either 2nd encoder or pulse &
3 direction)
In case of Electronic Gearing and Camming Position Modes, select this
option in order to read master position from the dedicated digital inputs as
set in the setup made using EasySetup / EasyMotion Studio (either 2nd
encoder or pulse & direction)
4 … 65535 Reserved
Remark: The absolute mode must be used with great care because it may generate abrupt
variations on the slave demand position if:
• Slave position is different from Y at entry in the camming mode
39
Only available for MotionChip III family. Available also on request for MotionChip II family
40
Only available for MotionChip III family. Available also on request for MotionChip II family
Table 13.1 Control Word bit description for External Reference Speed Mode
41
Only available for MotionChip III family. Available also on request for MotionChip II family
42
Only available for MotionChip III family. Available also on request for MotionChip II family
15.3.3. Object 2066h: Read 16/32 bits data from address set in Read/Write
Configuration Register
This object is used to read 16 or 32-bit values with parameters that are specified in object 2064h –
Read/Write Configuration Register. After the successful read operation, the memory address in
object 2064h, bits 31…16, will be auto-incremented or not, as defined in the same register.
Object description:
Index 2066h
Read data from address set in
Name
2064h (16/32 bits)
Object code VAR
Data type UNSIGNED32
Let’s suppose that the setup data of an IDM680 drive is located at EEPROM addresses between
0x5E06 and 0x5EFF. Here are the steps to be taken in order to check the setup data integrity and
to re-program the drive if necessary:
1. Compute the checksum in the sw file. Let’s suppose that the computed checksum is
0x1234.
2. Access object 2069h in order to compute the checksum of the setup table located
on the drive. Write the value 0x5EFF5E06
Send the following message (SDO write to object 2069h sub-index 0, 32-bit value 5EFF5E06h):
COB-ID 60A
Data 23 69 20 00 06 5E FF 5E
Following the reception of this message, the drive will compute the checksum of the
EEPROM locations 0x5E06 to 0x5EFF. The result is stored in the object 206Ah.
3. Read the computed checksum from object 206Ah.
Send the following message (SDO read from object 206Ah sub-index 0):
COB-ID 60A
Data 40 6A 20 00 00 00 00 00
The drive returns the following message (Object 206Ah = 0x2345):
COB-ID 58A
Data 4B 6A 20 00 45 23 00 00
As the returned checksum (0x2345) does not match the checksum computed from the .sw file,
the setup table has to be configured from the .sw file.
4. Prepare the Read/Write Configuration Register for EEPROM write. Write the value
0x5E060009 into the object 2064h (write 32-bit data at EEPROM address 0x5E06 and
auto-increment the address after the write operation).
Send the following message (SDO write to object 2064h sub-index 0, 32-bit value 5E060009h):
COB-ID 60A
Data 23 64 20 00 09 00 06 5E
16.2. Using TML Functions to Split Motion between Master and Drives
With Technosoft intelligent drives you can really distribute the intelligence between a CANopen
master and the drives in complex multi-axis applications. Instead of trying to command each step
of an axis movement, you can program the drives using TML to execute complex tasks and
inform the master when these are done. Thus for each axis, the master task may be reduced at:
calling TML functions (with possibility to abort their execution) stored in the drives EEPROM and
waiting for a message, which confirms the finalization of the TML functions execution.
For the last 2 options the cam table(s) are defined in EasyMotion Studio and are included in the
information stored in the EEPROM together with the setup data and the TML programs/functions.
Remark: The cam tables are included in the .sw file generated with EasyMotion Studio.
Therefore, the master can check the cam presence in the drive EEPROM using the same
procedure as for testing of the setup data.
43
Only available for the MotionChip III family. Available also upon request for MotionChip II
family.
If you click on the HomeX procedure, on the right side you’ll see the TML function implementing it.
The homing routine can be customized according to your application needs. Its calling name and
method remain unchanged.
44
Only available for MotionChip III family.
45
Only available for MotionChip III family.