3 控制系统软件设计
3.1 运动控制函数
系统是基于Windows XP 系统支持平台,以VisualC + + 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 型曲线加减速虽然梯形速度曲线简单,但它的速度曲线不平滑,其加速度有突变,因而运动中有冲击现象,容易引起机器噪声和传动机构的磨损。在梯形速度曲线上,运动的不平滑主要表现在四个瞬间的速度转折及相对应的加速度突变,这四个瞬间分别是: 启动时、达到最高速度时、从最高速度下降时和最后停止时。