基于PC运动控制器的多轴连续运动轨迹控制

时间:2022-04-09 02:41:44

基于PC运动控制器的多轴连续运动轨迹控制

摘要: 本文针对固高科技公司的GT-400-SV系列运动控制器,在四轴运动开发平台上,利用PC机主控,通过实例的方式,采用高级语言VC完成传统3轴联动数控铣床典型零件手工程序的编制,通过实例证明,基于VC的运动控制器,在pc上经简单编程即可实现运动控制,而不一定需要专门的数控软件。可以实现多轴运动轨迹控制,给用户提供了很大的软件开发空间。

Abstract: This article is about GT-400-SV series of motion controllers, based on the development of four-axis motion platform, controlled by PC. The paper demonstrates by examples, motion controllers can realize motion control through simple program on PC without special software of NC. It can also realize mutiaxial continuous trajectory control, providing users with great development space.

关键词: 运动控制;数控编程;高级语言VC

Key words: motion control;CNC programming;high-level language of VC

中图分类号:TP319 文献标识码:A 文章编号:1006-4311(2012)11-0018-02

0 引言

传统的数控机床的数控编程,对于不同的数控系统可采用不同的G代码可以完成零件图形的编制,通过数控系统的输入到数控机床,进行零件的模拟仿真操作后,可通过机床完成零件的加工。固高科技有限公司生产的GT系列运动控制器,也可实现传统机床中的两种轨迹的多轴协调运动:直线插补、圆弧插补,通过VC语言同样可完成传统零件G代码程序。

1 坐标映射原理

在采用VC语言编程过着中,运动控制器通过坐标映射将控制轴由单轴运动控制模式转换为坐标系运动控制模式。在坐标系运动控制模式下,可以实现单段轨迹运动、多段轨迹连续运动。运动控制器开辟了底层运动数据缓冲区,可以实现多段轨迹快速、稳定的连续运动。运动控制器利用一个四维坐标系(X-Y-Z-A),描述直线、圆弧插补轨迹。其中X-Y-Z三个轴构成图1所示的数控机床所采用的右手笛卡尔坐标系,根据零件图形的特点,可以在二维(X-Y)、三维(X-Y-Z)坐标系描述运动轨迹。利用直线、圆弧命令完成零件轮廓的描述。

其中X、Y、Z和轴号1、2、3相对应,对于A轴和4轴对应,表示表示绕着X轴旋转坐标的选择坐标轴。坐标轴映射函数如下:

void MapAxis() //坐标映射函数

{

short rtn;

double cnt1[5]={1,0,0,0,0}; /* 根据系统设置坐标映射数组 */

double cnt2[5]={0,1,0,0,0}; /* 根据系统设置坐标映射数组 */

double cnt3[5]={0,0,1,0,0}; /* 根据系统设置坐标映射数组 */

double cnt4[5]={0,0,0,1,0}; /*根据系统设置坐标映射数组 */

rtn=GT_MapAxis(1,cnt1); error(rtn); /* 映射第1 轴到X 轴 */

rtn=GT_MapAxis(2,cnt2); error(rtn); /* 映射第2 轴到Y 轴 */

rtn=GT_MapAxis(3,cnt3); error(rtn); /* 映射第3 轴到Z 轴 */

rtn=GT_MapAxis(4,cnt4); error(rtn); /* 映射第4 轴到A 轴 */

}

2 编程实例

2.1 对运动控制器初始化和轴的初始化动作 首先是运动控制器的打开语句(GT_Open();)和运动控制器复位语句(GT_Reset();),以建立主机与运控器之间的通讯定义轴1为模拟量输出,采用T曲线模式,轴2同轴1设。

2.2 完成运动控制器各个坐标轴的初始化,并进行坐标轴的设置 如对1轴进行初始化,程序如下:

GT_Axis(1);//控制轴为轴1

GT_LmtsOff();//关闭当前轴的限位开关

GT_AlarmOff();//关闭当前轴的报警

GT_ClrSts();//清状态(解除原来轴的状态)

GT_CtrlMode(0);//选择当前轴控制模式,0为模拟量输出,即闭环控制,采用伺服交流电机

GT_SetKp(1); //设置PID参数

GT_Update();//参数生效

GT_AxisOn();//轴打开

如果在多轴控制中,对于每个坐标轴都应有相应的设置,在设置过程中要根据各个轴所连接伺服单元和电机的形式修改相应的函数。如采用步进电机可设置GT_CtrlMode(1);其中1代表为脉冲量输出,即开环控制。

轴1运动轨迹进行设置,程序如下:

GT_Axis(1);

GT_PrflT(); //轴1规划为T形曲线运动轨迹

GT_SetVel(2); //速度的单位是 脉冲每200微秒

GT_SetAcc(1); //加速度单位是 脉冲每100微秒平方

GT_SetPos(50000); //位置的单位是 脉冲

GT_Update();

2.3 坐标系轨迹运动实现的参考程序

2.3.1 采用VC语言,进行面板制作及调试 采用VC程序,进行控制面板的制作,并完成零件程序的调试,见图2。

2.3.2 图形编程程序 采用四轴运动开发系统提供的专业的函数,完成图1零件的编程的编制,参考程序如下:

void CMyDlg::OnButton5()

{

double cnt1[5]={2000,0,0,0,0};

double cnt2[5]={0,2000,0,0,0};

double cnt3[5]={0,0,2000,0,0};

//double cnt4[5]={0,0,0,2000,0};

GT_MapAxis(1,cnt1);

GT_MapAxis(2,cnt2);

GT_MapAxis(3,cnt3);

//GT_MapAxis(4,cnt4);

GT_StrtList();

GT_MvXYZA(0,0,0,0,0.1,0.0000001);

/*设置缓冲区起点定位坐标(0mm,0mm,0mm,0mm),合成速度3m/min,合成加速度

0.9m/min2 */

GT_LnXY(27,0); //图形加工

GT_LnXYZ(27,0,-5);

GT_LnXY(27,17);

GT_ArcXY(18,18,45);//以坐标(18,18)为圆心,以坐标(27,17)为起点,正向45 度圆弧。

GT_LnXY(-17,27);

GT_ArcXY(-18,18,45);

GT_LnXY(-27,-17);

GT_ArcXY(-18,-18,45);

GT_LnXY(17,-27);

GT_ArcXY(18,-18,45);

GT_LnXY(17,0);

GT_LnXY(0,0);

GT_EndList(); //关闭缓冲区

GT_StrtMtn(); //启动缓冲区的命令

}

3 结束语

与传统的数控装置相比,基于VC的运动控制器具有技术更新,功能更加强大,可以实现多种运动轨迹控制,是传统数控装置的换代产品;结构形式模块化,可以方便地相互组合,建立适用于不同场合、不同功能需求的控制系统;操作简单,在PC上经简单编程即可实现运动控制,而不一定需要专门的数控软件。目前,运动控制技术由面向传统的数控加工行业专用运动控制技术而发展为具有开放结构、能结合具体应用要求而快速重组的先进运动控制技术。给用户提供了很大的开发空间,同时在软件开发过程中,各种算法的综合应用给专用数控设备的特殊功能的实现提供了可能。

参考文献:

[1]固高公司.GT2-4002-SV四轴运动控制器用户手册,2008.

[2]陈婵娟.数控机床设计[M].化学工业出版社,2008.

[3]孙鑫,余安萍.VC++深入详解[M].北京:电子工业出版社,2007.

上一篇:企业绿色品牌资产价值评价体系的构建 下一篇:创新联盟控制机制及其关系研究