MPC08运动控制卡在开放式钻床数控系统中的应用

时间:2014-04-06来源:网络


3) 加工参数管理 本功能完成在机床控制过程中各参数的管理,包括机器的轴参数,系统参数,加工参数,刀具参数,机床坐标参数。为了方便管理和使用,以上参数程序里都定义全局变量存放,使用时对这些变量操作即可以进行各参数的读取和修改。每个参数变量都以一个自定义的结构体为类型,轴参数类型内包括每个轴的使能,最大速度,最大加速度,脉冲当量,回零速度,回零方向,反向间隙等;系统参数包括插补精度,到位检测周期,刀库坐标位置,深度检测深度,深度检测速度;加工参数包括进给速度,提升速度,工作行程,主轴转速,换刀方式,断钻检测允许范围;刀具参数包括刀具的类型,直径,寿命,已使用寿命,所在刀库号;机床坐标参数则包括机床的绝对坐标和相对坐标参数。所有这些参数除了绝对和相对坐标参数外都需要在加工前由使用者按需求输入,加工过程中根据这些设置的数据进行运动。下面是轴参数的数据结构例子:

typedef struct _AXIS_PARAM_SET



int Installed; //轴是否安装:TRUE——安装

int Enable; //轴是否有效

int HomeDir; //机床回零方向:1——正向,-1——反向,0——无效

double Interval; //反向间隙

nb, sp;n, bsp; double MaxSpeed; //最大速度(mm/min)(A)

double AccelSpeed; //最大加速度(mm/min︿2)3600000

double PulseFactor; //脉冲当量(mm)

long PulseUp; //电子齿轮分子

long PulseDown; //电子齿轮分母

long PulseDir; //反馈方向

int SRatio; //S型加速度曲线系数

double HomeSpeed; //回零速度

double HomeCheckDis; //回零检测长度

double HomeOffsetDis; //回零后的移动距离

double DepthCheckDis; //深度检测的下降距离

}AXIS_PARAM_SET,*PAXIS_PARAM_SET;

4)运动与换刀控制 运动与换刀控制是钻床运动的核心部分,完成钻床的孔加工(包括启动,定位,下钻,提升),回零,回停车位和换刀的动作。本模块的代码都在专门建立的运动控制线程PubWorkThreadHandler(LPVOID pParam)里面执行。

a、孔加工 当用户加工准备就绪,按下启动加工的按钮的时候,线程开始自动读取加工链表gWorkList里面已经经过译码的数据,通过已知数据信息程序按照加工参数管理模块设定的速度发送运动指令给MPC08运动控制器,控制器发出脉冲使机床快速运动并定位到该孔坐标,接着以给定的下钻速度和下钻深度进行孔加工,然后再以给定的速度提升,提升的同时迅速定位到下一个加工孔的坐标位置。

b、回零 准确的回零对机床的定位和加工起着重要的作用,本系统设计的回零方式借助于伺服电机的Z脉冲,当按下回零按钮后,程序的运动控制线程即按相应步骤发出回零指令给控制器,使机床准确的回零。设计的回零步骤为:各轴快速朝原点方向运动à碰到原点开关后缓停à缓停后反向低速运动à当接收到伺服电机的Z脉冲信号后停下来。机床即以停下来的坐标位置作为机床的原点。程序里面对每个步骤定义了一个宏,以此来区分加工到那一步骤。

c、回停车位 当按下回停车位的按钮后,发出回停车位的指令,使机床的XY轴分别运动到加工前设定到加工参数管理模块的停车位坐标。

d、换刀 钻床加工PCB板的时候需要加工不同直径的孔,这就要求在加工过程中当加工完一种直径的孔以后进行换刀,取到另外一直径的刀具进行加工。本系统的换刀方式有手动换刀和自动换刀两种。手动换刀就是在加工完一直径的孔后或刀具寿命到了以后回到停车位,由加工者手动把原刀具取下来并换上新的刀具然后恢复加工。手动换刀效率比较,现在的机床一般都采取自动换刀,本次设计的换刀流程如下:

Z轴回零——压脚抬起——X轴移动到原刀库的位置——Y轴移动到原刀库的位置——Z轴移动到换刀位置——张夹头放刀——延时——Z轴回零——XY轴回到停顿位置——检查刀具放回了——Z回零——回到停顿位置——X轴移动到目标刀具的位置——Y轴移动到目标刀具的位置——Z轴移动到换刀位置——合夹头取刀——延时——Z轴回零——回到停顿位置——检查刀具取到了——Z轴回零——XY轴回到停顿位置——压脚放下

换刀的软件实现同样是在运动控制线程里按以上步骤一步步完成,每个步骤类似回零步骤一样定义了一个宏来区分。当整个换刀流程执行完毕以后,机床继续加工剩余的孔。

5)自诊断检测 自诊断模块对机床的调试,检测,状态监视起着重要的作用。通过本模块,使用者可以随时的检测到机床电器信号状态,包括机床输入到控制器的信号和使用者通过控制器输出到机床的控制信号。程序里是通过另一个辅助线程PubMonitorThreadHandler不断的查询MPC08控制器的状态寄存器,并构建如下的对话框显示出来:

3 应用

该系统利用了MPC08运动控制器的强大功能,并在模块化思想指导下进行软件编程,最终有效的应用于PCB钻床的控制系统中,运行效果良好,并且通过了在PCB数控机床中高精度和速度的加工测试,加工使用0.1-0.3mm大小的刀径,孔间距为0.5mm,其各轴的最大速度,以及每分钟的钻孔个数均达到了预期的要求.

参考文献

[1] 林宋,田建君. 现代数控机床. 化学工业出版社, 2003年9月

[2] 王永章,杜君文,程国全. 数控技术. 高等教育出版社, 2001年12月

[3] MPC08 运动控制器手册

[4] Bjarne Stroustrup. C++程序设计语言.机械工业出版社, 2002年7月

[5] David J. Kruglinski等. Visual C++6.0技术内幕. 北京希望电子出版社, 2002年3月

[6] 谭浩强. C程序设计. 清华大学出版社, 1991年7月

1 2

关键词: 开放式 数控系统 运动控制器

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版