自-基于VC+的运动控制卡软件系统设计

上传人:汇****星 文档编号:186651230 上传时间:2021-07-19 格式:DOC 页数:9 大小:504KB
返回 下载 相关 举报
自-基于VC+的运动控制卡软件系统设计_第1页
第1页 / 共9页
自-基于VC+的运动控制卡软件系统设计_第2页
第2页 / 共9页
自-基于VC+的运动控制卡软件系统设计_第3页
第3页 / 共9页
自-基于VC+的运动控制卡软件系统设计_第4页
第4页 / 共9页
自-基于VC+的运动控制卡软件系统设计_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《自-基于VC+的运动控制卡软件系统设计》由会员分享,可在线阅读,更多相关《自-基于VC+的运动控制卡软件系统设计(9页珍藏版)》请在金锄头文库上搜索。

1、 基于VC+的运动控制卡软件系统设计在自动控制领域,基于PC和运动控制卡的伺服系统正演绎着一场工业自动化的革命。目前,常用的多轴控制系统主要分为大块:基于PLC的多轴定位控制系统,基于PCase的多轴控制系统和基于总线的多轴控制系统。由于PC机在各种工业现场的广泛运动,先进控制理论和DSP技术实现手段的并行发展,各种工业设备的研制和改造中急需一个运动控制模块的硬件平台,以及为了满足新型数控系统的标准化、柔性化、开放性等要求,使得基于P和运动控制卡的伺服系统备受青睐。本文主要是利用V+0提供的MFC应用程序开发平台探索研究平面2-DO四分之过驱动并联机构的运动控制系统的软件开发。平面DO四分之过

2、驱动并联机构的控制系统组成并联机构的本体如图1,该机构由4个分支链组成,每条支链的一段与驱动电动机相连,而另一端相交于同一点。该并联机构的操作末端有2个自由度(即X方向和Y方向的平动),驱动输入数目为4,从而组成过驱动并联机构。控制系统的硬件主要有4部分组成:PC机,四轴运动控制卡,伺服驱动器和直流电动机。系统选用的是普通PC机,固高公司的GT-400-SV-PI运动控制卡,瑞士Maxon公司的四象限直流伺服驱动器及直流永磁电动机。伺服驱动器型号为4-Q-DADS0/5,与驱动器适配直流电动机型号为axon RE35。运动控制系统的构成如图所示。上位控制单元由PC机和运动控制卡一起组成,板卡插

3、在PC机主板上的PCI插槽内。PC机主要负责信息流和数据流的管理,以及从运动控制卡读取位置数据,并经过计算后将控制指令发给运动控制卡。驱动器控制模式采用编码器速度控制,驱动器接受到运动控制卡发出的模拟电压,通过内部的M电路控制直流电动机RE-5的运转,并接受直流电动机RE-35上的编码器反馈信号调整对电动机的控制,如此构成一个半闭环的直流伺服控制系统。1. GT-400-SV控制卡介绍固高公司生产的GT系列运动控制卡GT-00-VPCI可以同步控制4个轴,实现多轴协调运动。其核心由ADSP81数字信号处理器和PGA组成,能实现高性能的控制计算。控制卡同时提供了C语言函数库和Widows下的动态

4、链接库,可实现复杂的控制功能。主要功能如下:(1) PC总线,即插即用;(2) 可编程伺服采样周期,轴最小插补周期为200us,单轴点位运动最小控制周期为25us;(3) 4路16位分辨率模拟电压输出信号或脉冲输出信号模拟量输出范围:10V-+0V,每路课独立控制,互不影响;(4) 4路四倍频增量编码器输入,作为各轴反馈信号输入,最高频率Mz;(5) 四轴协调运动;(6) 每轴路限位开关信号、一路原点信号及一路驱动报警信号输入;(7) 每轴1路驱动使能信号、1路驱动复位信号输出;(8) 运动方式:单轴点位运动、直线插补、圆弧插补、速度控制模式、电子齿轮模式;(9) PID(比例-积分-微分)数

5、字滤波器,带速度和加速度前馈,带积分限值、偏差补偿和低通滤波器;(10) 支持DOS、WindowNT2000/XP等操作系统,提供底层库函数,可用DOS、V、VB等进行软件开发。控制卡结构及端子板的接口如图3所示。1.2 直流永磁电动机PWM驱动基本原理图4为利用开关管实现直流电动机PM调速控制的原理图和输入输出电压波形。当开关MSFT的栅极输入高电平时,开关管导通,直流电动机电枢绕组两端有电压Us。1时间后,栅极输入变为低电平,开关管截止,电动机电枢两端电压为零。2时间后,栅极输入重新变为高电平,开关管重复前面的动作过程。这样,对应着输入的点评高低,直流伺服电动机电枢绕组两端的电压波形如图

6、4b所示。占空比a表示了在一个周期T里,开关管导通的时间与周期的比值。a的变化范围为01。由此式可知,当电源电压Us不变的情况下,电枢绕组两端的电压平均值U取决于占空比a的大小,改变的值就可以改变端电压的平均值,从而达到调速的目的。2 基于00VPCI卡的软件设计T-400-SV控制卡具有良好的开放性,用户可以再DOS、C、VB、eli环境下进行软件开发。文中是在idws2000系统下利用Visual C6.0的FC以面向对象方式进行编程。控制卡在Windows下开发的底层动态库包括头文件G400.h,G40lib和GT400.d。在VC+环境中使用时,选择ProjecSetngink,在jc

