CoeReadSdoObject

透過 EtherCAT CANopen (CoE) 讀取 SDO 值。

語法

KsCommandStatus CoeReadSdoObject(
     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 結構。

備註

此用以檢測驅動器或任何其他從站如預期配置,若所讀取的位元數量較可用位原數量多,則結果將因驅動器而異,例如,讀取請求可能失敗;或驅動器可能會在要讀取的值中添加前導零。

可用的 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

參見

CoeReadSdoEntryDescription

CoeReadSdoObjectDescription

CoeReadSdoODList

CoeWriteSdoObject