固高运动控制卡原点回零函数

//打开运动控制卡

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、运动到"捕获位置+偏移量"******************************/
sRtn = GT_SetPos(AXIS, pos + HOME_OFFSET);
// 在运动状态下更新目标位置
sRtn = GT_Update(1<<(AXIS-1));
 
do
{
// 读取轴状态
sRtn = GT_GetSts(AXIS, &status);
// 读取规划位置
sRtn = GT_GetPrfPos(AXIS, &prfPos);
// 读取编码器位置
sRtn = GT_GetEncPos(AXIS, &encPos);
printf("status=0x%-8lx prfPos=%-10.1lf encPos=%-10.1lf\r", status, prfPos,
encPos);
// 等待运动停止
}while( status& 0x400 );
 
/*********************5、检查是否到达"Home捕获位置+偏移量"***********************/
if( prfPos != pos+HOME_OFFSET )
{
printf("\nmove to home pos error\n");
return 2;
}
printf("\nHome finish\n");
// 延时一段时间,等待电机停稳
Sleep(200);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

究极调参工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值