2003922
相互学习、共同进步
级别: 略有小成
精华主题: 0
发帖数量: 79 个
工控威望: 374 点
下载积分: 1065 分
在线时间: 38(小时)
注册时间: 2008-02-23
最后登录: 2024-08-15
查看2003922的 主题 / 回贴
楼主  发表于: 2018-05-07 12:37
图片:
各位:大家好!
我有一个皮带用伺服驱动的,用速度模式一直向同一方向运动,等待后面来的木料。木料是一根一根接一根过来的,之间间距随意的。
我在皮带上有个定位目的位置,当第一根木头端头遇到前面100mm处一个X0中断光电信号,执行中断定位,这一步没问题;但如果第
一根还没有定位完成,第二根木头端头又感应到X0中断光电,这时问题来了,第一根依旧正常定位完成,但第二根中断指令无法执行,
也就是说中断定位不可以同时执行两个。求探讨。
instanttw
级别: 探索解密
精华主题: 0
发帖数量: 26 个
工控威望: 155 点
下载积分: 2292 分
在线时间: 39(小时)
注册时间: 2013-04-25
最后登录: 2021-11-04
查看instanttw的 主题 / 回贴
1楼  发表于: 2018-05-15 17:07
一根木头碰到开关
  记录目标位置(伺服的绝对位置)至最后一笔,总记录数目加1

记录不为空? (总记录数目不为零)
  是:移动到第一笔目标位置
  是否移到动目标位置?
    是:将 n+1 笔移动到 n 笔 (往前移一格),总记录数目减1,定位完毕。
    否:伺服继续移动


这样有木头碰到时就会新增一笔伺服要定位的绝对位置在记录最后一笔。
每一笔完成后,看下一笔记录来计算要移动的长度。

这种做法较为简单,但要注意整数溢位问题。不然就要找特定机会将位置规零。
若使用相对位置,计算虽然复杂一点,但可以避免溢位问题。