基于运动控制卡的数控系统应用研究

2010-01-12 06:40刘长宏刘岩川唐建波
大连民族大学学报 2010年1期
关键词:控制卡实时控制数控系统

刘长宏,宋 鹏,刘岩川,唐建波

(大连民族学院机电信息工程学院,辽宁大连 116605)

基于运动控制卡的数控系统应用研究

刘长宏,宋 鹏,刘岩川,唐建波

(大连民族学院机电信息工程学院,辽宁大连 116605)

基于PC+运动控制卡仿真数控装置,从硬件组成及软件设计方面介绍了和利时运动控制卡在仿真数控平台上的应用,并在VC++6.0环境下,以对话框的形式,介绍了软件的开发过程及要点,实现了回零、限位保护、实时控制和运动轨迹显示等功能,适用于数控算法研究及数控原理培训。

运动控制卡;步进电机;仿真数控装置;VC++

基于PC+运控制卡数控系统满足标准化、柔性化与开放性的要求,使得它的开发和使用备受青睐[1]。本文使用VC++6.0 MFC应用程序,利用和利时6030运动控制卡开发设计仿真数控平台。该平台具备了回零、限位保护、实时控制和运动轨迹显示等功能,适用于数控算法研究及数控原理培训。

1 控制系统硬件设计

本系统在硬件上由PC机、和利时6030运动控制卡、步进电机驱动器及步进电机组成。X轴和Y轴电机通过滚珠丝杠副带动平台移动,在平台上各个轴的左右有软件控制限位开关和硬件强制限位保护开关,平台的右上角为设备的工作零点。为了便于轨迹的研究,装置配有抬笔/落笔装置,由电磁线圈控制。运动控制板卡插在PC机的PCI插槽内,PC机实现对系统监控管理、软硬件参数设置。通过控制软件对运动控制卡进行读写操作,运动控制卡根据主机的命令产生脉冲序列,包括脉冲个数(位置)、频率(速度)及频率变化率(加速度)。步进电机细分驱动器根据接收到的脉冲信号产生多拍节脉冲驱动信号,控制步进电机旋转,带动工作台移动。系统结构如图1。

1.1 运动控制卡

本仿真数控系统的核心为和利时6030运动控制卡,由PCI主板和接口端子板组成。这是一款3轴步进电机控制器,每轴可输出脉冲和方向信号,具有梯形升降曲线。提供带光电隔离的16路输入、8路达林顿输出及2路继电器输出[2]。可以用来输入工作台的限位信号和控制提笔/落笔。采用DSP芯片做控制器,可以完成升降速计算、行程控制及多轴直线和圆弧插补控制。

图1 系统硬件结构图

1.2 运动控制卡与外围电路的电气连接

外围电路由工作台限位开关、抬笔/落笔电磁线圈及步进电机单元组成。运动控制卡与驱动器之间的连接采用的是脉冲/方向的输出方式,CW端为脉冲输出,D端为方向输出,共阳极接法。脉冲信号为低电平有效。初始电平为高电平。工作台限位开关位于X,Y轴极限位置,依次由光电耦合开关125C51组成软件控制限位和硬件强制限位。在程序错误软件限位开关失去作用时,硬件限位开关动作,断掉步进电机的公共端,使电机停止运动。如要脱离硬限位,需按硬件电路中复位键,强制将脉冲信号加到驱动器上,电机运动,脱离硬限位,系统工作正常。抬笔/落笔控制采用继电器输出工作方式。

1.3 驱动器

步进电机56BYG250C与运动控制卡之间需要采用专门的驱动器SH-20403,根据控制信号,使步进电机的绕组按照特定的顺序通断电,从而完成电机转子的转动动作。驱动器工作时需外接开关电源,通过驱动器面板上6位拨码开关可以设置输出电流和细分运行模式。当步进电机驱动器接受数控装置发出的N个进给脉冲时,步进电机的角位移,θ为步距角,i为细分倍数。步进电机的速度式中h为传动机构(丝杠)的螺距,f为输入到步进电机的脉冲频率。当本工作台丝杠螺距为5 mm,步进电机驱动器细分设置为16,步距角1.8°时,脉冲当量为640 pulse/mm,每个脉冲工作台前进0.001 562 5 mm。

