CPU 31xT:在与实际值连接时,如何避免速度出现剧烈波动?

说明:

1 与实际值连接时滤波
当从动轴使用主动轴或外部编码器的实际值作为设定值时,执行实际值连接。根据运行时(PROFIBUS 运行时)延迟该实际值,即使在恒速时,也并不是每个扫描周期都显示恒定位置变化。n

CPU 31xT:在与实际值连接时,如何避免速度出现剧烈波动?
图 1:定义分布式实际值采集的位置和速度n

位置变化波动越大,编码器分辨率越低,速度越低。这是因为每个扫描周期传送的单个编码器增量的多少对根据该增量计算的速度影响很大(离散噪声)。因此,所形成的实际速度值噪声很大;由于从动轴尝试跟随速度的变化,从而引起从动轴转动不 平稳。n

CPU 31xT:在与实际值连接时,如何避免速度出现剧烈波动?
图 2: 当恒速转动轴时,它(绿色)所形成的实际位置(蓝色)和速度n

如果从动轴转动不平稳,则必须对从动轴的设定值进行滤波。该滤波操作将会延迟从动轴的位置设定值,并因此导致在位置上始终与主动轴之间存在一个偏差。这就是为何该过程通常并不适用于所有应用场合的原因。n

1.1 互连用于位置滤波器的技术对象

到目前为止,尚没有对实际值和设定值直接执行滤波的技术。一个补救措施就是在主动轴和从动轴之间插入一个虚拟轴,起到滤波器的作用。然后,从动轴形成与虚拟轴的实际值连接。n

CPU 31xT:在与实际值连接时,如何避免速度出现剧烈波动?
图 3:使用虚拟轴实现实际值滤波的结构(在此:外部编码器作为主动轴)

通过在虚拟轴使用位置控制来实现滤波效应。由于虚拟轴通常没有位置控制功能,因此,必须在专家列表中修改虚拟轴。

2 参数化

2.1 将虚拟轴转换为伪实际轴

配置数据(专家列表):

  • typeOfAxis = REAL_AXIS
  • typeOfAxis.SetPointDriverInfo.mode = SIMULATION
  • typeOfAxis.SetPointDriverInfo.outputNumberOnDevice = 0
  • typeOfAxis.NumberOfEncoders.Encoder_1.encoderIdentification = SIMULATION
  • typeOfAxis.NumberOfEncoders.Encoder_1.DriverInfo.encoderNumberOnDevice = 0

这样一来虚拟轴可实现位置控制。通过一个时间常数为 10ms 的低通 PT1 来模拟驱动器。这样便实现了实际值的基本滤波。

2.2 设置虚拟轴的位置控制

  • 启用并将预先控制设为 100%
  • Kv 系数 = 30 (比例增益)
  • 动态控制器数据:所有等效时间 = 0

2.3 增大滤波效应

如果 PT1 元件的滤波效应不足以执行驱动器模拟,则可启用动态补偿作为附加滤波器使用(虚拟轴的专家列表):

  • typeOfAxis.NumberOfDataSets.DataSet_1.DynamicComp.T1 > 0
  • typeOfAxis.NumberOfDataSets.DataSet_1.DynamicComp.T2 = 0
  • typeOfAxis.NumberOfDataSets.DataSet_1.DynamicComp.enable = YES

3 结果

采取滤波措施后,外部传感器速度突然变得平滑,然后再传递给从动轴。
可参见下图。使用图 2 中所示的相同刻度记录速度。

CPU 31xT:在与实际值连接时,如何避免速度出现剧烈波动?
图 4:当传感器为恒速时的速度和位置信号

然而,在外部传感器位置和从动轴位置之间发生与速度相关的显著偏差。
因此,该过程仅适用于:

  • 转速极慢的主动轴(例如,叶轮)的实际值连接
  • 主动值在生产操作期间几乎恒速传送的机器
    • 可以容许与主动轴存在偏差的机器(例如,定尺切割)或
    • 通过校正槽口来平衡错位的机器(例如,根据槽口切割)。

然而,在高速时速度波动也减少,因为增大了每个扫描周期的传感器递增次数,从而自动减少离散噪声。

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc337618.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日
下一篇 2021年4月12日

相关推荐

发表回复

登录后才能评论