ProCon说明   快速入门   运动控制   EtherCAT   实时程序   API函数   控件库   硬件说明   问题排查   示例代码  
  

位置运动

本节主要介绍内容如下:

位置控制分为两种:
相对运动:以当前位置为参考位置进行位置移动。
绝对运动:以绝对原点为参考位置进行位置移动。


       注意
        
  • 对于总线驱动器,系统默认CSP模式,由上位机规划曲线。
  • 运动单位说明:例:100unit = 脉冲当量 * 100。


相关函数

          

YKM_MoveAbsolute 绝对运动
YKM_MoveRelative 相对运动


       注意
        


运动说明

        

如下图所示,当前轴在300pulse的位置,相对运动100 pulse后轴停在400 pulse的位置;绝对运动100 pulse后轴停在100 pulse的位置,相当于控制部件向负方向移动了200个pulse的距离。

两种模式各有优点,如:通过一系列坐标点定义一条轨迹时,在绝对坐标模式下修改其中某点坐标不影响后续点的坐标;在相对坐标模式下用循环命令可以重复执行这条轨迹。
在绝对运动过程中,可改变目标位置和运行速度,如下图所示。

注意:以下特性都只跟绝对位置运动有关
调用函数改变运行轴的目标位置时,执行结果与轴的当前运动位置有关。
当新设定的位置大于/小于当前运动位置时,将运行到新设定的位置。
变速变位置功能,只变速度为0,是以0.001速度跑; 如果有设置启动速度/停止速度,就是按启动速度/停止速度跑。
变速变位置功能,速度变化量小于等于0.001,位置生效,速度不生效。

流程图

        

程序编写

          

RetCode result;
int exit_cmd = 0;
UINT32 axisIndex = 0;
result = YKM_LoadLib();//库加载
YKM_BusInfo busInfo;
//等待系统初始化完成
while (!exit_cmd)
{
  result = YKM_GetBusInfo(&busInfo);
  if (busInfo.running)
    break;
  Sleep(100);
}
//参数配置
YKM_MoveAbsoluteConfig  absConfig;
absConfig.position = 12345.678;    //位置
absConfig.velocity = 1000;         //速度
absConfig.acceleration = 1000;     //加速度
absConfig.deceleration = 1000;   //减速度
absConfig.jerk = 10000;           //变加速度
//执行绝对位置运动
result = YKM_MoveAbsolute(axisIndex, absConfig);//绝对位置运动
//等待运动完成
YKM_AxisStatus status;
while (!exit_cmd)
{
  result = YKM_ReadAxisInfo(axisIndex, &status);
  if (0 != status.Done)
    break;
  Sleep(1);
}



常见问题及说明

          

 

  
Copyright © 2015 深圳市优易控软件有限公司 www.proutech.com