Exchanges Using SDOs
(Original Document)
At a Glance
The explicit exchange of messages on a CANopen bus is done by read/write protocol.SDO.
There are 3 ways of accessing SDOs:
WARNING
UN INTENDED EQUIPMENT OPERATION
When modifying a variable, check the consequences of the SDO command in the documentation of the specific target CANopen device.
Failure to follow these instructions can result in death, serious injury, or equipment damage.
Communication Functions
It is possible to access SDOs using the communication functions READ_VAR and WRITE_VAR.
NOTE: It is possible to send up to 16 READ_VAR/WRITE_VARs simultaneously. A polling task runs every 5 ms and each task cycle in order to check the end of the exchange.This is useful if the user runs many SDOs during a task cycle.
For more information about the use of the communication function, see Communication functions example
NOTE: Changing outputs of a device with a write SDO has no effect on the %QW.
Control Expert
SDO objects allow the access to the variables.
In online mode, the CANopen screen (see Slave Diagnostics) allows access to:
The CANopen screen is brought up as follows:
SDO information (read or written) are displayed in their native format (Byte, Word and DWord). You can change the display format to Binary, Decimal and Hexadecimal with popup menu.
The Status Box can display OK or an abort code.
Modbus Request
From a Human/Machine interface (example: XBT), it is possible to access the SDOs using the Modbus FC43 request
For more information about the use of the Modbus request FC43/0xD, see Modbus request example
SDO Timeouts
Various time-outs are implemented. They depend on the type of object as well as the type of access (read/write):
Object
Timeout
1010h
15 s
1011h
3 s
2000h to 6000h
8 s
All other objects
- SDO Reading
- SDO Writing
1 s
2 s