CoeWriteSdoObject

透过 EtherCAT CANopen (CoE) 写入 SDO 的值。各模组的模组表不同,可由各模组的使用者指南中获取,此函式需经过数个循环完成。

语法

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

参数

SlaveId:即从站索引 (Slave Index)。此索引是 KINGSTAR 主站于 EtherCAT 网路启动时,根据实体连接顺序自动指派的。直接连线到主站的第一个装置会被指派为索引 0 (Index 0),接著是索引 1、索引 2,依此类推。即使新增、移除或重新连线装置,这些索引在从站阵列中也会保持一致。请参阅 热插拔 (HotConnect)、修复与重启 中的使用案例以了解更多详细资讯。

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

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

CompleteAccess:TRUE:写入所有子索引;FALSE:写入一个子索引。

Value:欲写入物件包含数据的缓冲区指标。

Length:欲写入值的长度(位元)。

回传值

返回 KsCommandStatus 结构。

备注

用以在驱动器关闭时更新驱动器设定,请阅读使用者说明书以得知使用 SDO 的时机与方式,若在驱动器启动时呼叫此函式,依各驱动器的反应不同,可能发生错误。

可用的 EtherCAT 状态

ecatPreOP, ecatSafeOP, ecatOP

范例

复制
BYTE ModeOperation = 0x8;
Command = CoeWriteSdoObject(0, 0X6060, 0, FALSE, &ModeOperation, 1);

使用需求

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

参见

CoeReadSdoEntryDescription

CoeReadSdoObject

CoeReadSdoObjectDescription

CoeReadSdoODList