基于运动控制卡的数控转塔冲床数控系统研究
2014-07-18唐明明钟佩思车霞
唐明明,钟佩思,车霞
(山东科技大学 先进制造技术研究中心,山东 青岛 266590)
基于运动控制卡的数控转塔冲床数控系统研究
唐明明,钟佩思,车霞
(山东科技大学 先进制造技术研究中心,山东 青岛 266590)
基于PC + 运动控制卡的数控转塔冲床运动控制系统。以伺服电机的运动为主要研究对象,结合运动控制卡、驱动器、运动控制函数库,通过调用运动控制卡中的运动控制函数,实现伺服电机的单轴运动和连续运动等功能。在VC++6.0高级语言支持下,介绍了系统的开发过程,实现了实时控制、运动控制、状态检测显示等功能,并对系统优化和模具库管理进行了介绍。
运动控制卡;伺服电机;数控转塔冲床;数控系统;运动控制
0 引言
现阶段,在我国转塔数控冲床运动控制系统方面的开发与研究主要基于两种模式:1) 基于PC+PLC的数控转塔冲床运动控制系统;2) 基于PC+运动控制卡的数控转塔冲床运动控制系统。由于PC+PLC的数控转塔冲床运动控制系统,采用单片机PLC来实现设备移动部件的速度控制和位置控制,外围电路比较复杂,计算速度比较慢,所以人们更倾向于使用运算速度快,可以满足高精度的速度和位置控制的运动控制系统,因而基于PC+运动控制卡的数控转塔冲床运动控制系统随着运动控制技术的发展而得到了广泛应用。此外,本系统采用的是伺服电机实现机器的加减速运动控制,伺服电机作为一种把电脉冲转化为角位移的执行机构,能够随着脉冲信号的频率和数量控制设备移动部件的速度和距离,通过方向信号控制设备移动的方向,是一种既经济又简单的控制极速方案。
1 运动控制系统的工作原理
本系统采用PC+运动控制卡的运动控制系统方案,利用Visual C++6.0语言进行系统程序和界面的开发与设计,实现对伺服电机的运动控制功能。本系统通过人工在PC机上操作接口传递给机器控制软件,机器控制软件将操作信息转化为运动参数并根据这些参数调用DLL库中的运动函数,运动函数调用运动控制卡驱动程序发出控制指令给控制卡,运动控制卡再根据控制指令发出相应的控制信号(脉冲、方向信号)给电机驱动器,电机驱动器根据控制信号来驱动电机运动带动机器部件的运动。
2 控制系统硬件组成
2.1 硬件设备的组成
系统在硬件上由PC机、DMC1410B运动控制卡、伺服电机驱动器以及伺服电机组成。DMC1410B运动控制卡为雷赛公司自主研发的脉冲式四轴运动控制卡,可输出脉冲信号和方向信号,用以控制电机的转速和方向。DMC1410B运动控制卡具有即插即用、连续运动、直线插补、单轴运动等功能;具有梯形和S型加减速运动曲线,最大脉冲输出频率为1.2MHz,具有16路输入和12路输出的通用I/O接口,输入输出信号均采用光电隔离大幅度提高了运动控制卡的可靠性能和抗干扰性能。DMC1410卡也支持即插即用功能。
2.2 运动控制卡主要功能
通过对运动控制卡的操作实现对走刀轨迹的设定、各轴回原点、点动控制、机床启停、刀具选择,在加工状态的显示,加工任务的管理实现各轴的独立运动、以及连续运动,并可通过设定速度和加速度的参数数值,让运动轨迹呈现梯形或者S型加减速运动控制。通过对运动控制卡的实时控制,实现二轴直线插补、三轴直线插补、多轴联动等操作。DMC1410B运动控制卡可以输出两类脉冲信号:1) 脉冲+方向形式(单脉冲);2) 正脉冲+反脉冲(双脉冲)形式。每轴都有两个减速刹车信号+SD 和-SD,在检测到减速信号后,电机减速至低速运行。
通用数字输出信号OUT用于控制继电器、电磁阀、指示灯等开关器件。
通用数字输入信号INPUT用于接近开关、光电开关、按键等传感器的信号输入。
3 控制系统软件设计
3.1 运动控制函数
系统是基于Windows XP系统支持平台,以Visual C++6.0作为开发工具,进行程序设计与开发的系统,是一种基于驱动方式的消息件的程序设计系统 , 当用户需要完成某种特定功能时, 点击相应的功能按钮, 就会产生相对应的消息。然后,操作系统将对消息进行循环并开始检索消息,并将消息发送给对应的对象。每个相应的接收对象都有相对应的消息映射, 用于将消息与处理函数联系起来。当目标对象接收到消息映射时, 将开始搜索对应的消息映射, 寻找互相匹配的消息处理函数并实现相应的功能。
系统所支持的DMC1410B运动控制卡,主要有初始化函数、连续运动控制函数、单轴运动控制函数、直线插补函数、圆弧插补函数、回原点函数以及运动状态检测函数等各种丰富的函数。由于DMC1410B运动控制卡支持12块DMC1410B运动卡同时运行工作,因此一台PC机可以完成多达48轴的伺服电机同时进行运动控制。
在软件方面运动控制卡提供了大量的运动控制函数,用以满足用户在应用中的各种要求。用户只需根据运动控制系统的具体要求,调用相关的运动控制卡函数库中的运动控制函数,就可以满足多种要求的多轴运动控制系统。
函数列举如下:
(1) 初始化函数
d1000_board_init 软件初始化
(2) 连续运动控制函数
d1000_start_tv_move 以梯形速度曲线控制一个轴连续运动
d1000_start_sv_move 以S形速度曲线控制一个轴连续运动
d1000_immediate_stop 以梯形或S形急停一个轴
d1000_decel_stop 以梯形或S形减速停止一个轴
(3) 单轴运动控制函数
d1000_start_t_move 以梯形速度曲线控制相对坐标的点位运动
d1000_start_sa_move 以S形速度曲线控制绝对坐标的点位运动
(4) 直线插补函数
d1000_start_t/ta_line 任意2、3、4轴相/绝对坐标的直线插补运动
(5) 圆弧插补函数
d1000_start_t/ta_arc 任意2轴进行相/绝对坐标的圆弧插补
(6) 回原点函数
d1000_home_move 回原点运动
3.2 系统程序设计
3.2.1 实时控制
数控转塔冲床运动控制系统作为一个实时性多任务的运动控制系统,需要完成的任务有很多,主要包括机床的启停、直线圆弧插补运算、速度和位置控制等。在这些任务中,对实时性的要求高低不同,因此,根据这一点可以利用系统多线程、多任务、抢占式的技术特点将各个系统任务分配给不同的线程,并赋予各个不同线程的优先级,当优先级高的线程, 即需要执行实时性要求比较高的任务时,可以自动终止其他低线程优先级的工作,而转向执行这一线程,这样就可以实现运动控制系统所需求的实时性了。
为了完成运动控制系统的实时控制,系统采用了定时循环检测的方式。在运行程序中添加消息定时器来完成消息的映射过程,并通过编写与之相对应的OnTimer()功能函数。其中,OnTimer()函数是实时运动控制系统中的关键函数,根据定时器所设置的时间参数,循环执行以下功能:
1) 判断x,y轴极限位置。
2)x-y轴实时坐标显示。
3) 回零点的实时运动控制,其中回零时先x轴后y轴。
3.2.2 运动控制
由于DMC1410B运动控制卡可实现单轴点位运动和连续运动。因此,可以对单轴点位运动进行精确地位置控制或速度控制。DMC1410在表述运动轨迹时可以用绝对坐标和相对坐标这两种模式,这两种模式各有优点,如:在绝对坐标模式中用一系列坐标点定义一条曲线,如果要修改中间某点坐标时,不会影响后续点的坐标;而在相对坐标模式中,用一系列坐标点定义一条曲线,用循环命令可以重复这条曲线轨迹多次。在DMC1410函数库中距离或位置的单位为脉冲;速度单位为脉冲/s;时间单位为s。
DMC1410B运动控制卡提供了位置控制模式下两种加减速方式:一种是梯形曲线加减速,一种是S型曲线加减速。
1) 梯形曲线加减速 通常位置控制采用梯形这种速度控制模式。运动速度之所以要按梯形曲线变化,是因为:电机转子和被拖动的物体具有惯性,不可能在瞬间达到指定速度,因此应该有一定的加速过程。减速时亦是类似,否则电机会因为瞬间力矩不足而出现丢步、过冲或振荡现象,如图1所示。
图1 梯形速度曲线
2) S型曲线加减速 虽然梯形速度曲线简单,但它的速度曲线不平滑,其加速度有突变,因而运动中有冲击现象,容易引起机器噪声和传动机构的磨损。在梯形速度曲线上,运动的不平滑主要表现在四个瞬间的速度转折及相对应的加速度突变,这四个瞬间分别是:启动时、达到最高速度时、从最高速度下降时和最后停止时。
若将加速度改为线性变化,则速度曲线相应将变得光滑。加速和减速阶段均变为“S”形状。采用此种速度曲线,运动更平稳,且有助于缩短加速过程、降低运动装置的震动和噪声,以及延长机械传动部分的寿命,如图2所示。
图2 S型速度曲线
梯形曲线允许在运动过程中修改位置和速度参数;S型曲线只允许在运动过程中修改位置参数。当在加速度时,梯形曲线具有较短的加减速时间,而S曲线的运动比较平滑。因此,应当针对具体应用场合选择相应的加减速曲线模式。
3.2.3 状态检测
用户可以从运动控制卡的状态寄存器中读取控制轴的状态、连续运动的轨迹控制状态以及指令状态。通过调用运动状态检测函数来查询运动控制轴的工作模式和工作状态。
下面对运动状态检测函数进行描述:
d1000_check_done 检测指定轴的运动状态
语法定义:
C/C++:
DWORD d1000_check_done (short axis);
参数描述:
Axis:轴号,范围0~(n×4-1)
返回值:
0:正在运行
1:脉冲输出完毕停止
2:指令停止(如调用了d1000_decel_stop函数)
3:遇限位停止
4:遇原点停止
3.3 软件结构设计
系统根据运动功能需求和运动控制卡系统的支持,主要可以分为以下几个主要模块:参数设置模块、运动控制模块、状态显示模块、代码显示模块、系统管理模块等。参数设置模块主要负责各运动主轴的脉冲输入出设置以及对刀具的选择等, 运行控制模块则主要控制移动部件运动的方式, 状态显示模块主要负责将系统运行状态( 位置坐标、速度大小等) 及运行时的参数进行实时显示, 代码显示模块则主要负责对代码的显示、报错以及错误代码的更改,系统管理模块主要负责文件管理等。程序通过各模块之间的相互协调控制, 共同构成一个完整的基于运动控制卡的数控转塔系统,如图3所示。
图3 软件结构框架
4 系统优化设计与模具管理
4.1 最近距离法和便宜法
基于最近距离法和便宜法路径优化的算法在各行业中应用相当广泛,通过对典型工艺路径优化算法基本原理的分析和总结,研究制定转塔数控冲床加工工艺路径优化方法并给出相应的算法说明。转塔数控冲床主要进行各种孔的加工,例如圆孔、方形孔、腰圆孔及各种复杂孔。利用零件图形信息,采用人工交互式的方式进行路径的优化。采用特定算法的优化方法,减少加工时间和加工路径,提高生产效率降低生产成本。
4.2 模具库管理
模具的种类很多、形式各异,要达到数控自动编程系统的搜索匹配的功能要求,需对模具的各项参数进行合理的定义和归类。主要包括对各种模具如三角形,圆形,正方形,五角星形,以及不规则图形模具的设定。
5 结语
以DMC1410B运动控制卡为主导,基于Windows XP系统平台,利用Visual C++6.0作为系统的开发工具,用以实现人机交互界面的管理和运动控制系统的实时监控、运动轨迹以及加工代码的显示。构筑了一个基于PC+运动控制卡的数控转塔冲床运动控制系统所形式的数控冲床平台, 其对基于运动控制卡的数控系统具有一定的实用性和通用性。系统采用DMC1410B运动控制卡完成运动轨迹规划、直线插补和圆弧插补计算、运动位置的控制、运行速度的控制等实时任务, 以PC 机实现方便快捷的人机界面、系统配置,充分发挥了PC 机丰富的软硬件资源,缩短了开发周期,反映了数控冲床系统的优越性。以运动控制卡为核心构建数控系统硬件平台, 本数控系统,允许其他用户运用新的技术和方法,对其进行更多的开发和扩充新的功能模块, 以便使系统功能更加完善,更加先进, 功能更强大。
[1] 王飞. 转塔冲床数控系统及其它关键技术的设计与研究[D]. 厦门:厦门大学, 2007.
[2] 林业强. 转塔冲床数控系统的设计[D]. 厦门:厦门大学, 2009.
[3] 张宏,李富平, 基于PC+运动控制卡的开放式数控系统的研究[J]. 机械设计与制造, 2008(06):171-172.
[4] 张剑,殷苏民, 基于运动控制卡的开放式数控系统研制[J]. 机床与液压, 2003(03):170-173.
Research on NC Turret System Based on Motion Control Card and Its Development
TANG Ming-ming,ZHONG Pei-si,CHE Xia
(Advanced Manufacturing Technology Center, Shandong University of Science and Technology, Qingdao 266590, China)
Based on a CNC turret punch press motion control system of the PC + motion control card,this paper takes the stepping motor movement as the main research object and uses the motion control card, driver, motion control function library and calling motion control functions of the movement control card to achieve its single shaft movement and continuous movement functions. Under the vc + + 6.0 high-level language support, it also introduces the development process of the system, its optimization and mould library management and the way which is used to realize the real-time control, motion control, detecting state display and other functions.
motion conrtol card;servo motor;NC turret punch press;control system;motion control
唐明明(1986-),男, 山东兖州人,硕士研究生,研究方向:先进制造技术。
TG385
B
1671-5276(2014)02-0192-03
2013-03-11