Program Examples:Backlash Compensation Table/zh-hans
语言: | English • 中文(简体) |
---|
简介
本文演示了如何使用补偿表来消除位置反冲。
程序
首先,为两个相反的方向定义两个补偿表:
common shared compAxAPlus as comp common shared compAxAMinus as comp
关联轴,轴移动到初始位置(-100):
Attach AxA Move A1 -100
定义每个表中的点数(10):
CreateComp compAxAPlus 10 CreateComp compAxAMinus 10
两者都在-100和+100之间有效:
CreateComp compAxAPlus 10 CreateComp compAxAMinus 10
设置两个表作用于同一轴(AxA):
CompSet compAxAPlus AxA On AxA CompSet compAxAMinus AxA On AxA
从终端检查实际补偿值应返回0,因为没有运动完成:
compAxAPlus.MinPosition[1] = -100 compAxAPlus.MaxPosition[1] = +100 compAxAMinus.MinPosition[1] = -100 compAxAMinus.MaxPosition[1] = +100
将补偿值线性设置为-100和0.1之间,对于 正 方向为+100,对于 负 方向为-0.1至-1.0。
for i = 1 to 10 compAxAPlus.TargetData[1][i] = 0.1*i compAxAMinus.TargetData[1][i] = -0.1*i next
设置补偿活动的方向,一个表仅在正运动(vcmd> 0)方向有效,另一个为负运动方向(vcmd <0):
compAxAPlus.direction = 1 compAxAMinus.direction = -1
将两个表设置为活动状态,这意味着两个表都将在不同的方向上处于活动状态:
compAxAPlus.CompActive = 1 compAxAMinus.CompActive = 1
开始运动:
AxA.PositionBacklashAlpha = 0.9 Sleep 100 Move AxA 99.9 Abs = 1 Vcruise = 10000 Delay AxA 100 Move AxA -99.9 Abs = 1 Vcruise = 10000 Delay AxA 100
分离轴:
Detach AxA End Program
参见