固高运动控制卡学习8 --高速硬件捕获

本文详细介绍了固高运动控制卡的四种捕获方式:Home捕获、Index捕获、探针(Probe)捕获和HSIO(高速IO)捕获。通过实例展示了如何进行Home和Index捕获,同时提到了重复捕获的功能,允许连续锁存最多256个位置值。
摘要由CSDN通过智能技术生成

        捕获即当某一种信号触发时, 运动控制器能准确记录触发时刻轴的位置信息。 控制器提供四种捕获方式, Home 捕获, Index 捕获、 探针(Probe)捕获和 HSIO 捕获。

一、Home 捕获, Index 捕获

例程:home回原点/home+Index回原点

sRtn = GT_Open();
// 复位运动控制器
sRtn = GT_Reset();
// 配置运动控制器
// 注意:配置文件test.cfg取消了各轴的报警和限位
sRtn = GT_LoadConfig("test.cfg");
// 清除指定轴的报警和限位
sRtn =GT_ClrSts(AXIS);
// 驱动器使能
sRtn = GT_AxisOn(AXIS);

/**************************1、启动Home捕获**************************************/
sRtn = GT_SetCaptureMode(AXIS, CAPTURE_HOME);

/**************************2、使相应轴运动,寻找home点***************************/
// 切换到点位运动模式
sRtn = GT_PrfTrap(AXIS);
// 读取点位模式运动参数
sRtn = GT_GetTrapPrm(AXIS, &trapPrm);
trapPrm.acc = 0.25;
trapPrm.dec = 0.25;
// 设置点位模式运动参数
sRtn = GT_SetTrapPrm(AXIS, &trapPrm);
// 设置点位模式目标速度,即回原点速度
sRtn = GT_SetVel(AXIS, 10);
// 设置点位模式目标位置,即原点搜索距离
sRtn = GT_SetPos(AXIS, SEARCH_HOME);
// 启动运动
sRtn = GT_Update(1<<(AXIS-1));

/***********************3、等待捕获触发****************************************/
printf("\nWaiting for home signal...\n");
do
{
// 读取轴状态
sRtn = GT_GetSts(AXIS, &status);
// 读取捕获状态
sRtn =GT_GetCaptureStatus(AXIS, &capture, &pos);
// 读取规划位置
sRtn = GT_GetPrfPos(AXIS, &prfPos);
// 读取编码器位置
sRtn = GT_GetEncPos(AXIS, &encPos);
printf("capture=%d prfPos=%.2lf encPos=%.2lf\r", capture, prfPos, encPos);
// 如果运动停止,返回出错信息
if( 0 == ( status& 0x400 ) )
{
printf("\nno home found\n");
getch();
return 1;
}
// 等待捕获触发
}while( 0 == capture );
// 显示捕获位置
printf("\ncapture pos = %ld\n", pos);

/***********************4、运动到"捕获位置+偏移量"***************
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值