固高运动控制卡学习1--运动模式介绍(1)--点位,Gear,Jog,插补

本文详细介绍了固高运动控制卡的四种运动模式:点位模式、JOG运动模式、电子齿轮(Gear)模式和插补运动模式。在点位模式中,轴可以独立设置参数并运动;JOG模式允许独立调整速度;Gear模式实现轴间的精确同步;插补模式则涉及坐标系建立和缓存数据处理,支持直线和圆弧插补。
摘要由CSDN通过智能技术生成

        运动模式是指规划一个或多个轴运动的方式。 运动控制器支持的运动模式有点位运动模式、 Jog运动模式、电子齿轮(即 Gear) 运动模式和插补运动模式


GT_PrfTrap 设置指定轴为点位模式
GT_PrfJog 设置指定轴为 Jog 模式
GT_PrfGear 设置指定轴为电子齿轮模式
GT_GetPrfMode 查询指定轴的运动模式

        在设置或切换运动模式时,要保证轴处于规划静止状态。如果轴正在运动,请先调用GT_Stop 指令停止一个或多个轴的运动,然后再调用上表中的指令切换到想要的运动模式下。

一·、点位模式(PT)

每一个轴在规划静止时都可以设置为点位运动。在点位运动模式下,各轴可以独立设置目标位置、目标速度、加速度、减速度、起跳速度、平滑时间等运动参数,能够独立运动或停止。

GT_PrfTrap 设置指定轴为点位运动模式
GT_SetTrapPrm 设置点位运动模式下的运动参数
GT_GetTrapPrm 读取点位运动模式下的运动参数
GT_SetPos 设置目标位置
GT_GetPos 读取目标位置
GT_SetVel 设置目标速度
GT_GetVel 读取目标速度
GT_Update 启动点位运动

JOG模式关键程序步骤:

(1)配置运动控制器  --GT_LoadConfig

(2)将 AXIS 轴设为点位模式  --GT_PrfTrap

(3)设置需要修改的运动参数   --GT_GetTrapPrm

     public struct TTrapPrm
        {
            public double acc;//加速度
            public double dec;//减速度
            public double velStart;//起始速度
            public short  smoothTime;//平滑时间
        }

(4)设置 AXIS 轴的目标位置   --GT_SetPos

(5)设置 AXIS 轴的目标速度   --GT_SetVel

(6)启动AXIS轴运动     --GT_Update

(7)等待AXIS轴规划停止   

(8)电机伺服关闭     --GT_AxisOff

    例程:将第 轴设定为点位运动模式,并且以速度 50pulse/ms,加速度 0.25pulse/ms2,减速度0.125pulse/ms2,平滑时间为 25ms 的运动参数正向运动 50000 个脉冲。 


int main(int argc, char* argv[])
{
    
short sRtn;
TTrapPrm trap;
long sts;
double prfPos;
// 1、打开运动控制器
sRtn = GT_Open();

//2、复位运动控制器
sRtn = GT_Reset();
commandhandler("GT_Reset", sRtn);
//3、 配置运动控制器
// 注意:配置文件取消了各轴的报警和限位
sRtn = GT_LoadConfig("test.cfg");

// 4、清除各轴的报警和限位
sRtn =GT_ClrSts(1, 8);

///5、伺服使能
sRtn =GT_AxisOn(AXIS);

// 位置清零
sRt6、n = GT_ZeroPos(AXIS);

//7、将 AXIS 轴设为点位模式
sRtn = GT_PrfTrap(AXIS);

//8、读取点位运动参数(需要读取所有运动参数到上位机变量)
sRtn = GT_GetTrapPrm(AXIS, &trap);

//9、设置需要修改的运动参数
trap.acc = 0.25;
trap.dec = 0.125;
trap.smoothTime = 25;
//10、设置点位运动参数
sRtn = GT_SetTrapPrm(AXIS, &trap);

//11、设置 AXIS 轴的目标位置
sRtn = GT_SetPos(AXIS, 50000L);

//12、设置AXIS轴的目标速度
sRtn = GT_SetVel(AXIS, 50);

//13、启动AXIS轴的运动
sRtn = GT_Update(1<<(AXIS-1));

do
{
// 读取AXIS轴的状态
sRtn = GT_GetSts(AXIS, &sts);
// 读取AXIS轴的规划位置
sRtn = GT_GetPrfPos(AXIS, &prfPos);
printf("sts=0x%-10lxprfPos=%-10.1lf\r", sts, prfPos);
}while(sts&0x400); 
//14、等待AXIS轴规划停止
//15、伺服关闭
sRtn = GT_AxisOff(AXIS);
printf("\nGT_AxisOff()=%d\n", sRtn);
getch();
return 0;
}

