基于PCI-1240运动控制系统
2013-09-14周士群
周士群,王 萍
(天津工业大学电气工程与自动化学院,天津 300387)
随着PC(Personal Computer)的发展和普及,采用“PC+运动控制卡”作为上位控制,将是运动控制系统的发展趋势。该方案可以利用计算机资源,用于运动过程、运动轨迹等比较复杂且柔性较强的机器和设备。运动控制卡是基于PC机各种总线的步进电机或数字式伺服电机的上位控制单元,总线形式多种多样,通常采用ISA总线和PCI总线。但由于计算机主板的更新换代,ISA插槽越来越少,PCI总线的运动控制卡逐渐发展成为目前运动控制系统的主流。包括工业电脑平台、运动控制卡和应用软件,通过插入各种功能卡和编写软件,形成功能强大且易于操作的运动控制系统[1]。运动控制卡以PCI插卡的形式嵌入PC机中,将PC机的信息处理能力与运动控制能力有机结合,具有开放性程度高、信息处理能力强、实时调整优点突出、运动控制轨迹准确以及通用性好的优点,与传统单片机运动控制系统以及PLC专业运动控制系统等上位控制方案相比,具有一定的优势。
“工控PC机+运动控制卡”是一种用于PCI运动控制的经济型解决方案。以PC机为主控制器,运动控制卡作为从机,通过自定义的命令通信协议,实现位置与速度的精确控制[2]。工控PC机负责人机交互界面的管理、控制系统的实时监控;运动控制卡完成运动控制的所有细节。通过调用PCI-1240的高级DLL驱动程序,较容易链接到VC++,Visual Basic或BCB,实现对运动函数库的二次开发。
1 系统组成及硬件介绍
系统硬件结构如图1所示。其中,运动控制卡采用PCI-1240,负责与上位机通讯,与PC机构成主从模式。这样,PC机可以专注于人机界面、实时监控和发送指令等系统管理工作,而运动控制卡负责处理运动控制的所有细节,如升降速计算、行程控制、多轴插补等,无需占用PC机资源。
图1 系统硬件结构图
系统正常工作时,通过在工控PC机上编写应用程序,给PCI-1240运动控制卡发送相应的速度、位置指令,运动控制卡接受指令并产生高频脉冲,驱动机电装置实现所需的运动功能。驱动器把驱动线路的电信号转换为机械运动,提供电机功率使得电机做旋转或直线运动,最终利用电机中的传动系数传动机械设备,实现具体的运动过程[3]。
1.1 PCI-1240运动控制卡
PCI-1240 4轴步进/脉冲伺服电机控制卡是一种通用型极端动作的运动控制卡。采用PCI总线可高速控制4轴电机,每轴均可输出脉冲和方向信号以控制电机的运转,可简化步进式及脉冲式伺服电机控制,并充分发挥电机潜能。该卡使用NOVA MCX314动作ASIC芯片,内建多种动作控制函数,如2/3轴线性内插、2轴圆周内插、T/S曲线加速/减速等不胜枚举。对于高级应用更提供了Windows dll驱动程序及容易上手的实例,以降低程序设计者的工作负担。而且,通过免费的随机动作公用程序,可以轻易地完成组态设定及环境诊断。
PCI1243U的性能:
(1)支持4轴动作控制、手动转盘及飞梭功能。(2)2/3轴线性内插函数,2轴圆周内插函数,连续内插函数。(3)可编程 T/S曲线加/减速。(4)每轴高达4 Mp·s-1脉冲输出和1 MHz脉冲输入。(5)两种脉冲输出形式:加/减(CW/CCW)或脉冲/方向(PULSE/DIR)。(6)2编码器脉冲输入形式:A/B相位或加/减(CW/CCW)。(7)位置管理及软件极限开关功能。(8)线路板ID及随机动作公用程序可做组态设定和环境诊断。
1.2 驱动器与电机的连接
系统中采用的驱动器是由Techno公司生产的KR515M 5相微步驱动器。它具有低噪音、低振动旋转的微步驱动功能,最高分割数为80分割,基本步进角0.72°,1脉冲输入旋转0.009°,而电机旋转一圈则需要40 000个脉冲,完全满足运动控制系统对精度的要求。同时,KR515驱动器还采用了使外部干扰影响最小化的光电连接器输入绝缘方式,内置自动降低电流功能、自我诊断功能电路等多数功能,实现了高速、高力矩以及高可靠性。电机选用与驱动器配套的日本东方5相UPK步进电机,能够最大限度地发挥电机潜能,实现对电机的精确控制。PCI运动控制卡与驱动器连接图如图2所示。
外加DC24 V电源,用于对控制信号供电。采用CW/CCW驱动方式驱动,XOUT4可以由设定WR3的D8控制UPK驱动器到暂停,TIMING及过热信号可以由RR4,5得到读数,温度报警通过XALARM引脚输入。驱动器和PCI-1240的信号连接采用差分传输,如图3所示。发送端将输入信号X转换成X及X输出,接收端将输入X及比较后得Y。以差分传输方式传送可以有效地消除共模干扰,确保信号的正常传输。
图2 PCI-1240与驱动器连接图
图3 差分传输示意图
在联接过程中,特别要注意的是导线的选择,这对于整个系统工作的稳定性、抗干扰能力以及信号的传输有较大影响。系统中选用PCL-10251高讯/杂比PCI-1240卡专用隔离信号线缆,可确保信号质量,提供良好的信号。同时,还应注意信号线必须远离动力电源线、大电动机、断路器、电焊机等大的电磁源以及视频监视器等,因为它们可能造成较强的电磁干扰,严重影响数据撷取系统。如果信号线穿过此类区域,必须单独隔离,采用屏蔽双绞线作为输入信号线,并且屏蔽双绞线的隔离层只能一端接地[4]。
2 运动控制系统的软件设计
该系统软件采用Visual Basic编辑界面程序,调用运动控制卡的运动函数库,控制电机的转向和转速。由于PCI-1240运动控制卡配备了功能强大的动态链接库(DLL),因此可以在Windows系统下很快地开发出运动控制系统。
2.1 系统流程图
软件系统是整个运动控制系统的灵魂。根据现代运动控制系统平台的要求,系统既要能实现运动控制的速度和精度,又要发挥PC机的优势。PCI-1243U是一种即插即用型的32位PCI总线控制卡。在Windows操作系统下必须先进行系统初始化,才可以实施对运动状态的控制。系统初始化主要包括硬件初始化和系统配置。前者主要完成地址、中断通道等板卡资源的分配;后者则负责对限位开关、脉冲输出类型等设备参数的相关设置。运动控制系统的软件流程图如图4所示。
图4 系统流程图
2.2 运动控制卡软件介绍
2.2.1 PCI-1240中各参数之间的关系
DV:运行速度;SV:初始化速度;AC:加速度;AK:加加速。
设定加速度时间为 &t,则 DV=SV+AC* &t,AK=AC/&t。在设定时,如果不合适则报错。
2.2.2 脉冲表示方式
PCI-1243运动控制卡利用脉冲方式确定运动的方向和距离,常用的3种方式如图6所示。
A/B相向可定义为当A相先于B相90°为正向运动,A相落后于B相90°为反向运动;个数可由A相的上升沿确定。
(1)CW/CCW有脉冲,CC为高电平时表示正向运动,反之为反向运动;个数由CW或CCW脉冲上升沿的个数确定。
(2)Pulse/Dir方向由Dir信号确定,距离由Pulse信号表示。
图5 脉冲表示方式示意图
2.2.3 VB6.0与动态链接库
PCI-1240运动控制卡将主要函数进行分类、封装,形成一种可根据用户需要而调用的动态链接库dll[5]。dll是一种基于 Windows的程序模块,可以使多个应用程序之间共享代码和资源,从而提高运行效率。在VB程序中,只要对dll进行正确的声明,便可像使用VB本身的函数一样使用dll中的函数。
PCI-1240为VB提供了动态链接库,他是一个运动控制API函数库,只需用VB编写一个接口,在软件开发中调用运动函数中的相关函数,就可以方便地对多轴电机进行精确、高速的控制。运动控制系统主要用到的函数有初始化相关函数、I/O相关函数、运动状态检测函数、Home功能函数以及T/S型曲线运动控制函数等。
2.3 VB程序实现
运动方式包括单轴的回原点(Home)、连续运转(Continue Drive)、点对点运转(Point to Point Drive)、多轴间的线性插补(Line Profile Drive)以及圆弧插补(Arc Profile Drive)。电机驱动器脉冲输出方式选择CW/CCW方式。
图6 VB界面
系统具有广阔的开放性和良好的适用性,其硬件系统及下层软件均实现模块化,可嵌入不同的机械传动设备中,通过开发特定的上位机软件实现特定的数控功能。系统在纺织机上已进行了大量应用,编织出合格的衣料。
3 结束语
基于“工控PC机+PCI1243”开发的运动控制系统,系统设计灵活、人机界面丰富、多轴联动[6]、运行精确可靠、容易实现网络的远程控制。在不占用微机CPU时间的情况下,完成对运动控制系统的精确控制。采用运动控制卡,驱动控制的计算机控制系统也能很好地实现变速曲线运动[7]。目前,该系统已被广泛应用在包装、印刷、纺织和装配工业中,运行状况良好。
[1]曾峰,姚山.基于PCI总线的开放式运动控制系统设计及应用[J].微机算机应用,2011(8):62-65.
[2]李颖,谭立新.基于PC和运动控制卡的开放式运动控制系统[J].仪表技术,2007(4):43-45.
[3]周志明.一种基于运动控制卡的步进电控制系统[J].电子元器件应用,2004(05):41-44.
[4]LEI M K,ZHU X P,K.W.XU K W,et al.XuReal-time measurement of friction coefficient in the frictional performance test of brake disk[C].The 8th International Conference on Surface Engineering Abstract,2007:86-90.
[5]吴虎城,黄孝龙.基于PCI总线的运动控制系统的实现[J].煤矿机械,2010(8):223-225.
[6]吴小丽,丁维明,程力.基于PCI8134的多轴联动控制系统的设计与开发[J].工业控制计算机,2011(4):11-14.
[7]孙浩,贺忠江,韩业伟.基于运动控制卡的交流电机曲线运动控制[J].仪器仪表学报,2010(8):34-36.