CoeReadSdoObject

透过 EtherCAT CANopen (CoE) 读取 SDO 值。

语法

KsCommandStatus CoeReadSdoObject(
     int SlaveId,
     int ObIndex,
     int ObSubIndex,
     BOOL CompleteAccess,
     BYTE* Value,
     int Length
);

参数

SlaveId:从站阵列的索引。当 EtherCAT 从站装置启动时,此索引具有与 SlaveId 相同的值,该值对应于从站装置在网路中的位置。请注意,在 EtherCAT 进入运行 (Op) 状态后,加入或移除网路上的任何从站装置将改变各装置在网路中的位置 (SlaveId)。尽管如此,从站的索引将保持不变。新增的装置将排列在阵列的末端。对于更改后的所有从站,索引和 SlaveId 将不再匹配。上述行为模式仅适用于实体装置;不适用于模拟装置。详细资讯请参阅 EnableHotConnect 中的使用案例。

ObIndex:物件的 CANopen 索引。请参见装置说明书以获取此值。

ObSubIndex:物件的 CANopen 子索引。请参见装置说明书以获取此值。

CompleteAccess:TRUE:读取所有子索引;FALSE:读取一个子索引。

Value: 将填入物件数据的缓冲区指标。

Length:欲读取值的长度(位元)。

回传值

返回 KsCommandStatus 结构。

备注

此用以检测驱动器或任何其他从站如预期配置,若所读取的位元数量较可用位原数量多,则结果将因驱动器而异,例如,读取请求可能失败;或驱动器可能会在要读取的值中添加前导零。

可用的 EtherCAT 状态

ecatPreOP, ecatSafeOP, ecatOP

范例

复制
BYTE byteReadValue = 0;
Command = CoeReadSdoObject(0, 0X6061, 0, FALSE, &byteReadValue, 1);

使用需求

  RT Win32
最低支援版本 4.0 4.0
标头档 ksapi.h ksapi.h
程式库 KsApi_Rtss.lib KsApi.lib

参见

CoeReadSdoEntryDescription

CoeReadSdoObjectDescription

CoeReadSdoODList

CoeWriteSdoObject