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