7、tbrary oules中输入GT400.lib,然后就可以在程序中调用动态链接库中的函数。2.1 Winds程序内部运行原理因为Viual C+6.0是Wndows开发语言,所以用Visua C+.0开发程序之前首先需要弄清楚indow程序内部运行机制。在Widows环境下的软件开发是完全不同于DOS下的,它是一种事件驱动方式的程序设计模式,主要是基于消息的。当用户需要完成某种功能时,会调用操作系统的某种支持,然后操作系统将用户的需要包装成消息并投递到消息队列当中,最后应用程序从消息队列中取走消息并进行响应。2 程序设计运动控制卡接受PC机上发出的操作命令和运动控制系统反馈回的信息,并据其进

8、行实时的运动操作,直接控制伺服驱动器。控制卡控制直流电动机的过程可分为:打开控制卡并初始化,设置运动参数,执行运动程序,关闭卡。控制系统流程图如图5所示。2.21 卡的初始化卡的初始化应在程序开始时就执行,主要用到的控制函数见表1。 表1 函数名称及功能 名称 功能G_Oen() 打开运动控制器设备TReset() 复位运动控制器GT_eSTm() 设置控制周期T_mns() 设置限位开关的有效电平GT_EcSns() 设置编码器的记数方向GT_CosLp() 设置为闭环控制GCrlMode() 设置输出模拟量/脉冲量以上参数应根据具体的硬件平台来设置,一般只在程序初始化时设置一次,以后不应再

9、设置。另外,控制周期的设定G_SetSmplTm(oubei),参数ier的单位是us。因为运动控制卡要在控制周期内完成必要的控制计算,控制周期不能太小,因此设定的范围为48-9.08us。运动控制卡默认的控制周期为200us,这个控制周期对于普通的用户能够安全可靠地工作。一般情况下,在程序中不应改变控制周期值,否则会出现不可预期的后果。2.2 运动控制模块 该运动控制卡可以实现单轴及多轴协调运动。 对于单轴所执行的运动操作有绝对运动、连续点动、急停缓停、回零等;对于多轴协调运动有直线插补和圆弧插补。单轴运动控制主要用来调试直流电动机运动性能。采用梯形曲线运动模式,设置速度、加速度、目标位置3

10、个参数,通过设置合适的P控制参数,使电动机运动达到系统设计要求。4轴协调运动采用直线插补法,正确的设置坐标映射,合成速度、加速度,再加轨迹设置命令及目标位置,即可实现四轴协调运动。运动控制卡通过坐标映射函数G_pAxis(shot Axis_Num,ou * mapount)将控制轴由单轴运动控制模式转换为坐标系运动控制模式。同时运动控制卡开辟了底层运动数据缓冲区,在坐标系运动控制模式下,可以实现多段轨迹快速、稳定的连续运动。这些运动操作都是相互独立的,在控制面板中每个操作按键对应一个独立的事件。22. 运动状态显示模块通过调用T_etAltPos(ong * Apos)和GT_GePrfPn

11、t(oble* nt)分别获得当前轴的实际位置和坐标系各轴的坐标位置,参数*ps返回实际位置,双精度参数Pnt指向一个长度为4的数组。然后转换成各电动机的实际角度,并在控制面板上显示。2 编程开发实例现以单轴调试与4轴协调运动实现直线和圆轨迹为例具体介绍开发过程:打开Visua+6.0,利用C AppWizadee创建一个基于对话框的Robt20工程,将G40.h,G4.lib添加进工程,编程时要在头文件里包含头文件GT400h。在对话框中添加按钮和编辑框等操作见图6。单轴控制模块,先在OnInitDi()中添加如下代码,进行初始化工作:Ten();GTReset();GT_Lmtsff();

12、G_lamOff();G_trlode(0);GT_ClseLp(); 在CRoo2008Dlg中添加成员变量m_Kp,m_Ki,m_d,m_Ps,m_Vl,m_Ac并作原型说明。然后在“单轴运动”按钮添加B_CLICKED消息响应的函数OnButtonSrtMov(),并在函数中添加如下代码:GT_As();G_xiOn();GT_eroPs();G_PrflT();GTetK(_Kp);G_SetKi(mKi);GStKd(m_Kd);etPs(_Pos);GT_SetVe(m_Ve);GTSetAc(_Acc);GT_Update();最后在“单轴停止”按钮B_CLICED响应函数OnB

13、utontop()中添加代码:GT_Axisff();GT_lose();四轴协调运动的初始化与单轴情况基本相同,但要加入坐标映射函数GT_MaAs(shr Axis_Num,doble *map_ut)。doubl cnt15=1,0,0,0,;oue cnt2=0,1,0,0,0;doue nt3=,0,1,;double cnt=,0,0,1,0;G_MaAxis(1,nt1);GT_aA(,cnt2)GT_Mapxis(3,cnt3);T_MapAxis(4,cnt4);GT_MvXYZ(0,0,0,0,1,01);前文已提到,运动显示模块经编译无误后生成可执行文件,执行后如图7所示。与硬件连接后可以实现对平面-OF四分之过驱动并联机构末端位置的直线及圆运动位置规划,可以实时读出直流电动机转角位置,达到了预期效果。3 结语本文利用Visual +60提供的微软基础类库MFC及控制卡支持的底层函数库,详细介绍了二次开发的全过程并给出了编程实例,方便对多轴运动控制卡软件开发的理解。整个控制软件能完成数据及运动状态显示、伺服驱动、并联机构的位置规划等任务。实践证明该并联机构控制系统运行稳定。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 社会学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号