Canopen Interface Technical Reference Manual: For Encoder Products Company'S Absolute Encoders
Canopen Interface Technical Reference Manual: For Encoder Products Company'S Absolute Encoders
Technical Reference
Manual
for Encoder Products Company's
Absolute Encoders
1-800-366-5412 • www.encoder.com
CANopen Interface Technical
Reference Manual
Contents
Section 1 Overview..........................................1 6.8 Electronic Cam Switch (CAM)............................. 27
1.1 Encoder Types....................................................... 1 6.8.1 CAM-State-Register................................... 27
1.2 About This Manual............................................... 1 6.8.2 CAM-Enable-Register................................ 27
1.3 Technical Specifications........................................ 2 6.8.3 CAM-Polarity-Register............................... 28
6.8.4 CAM-Low-Limit......................................... 28
Section 2 Safety...............................................2 6.8.5 CAM-High-Limit........................................ 28
2.1 Work Safely.......................................................... 2 6.8.6 CAM-Hysteresis.......................................... 28
2.2 Explanation of Symbols........................................ 2 6.9 Device Profile............................................. 28
6.10 SYNC . ........................................................ 29
Section 3 Parts of the Encoder...........................3 6.11 Encoder Designation.................................. 29
3.1 Basic Encoder Design........................................... 3 6.12 Error Behavior............................................ 29
3.2 Predefined Connection Settings........................... 3 6.13 NMT Startup Behavior............................... 29
3.3 LED Status Indicator and Signal Codes................. 4 6.14 Bus-Off Auto-Reset.................................... 29
6.15 Customer Data........................................... 30
Section 4 Integration........................................6 6.16 Temperature.............................................. 30
4.1 CAN Network Integration..................................... 6 6.17 Verify Configuration................................... 30
4.2 SDO Command to Set the Node ID....................... 6
4.3 Setting Up the Encoder........................................ 7 Section 7 Connection.............................................. 31
7.1 Mechanical and Electrical Configurations........... 31
Section 5 CANopen Operation............................8 7.2 Configuration via LSS......................................... 32
5.1 CAN physical and transport layer......................... 8 7.2.1 General Settings........................................ 32
5.2 CANopen Protocol................................................ 9 7.2.2 Baudrate Setting....................................... 34
5.3 Specifications and Profiles................................. 10 7.2.3 Node ID Setting......................................... 35
5.3.1 Overview................................................... 10 7.3 Configuration via SDO........................................ 35
5.3.2 Mechanisms of Communication................. 10 7.3.1 Reading and Writing on Objects................ 35
5.3.3 Object Dictionary....................................... 11 7.3.2 Baudrate Selection.................................... 37
5.4 Network Management (NMT)............................ 11 7.3.3 Node-ID Selection...................................... 38
5.5 Heartbeat and Node-Guarding........................... 13 7.3.4 Basic NMT Commands............................... 38
5.6 Emergency Messages......................................... 13 7.4 Heartbeat Settings............................................. 39
7.5 PDO Configuration.............................................. 40
Section 6 Setup..............................................14 7.5.1 PDO Parameters......................................... 40
6.1 Communication Objects – Dictionary................ 14 7.5.2 Synchronous PDO....................................... 41
6.2 Device-Specific Objects...................................... 17 7.5.3 Asynchronous PDO..................................... 41
6.3 Manufacturer-Specific Objects........................... 21 7.5.4 Variable PDO-Mapping.............................. 41
6.4 Network Management (NMT) Commands......... 23 7.6 Changing Resolution and Direction.................... 43
6.5 Heartbeat Protocol............................................. 23 7.7 Position Preset................................................... 44
6.6 Emergency Messages (EMCY)............................ 24 7.8 Change Speed-Integration and Speed Scaling... 44
6.7 Error Objects....................................................... 26 7.9 Frequency Limit................................................. 45
6.7.1 Manufacturer Status Register.................... 26 7.10 CAM-Configuration............................................ 45
6.7.2 Alarms....................................................... 26 7.11 Saving Into EEPROM........................................... 47
6.7.3 Warnings................................................... 26
Section 8 Troubleshooting..................................... 48
Rev. 03/19
CANopen Interface Technical
Reference Manual
List of Tables
3.2 Can-Identifier............................................................3
5.3.1 Draft Standards......................................................10
5.3.3 Structure of the Object Dictionary..........................11
6.1 The Object Dictionary............................................ 14
6.2 Device Specific Objects..........................................17
6.3 Manufacturer Specific Objects................................21
6.6 Emergency Error Code List....................................24
7.1 Pin and Cable Assignment.....................................31
7.2.1 LSS-Selective-Identification-Commands............... 32
7.2.2 Baudrate-Coding ...................................................34
7.3.1 Command Definitions.............................................36
7.3.2 Baudrate Codes......................................................37
7.4 Heartbeat NMT-State-Coding.................................39
7.5.1A Default PDO Configuration.....................................40
7.5.1B Possible PDO Transmission Types........................40
7.5.1C PDO Deactivation...................................................40
7.6 Counting Direction and Scaling Parameters..........43
Rev. 03/19
CANopen Interface Technical
Reference Manual
List of Abbreviations
autom. automatic
approx. approximately
CAN Controller Area Network
CAN-ID Main part of the arbitration of a CAN-frame
co constant: parameter is read-only, doesn’t change
Communication Object identifier, specifying the CAN-ID and additional parameters for the related
COB-ID
communication object
DLC Data Length Code
DS Draft Standard
DSP Draft Standard Proposal
dyn dynamic; Information changes depending on encoder features
EC European community
EDS file Electronic data sheet, standardized file describing a CANopen device
EMC Electromagnetic compatibility
GND Ground
i* Wildcard character for encoder specific information
LED Light Emitting Diode
LSB Least Significant Bit/Byte
LSS Layer Setting Services
MSB Most Significant Bit/Byte
n.n. not necessary
NMT Network Management
Node-ID Part of CAN-ID; number of the encoder in the CAN network
OSI Open Systems Interconnection Reference Model
PDO Process Data Object. Communication object for transmission of process data
res. reserved
ro Read Only, but not constant
RTR Remote Transmission Request
rw Read/Write: parameter can be read and written
SDO Service Data Object; communication object providing access to all entries of the object dictionary
SYNC Synchronizations telegram
comp. Compare
wo Write Only
xxb Mark that (xx) is a binary representation
xxd Mark that (xx) is a decimal representation
xxh Mark that (xx) is a hexadecimal representation
Rev. 03/19
CANopen Interface Technical Reference Manual
Section 1 – Overview
1.1 Encoder Types
This manual applies to the following Encoder Products Company encoders:
The revision number and the serial number vary for each individual encoder and is found on the encoder’s label. In Figure 1.1, below, the text
circled in red is the revision number of the encoder software, and the text circled in green is the serial number.
Figure 1.1
This manual is intended for individuals with technical knowledge in the use of sensors, automation equipment, and CANopen interfaces. If you
are inexperienced in this subject, EPC recommends you seek help from experienced personnel. EPC recommends you carefully review this
manual before using the encoder, with special attention paid to the safety advice found throughout this manual.
For optimal use of the device, all information contained in this manual is needed and should be read.
The interface and protocol for the communication between the encoder and attached equipment meets the CAN and CANopen specifications. The
encoder is capable of CAN 2.0A and CAN 2.0B. The implemented CANopen protocol meets the CiA 406 encoder profile.
To aid in configuring the encoder, electronic data sheets are available for download at www.encoder.com.
MA series encoders are components designed for integration into larger assemblies. It is important to ensure the entire assembly complies with all
applicable regulations prior to applying the encoder.
Section 2 – Safety
2.1 Work Safely
An EPC absolute encoder with CANopen interface is a sensor for angular measurement and is to be used for this purpose only! The manufacturer
denies any liability for damages caused by ignoring this manual. EPC absolute encoders are designed, produced, and distributed for non-safety
relevant applications in industrial and commercial environments.
The “INFO symbol” marks a section or information of particular importance for the further use of the device.
The “IMPORTANT symbol” marks a section or information describing a solution to a certain problem.
The “WARNING symbol” marks a section or information of particular importance to ensure the proper use and protect from risks
and dangers.
The shaft or the hollow bore connects to the rotating part whose angular position or rotation
you want to measure. The encoder itself is mounted by tapped bores or flex mounts,
depending on the specific configuration.
A cable or M12 sized connector provides the electrical connection to the CAN-network.
Figure 3.1: Examples of EPC
A bi-color status LED at the top of the encoder indicates the different states of the encoder absolute encoders
during use, an especially helpful feature during configuration and troubleshooting.
Services COB-ID
NMT 000h
SYNC 080h
EMCY 080h + Node-ID
PDO1(tx) 180h + Node-ID
PDO2(tx) 280h + Node-ID
PDO3(tx) 380h + Node-ID
SDO(rx) 600h + Node-ID
SDO(tx) 580h + Node-ID
By default all EPC CANopen absolute encoders are set on Node-ID=127h and Baudrate=Auto-Detection.
= LED off
0 ms 500 ms 1000ms 1500 ms 2000 ms 2500 ms Green ON: Encoder is in OPERATIONAL state
0 ms 500 ms 1000ms 1500 ms 2000 ms 2500 ms Green blinking: Encoder is in PRE-OPERATIONAL state
0 ms 500 ms 1000ms 1500 ms 2000 ms 2500 ms Green single flash: Encoder is in STOPPED state
0 ms 500 ms 1000ms 1500 ms 2000 ms 2500 ms Red ON: NOT ready / BUS-OFF
0 ms 500 ms 1000ms 1500 ms 2000 ms 2500 ms Red single flash: Warning, error frames occurring
0 ms 500 ms 1000ms 1500 ms 2000 ms 2500 ms Red double flash: Error, a guard event or a heartbeat
event (heartbeat consumer) has occurred
0 ms 500 ms 1000ms 1500 ms 2000 ms 2500 ms 3000 ms 3500 ms 4000 ms Red triple flash: Encoder is bus-passive
Section 4 – Integration
The encoder indicates state changes with its Status-LED. See Section 3.3.
The encoder’s baudrate must be set to operate in a CAN-Network. Common ways to set the baudrate are via LSS (CiA DSP-305) or SDO com
mands. EPC absolute encoders are preset at the factory to automatically detect the baudrate of the network (object 2100h sub-Index: 00h value:
09h B
audrate-auto-detection). Baudrate setup is usually not necessary. To detect the valid baudrate the encoder stays passive and scans the
communication on the bus. Once the baudrate is detected, the encoder is set to this rate and switches into pre-operational mode.
To prevent possible collisions resulting from a duplicate assigned node ID it is recommended to use a 1:1 connection with a bus master for
configuration (e.g. a laptop computer with suitable hardware and software). Set the master on the intended baudrate and use SDO or LSS
services to configure the encoder.
CAN-ID DLC Command Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6
080h 8 00h 00h 00h 00h 00h 00h 00h 00h
To set the encoders node ID the object 2101h, access Sub-Index 00h. (This is only possible in PRE-OPERATIONAL state.) Send a write-SDO
command with the intended node ID (in hex):
CAN-ID DLC Command Object L Object H Sub-Index Byte 0 Byte 1 Byte 2 Byte 3
600h+ID 8 2Fh 01h 21h 00h Node-ID 00h 00h 00h
The change of the node ID via SDO takes effect after a reset of the encoder (hard reset or NMT reset). The new node ID is stored into the
EEPROM immediately and without any further command. To set the node ID via LSS, refer to Section 7.2.
The encoder is now operational (LED shows green ON) and starts sending data via process data objects (PDO). The encoder’s default configuration
triggers PDO1 with a change in the position value. The position value is the object 6004h and is transmitted as an Unsigned32. By default PDO2
transmits the same value but synchronously on the reception of a SYNC message. Heartbeat is switched off and will not be transmitted by default.
The encoder is now configured and ready for basic applications.
The common CAN implementation with copper wire operates with differential signals transmitted via two wires: CANHIGH and CANLOW. These
differential signals provide a good common mode rejection ratio (CMRR).
The topology of a CAN network is a line, which can be extended by stubs. The maximum length of a stub is limited to 0.5m. The network must
always be terminated on each end with 120 Ohms resistance between CANHIGH und CANLOW. Other locations or values are not allowed.
The arbitration mentioned before is used to control the bus access from the nodes by prioritizing the CAN-Identifier of the different messages. Every
node monitors the bus. If more than one node wants access to the bus, the node with the highest message ID succeeds and the other nodes retreat
until there is silence on the bus (see Figure 5.11, below). The first dominant bit of the ID sent overwrites the corresponding recessive bit of the other
IDs. In the event more than one node uses the same CAN-ID an error occurs only at a collision within the rest of the frame. On principle a CAN-ID
should only be used by a single node.
Node 1
Node 2
Node 3
Messages are ranked for arbitration. The message with the lowest ID has the highest priority and has almost instant access to the bus, except that
an ongoing transmission will not be interrupted. Time critical messages should be assigned to the higher priority CAN-IDs, but even then there is no
determination in the time of transmission (non-deterministic transmission).
All nodes must be synchronized for arbitration. Due to the lack of a separate clock signal, the transmission of many identical bits in line would lead
to the loss of synchronization. Bit stuffing is used to prevent loss of synchronization. After five equal bits, a complementary bit is inserted into the
transmission (the application will not notice), and the nodes can then keep resynchronizing on the bit flanks. (See Figure 5.12).
Stuff bit
A CAN network is capable of baudrates up to 1 Mbit/s. Due to the required synchronization of the nodes, the maximum delay caused by the length
of the cable must be limited. The limitation corresponds with the baudrate. Below is a common recommendation of the maximum cable length at
several baudrates:
1000
Baudrates max. cable length
10 kBit/s 6.7 km 800
20 kBit/s 3.3 km
Bit Rate (kbps)
600
50 kBit/s 1.3 km
125 kBit/s 530 m 400
5.2 CANopen
CANopen is a specified higher protocol (layer 7 protocol) See Figure 5.2, below.
Application
7. Application
Oriented
6. Representation
5. Meeting
4. Transport
Transport
Oriented
3. Mediation
2. Fuse
1. Bit Transfer
Figure 5.2: ISO-OSI-Modell
With CANopen it is possible to transfer larger amounts of data, emergency telegrams, and process data. CANopen describes how the
communication is performed. This means that parameters to configure a device are transmitted in a defined form (profile).
A CANopen profile defines objects representing the different functions of a device. These objects form a table called an object dictionary. The
communication profile defines the basic services and parameters of a CANopen device (e.g. service data objects or SDOs, process data objects
or PDOs, used CAN-IDs, and so on). The device profile defines the specific functions of a device family (e.g., encoders, i/o devices, etc.). For
encoders the device profile is the encoder profile CiA 406.
A SDO transmission will always be acknowledged by the receiver. In the event of a failure an “abort message” is sent.
The internal delay time of EPC absolute encoders with CANopen interface is 1 millisecond maximum.
PDO Use: for transmission of process data. EPC absolute encoders with CANopen interface provide up to four PDOs. A
Process Data Object PDO uses the full length of the data area of a CAN frame (8 bytes) for the process data without additional overhead.
PDOs will not be acknowledged and are suitable for time critical applications.
By using the full 8 bytes for data, there is no additional information on what objects are transmitted. Therefore the
PDO producer and the PDO consumer have to define the PDO-mapping.
On request: A node sends a RTR frame to ID of the designated PDO and the encoder returns the PDO. (The CiA
strongly recommends not to use RTR frames. Therefore RTR is not supported by Encoder Products Company
encoders.)
Sychronously: On the reception of a SYNC message the node send its PDOs.
Asynchronously: The sending of the PDOs is triggered by an internal event (e.g. the internal event timer).
The objects are addressed by 16-bit indices (lines) and 8-bit sub-indices (columns).
• Pre-Operational
• Operational
• Stopped
After a CANopen node is switched on, and the communication and the internal application is initialized, the node switches into
pre-operational state. From this state, the NMT-Master can switch the node into the other states. To show that a node is ready
after boot-up, it sends a “boot-up message”. These messages use the CAN-ID of the Emergency service (EMCY). The
message is permanently associated with the node ID.
The communication is almost completely disabled. The device only reacts on NMT commands (e.g. start node).
Object Communication enabled
SDO no
PDO no
Stopped
NMT yes
SYNC no
EMCY no
Heartbeat yes
• Heartbeat
• Node-Guarding
The heartbeat protocol is independent from the master. It is the recommended mechanism. The device automatically sends a cyclic “life”
message. Encoder Products Company recommends the use of the heartbeat protocol.
When using the node guarding protocol, the NMT master sends RTR frames to the slaves, which have to answer within a defined time. If the
answer is missing, this is detected by the master. This protocol leads to a high dependence on the master.
Section 6 – Setup
6.1 Communication Objects
The communication objects comply with the CiA specification 301 v4.02 and have the object adresses 1000h to 1FFFh.
Table 6.1: The Object Dictionary
1005h COB-ID SYNC Message 00h COB-ID of the SYNC message Unsigned32 rw no 0000 0080h
ro
Object Sub- Default
Name Function Data Type wt Mapping
No. Index Value
co
Changing/indicating the hysteresis for the
6331h Cam2 hysteresis 00h Unsigned8 co no 01h
2nd cam
Changing/indicating the hysteresis for the 0000
01h Unsigned32 rw
2nd cam of the 1st channel 0000h
Changing/indicating the hysteresis for the
6332h Cam3 hysteresis 00h Unsigned8 co no 01h
3rd cam
Changing/indicating the hysteresis for the 0000
01h Unsigned32 rw
3rd cam of the 3rd channel 0000h
Changing/indicating the hysteresis for the
6333h Cam4 hysteresis 00h Unsigned8 co no 01h
4th cam
Changing/indicating the hysteresis for the 0000
01h Unsigned32 rw
4th cam of the 1st channel 0000h
Changing/indicating the hysteresis for the
6334h Cam5 hysteresis 00h Unsigned8 co no 01h
5th cam
Changing/indicating the hysteresis for the 0000
01h Unsigned32 rw
5th cam of the 5th channel 0000h
Changing/indicating the hysteresis for the
6335h Cam6 hysteresis 00h Unsigned8 co no 01h
6th cam
Changing/indicating the hysteresis for the 0000
01h Unsigned32 rw
6th cam of the 1st channel 0000h
Changing/indicating the hysteresis for the
6336h Cam7 hysteresis 00h Unsigned8 co no 01h
7th cam
Changing/indicating the hysteresis for the 0000
01h Unsigned32 rw
7th cam of the 1st channel 0000h
Changing/indicating the hysteresis for the
6337h Cam8 hysteresis 00h Unsigned8 co no 01h
8th cam
Changing/indicating the hysteresis for the 0000
01h Unsigned32 rw
8th cam of the 1st channel 0000h
Indicating if the current position is in or
6400h Area state register 00h Unsigned8 co yes 01h
outside the work area
Status of the area state register:
00h=within area; 03h=outside work
01h Unsigned8 ro dyn
area,overflow 05h=outside work area,
underflow
6401h Work area low limit 00h Number of sub-indices Unsigned8 co no 01h
Changing/indicating the work area low 0000
01h Signed32 rw
limit 0000h
6402h Work area high limit 00h Number of sub-indices Unsigned8 co no 01h
Changing/indicating the work area high 0000
01h Signed32 rw
limit 0000h
6500h Operating-status 00h Indicates the operating state of the device Unsigned16 ro no dyn
0000
6501h Measuring units per revolution 00h Indication of the single-turn resolution Unsigned32 co no
4000h
ro
Object Sub- Default
Name Function Data Type wt Mapping
No. Index Value
co
Singl-
eturn:
Number of distinguishable
6502h 00h Indication of the multi-turn resolution Unsigned16 co no 0001h
revolutions
Multi-turn:
FFFFh
6503h Alarms 00h Alarm set by malfunction. Unsigned16 ro yes dyn
6504h Supported alarms 00h Information about supported alarms. Unsigned16 co no F003h
6505h Warning set on deviation of certain
Warnings 00h Unsigned16 ro yes dyn
p. 22 parameters.
6506h Supported warnings 00h Information about supported warnings. Unsigned16 co no 3005h
Profile and software Revision of the implemented encoder 0105
6507h 00h Unsigned32 co no
version profile and software 0302h
FFFF
6508h Operating time 00h not supported Unsigned32 co no
FFFFh
Offset value, calculated from the preset 0000
6509h Offset value 00h Signed32 ro no
value (6003h) 0000h
650Ah Module identification 00h manufacturer specific offset Unsigned8 ro no 01h
01h Manufacturer offset value Signed32 ro no dyn
serial number of the encoders, hard wired
650Bh Serial number 00h Unsigned8 co no 01h
with object 1018h-04h
01h Serial number Unsigned32 ro i*
0080
Number of high-precision- Indicates the maximum possible high-
6510h 00h Unsigned40 co no 0000
revolutions precision multiturn resolution
0000h
ro
Object Sub- Default
Name Function Data Type rw Mapping
No. Index Value
co
Monitoring the internal operating tem-
2500h Temperature Object 00h Unsigned8 co yes 05h
perature
01h Current temperature value Signed16 ro dyn
02h Upper Limit Signed16 rw 100°
03h Lower Limit Signed16 rw -40°
04h Maximum value occured Signed16 ro dyn
05h Minimum value occured Signed16 ro dyn
2502h Error History 00h Non-volatile error history. Unsigned32 co no dyn
Node-ID:
The node-ID determines, if the NMT will address a certain node or all nodes.
Command:
The command determines the intended reaction of the addressed node.
The encoder can either send a heartbeat (producer heartbeat) or monitor the heartbeat of other nodes (consumer heartbeat):
A time value of 0 or a node value 0 or highter than 127 disables the function.
Example for monitoring the node 127d =7Fh with a heardbeat consumer time of 1000 milli-sec (=2710h). An EPC absolute encoder with CANopen
interface is assumed to be node 1.:
Object 1014h defines the COB-ID of the emergency message. The default value is 80h + device node-ID (1 -127). BasicCAN Frames or
ExtendedCAN Frames can be used (Bit 29 = 1).
Error register:
Interpretation of object 1001h (bit interpretation, default = 00000000):
Bit: 7 6 5 4 3 2 1 0
Info: Generic error co co Temperature Communication co co Specific 2001h
Info: Specific->2001h co co Communication Temperature co co Generic error
Error register:
Interpretation of object 1001h (assignment bit -meaning, standard = 00000000):
Bit: 7 6 5 4 3 2 1 0
Info: co co co Communication Temperature co co EEPROM error
The low nibble describes the CAN state, the high nibble gives further information about the error.
The transmission of EMCY messages can be disabled by setting bit 31 (MSB) in object 1014h-00h.
By changing 1015h a minimum pause between two EMCYs can be defined (in 100ms steps).
Bit: 7 6 5 4 3 2 1 0
Info: co co co co co EEPROM* MT* ST*(1)
Bit: 15 14 13 12 11 10 9 8
Info: ST*(8) ST*(7) ST*(6) ST*(5) ST*(4) ST*(3) MT*(2) ST*(1)
Bit: 23 22 21 20 19 18 17 16
Info: ST*(15) ST*(14) ST*(13) ST*(12) ST*(11) ST*(10) ST*(9) ST*(8)
Bit: 31 30 29 28 27 26 25 24
Info: MT*(9) MT*(8) MT*(7) MT*(6) MT*(5) MT*(4) MT*(3) MT*(2)
*= Error type(number)
6.7.2 Alarms
Interpretation of object 6503h (assignment bit -meaning, standard = 0000000000000000):
Bit: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Info: co co co co co co co co co co co co co co co Position Error
6.7.3 Warnings
Interpretation of object 6505h (assignment bit -meaning, standard = 0000000000000000):
Bit: 15 14 13 12 11 10 9
Info: co temperature read failed Under temperature Over temperature co co co
Bit: 8 7 6 5 4 3 2 1 0
Info: co co co co co co co co Frequency limit
6.8.1 CAM-State-Register
The cam state register (object 6300h) represents the state of the 8 cam switches, one bit per cam.
For example the cam state register has the value of 89h:
This means that the cams 1, 4 and 8 are high and the rest are low. If, for example, the cam 4 toggles to low due to the change of the position
value, the cam state register would become 81h:
The cams are independent to each other so the cam state register can take on 256 combinations to control a machine.
6.8.2 CAM-Enable-Register
Each cam can separately be enabled or disabled by the object 6301h sub-Index 01h. The cams are represented by the bits of the object, 1 = ON,
0 = OFF. E.g. CAM 2, CAM 4 and CAM 7 shall be enabled. This results in the following configuration:
Value 0 1 0 0 1 0 1 0
Type CAM 8 CAM 7 CAM 6 CAM 5 CAM 4 CAM 3 CAM 2 CAM 1
Position n 7(MSB) 6 5 4 3 2 1 0(LSB)
This means writing 4h to object 6301h sub-index 01h. The cams 2, 4 and 7 are now enabled and can switch depending on their configured limits
and the position value.
6.8.3 CAM-Polarity-Register
The cam-polarity register object 6302h sub-index 01h alters the polarity of the corresponding cam states in cam state register. By default all cams
are high (=1b) when the position value is within the limits of the cam.
E.g. If the cam polarity register is set to 13h (=00010011b) the cams 1, 2 and 6 are inverted.
6.8.4 CAM-Low-Limit
The object CAM-Low-Limit sets the lower switching position for a cam. Each cam has its own CAM-low-limit object. (see object
dictionary 6310h...6317h). Within the low-limit objects the subindex represents a cam channel. EPC absolute encoders with
CANopen interface provide one channel with 8 cams.
6.8.5 CAM-High-Limit
The CAM-High-Limit defines the upper switching position for a cam, similar to the cam-low-limit. Therefore each cam has its own high-limit-object
(see object dictionary 6320h .. 6327h).
The CAM-High-Limit must always be lower than the corresponding low-limit. Therefore the high-limit must be usually configured
before the corresponding low-limit.
6.8.6 CAM-Hysteresis
The CAM-Hysteresis defines the width of the cam hysteresis for each single cam (see object dictionary 6320h...6327h).
6.10 SYNC
1005h is the selected COB-ID on which the encoder awaits the SYNC message. BasicCAN frames and extendedCAN frames (Bit 29 = 1b) are
supported. The encoder is a SYNC consumer, not a producer!
Value Description
00h Default behavior, go PRE-OPERATIONAL
01h Do not change current NMT state
02h Go STOPPED
Value Description
00h Default behavior, go PRE-OPERATIONAL
02h Send NMT-command “Start All Nodes”
08h Go “OPERATIONAL” change
By sending a “start all nodes” the encoder take the role of a basic NMT-master. The configuration has to be saved into the EEPROM.
6.16 Temperature
The 2500h provides the current internal temperature of the encoder, as well as the possibility to set temperature limits for the device. Sub-indices
0 to 5 are supported. The temperature value is updated every minute. The unit is °C. Crossing the temperature limits will set the error register
(object 1001h-00h) to 1000b (=08h) and trigger a non-recurring EMCY message. The warning object (6505h) will also be affected. By default the
limits are set on the maximum values allowed, but can be tightened.
All change in parameters, unless otherwise specified, have to be saved into the EEPROM by using the “Store All Parameters”
command (see 7.11 “Saving settings in the EEPROM”). Otherwise after a reset the encoder will return to the last configuration
saved.
Section 7 – Connection
7.1 Mechanical and Electrical Connection
Please refer to the included mounting instructions and information for proper mechanical and electrical connections.
Shaft encoders:
• Always use a suitable coupling to connect the encoder shaft with the application shaft. The coupling
compensates the radial and axial tolerances of both shafts. Both shafts must not touch each other. Please
observe the maximum permitted shaft load. Suitable accessories can be found on www.encoder.com.
• Use the threaded bores to screw the encoder flange onto a suitable mounting.
• Mount the encoder completely onto the application shaft. Use the set screw to tighten the encoder shaft to the
application shaft.
• The flexible mount absorbs vibrations and tolerances of the application shaft to reduce stress on the encoder
bearings and must be affixed to the application frame.
To use LSS the encoder has to be STOPPED or PRE-OPERATIONAL. Then the encoder can be set into LSS mode by two ways:
CAN-ID DLC Command Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6
Connection of the encoder and start LSS configuration by “Switch Mode Selective’”:
Connect the encoder to the LSS master. If possible, start encoder before the master. The baudrate used by the master will be
detected by the encoder. Use the NMT command to switch the encoder into “STOPPED” mode. With the switch mode selective
a certain device can be selected by sending four identification messages:
Detailed information about revision number and serial number can be found in Section 1.1.
After the last of the four identification messages was sent, the appendant encoder will respond with:
The encoder is now in configuration mode. Now you can set the encoder’s baudrate and node ID using LSS (see Section 7.2).
Connection of the encoder and start LSS configuration by “Switch Mode Global”:
Connect the LSS master with the encoder. If possible start encoder before the master. The baudrate used by the master will be
detected by the encoder. Use the NMT command to switch the encoder into “STOPPED” mode. Send the message:
Now the encoder is in configuration mode and you can set the encoder’s baudrate and node ID using LSS (see Section 7.2).
As soon as the encoder has entered the LSS config mode (selective or global) baudrate and node ID can be changed by LSS.
After changing, the settings have to be stored and the config mode has to be deactivated. (See below, “End LSS configuration
mode”).
Step 3 – Reset
It is possible that after the configuration the communication with the encoder fails because the configuration tool and the encoder might operate on
different baudrates, so you have to change the baudrate configuration of your tool.
Before changing the baudrate you have to check the baudrate of the application. Make certain your configuration tool
supports that baudrate. Make a note of the selected baudrate (e.g., in this manual or on the encoder label).
7E5h 11h New Node-ID 00h 00h 00h 00h 00h 00h
Master Encoder
calls to desired object
Writing on an object:
Master Encoder
writes value in object
confirmed
The configuration of the encoder is only possible in PRE-OPERATIONAL state. To alter the baudrate, change the object 2100h in Sub-Index 00h.
This can be achived with a simple SDO write command with the target baudrate as data.
The new baudrate will become effective after a reset of the encoder (hard reset or NMT reset). Writing on object 2100h is not
protected and the change will be immediately stored in the internal EEPROM. It is not neccessary to perform a “save
parameters”.
The new node ID will become effective after an encoder reset (hard reset or NMT reset). Writing on object 2101h is not protected
and the change will be immediately stored in the internal EEPROM. It is not necessary to perform a “save parameters”.
To change the encoder into STOPPED state, the “Stop remote node” command is used:
To switch the encoder into PRE-OPERATIONAL state, the “Enter Pre-Operational State” command is used:
A Reset of communication with a change into PRE-OPERATIONAL after re-initialization will be achieved
To perform a soft reset of the encoder, the “Reset Remote Node” is used. After the reset the encoder will send this boot-up message and enter
PREOPERATIONAL by default:
701h 1 d NMT-state
CAN-ID DLC Data/Remote Byte 0
Parameters can be changed in PRE-OPERATIONAL only and have to be saved into EEPROM!
To completely disable a PDO, you have to change the MSB of the PDO-COB-ID object:
Table 7.5.1C PDO Deactivation
PDO Object COB-ID object PDO enabled COB-ID object PDO disabled
1 1800h 40000181h C0000181h
2 1801h 40000281h C0000281h
3 1802h 40000381h C0000381h
4 1803h 40000481h C0000481h
Advanced parameterization of the PDO COB-ID (objects 1800h-01h, objects 1801h-01h, objects 1802h01h, objects 1803h-
01h) is possible. As long as no “save communication objects” or “save all parameters has been perfomed, a change of the
node ID will automatically effect the COB IDs. After a save command, the PDO COB-IDs have to be changed manually or
perform a “restore all parameters”.
Transmission type for PDO1 is now synchronous. In OPERATIONAL state, PDO1 will be sent on every SYNC message.
PDOs can be configured for asynchronous cyclic transmission. Therefore the transmission type in Object 1800h-02h (1801h-02h, 1802h-02h,
1803h-02h) has to be set to FFh. Sub-index 5 of the same object is the cycle time in milliseconds.
PDO1 is now in asynchronous mode and will be sent every 30 milliseconds in OPERATIONAL state.
To use this transmission type, sub-index 2 has to be FEh and the event timer in sub-index 5 has to be disabled (00h), e.g.:
600h+ID 8 2Fh 00h 18h 02h FEh 00h 00h 00h
CAN-ID DLC Command Object L Object H Sub-Index Byte 0 Byte 1 Byte 2 Byte 3
The data 1, 2, and 3 (See mapping table) are spread over the PDOs 8 payload bytes. The actual payload is 4byte + 2 byte + 2byte = 8 byte. This
leads to 100.
PDO1:
180h+ID 8 1d 1c 1b 1a 2b 2a 3b 3a
CAN-ID DLC Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7
1a, 1b, 1c, 1d = 4 bytes of information 1; 2a, 2b = 2 bytes of information 2; 3a, 3b = 2 bytes of information 3.
To use the PDO mapping, the mapping parameters for the transmit PDO must be configured (see Method, Table 6.1 The
Object Dictionary).
For example, to change the PDO1 mapping you have to access the PDO1 mapping parameter object 1A00h.
First the sub-index 0 of the Mapping parameter object has to be set to zero:
600h+ID 8 2Fh 00h 1Ah 00h 00h 00h 00h 00h
CAN-ID DLC Command Object L Object H Sub-Index Byte 0 Byte 1 Byte 2 Byte 3
Mapping of the position value: (No.:1 (Size 32 bit = 20h) into object 1A00h sub-index 1 for PDO1):
600h+ID 8 23h 00h 1Ah 01h 20h 00h 04h 60h
CAN-ID DLC Command Object L Object H Sub-Index Byte 0 Byte 1 Byte 2 Byte 3
The SDO command contains the object to be mapped and its size: (Object 6004h, sub-index 0, Size 20h = 4 Byte).
Mapping of speed value (No.:2 (Size 16 bit = 10h) into object 1A00h sub-index 2 for PDO1):
600h+ID 8 23h 00h 1Ah 02h 10h 01h 30h 60h
CAN-ID DLC Command Object L Object H Sub-index Byte 0 Byte 1 Byte 2 Byte 3
The SDO command contains the object to be mapped and its size: (Object 6030h, sub-index 1, Size 10h = 2 Byte).
Mapping of Acceleration value (No.:3 (Size 16 bit = 10h) into object 1A00h sub-index 3 for PDO1):
600h+ID 8 23h 00h 1Ah 03h 10h 01h 40h 60h
CAN-ID DLC Command Object L Object H Sub-Index Byte 0 Byte 1 Byte 2 Byte 3
The SDO command contains the object to be mapped and its size: (Object 6040h, sub-index 1, Size 10h = 2 Byte).
To activate the new mapping, the new number of mapped objects must be written into sub-index 0 of the mapping parameter object. In our
example three objects are mapped, therefore sub-index 0 has to be set to 03h.:
600h+ID 5 2Fh 00h 1Ah 00h 03h
CAN-ID DLC Command Object L Object H Sub-Index Byte 0
The remapping of PDO1 is now completed and valid, but it should be saved into the EEPROM (see 7.11).
When activating the scaling, you can also change the counting direction – clockwise (CW) or counter-clockwise (CCW) –
when looking onto the flange side of the encoder in one step (default setting is CW).
The object for this configuration is 6000h sub-index 00h. Here is the list of possible settings:
This is an example how to set the “operating parameters” object 6000h to “scaling ON” and “CCW”:
600h+ID 8 23h 00h 60h 00h 05h 00h 00h 00h
CAN-ID DLC Command Object Object Sub- Byte Byte Byte Byte
L H Index 0 1 2 3
Changing the measuring range per revolution and the total measuring range.
• The measuring range per revolution or singleturn resolution is the number of units (bit) per revolution.
• The total measuring range is the singleturn resolution multiplied with the number of countable revolutions (multiturn resolution).
Example:
Singleturn resolution: 4096 bit per revolution = 12 bit = 10 00h
Total measuring range: 536 870 912 units (bit) = 29 bit = 20 00 00 00h
⇒Max. Multiturn resolution: 29 Bit -12 Bit = 17 Bit = 131072 revolutions (02 00 00h)
00 00 10 00h represent the designated single turn resolution. The encoder responds with an SDO acknowledge.
The total measuring range can be changed by object 6002h. In the example a 29 bit total measuring range is selected. With a 12 bit singleturn
resolution 17 bit rotations are counted before returning to zero:
600h+ID 8 2Bh 02h 60h 00h 00h 00h 00h 20h
CAN-ID DLC Command Object L Object H Sub-Index Byte 0 Byte 1 Byte 2 Byte 3
Singleturn resolution and total measuring range do not have to match the bit grid. Every value between 1 and the maximum is valid. The total
measuring range can not be less than the singleturn resolution. The result of an invalid setting will be an abort code.
To set the zero position: p1, p2, p3, p4 = 00h, 00h, 00h, 00h
You don’t have to use PDOs to check the current position value. You can also perform a SDO read access on the position value object 6004h:
600h+ID 8 40h 04h 60h 00h 00h 00h 00h 00h
CAN-ID DLC Command Object Object Sub- Byte Byte Byte Byte
L H Index 0 1 2 3
The encoder provides internal filtering for the position value. Sub-index 1 of object 2105h is the filter parameter for the internal “ IIF”-filter (infinite
impulse response filter). 01h for the filter parameter deactivates the filter. The maximum value is 04h. A filtered position value is more stable at the
cost of less dynamic.
The change of the integration time will result in a more or less dynamic behavior of the speed value, similar (but independent) to the filtering of the
position value.
The speed scaling can be edited by object 2106h . The Sub-Indices 1 (= numerator) and 2 (= denominator ) form a scaling factor (here: “z”) for
the speed scaling. Default value is “1”. The speed value is always given in Increments/sec.
Object 2106h is a signed16 value with the limits of ±32767 representing ±120 rotations per second. For example the speed shall be scaled to a
maximum of ±2500 rpm :
z = Scaling factor ⇒ z = k n
n = Max rotation per sec ⇒ z = 120 2500
k = Calculation factor = 120 ⇒ z = 6 125
So object 2106h-01h must be set to 6d = 06h and 2106h-01h set to 125d=7Dh, so the limits of ±32767 are scaled to ±2500 U/min
Applying this scaling, the limits ±32767 corresponds with ±2500 rpm.
7.10 CAM-Configuration
This section gives an example how to configure the cam-channel:
CAM 1 0° =>180°
CAM3 0°=>60°
CAM2 180°=>360°
To enable the individual cams the CAM-enable-register (object 6301h-01h) is used. The setting 00000111b = 07h enables the first three cams.
CAM 1 = 0 = 00h
600h+ID 8 23h 10h 63h 01h 00h 00h 00h 00h
CAN-ID DLC Command Object L Object H Sub-Index Byte 0 Byte 1 Byte 2 Byte 3
CAM 3 = 0 = 00h
600h+ID 8 23h 12h 63h 01h 00h 00h 00h 00h
CAN-ID DLC Command Object L Object H Sub-Index Byte 0 Byte 1 Byte 2 Byte 3
After configuration, the state of the cams can be read from the CAM-stateregister 6300h-01. This object is also PDO mappable. For more details
see Section 6.8.
Be sure to save the configuration into the EEPROM. See Section 7.11.
To start the storing operation the “ASCII” value for “save” (in hex: 73h 61h 76h 65h) has to be written into the dedicated sub-index.
To restore the default settings the “ASCII” value “load” (in hex: 6Ch 6Fh 61h 64h) is written on the dedicated sub-index of the object 1011h.
Attention: The baudrate and node-ID settings, as well as the customer data object will not be restored!
Section 8 – Troubleshooting
Error description Check
Encoder doesn’t work, the LED stays dark. Check connections, power supply, and pin assignment.
Encoder does not work but is properly con- Connect a CAN Monitoring-tool, determine if the host sends a
nected boot-up message when starting.
Unable to connect to host Check the encoder for correct node ID and baudrate.
The bus load exceeds 85. After connection
the encoder goes bus-passive or bus-off Check baudrate and node IDs of all nodes connected.
immediately.
There are irregular failures during transmis- Check the correct termination (2 Terminations, 120 Ohms
sion. each, one at each end).
Questions?
If you have further questions about your EPC Absolute Encoder, please contact us. You'll talk to real engineers and encoder
experts who can answer your questions and help you get your encoder working in your application.
Call: 1-800-366-5412
Email: [email protected]
Contact: encoder.com/contact