5
Curtis 1356/1356P CAN Expansion Module Manual,
SDO COMMUNICATIONS
CANopen uses Service Data Objects (SDOs) to change and view all internal
parameters, or "objects." The SDO is an 8-byte packet that contains the address
and sub-address of the parameter in question, whether to read or write the
parameter, and the parameter data (if it is a write command). SDOs are sent
infrequently and have a low priority on the CAN bus.
SDOs are designed for sporadic and occasional use during normal run-
time operation. There are two types of SDOs: expedited and block transfer.
The 1356 /1356P does not support large file uploads or downloads (using the
block transfer), so all the SDOs used by the 1356 /1356P are expedited SDOs.
The SDOs in the 1356 /1356P are used to set up and parameterize the
module. They are also used to retrieve basic module information (such as ver-
sion or manufacture date), review the fault log, and monitor a few key internal
variables (mostly for system debug purposes).
SDO Master Request (SDO-MOSI)
An SDO transfer always starts with a request message from the master. Each
SDO request message consists of one control byte, a two-byte CAN Object
index, a one-byte CAN Object sub-index, and up to 4 bytes of valid data. This
format is CANopen compliant.
SDO-MOSI
(received from the system master)
Byte 1
Byte 2
Control
CAN Object
Index
The first byte contains R/W message control information.
Action
Read
Write
The next two bytes hold the CAN Object index. The LSB of the index
appears first, in byte 2, and the MSB appears in byte 3. For example, if the index
is 0x3021, byte 2 holds the 0x21 and byte 3 holds the 0x30.
Byte 4 holds the CAN Object sub-index. When there is only one instance
of a parameter or value type, this value is 0. If there are several related parameters
or values, the sub-index is used.
The last four bytes hold the data to be transferred. In the case of a single-byte
transfer, the data is placed into byte 5, with bytes 6 through 8 being undefined
(set to 0). In the case of a 16-bit transfer, the lower 8 bits appear in byte 5 and
the upper 8 bits appear in byte 6; bytes 7 and 8 are undefined (set to 0). The
Rev. A
Byte 3
Byte 4
Byte 5
Byte 6
Sub-index
Data
Byte 1
Value
0x42
0x22
5 — SDO COMMUNICATIONS
Byte 7
Byte 8
Data
Data
Data
23
Need help?
Do you have a question about the 1356 and is the answer not in the manual?
Questions and answers