基于VC的运动控制卡软件系统设计_第1页
基于VC的运动控制卡软件系统设计_第2页
基于VC的运动控制卡软件系统设计_第3页
基于VC的运动控制卡软件系统设计_第4页
基于VC的运动控制卡软件系统设计_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、控制系统的软件开发。平面2-DO切分之过驱动并联机构的控制系统组成并联机构的本体如图1,该机构由4个分支链组成,每条支链的一段与驱动电 动机相连,而另一端相交于同一点。该并联机构的操作末端有 2个自由度(即X 方向和Y方向的平动),驱动输入数目为4,从而组成过驱动并联机构。图1机构本体For personal use only in study and research; not for commercial use控制系统的硬件主要有4部分组成:PCM,四轴运动控制卡,伺服驱动器和 直流电动机。系统选用的是普通 PCL,周高公司的GT-400-SV-PCI运动控制卡,瑞士Maxo公司的四象限

3、直流伺服驱动器及直流永磁电动机。伺服驱动器型号为 4-Q-DCADS50/5与驱动器适配直流电动机型号为MaxonRE-35运动控制系统的 构成如图2所示。上位才S制单元由PCL和运动控制卡一起组成,板卡插在 PCL主 板上的PCI插槽内。PCL主要负责信息流和数据流的管理,以及从运动控制卡读 取位置数据,并经过计算后将控制指令发给运动控制卡。驱动器控制模式采用编 码器速度控制,驱动器接受到运动控制卡发出的模拟电压,通过内部的PWM路控制直流电动机RE-35勺运转,并接受直流电动机RE-351的编码器反馈信号调整 对电动机的控制,如此构成一个半闭环的直流伺服控制系统。图2运动控制系统组成1.1

