CoeWriteSdoObject
透过 EtherCAT CANopen (CoE) 写入 SDO 的值。各模组的模组表不同,可由各模组的使用者指南中获取,此函式需经过数个循环完成。
语法
KsCommandStatus CoeWriteSdoObject(
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 结构。
备注
用以在驱动器关闭时更新驱动器设定,请阅读使用者说明书以得知使用 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 |
参见