GetModuleConfiguration

獲取已配置裝置的資訊。

語法

KsError GetModuleConfiguration(
     int ConfigurationIndex,
     int* SlaveId,
     int* ModuleId,
     KsConfigurationType* ConfigurationType,
     VOID* Configuration
);

參數

ConfigurationIndex:已配置裝置的索引。

SlaveId:從站陣列的索引。當 EtherCAT 從站裝置啟動時,此索引具有與 SlaveId 相同的值,該值對應於從站裝置在網路中的位置。請注意,在 EtherCAT 進入運行 (Op) 狀態後,加入或移除網路上的任何從站裝置將改變各裝置在網路中的位置 (SlaveId)。儘管如此,從站的索引將保持不變。新增的裝置將排列在陣列的末端。對於更改後的所有從站,索引和 SlaveId 將不再匹配。上述行為模式僅適用於實體裝置;不適用於模擬裝置。詳細資訊請參閱 EnableHotConnect 中的使用案例。

ModuleId:(連接至耦合器的裝置)的模組 ID,此可以是槽 ID、連接埠 ID 或從站 ID。

ConfigurationType:裝置與耦合器間的連接類型。請見 KsConfigurationType 類型。

Configuration:配置結構的指標,此取決於使用的通訊協定。例如,若協定為 IO-Link,則配置為 IoLinkSetting 結構。

回傳值

如果此函式執行成功,會回傳 errNoError,否則會傳回錯誤碼。如需更多有關錯誤碼的資訊,請參閱 KsError 清單。

可用的 EtherCAT 狀態

ecatOffline, ecatInit, ecatBoot, ecatPreOP, ecatSafeOP, ecatOP

範例

複製
int slaveId = 0, moduleId = 0;
void* Configuration = malloc(sizeof(CanOpenSetting));
KsConfigurationType type = KsConfigurationType::configEtherCAT;
nRet = GetModuleConfiguration(0, &slaveId, &moduleId, &type, Configuration);

// Cast Configuration to the pointer of setting structure based on the type value
if (type == configCANopen)
{
    CanOpenSetting CanOpenConf = *(CanOpenSetting*)Configuration;
}

使用需求

  RT Win32
最低支援版本 4.0 4.0
標頭檔 ksapi.h ksapi.h
程式庫 KsApi_Rtss.lib KsApi.lib

參見

AddModuleConfiguration

GetConfiguredModuleCount

RemoveModuleConfiguration