基于运动控制卡的数控转塔冲床数控系统研究
标的点位运动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 软件结构设计
系统根据运动功能需求和运动控制卡系统的支持,主要可以分为以下几个主要模块: 参数设置模块、运动控制模块、状态显示模块、代码显示模块、系统管理模块等。参数设置模块主要负责各运动主轴的脉冲输入出设置以及对刀具的选择等,运行控制模块则主要控制移动部件运动的方式,状态显示模块主要负责将系统运行状态( 位置坐标、速度大小等) 及运行时的参数进行实时显示,代码显示模块则主要负责对代码的显示、报错以及错误代码的更改,系统管理模块主要负责文件管理等。程序通过各模块之间的相互协调控制,共同构成一个完整
伺服电机数控系统运动控 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)
