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的机会。
    伺服自身也有位置偏差计算器,就是实际接收的脉冲数跟执行掉的脉冲数比较,如果这个数值过大,可以报警。  报警当然可以,但是要的不是报警,要的是没有偏差,报警只是说有偏差了,但是偏差怎么出现的,怎么避免偏差,怎么根治偏差呢?  机械传动?  干扰?  那么机械传动要多顺畅才能保证不出现偏差?  干扰有什么参数监控? 怎么样才能保证避免偏差呢?
   一个很常见,很简单的伺服运动定位的问题,不知道大家遇到过这方面的困惑没有? 还请结合你实际做过的脉冲驱动伺服为例谈谈
penginginten
级别: 工控侠客
精华主题: 0
发帖数量: 180 个
工控威望: 3239 点
下载积分: 2148 分
在线时间: 168(小时)
注册时间: 2019-04-08
最后登录: 2024-08-17
查看penginginten的 主题 / 回贴
1楼  发表于: 2021-01-23 15:37
1.PLC判断伺服的当前位置靠一个脉冲计数存储起来,当回原指令触发后会把这个脉冲存储器清零,然后用相对和绝对指令记录当前的位置脉冲数。

第一种的问题电机没又准确执行的情况,丢脉冲或其他原因干扰。
解决办法加编码器,这样能在PLC输出和执行机构中有反馈回来信号,或者用总线的控制方式。

PLC判断当前位置,总线的控制方式相对于加编码器的话,总线的控制方式更好一些,另外开关机在不回原点的情况下PLC知道当前位置只能用绝对编码器伺服。
绝对编码器总线的控制方式在断电时,把位置参数写芯片内,开机后PLC读取当前的位置参数。

2.重复定位精度
重复定位精度和第一个问题一样的。
伺服电机造成丢脉冲的情况会造成位置偏差,其他的位置偏差暂时没碰到过。
如果是电机加减速机做角度定位,这种是减速机的齿比没有除尽,所以在定位多少圈之后必须回圆一次。
hexdho
机械是载体,电气是灵魂。
级别: 网络英雄
精华主题: 0
发帖数量: 672 个
工控威望: 11961 点
下载积分: 11608 分
在线时间: 526(小时)
注册时间: 2012-11-08
最后登录: 2024-10-23
查看hexdho的 主题 / 回贴
2楼  发表于: 2021-01-25 09:15
1. PLC如何判断电机当前的位置:PLC可以读伺服编码器的反馈信号或者机械结构上加装编码器读编码器反馈信号,这样就知道电机当前的位置.
2. 重复定位精度:在A处安装个电眼,用这个电眼中断来停止伺服,这样运行N次后重复定位精度会高点.
congrikunge
级别: 略有小成
精华主题: 0
发帖数量: 108 个
工控威望: 226 点
下载积分: 1369 分
在线时间: 656(小时)
注册时间: 2016-04-22
最后登录: 2024-11-25
查看congrikunge的 主题 / 回贴
3楼  发表于: 2021-02-04 15:12
加个光栅尺
471165265
级别: 家园常客
精华主题: 0
发帖数量: 535 个
工控威望: 774 点
下载积分: 797 分
在线时间: 203(小时)
注册时间: 2016-01-01
最后登录: 2024-11-11
查看471165265的 主题 / 回贴
4楼  发表于: 2021-02-15 09:13
全闭环控制
471165265
级别: 家园常客
精华主题: 0
发帖数量: 535 个
工控威望: 774 点
下载积分: 797 分
在线时间: 203(小时)
注册时间: 2016-01-01
最后登录: 2024-11-11
查看471165265的 主题 / 回贴
5楼  发表于: 2021-02-15 09:16
一个半闭环控制有什么纠结的,即使你丝杆联轴器螺丝掉了,工作平台没运行,你的PLC与伺服都根本无法知道,他照样跑他自己的,除非你做全闭环控制。
471165265
级别: 家园常客
精华主题: 0
发帖数量: 535 个
工控威望: 774 点
下载积分: 797 分
在线时间: 203(小时)
注册时间: 2016-01-01
最后登录: 2024-11-11
查看471165265的 主题 / 回贴
6楼  发表于: 2021-02-15 09:20
半闭环控制,在没有干扰的情况,机械结构没有问题的情况下,丝杆导程选的合适,电子齿轮比计算不存在四舍五入的情况下,10000次也不会有偏差的。
langui
级别: 论坛先锋
精华主题: 0
发帖数量: 1538 个
工控威望: 1761 点
下载积分: 6246 分
在线时间: 640(小时)
注册时间: 2014-06-16
最后登录: 2024-10-10
查看langui的 主题 / 回贴
7楼  发表于: 2021-02-19 10:16
你要考虑丝杆的间隙的话,最好就用全闭环,如果只是考虑伺服位置的话,直接通讯读伺服的位置就可以了,像CNC一样,用绝对伺服就可以了。
狼伴随行
级别: 正式会员
精华主题: 0
发帖数量: 30 个
工控威望: 85 点
下载积分: 343 分
在线时间: 15(小时)
注册时间: 2020-12-05
最后登录: 2023-03-27
查看狼伴随行的 主题 / 回贴
8楼  发表于: 2021-02-19 16:47
1.要么读取伺服电机的位置给PLC或者负载上安装编码器来处理。
2.定位精度这个事情跟很多东西有关,脉冲的发送和接收,干扰等丢失后,就会出现精度问题。
3.西门子PLC就使用PN总线,带V90PN版本伺服或者国产PN总线伺服。
xuhao027
级别: 探索解密
精华主题: 0
发帖数量: 71 个
工控威望: 195 点
下载积分: 683 分
在线时间: 118(小时)
注册时间: 2012-11-06
最后登录: 2024-11-14
查看xuhao027的 主题 / 回贴
9楼  发表于: 2021-03-13 08:04
半闭环的东西,伺服理论上是不会出现误差的。要想绝对靠谱,那就得全闭环。啥系统啊,运行个几万次才需要回一次原点的。
周锅锅
级别: 探索解密
精华主题: 0
发帖数量: 160 个
工控威望: 189 点
下载积分: 2353 分
在线时间: 113(小时)
注册时间: 2020-08-01
最后登录: 2024-11-01
查看周锅锅的 主题 / 回贴
10楼  发表于: 2021-04-07 16:41
给PLC加上编码器或者光栅尺,用高速输入通道,或者换总线