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 |
参见