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

编码器

本节主要介绍内容如下:


       注意
        
  • 配置修改后,需要重新启动编码器使配置生效
  • 编码器位置是32位宽度
  • 热复位时会判断编码器是否关联脉冲轴闭环功能,没关联闭环功能会自动关闭编码器
  • 此功能为本地脉冲卡功能


相关函数

          

YKM_SetEncoderConfigPCI 设置编码器配置
YKM_GetEncoderConfigPCI 获取编码器配置
YKM_SetEncoderValuePCI 设置编码器值
YKM_GetEncoderValuePCI 获取编码器值
YKM_StartEncoderPCI 启动编码器
YKM_StopEncoderPCI 停止编码器


       注意
        
  • 编码器序号与轴号对应
  • 闭环控制脉冲轴只有前8个轴支持


运动说明

        

编码器用于对输入脉冲进行位置编码,可配合比较器实现飞拍功能,也可接驱动器反馈,实现闭环控制。



流程图

        

 



程序编写

          

RetCode result;
int exit_cmd = 0;

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

//等待系统初始化完成
while (!exit_cmd)
{
  result = YKM_GetBusInfo(&busInfo);
  if (busInfo.running)
     break;
  Sleep(100);
}
//设置编码器配置
YKM_EncoderConfig encoderConfig;
memset(&encoderConfig, 0, sizeof(YKM_EncoderConfig));
encoderConfig.mode = YKM_ENCODER_MODE::ENCODER_MODE_AB4;
encoderConfig.polarityA = 0;
encoderConfig.polarityB = 0;
result = YKM_SetEncoderConfigPCI(cardIndex, channel, encoderConfig);

//启动编码器
result = YKM_StartEncoderPCI(cardIndex, channel,);

//获取编码器的值
while (!exit_cmd)
{
  result = YKM_GetEncoderValuePCI(cardIndex, channel, &value);
  Sleep(10);
}


常见问题及说明

          

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