matlac
级别: 探索解密
精华主题: 0
发帖数量: 47 个
工控威望: 176 点
下载积分: 972 分
在线时间: 10(小时)
注册时间: 2014-11-28
最后登录: 2021-12-31
查看matlac的 主题 / 回贴
楼主  发表于: 2021-01-23 11:30
一个长期以来很困惑的问题,问过很多次很多人,都说不清楚,问技术支持也无法解决。先前论坛里也问过,无满意的答复;
西门子200SMART+第3方日系伺服,走位置控制,上电回0. 寻找到参考点成功以后。运动到起始位置A点。 工作方式为从A点运动到B点,然后再返回A点。 重复运动无数次。
这个典型的例子是PLC发脉冲,伺服接收脉冲,驱动电机带动丝杆让工作台反复在A点和B点之间重复运动;
有几个疑问:
1. PLC如何判断电机当前的位置?
  这个系统里面编码器反馈是给伺服驱动器的,PLC是怎么准确的知道电机的位置呢?  咨询西门子,答复是根据发出去的脉冲数计算伺服电机的当前位置。 因为PLC并没有得到电机的反馈,所以PLC只能根据自身发出去的脉冲数,假定电机执行完了PLC的脉冲,实时计算电机位置。
    这样说白了,电机的当前位置PLC只是根据自己发送的脉冲数计算,没有反馈,没有接收电机反馈;所以如果电机没有准确的执行,那么麻烦就来了
2. 重复定位精度
  第一次从A点运动到B点,位置很准,那么第10000次呢? 第10000次的A点和第一次的A点会有偏差吗? 第10000次的B点和第一次的B点会有偏差吗?  能达到多大的偏差? 怎么控制这个偏差? 怎么监控这个偏差? 怎么避免这个偏差?怎么处理这个偏差?  或者说你以前这种情况从来没有碰到过这个问题?
  有的人说,你不能运行几次然后回0 吗?  实际这种做法最坑,有些场合根本不让你运行的过程中回0 .  我这台机器是台辅机,配合主机的,主机是连续的节拍,中间根本不允许回0,不存在某个节拍停下让你回0.   回0 当然可以解决重复定位精度的问题,但是有些场合就是 开机上电回一次0,然后就连续节拍,运行,中间不存在回0的机会。
    伺服自身也有位置偏差计算器,就是实际接收的脉冲数跟执行掉的脉冲数比较,如果这个数值过大,可以报警。  报警当然可以,但是要的不是报警,要的是没有偏差,报警只是说有偏差了,但是偏差怎么出现的,怎么避免偏差,怎么根治偏差呢?  机械传动?  干扰?  那么机械传动要多顺畅才能保证不出现偏差?  干扰有什么参数监控? 怎么样才能保证避免偏差呢?
   一个很常见,很简单的伺服运动定位的问题,不知道大家遇到过这方面的困惑没有? 还请结合你实际做过的脉冲驱动伺服为例谈谈
langui
级别: 论坛先锋
精华主题: 0
发帖数量: 1506 个
工控威望: 1729 点
下载积分: 6174 分
在线时间: 619(小时)
注册时间: 2014-06-16
最后登录: 2024-05-14
查看langui的 主题 / 回贴
1楼  发表于: 2021-02-19 10:16
你要考虑丝杆的间隙的话,最好就用全闭环,如果只是考虑伺服位置的话,直接通讯读伺服的位置就可以了,像CNC一样,用绝对伺服就可以了。