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

转矩切位置(速度)运动

本节主要介绍内容如下:


相关函数

          

YKM_MoveContinuesAbsolute 连续运动:绝对位置模式
YK_API YKM_MoveContinuesRelative 连续运动:相对位置模式
YK_API YKM_MoveContinuesVelocity 连续运动:速度运动
YKM_MoveContinuesTorque 连续运动:转矩模式
YKM_MoveContinuesInput 连续运动:数字输入


运动说明

        
  • 第一段进行转矩运动,直到接收到IO信号,执行位置(速度)运动


  • 流程图

            



    程序编写

              

    RetCode result;
    int exit_cmd = 0;
    UINT32 axisIndex = 0;
    UINT32 axisIndex = 0;

    //库加载
    result = YKM_LoadLib();
    YKM_BusInfo busInfo;

    //等待系统初始化完成
    while (!exit_cmd)
    {
      result = YKM_GetBusInfo(&busInfo);
      if (busInfo.running)
        break;
      Sleep(100);
    }

    //设置相对运动参数
    YKM_MoveRelativeConfig moveRelativeCfg;
    memset(&moveRelativeCfg, 0, sizeof(YKM_MoveRelativeConfig));
    moveRelativeCfg.distance = 200;
    moveRelativeCfg.acceleration = 1000;
    moveRelativeCfg.deceleration = 1000;
    moveRelativeCfg.jerk = 10000;
    moveRelativeCfg.velocity = 100;

    //设置转矩运动参数
    YKM_moveTorqueConfig moveTorqueConfig;
    moveTorqueConfig.velocity = 50;
    moveTorqueConfig.torque = 50;

    //设置输入信号参数
    UINT32 byteIndex = 0, bitIndex = 0;

    //转矩运动
    result = YKM_MoveContinuesTorque(axisIndex, moveTorqueConfig, YKM_BufferMode::YKM_BLENDING_PREV);
    print(result);


    //输入信号,收到输入信号后切换到下一条指令中去
    result = YKM_MoveContinuesInput(axisIndex, byteIndex, bitIndex, YKM_TrigMode::YKM_TRIGMODE_UPEDGE);
    print(result);

    //相对运动
    result = YKM_MoveContinuesRelative(axisIndex, moveRelativeCfg, YKM_BufferMode::YKM_BLENDING_PREV);
    print(result);

    YKM_MoveContinuesStart(axisIndex);

    //等待目标位置到达
    YKM_AxisStatus status;
    while (!exit_cmd)
    {
      result = YKM_ReadAxisInfo(axisIndex, &status);
      if (0 != status.Done)
        break;
      Sleep(1);
    }

    常见问题及说明

              

     

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