应用探讨——SIMOTION同步功能的原理与应用
SIMOTION是西门子推出的一款经典的运动控制器,已经在各类生产机械中得到了广泛应用。SIMOTION产品家族也不断推陈出新,随着S120控制单元的升级,SIMOTION运动控制器D4xx-2开始出现,让大家耳目一新:硬件上更加紧凑,功能上更加强大,性能也得到进一步提高,其**产品D455-2 DP/PN可以支持高达128个Axis的控制。除了硬件更新以外,SIMOTION还提供了丰富的应用功能库,直接调用这些功能库,即可实现Rotary Knife、FlyingSaw、Winder、Toploading、Line Tension Control等等各类应用,大大减小了编程人员的工作量,提高工作效率。
从功能上讲,我们都知道,SIMOTION除了能完成逻辑控制和工艺控制的功能以外,还有丰富而强大的运动控制功能,比如电子齿轮同步、电子凸轮同步、3轴路径插补等等。其中,同步功能在工业现场有着十分广泛的应用,广泛应用于包装、纺织、印刷、塑料、金属成型等各行业中,有些场合要求简单,而有些场合要求就很复杂。不同的应用场合同步的方式、精度等等有着不同的要求,高精度的同步的实现对于提高产品质量、提高产能、提高竞争力有重要的现实意义。
SIMOTION的同步功能有很多地方值得我们在这里相互讨论:
1.统一思想:同步的概念与定义?与负载平衡的区别?
2.分类清晰:SIMOTION的同步功能有哪些类型?有什么区别?
3.应用明确:哪些应用场合需要使用同步功能?使用哪种类型的同步更合适?
4.功能实现:同步功能如何实现?编程方法?
5.注意事项:同步功能调试时要注意哪些问题?有哪些技巧?
6.更进一步:外推Extrapolation的概念?外推时间的计算?
高手:
GEAR同步可以处理线性位置关系,CAM功能可以处理非线性关系,利用SCOUT组态MCC环境下编程比较直观,感觉比较方便,但中文符号名及注视目前还不支持,比较遗憾。
大虾:
感谢楼主跟咱们提供一个交流平台,这个题目很大,好在坛主对问题进行了分类,
我就按照这个分类谈谈我的理解.
1.统一思想:同步的概念与定义?与负载平衡的区别?
同步指的是两个轴(也可以是其他TO)在位置或者速度上面的关系,同步功能本身并不考虑扭矩和功率.
负载平衡首先关注的是扭矩和功率的分配.根据应用类型的不同,同步和负载平衡有时都要考虑.
例1),用两个伺服电机推动一个工作台进给,两个电机都是齿条传动,出力方向相同.
控制目标是:两个电机的速度,位置都相同,并且两个电机的实际扭矩也基本相同.
使用的方法: X1为主轴,X2为从轴,在两个轴使能后,速度同步.
在Simotion的IPO程序中,检测X1和X2电机的扭矩差,如果TorqueX1>TorqueX2,那么在X2轴上叠加(superimpose)一个速度,
通过这种扭矩反馈调速的方法保证X1和X2的扭矩近似一致.
这种控制方法的思路来自于840D系统的master-slave控制的功能图.
2.分类清晰:SIMOTION的同步功能有哪些类型?有什么区别?
Gearing: 位置同步,速度同步
Camming: 位置凸轮同步
4.功能实现:同步功能如何实现?编程方法?
MCC和ST都可以方便的实现.主要常用几个指令
GearOn/GearOff
CamOn/CamOff
SetMaster
这些指令的参数很多,需要在实践和实验中反复摸索.
5.注意事项:同步功能调试时要注意哪些问题?有哪些技巧?
在此,我简要说几个我碰到过的和同步有关的问题
1)同步是一个过程,当在ST中编程时,需要注意如过一个同步正在建立中,则不应该反复执行同一个同步命令.
建立同步-->同步运行-->解除同步
2)和同步相关的时序问题
整流器使能-->主轴,从轴使能-->建立同步-->同步运行-->解除同步-->Stop轴-->轴使能关闭-->整流器使能关闭
如果程序中的指令执行没有按照合理的顺序,会触发各种奇怪的报警
3)指令间的替换关系
Cam/Gear/Pos/Move几个指令可以相互之间进行替换,TO会直接切断上一条指令,立即执行新的指令.两个指令切换时,速度可以不减速到0.
这种替换也需要反复的实验才能做到不报错.
4)同步的动态响应参数,加速度,Jerk
分为建立同步过程,同步运行过程,解除同步过程
建立同步过程:指令中输入的参数起作用.
同步运行过程:轴limit中的参数起作用.
解除同步过程:指令中输入的参数起作用.
5)同步中的主轴
实轴,虚轴,编码器,Addition object,Formular object都可以作为主轴
使用Addition object/Formular object作为主轴时,需要选择Cam_Ext程序包
甲:
Extrapolation 个人认为是预推断。跟PID中的D有点像。在高频次的往复运动中不适合用它来调节。
具体参数的选取,不是很明白。
手册中还提到Extrapolation是补偿通信延时的,具体的工作原理不是很明白。
问题
1:Extrapolation只有在同步时才考虑用吗?:
2:Extrapolation只有在主轴是外部编码器时才考虑用吗?
3:什么时候考虑用Extrapolation?
高手:
跟随完成信号是什么时候给出的?跟主轴和从轴的位置差有什么关系。
在定位的定义是position window,在同步中的参数参考是什么呢?
------------------------------------------------------------------------------
关于同步的技巧,一般情况下,可以建立一个虚拟轴。好处在于
1:在没有设备时,可以进行程序仿真
2:虚拟轴的特性理想,可以减少主轴的一些波动情况。
Extrapolation的时序图
乙:
上面的功能图没有给出extapolation的算法, 对于"外推"或者叫"外插补"对于我来讲是个黑匣子.
关于编码器作为主轴的问题, 滤波更有意义,因为外部编码器的信号往往是高频率波动的,如果把编码器直接作为同步中的主轴, 那么从轴也会剧烈波动.
1)编码器的滤波分为速度滤波和位置滤波, 位置滤波在Signal flow中可以看到,有两个地方可以设置, 推荐使用Extrapolation前面的位置滤波. 因为使用这个滤波, 可以在在trace中观察滤波前和滤波后的速度和位置.
2)位置滤波的设置大概在10-50ms之间吧, 与编码器的抖动程度有关系
3)滤波能够使编码器的速度平滑, 但位置精度会有所损失, 这时就需要根据滤波前的位置和滤波后的位置进行比较,对滤波后的位置进行补偿.
4)速度滤波也是有意义的,尤其是在方波编码器的时候
菜鸟:
外部编码器在做主轴时,应该考虑什么问题呢?
丙:
看来还得技术支持给讲解一下,技术支持赶快现身吧。
斑主:
本来想把外推放到*后,那就先在这里提一下吧。
滤波功能也很实用。
关于外推功能,在实际应用当是还是十分有用的。在使用实际值(比如轴的实际位置、外部编码器实测位置)作为位置同步的主值时,由于通讯、数据处理、滤波环节等影响,造成从轴在工作时位置一定滞后于主轴。这与位置同步的初衷是不一致。同步即要求位置一致,而从轴现在却落后了。外推即要解决这个问题。
有关“外推”的详细信息还是*后再讲吧。咱们按步骤来。
2楼一口气将所有问题都给出了一个笼统的解释。事无巨细,我们按顺序再深一步讨论一下吧。
前两个Topic是:同步的定义与分类。
引用2楼:
“
使用的方法: X1为主轴,X2为从轴,在两个轴使能后,速度同步.
在Simotion的IPO程序中,检测X1和X2电机的扭矩差,如果TorqueX1>TorqueX2,那么在X2轴上叠加(superimpose)一个速度, 通过这种扭矩反馈调速的方法保证X1和X2的扭矩近似一致.
”
这个功能是SIMOTION默认就有的吗?如果不是,是如何激活的?需要额外��程吗?
引用2楼:
“
Gearing: 位置同步,速度同步
”
位置同步与速度同步又有什么区别呢?速度一致了,位置不就一致了吗?为什么同一件事分开讲?
同样,前面,“X2轴上叠加(superimpose)一个速度”后速度不就不同步了?位置从而也不同步了?
如何才能在实现位置同步的同时,速度也同步,转矩也同步,功率也同步???
不知道大家怎么看哈。
菜鸟:
simtion 不知如何学习
乙:
在刚性负载的双电机共同驱动设备,比如龙门吊等
用同步比较好,还是负载平衡呢?看到网上的说法同意负载平衡的比较多。
高手:
http://support.automation.siemens.com/CN/view/zh/23819989
在网站tcpu有这么一篇文章,为了防止外部编码器波动,在外部编码器和从轴之间加了一个虚拟轴。
感觉也是进行滤波的意思。这篇文章较早,是不是现在不用这么做了,直接用滤波就行。
菜鸟:
Gearing: 位置同步,速度同步
”
位置同步与速度同步又有什么区别呢?速度一致了,位置不就一致了吗?为什么同一件事分开讲?
同样,前面,“X2轴上叠加(superimpose)一个速度”后速度不就不同步了?位置从而也不同步了?
如何才能在实现位置同步的同时,速度也同步,转矩也同步,功率也同步???
1:Gearing 和Camming 都是实现位置间的函数关系,同步对象将计算出从轴的位置设定值,一旦同步启动,从轴即按照指定的速度,加速度,jerk调整到同步位置
而Velocity Gearing 则是实现主值和从轴间的速度函数关系。同步对象将计算出从轴的速度设定值,一旦同步启动,从轴即按照指定的加速度调整到同步速度
2:速度一致,不意味着位置一致。在速度同步过程中,速度同步过程中,肯定会存在偏差,由 于偏差造成的位置丢失,在速度同步的模式下,是不进行校正的。
为什么同一件事分开讲?
同样,前面,“X2轴上叠加(superimpose)一个速度”后速度不就不同步了?位置从而也不同步了?
如何才能在实现位置同步的同时,速度也同步,转矩也同步,功率也同步???
这几个问题就不知道了。还需高手解答。
甲:
回复”上面的功能图没有给出extapolation的算法, 对于"外推"或者叫"外插补"对于我来讲是个黑匣子.
关于编码器作为主轴的问题, 滤波更有意义,因为外部编码器的信号往往是高频率波动的,如果把编码器直接作为同步中的主轴, 那么从轴也会剧烈波动.
1)编码器的滤波分为速度滤波和位置滤波, 位置滤波在Signal flow中可以看到,有两个地方可以设置, 推荐使用Extrapolation前面的位置滤波. 因为使用这个滤波, 可以在在trace中观察滤波前和滤波后的速度和位置.
2)位置滤波的设置大概在10-50ms之间吧, 与编码器的抖动程度有关系
3)滤波能够使编码器的速度平滑, 但位置精度会有所损失, 这时就需要根据滤波前的位置和滤波后的位置进行比较,对滤波后的位置进行补偿.
4)速度滤波也是有意义的,尤其是在方波编码器的时候“
在cam同步过程中,如果主轴或者从轴的位置值超出了cam曲线的范围,此时会出现什么情况?
菜鸟:
Gearing: 位置同步,速度同步
”
位置同步与速度同步又有什么区别呢?速度一致了,位置不就一致了吗?为什么同一件事分开讲?
同样,前面,“X2轴上叠加(superimpose)一个速度”后速度不就不同步了?位置从而也不同步了?
如何才能在实现位置同步的同时,速度也同步,转矩也同步,功率也同步???
乙:
如果速度是匀速的话位置同步应该可以得出速度同步,但是如果存在加减速度的情况下,位置的跟踪精度就无法保证,所以由位置同步无法判断出速度同步。