系统连接了几个从站?每个从站的厂商 ID 和产品 ID 是什么?

作者
Beard Hu 25 天前更新
时间
发布于 2026-07-30 · 最后更新 2026-07-30 15:09
解答

使用 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 模块

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
搜索