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 |
參見