4、 GT-400-SV控制卡介绍For personal use only in study and research; not for commercial use固高公司生产的GT(列运动控制卡GT-400-SV-PCI可以同步控制4个轴,实现 多轴协调运动。其核心由ADSP218数字信号处理器和FPGA1成,能实现高性能的 控制计算。控制卡同时提供了 C®言函数库和Windows的动态链接库,可实现复 杂的控制功能。主要功能如下:(1) PCI总线,即插即用;(2)可编程伺服采样周期,4轴最小插补周期为200us,单轴点位运动最小 控制周期为25us;(3) 4路16位分辨率模拟

5、电压输出信号或脉冲输出信号模拟量输出范围:-10V-+10V,每路课独立控制,互不影响;(4) 4路四倍频增量编码器输入,作为各轴反馈信号输入,最高频率8MHz(5) 四轴协调运动;(6) 每轴2路限位开关信号、一路原点信号及一路驱动报警信号输入;(7) 每轴1路驱动使能信号、1路驱动复位信号输出;(8) 运动方式:单轴点位运动、直线插补、圆弧插补、速度控制模式、电 子齿轮模式;(9) PID (比例-积分-微分)数字滤波器,带速度和加速度前馈,带积分 限值、偏差补偿和低通滤波器;(10)支持DOSWindowsNT/2000/X由操作系统,提供底层库函数,可用DOS VC VB?进行软件开发

6、。控制卡结构及端子板的接口如图3所示。04-J O GT-400-SVCN13CN12扁平线PCI 接口转接板LJ|CN3|CN5CN14端子板ACC2CN10 CN4 CN9 CN11 n nCNfiCN7屏蔽线端子板电源接口4袖专用1,。接口不得用于商业用途1.2形。输入输出接口图3控制卡结构及与端子板接口图直流永磁电动机PW臃动基本原理图4为利用开关管实现直流电动机PWM速控制的原理图和输入输出电压波 当开关MOSFEET栅极输入高电平时,开关管导通,直流电动机电枢绕组两端仅供个人参考有电压Us。T1时间后,栅极输入变为低电平,开关管截止,电动机电枢两端电压 为零。T2时间后,栅极输入重

7、新变为高电平,开关管重复前面的动作过程。这样, 对应着输入的点评高低,直流伺服电动机电枢绕组两端的电压波形如图4b所示。占空比a表示了在一个周期T里,开关管导通的时间与周期的比值。a的变化 范围为0<a<1。由此式可知,当电源电压Us不变的情况下,电枢绕组两端的电压 平均值uo取决于占空比a勺大小,改变a的值就可以改变端电压的平均值,从而 达到调速的目的。2 基于 GT-400-SV-PCI 卡的软件设计GT-400-SV空制卡具有良好的开放性,用户可以再 DOS VC VB Delphi环境 下进行软件开发。文中是在Windows200原统下利用Visual C+6.0的MFCZ

8、面向 对象方式进行编程。控制卡在Windows开发的底层动态库包括头文件GT400.h, GT400.lib 和GT400.dll 。在VC+环境中使用时,选择 Project Setting Link , 在 Object/Library modules 中输入 GT400.lib ,然后就可以在程序中调用动态链 接库中的函数。2.1 Windows 程序内部运行原理因为Visual C+6.0是Windows发语言,所以用Visual C+6.0开发程序之 前首先需要弄清楚Windows?序内部运行机制。在Window界境下的软件开发是完 全不同于DO机的,它是一种事件驱动方式的程序设计模

9、式,主要是基于消息的。当用户需要完成某种功能时,会调用操作系统的某种支持,然后操作系统将用户的需要包装成消息并投递到消息队列当中,最后应用程序从消息队列中取走消息并进行响应。2.2 程序设计运动控制卡接受PCL上发出的操作命令和运动控制系统反馈回的信息,并据其进行实时的运动操作,直接控制伺服驱动器。控制卡控制直流电动机的过程可分为:打开控制卡并初始化,设置运动参数,执行运动程序,关闭卡。控制系统 流程图如图5所示。图5控制程序流程图2.2.1 卡的初始化卡的初始化应在程序开始时就执行,主要用到的控制函数见表1表 1 函数名称及功能名称GT_Ope()n GT_Rese()t GT_SetSmp

10、lTm() GT_LmtSn()s GT_EncSn()s GT_CloseLp() GT_CtrlMode()功能打开运动控制器设备复位运动控制器设置控制周期设置限位开关的有效电平设置编码器的记数方向设置为闭环控制设置输出模拟量/ 脉冲量以上参数应根据具体的硬件平台来设置,一般只在程序初始化时设置一次,以后不应再设置。另外,控制周期的设定 GT_SetSmplTm(double Timer),参数Timer的单位是 us。因为运动控制卡要在控制周期内完成必要的控制计算,控制周期不能太小, 因此设定的范围为48-1966.08us。运动控制卡默认的控制周期为200us,这个控 制周期对于普通的

11、用户能够安全可靠地工作。一般情况下,在程序中不应改变控制周期值,否则会出现不可预期的后果。2.2.2 运动控制模块该运动控制卡可以实现单轴及多轴协调运动。对于单轴所执行的运动操作有绝对运动、连续点动、急停缓停、回零等;对于多轴协调运动有直线插补和圆 弧插补。单轴运动控制主要用来调试直流电动机运动性能。采用梯形曲线运动模式,设置速度、加速度、目标位置3个参数,通过设置合适的PIDP控制参数,使电动机运 动达到系统设计要求。4轴协调运动采用直线插补法,正确的设置坐标映射,合成速度、加速度,再加轨迹设置命令及目标位置,即可实现四轴协调运动。运动控制卡通过坐标映射函数 GT_MapAxis(short

12、 Axis_Num,double * map_count)将控制轴由单轴运动控制模式转换为坐标系运动控制模式。同时运动控制卡开辟了底层运动数据缓冲区,在坐标系运动控制模式下,可以实现多段轨迹快速、稳定的连续运动。这些运动操作都是相互独立的,在控制面板中每个操作按键对应一个独立的事件。2.2.3 运动状态显示模块通过调用 GT_GetAltPos(long * Apos)和 GT_GetPrfPnt(double * Pnt)分别获得 当前轴的实际位置和坐标系各轴的坐标位置,参数*Apos返回实际位置,双精度参数*Pnt指向一个长度为4的数组。然后转换成各电动机的实际角度,并在控制 面板上显示。

13、2编程开发实例现以单轴调试与4轴协调运动实现直线和圆轨迹为例具体介绍开发过程:打开Visual C+6.0,利用 MFC AppWizardexe创建一个基于对话框的 Robot2008 工程,将GT400.h, GT400.lib添加进工程,编程时要在头文件里包含头文件 GT400.h。在对话框中添加按钮和编辑框等操作见图 6。I J - Jk:匚/弓:,sr制o有吃口工- 也什n工需耆厂JF丁口叫牛上 '唠'Hn 吗 E/,- 上= Yml: : HI 3M. !;T -= JI Vd= - WJ1±1 IX-*!;' 1J- 2 -51.Ejn*-rtt

14、iT3 I口口/口CUTDWKF:咐 15 U J II ffljpn HPBCTaoar SjKI-n riabc图6设置对附框单轴控制模块,先在OnInitDialog ()中添加如下代码,进行初始化工作:GT_Open();GT_Reset();GT_LmtsOff();GT_AlarmOff();GT_CtrlMode(0);GT_CloseLp();在CRobot2008Dlg中添加成员变量 m_Kp,m_Ki,m_Kd,m_Pos,m_Vel,m_Acc并作原型说明。然后在“单轴运动”按钮添加 BN_CLICKED 消息响应的函数OnButtonSrtMov (),并在函数中添加如

15、下代码:GT_Axis();GT_AxisOn();GT_ZeroPos();GT_PrflT();GT_SetKp(m_Kp);GT_SetKi(m_Ki);GT_SetKd(m_Kd);GT_SetPos(m_Pos);GT_SetVel(m_Vel);GT_SetAcc(m_Acc);GT_Update();最后在“单轴停止”按钮BN_CLICKED响应函数OnButtonStop ()中添加代码:GT_AxisOff();GT_Close();四轴协调运动的初始化与单轴情况基本相同,但要加入坐标映射函数GT_MapAxis(short Axis_Num,double *map_coun

16、t)。double cnt15=1,0,0,0,0;double cnt25=0,1,0,0,0;double cnt35=0,0,1,0,0;double cnt45=0,0,0,1,0;GT_MapAxis(1,cnt1);GT_MapAxis(2,cnt2)GT_MapAxis(3,cnt3);GT_MapAxis(4,cnt4);GT_MvXYZA(0,0,0,0,1,0.01);前文已提到,运动显示模块经编译无误后生成可执行文件,执行后如图7所示。与硬件连接后可以实现对平面 2-DOF四分之过驱动并联机构末端位置 的直线及圆运动位置规划,可以实时读出直流电动机转角位置,达到了预期 效

17、果。图7应用程序3结语本文利用Visual C+6.0提供的微软基础类库MFC及控制卡支持的底层函数 库,详细介绍了二次开发的全过程并给出了编程实例,方便对多轴运动控制 卡软件开发的理解。整个控制软件能完成数据及运动状态显示、伺服驱动、 并联机构的位置规划等任务。实践证明该并联机构控制系统运行稳定。不得用于商业用途仅供个人参考仅供个人用于学习、研究;不得用于商业用途For personal use only in study and research; not for commercial use.Nur f u r den pers?nlichen f u r Studien, Forschzu kommerzi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论