3 基于PC机的微小孔振动钻床数控系统软件的设计
在数控系统软件的开发中,采用标准的开发环境,既降低开发成本,又可开发出性能更优越的系统,同时还能降低维修成本。众所周知,在基于PC机的系统开发中,Windows操作系统具有统一的友好图形界面以及丰富的软件资源和开发工具,同时又是基于抢占式的多任务操作系统,实现实时多任务功能不需要用户的干预。因此在本系统软件开发中,选用Windows98作为操作系统平台,利用VisualC++6.0作为软件的开发工具开发可视化、操作界面良好的数控系统。
与此同时,本系统采用的PCI2003和MPC2810两块控制卡本身包含由开发商提供的设备驱动程序,它既负责各个功能实现中对底层硬件操作的交换细节,确保各个功能的有效实现,又提供了一致的标准模块应用接口,在用VC++编写应用程序时,可以直接凋用,有利于实现系统集成和功能调用的硬件无关性,为编程者提供了极大地方便。所以,当底层硬件设备发生改变时,只需安装相应的驱动程序并调用相应的函数,对用户应用程序没有太大的影响。
为了使整个系统具有最大的开放性和扩展性,根据系统硬件结构平台特点,本文采用一种开放式、模块化结构设计方法将整个软件系统划分为多个功能模块,图2为各模块之间的层次结构。各个模块的功能介绍如下:
(1)人机界面主控模块:用友好的界面设计来实现人机对话,用户可以用鼠标点击和键盘输入的方式完成电机运动参数、传感器参数、启动、停止、采集、定位等功能。
(2)X、Y轴定位模块:接收用户给定孔的x、Y定位参数(移动距离、移动速度等),生成一定频率和数量的脉冲波形,输出到功率驱动部件,完成对X、Y向步进电机的控制。
(3)主轴(z轴)进给模块:接收给定的主轴进给深度和速度,控制生成一定频率和数量的脉冲波形,输出到功率驱动部件,完成对z向步进电机的控制。
(4)主轴旋转模块:该模块将给定的旋转速度值进行数据换算和LSB码转换输出对应的模拟信号(电压)到电机驱动器,完成对直流无刷电机的控制。
(5)制振器控制模块:该模块控制MPC2810的两个DO口输出具有一定频率的推免的相位相差180°数字方波信号,以控制制振器的振动。
(6)数据采集模块:用来处理由采集卡读取传感器传输的信号。
钻床执行部件控制流程:数控加工过程中,能够有效、合理、协调地控制系统执行部件运动是非常重要的,图3为本文十字数控滑台的控制流程,钻孔定位时,首先判断滑台是否需要返回加工原点,如果需要,执行返回原点命令将滑台归位到机械原点,然后,执行孔的定位操作。
图4为本文钻孔加工控制流程,首先读入孔的加工参数,然后依次输出直流旋转电机、Z向步进电机以及制振器的控制信号(顺序不能变)以控制对应执行部件开始运动,然后判断是否进行数据采集。如果是,需要调用数据采集模块(此模块置于单独的线程中),最后判断是否停止加工(可以随时停止各执行部件的运行,即使没有加工到初始设定的位置)。
4 结论
本文基于NC嵌入PC的设计思想,利用“PC机+A/D功能卡”构建的微小孔振动数控钻床样机已制作完成,在系统中PC机实现友好的人机界面、灵活的系统配置、增强的外部软件接口,配合两张控制卡进行各种信号的输入输出,完成位置控制、速度控制等实时任务l以Windows98操作系统为软件开发平台,各功能模块化设计。将这种软硬件设计方法应用于微小孔振动钻床,使其专用性强,结构简单,易于维修,制造周期短且提高了机床的性价比,适合于小规模的数控系统。目前,样机已经通过测试,系统工作可靠,参数调节满足实验要求,事实证明这是一种比较快捷可行的经济型数控系统方案。