CoeReadSdoObject
透過 EtherCAT CANopen (CoE) 讀取 SDO 值。
語法
KsCommandStatus CoeReadSdoObject(
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 結構。
備註
此用以檢測驅動器或任何其他從站如預期配置,若所讀取的位元數量較可用位原數量多,則結果將因驅動器而異,例如,讀取請求可能失敗;或驅動器可能會在要讀取的值中添加前導零。
可用的 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 |
參見