5. Access Procedure
26
Festo P.BE-CMMP-CO-SW-EN 0708NH
The lower the identifier, the greater the priority of the message. Identifiers are established
for the above-named communication objects. The following sketch shows the basic design
of a CANopen message:
Number of data bytes (here 8)
Data bytes 0 … 7
601
h
Len
D0 D1 D2 D3 D4 D5 D6 D7
Identifier
5.2
SDO Access
The
S
ervice
D
ata
O
bjects (SDO) permit access to the object directory of the motor
controller. This access is especially simple and clear. It is therefore recommended to build
up the application at first only with SDOs and only later to convert to the faster but also
more complicated
P
rocess
D
ata
O
bjects (PDOs).
SDO access always starts from the higher-level controller (Host). This either sends the
motor controller a write command to modify a parameter in the object directory or a read
command to read out a parameter. For each command, the host receives an answer that
either contains the read-out value or, in the case of a write command, serves as an
acknowledgement.
For the motor controller to recognise that the command is meant for it, the host must send
the command with a specific identifier.
This consists of the base 600
h
+ node number of
the motor controller involved. The motor controller answers accordingly with the
identifier 580
h
+ node number.
The design of the commands or answers depends on the data type of the object to be read
or written, since either 1, 2 or 4 data bytes must be sent or received. The following data
types are supported:
UINT8
8 bit value without algebraic sign
0
…
255
INT8
8 bit value with algebraic sign
-128
…
127
UINT16
16 bit value without algebraic sign
0
…
65535
INT16
16 bit value with algebraic sign
-32768
…
32767
UINT32
32 bit value without algebraic sign
0
…
(2
32
- 1)
INT32
32 bit value with algebraic sign
-(2
31
)
…
(2
31
- 1)
5.2.1
SDO Sequences for Reading and Writing
To read out or describe objects of these number types, the following listed sequences are
used. The commands for writing a value into the motor controller begin with a different
identifier, depending on the data type. The answer identifier, in contrast, is always the
same. Read commands always start with the same identifier, and the motor controller
answers differently, depending on the data type returned. All numbers are kept in
hexadecimal form.
Summary of Contents for CMMP Series
Page 2: ......