CoeReadSdoObject
Reads the value of an SDO object through CANopen over EtherCAT (CoE).
Syntax
KsCommandStatus CoeReadSdoObject(
int SlaveId,
int ObIndex,
int ObSubIndex,
BOOL CompleteAccess,
BYTE* Value,
int Length
);
Parameters
SlaveId: the slave index. This index value is automatically assigned by the KINGSTAR master when the EtherCAT network starts, based on the physical connection order. The first device connected directly to the master is assigned Index 0, followed by Index 1, Index 2, and so on. These indexes remain consistent within the slave array even if devices are added, removed, or reconnected. Please refer to the use cases in HotConnect, Repair, and Restart for more details.
ObIndex: the CANopen index of the object. See your device manual to get the value.
ObSubIndex: the CANopen subindex of the object. See your device manual to get the value.
CompleteAccess: TRUE: reads all subindexes. FALSE: reads a single subindex.
Value: pointer to the buffer that will be filled in with the data of the object.
Length: the length in byte of the value to read.
Return value
Returns the KsCommandStatus structure.
Remarks
Used to check that the drive or any other slave is configured as expected. If the number of bytes you read is more than what is available, the result may vary between drives. For example, the reading request may fail, or the drive may add leading zeros to the value to be read.
Usable EtherCAT states
ecatPreOP, ecatSafeOP, ecatOP
Example
BYTE byteReadValue = 0;
Command = CoeReadSdoObject(0, 0X6061, 0, FALSE, &byteReadValue, 1);
Requirements
| RT | Win32 | |
|---|---|---|
| Minimum supported version | 4.0 | 4.0 |
| Header | ksapi.h | ksapi.h |
| Library | KsApi_Rtss.lib | KsApi.lib |
See also