说明:
用于无法设置环形轴时
处理环形轴(范围:0° — 360°,向较大值为正转,向较小值为反转)运动控制时,发现 1° => 359° 运动,进行正转;359° => 1°运动,进行了反转。我们希望环形轴运动时应使用就近原则,故作以下处理。
处理方案
//控制环形轴运动方向,使用就近原则
if (axis == 环形轴)//axis 轴号
{
posInMm %= 360;//posInMm 目标位置
double dCurrentPos = GetMotorPositionInMm(axis);//获取当前位置
if (Math.Abs(posInMm - dCurrentPos) > 180)
{
posInMm += posInMm <= dCurrentPos ? 360 : -360;
}
}