2 数控仿真系统软件设计

和利时6030运动卡基于W indows平台,提供了W indows32位动态连接库DLLs,支持Microsoft VisualBASI C、Visual C++及Borland C++Builder,具有初始化函数、运动控制函数、检测函数及直线插补、圆弧插补函数等各种丰富的函数,可以完成3轴的实时协调运动控制[2]。

目前,基于W indows操作系统,采用面向对象的Visual C++6.0语言为开发工具的数控系统,已成为全软件数控系统的热点[3]。本系统基于W indows进行程序设计,是一种基于消息件驱动方式的程序设计[4],当用户需要完成某种功能如数据输入时,点击功能按钮,会产生消息。操作系统将启动消息循环并检索消息,同时将消息发送给适当的对象。每个可以接收消息的对象都有自己的消息映射,用于将消息与处理函数联系在一起。目标对象接收到消息时,将搜索消息映射,寻找匹配的处理函数实现相应的功能。在W indows xp系统下,利用VC++6.0以对话框方式编写数控仿真系统控制程序时,将动态联接库Dfjzh6030Api.dll拷贝到VC的工作目录下,然后将Dfjzh6030Api.lib及头文件Dfjzh6030Api.h包含在该工程项目中,建立如图2的对话框。系统要完成对卡的初始化,数控系统工作零点的建立,工作参数的输入,系统轨迹的实时控制、显示及限位保护等任务。在这些任务中,有的没有实时性,有的有实时性,根据这点,可以利用W indows系统的多任务、抢占式的特点和多线程技术将各个任务分给不同的线程,并赋予不同的优先级来实现数控系统的实时性[5]。当系统要求不高时,也可用消息响应函数onTimer()来实现系统周期性的实时控制。

图2 数控仿真平台设置的对话框界面

2.1 新建对话框

新建一个基于对话框的VC工程Test,MFC应用程序向导创建CtestApp和CTestdlg两个类。在CTestdlg类内,添加如下代码完成运动控制卡的初始化。

2.2 数据的输入

在对话框中添加控件和变量,并建立控件和变量的关联。实现插补的选择、坐标终点及圆心坐标等参数的输入。

2.3 实时控制

采用定时器定时循环检测的形式,完成系统的实时控制。在程序中添加消息定时器完成消息的映射,并编写相应的功能函数OnTi mer()。定时函数OnTimer()是实时控制中的关键函数。根据定时器设定的时间值,循环执行,完成以下功能:

(1)X,Y轴极限位置判断。当极限开关动作后,紧急停止X-Y轴的运动,复位定时器。退出插补缓冲区,并发出超出行程的信息。

(2)X-Y轴实时坐标显示。利用函数actpos6030(),得到X-Y轴的实时运行脉冲。经量程变换转换成显示设备的坐标并画出相应线段。

(3)回零的实时控制。回零过程是数控系统工作零点的建立过程。其工作原理是,归零时先X轴后Y轴,每个坐标轴向零点方向移动。碰到极限开关后,停止运动。然后向相反方向移动,脱离限位开关后,停止,清坐标轴寄存器,建立系统工作零点。其流程如图3。

图3 回零控制流程图

当窗口内容变化时,发送消息,调用消息函数ON_Paint()。在此消息函数中应定义要显示插补轨迹的区域及X,Y轴的坐标样式和刻度标注。并在插补命令执行时实时显示轨迹。

2.4 功能按钮的实现

