Lenze PLC Designer PLC Designer (R2-x) CANopen for Runtime Systems User Manual
Page 24

L-force | PLC Designer - CANopen for Runtime Systems
CANopen-Master library
DMS 2.0 EN 05/2009 TD29
23
General:
The module always sends the request on COBID: 16#600 + NodeId, the response of the SDO server
always is expected on COBID 16#580 + NodeId.
The response data are transparent, i.e. the response message on the SDO request simply appears in
ucAnswerBytes. This however is only valid for the case of an expedited Read Request (Expedited
Upload). The meaning of the particular bytes is described in the CANopen protocol specification :
- Byte ucAnswerBytes[0] contains the server command specifier (ssc): 0x60 as a response on a
download request. 0x4y as a response on an upload request (y: Bits 0..3 are allocated as follows:
Bit 1 must be 1, otherwise the SDO server responds with a segmented upload not supported by
the module). 0x80 means that the transfer has been aborted (Abort).
-
Bytes ucAnswerBytes[1..2] contain the index. (Intel-byte-order)
-
Bytes ucAnswerBytes[3] contain the subindex.
-
Bytes ucAnswerBytes[4..7] contain the data of the response, in case of an expedited SDO upload.
In case of an abortion the abort code appears in aAbortRec, see the following table (from
DSP3.01V401):
0503 0000h
Toggle bit not alternated.
0504 0000h
SDO protocol timed out.
0504 0001h
Client/server command specifier not valid or unknown.
0504 0002h
Invalid block size (block mode only).
0504 0003h
Invalid sequence number (block mode only).
0504 0004h
CRC error (block mode only).
0504 0005h
Out of memory.
0601 0000h
Unsupported access to an object.
0601 0001h
Attempt to read a write only object.
0601 0002h
Attempt to write a read only object.
0602 0000h
Object does not exist in the object dictionary.
0604 0041h
Object cannot be mapped to the PDO.
0604 0042h
The number and length of the objects to be mapped would exceed PDO
length.
0604 0043h
General parameter incompatibility reason.
0604 0047h
General internal incompatibility in the device.
0606 0000h
Access failed due to an hardware error.
0607 0010h
Data type does not match, length of service parameter does not match
0607 0012h
Data type does not match, length of service parameter too high
0607 0013h
Data type does not match, length of service parameter too low
0609 0011h
Sub-index does not exist.
0609 0030h
Value range of parameter exceeded (only for write access).
0609 0031h
Value of parameter written too high.
0609 0032h
Value of parameter written too low.
0609 0036h
Maximum value is less than minimum value.
0800 0000h
general error
0800 0020h
Data cannot be transferred or stored to the application.
0800 0021h
Data cannot be transferred or stored to the application because of local
control.
0800 0022h
Data cannot be transferred or stored to the application because of the
present
device
state.
0800 0023h
Object dictionary dynamic generation fails or no object dictionary is
present (e.g. object dictionary is generated from file and generation fails
because of an file error).