二、JOG运动模式

Jog 运动模式下,各轴可以独立设置目标速度、加速度、减速度、平滑系数等运动参数,能够独立运动或停止

GT_PrfJog 设置指定轴为 Jog 运动模式
GT_SetJogPrm 设置 Jog 运动模式下的运动参数
2.1.1 Visual C++ 6.0 中的使用 (1) 启动Visual C++ 6.0,新建一个工程; (2) 将下载的动态链接库压缩包里VC文件夹中的动态链接库、头文件和lib文件复制到工程文件 夹中; 第 2 章 运动控制器函数库的使用 15 © 1999-2019 固高科技版权所有 (3) 选择“Project”菜单下的“Settings…”菜单项; (4) 切换到“Link”标签页,在“Object\library modules”栏中输入lib文件名,例如gts.lib; (5) 在应用程序文件中加入函数库头文件的声明,例如:#include “gts.h”; 至此,用户就可以在Visual C++中调用函数库中的任何函数,开始编写应用程序。 对于步骤(4),还有一种比较简便的方法,那就是在应用程序文件里面添加包含链接文件的声 明,例如:#pragma comment ( lib,"gts.lib" ) 。 上述关于Visual C++ 6.0调用GTS库函数的方法同样适用于使用Visual Studio平台开发。 2.1.2 Visual Basic 6.0 中的使用 (1) 启动Visual Basic,新建一个工程; (2) 将下载的动态链接库压缩包里VB6.0文件夹中的动态链接库和函数声明文件复制到工程文 件夹中; (3) 选择“工程”菜单下的“添加模块”菜单项; (4) 切换到“现存”标签页,选择函数声明文件,例如gts.bas,将其添加到工程当中; 至此,用户就可以在Visual Basic中调用函数库中的任何函数,开始编写应用程序。 2.1.3 Delphi 中的使用 (1) 启动Delphi,新建一个工程; (2) 将下载的动态链接库压缩包里Delphi文件夹中的动态链接库和函数声明文件复制到工程文 件夹中; (3) 选择“Project”菜单下的“Add to Project…”菜单项; (4) 将函数声明文件添加到工程当中; (5) 在代码编辑窗口中,切换到用户的单元文件; (6) 选择“File”菜单下的“Use Unit…”菜单项,添加对函数声明文件的引用; 至此,用户就可以在Delphi中调用函数库中的任何函数,开始编写应用程序。 2.1.4 VB.NET 中的使用 (1) 启动Visual Studio,按照“File”->"New",选择建立VB工程; (2) 将下载的动态链接库压缩包里VB.NET文件夹中的动态链接库和函数声明文件复制到工程 文件夹中,注意:gts.dll应复制到"..\bin"文件夹中的debug或者release文件夹中; (3) 选择“project”菜单下的“Add existing Item”菜单项,选择函数声明文件,如gts.vb,将其添加 到工程当中; 至此,用户就可以在Visual Studio中使用VB.NET模块调用函数库中的任何函数,开始编写应用 程序。 第 2 章 运动控制器函数库的使用 16 © 1999-2019 固高科技版权所有 2.1.5 Visual C#中的使用 (1) 启动Visual Studio,按照“File”->"New",选择建立C#工程; (2) 将下载的动态链接库压缩包里C#文件夹中的动态链接库和函数声明文件复制到工程文件夹 中,注意:gts.dll应复制到"..\bin"文件夹中的debug或者release文件夹中; (3) 选择“project”菜单下的“Add existing Item”菜单项,选择函数声明文件,如gts.cs,将其添加 到工程当中; 至此,用户就可以在Visual Studio中使用C#模块调用函数库中的任何函数,开始编写应用程序。
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值