根据需要,设置“开始插补命令”“确认插补命令”“暂停”“执行插补命令”“回零”“急停”“复位”“停止”“退出”按钮。在类内,当鼠标动作时,产生消息,为消息建立功能映射函数,根据各个键的功能,编写相应的函数。

在功能按钮中,“回零”按钮是关键,每次新的插补命令执行前,都要执行此函数,它将建立设备中X,Y轴数据坐标的零点。“复位”按钮键功能更新窗口参数,将数组中所有数据清零,清除插补缓冲区数据,清零X和Y轴数据寄存器,并等待新参数输入。“复位”执行完毕后还需再执行“回零”功能键。急停和停止的区别是调用不同的函数以不同的速度停止。“开始插补命令”按钮、“确认插补命令”按钮、“执行插补命令”按钮是程序的主要部分。完成插补的初始化及速度、加减速度等参数设置及执行插补命令等功能。为了提高精度,可以采用各种插补算法,提高轨迹精度。

3 主要功能键及程序

“归零”按钮的功能是设置回零标记,轨迹显示,抬笔/落笔电磁线圈断电。退出插补缓冲区,等待定时时间到后,设置X轴回零的速度和加速度。调用OnTimer()等待归零完成。其按钮程序如下:

4 结 语

本文利用VC++6.0提供的微软基础类库(MFC)及板卡支持的底层函数库,详细介绍了利用和立时6030运动控制卡控制仿真数控装置进行二次开发的全过程,本数控平台具备了很好极限保护功能及实时控制功能,是进行数控知识学习和研究的很好的平台,可以在此平台上进行各种插补算法学习和研究。如果将数控系统的G代码编制成模块程序,可以作为数控编程培训设备使用。这样极大地节约成本,为我国数控工业发展做出贡献。

[1]耿宏涛,舒志兵.基于VC的多轴运动控制卡软件开发技术研究[J].机床与液压,2007,35(11):130-133.

[2]北京和利时电机技术有限公司.6030电机控制卡使用手册[C].北京:北京和利时电机技术有限公司, 2002.

[3]贾敏忠,谢明红.PLC-839运动控制卡数控系统开发[J].华侨大学学报:自然科学版,2006(4):404-407.

[4]金雪云.Visual C++教程[M].北京:清华大学出版社, 2005.

[5]张宏.基于PC+运动控制卡的开放式数控系统的研究[J].机械设计与制造,2008(6):171-172.

Research on Applications of a Numerical Control System Based on M otion Control Card

L IU Chang-hong,SONG Peng,L IU Yan-chuan,TANG Ji an-bo
(College of Electromechanical&Information Engineering,Dalian NationalitiesUniversity, Dalian Liaoning 116605,China)

Based on a numerical control(NC)emulator consisting of a PC and a motion control card,this paper presents applications of Hollysys motion control cards on NC emulation platforms from the perspectivesof hardware configuration and software design.The software development process and main pointswere introduced in the form of dialog boxes in VC++6.0.Functions such as reset,position limitprotection,real-time control andmotion trace displaywere achieved.The cards find applications in NC algorithm research and NC principles training.

motion control card;step motor;NC emulator;VC++

T M383

A

1009-315X(2010)01-0017-04

2009-06-30

刘长宏(1968-),男,河南林州人,工程师,主要从事机电一体化研究。

(责任编辑 刘敏)

猜你喜欢
控制卡实时控制数控系统
兼容多种运动控制卡的V割机数控系统关键技术*
三轴机械手控制器设计
基于FANUC 32i A数控系统的外部测量设计
西门子840D sl数控系统在SC125大型车铣镗床技术改造中的应用
基于FANUC Oi mate TD数控系统的手动功能开发
数控系统中GUI软件平台设计和实现
基于运动控制卡的桁架机器人控制系统设计
基于LabVIEW微电网实验平台监控系统的设计与实现
探讨ERP系统环境下企业会计的实时控制
基于全集成自动化的能耗监控管理系统设计