It allows SDO (service data object) messages to be sent.
Syntax |
CO_SDO nws objCode subIndex [nbyte data] [-F] |
||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
nws |
Number of workstations |
||||||||||||||||||||||
objCode |
Object |
||||||||||||||||||||||
subIndex |
subIndex. If EtherCAT (SoE):
|
||||||||||||||||||||||
nbyte |
Length of data to be transmitted. It can take the following values: (optional) • 0 = No object • 1 = Unsigned 8 bit • 2 = Unsigned 16 bit • 3 = Unsigned 24 bit • 4 = Unsigned 32 bit • 5 = Real 32 bi •-1 = Signed 8 bit •-2 = Signed 16 bit •-3 = Signed 24 bit •-4 = Signed 32 bit |
||||||||||||||||||||||
data |
Value to be transmitted. (optional) |
||||||||||||||||||||||
-F |
To be used for reading floating point data. (optional) |
||||||||||||||||||||||
Notes |
In case an illegal command is given you will get a response like: ERROR on SDO : 0x<code> where <code> may take the following cases: 0503 0000 = Toggle bit not alternated 0504 0000 = SDO protocol timed out 0504 0001 = Client / Server command specifier not valid or unknown 0504 0002 = Invalid block size (block mode only) 0504 0003 = Invalid sequence number (block mode only) 0504 0004 = CRC error (block mode only) 0504 0005 = Out of memory 0601 0000 = Unsupported access to an object 0601 0001 = Attempt to read a write only object 0601 0002 = Attempt to write a read only object 0602 0000 = Object does not exist in the object dictionary 0604 0041 = Object cannot be mapped to the PDO 0604 0042 = The number and length of the objects to be mapped would exceed PDO length 0604 0043 = General parameter incompatibility reason 0604 0047 = General internal incompatibility in the device 0606 0000 = Access failed due to an hardware error 0607 0010 = Data type does not match, length of service parameter does not match 0607 0012 = Data type does not match, length of service parameter too high 0607 0013 = Data type does not match, length of service parameter too low 0609 0011 = Sub-index does not exist 0609 0030 = Value range of parameter exceed (only for write access) 0609 0031 = Value of parameter written too high 0609 0032 = Value of parameter written too low 0609 0036 = Maximum value is less than minimum value 0800 0000 = General error 0800 0020 = Data cannot be transferred or stored to the application 0800 0021 = Data cannot be transferred or stored to the application because of local control 0800 0022 = Data cannot be transferred or stored to the application because of the present device state 0800 0023 = 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) |
NOTE: If the parameters nbyte and data are omitted it will become a read command.
Example
;read status word ws 1 [command] CO_SDO 1 0x6041 0 [response] 16960 0x00004240
;reading proportional gain speed loop [command] CO_SDO 1 0x60F9 1 [response] 69 0x000045
;setting proportional gain speed loop to 70 [command] CO_SDO 1 0x60F9 1 4 70 ;if ok does not give response |