一个长期以来很困惑的问题,问过很多次很多人,都说不清楚,问技术支持也无法解决。先前论坛里也问过,无满意的答复;
西门子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的机会。
伺服自身也有位置偏差计算器,就是实际接收的脉冲数跟执行掉的脉冲数比较,如果这个数值过大,可以报警。 报警当然可以,但是要的不是报警,要的是没有偏差,报警只是说有偏差了,但是偏差怎么出现的,怎么避免偏差,怎么根治偏差呢? 机械传动? 干扰? 那么机械传动要多顺畅才能保证不出现偏差? 干扰有什么参数监控? 怎么样才能保证避免偏差呢?
一个很常见,很简单的伺服运动定位的问题,不知道大家遇到过这方面的困惑没有? 还请结合你实际做过的脉冲驱动伺服为例谈谈