系统连接了几个从站?每个从站的厂商 ID 和产品 ID 是什么?
使用 ECM_EcatSlvCntGet() + ECM_SlaveInfoGet() 函数:
// 获取从站数量
int8_t slaveCount = ECM_EcatSlvCntGet();
printf(“检测到 %d 个从站rn”, slaveCount);
// 遍历获取信息
for (int i = 0; i < slaveCount; i++) {
uint8_t infoBuf[12];
// 获取 VID/PID/REV (info=0)
ECM_SlaveInfoGet(i, ECM_SLV_INFO_vid, infoBuf);
uint32_t vid = *(uint32_t*)&infoBuf[0]; // 厂商ID
uint32_t pid = *(uint32_t*)&infoBuf[4]; // 产品ID
uint32_t rev = *(uint32_t*)&infoBuf[8]; // 版本号
printf(“从站%d: VID=0x%08lX PID=0x%08lX REV=0x%08lXrn”,
i, vid, pid, rev);
}
常见从站 VID 参考:
– 0x0000067B: 常见通用伺服驱动器
– 0x0000029C: Beckhoff 从站
– 0x0000002D: 通用 I/O 模块


