计算机数控雕刻控制软件现状数控雕刻控制系统是典型的实时系统,系统必须对多种任务进行实时控制。开放体系结构的计算机数控(CNC)雕刻控制系统,为了实现软件结构的模块化、可重用性,用户的易操作性,都采用通用的操作系统。目前,可选用的通用操作系统有很多,如DOS、WINDOWS95/98/NT、OS/2、XWINDOWS界面的UNIX等,而国内流行于PC机的主要操作系统是DOS和WINDOWS95/98两种。所以,当前的计算机数控(CNC)雕刻控制软件可分为基于DOS的雕刻控制软件和基于WINDOWS的雕刻控制软件。
DOS是单任务的操作系统,这就决定了基于DOS的雕刻控制软件的单任务特性。当该雕刻控制软件控制雕刻机进行雕刻时,独占整个系统资源,用户无法再利用该机器进行雕刻图形编辑排版等工作,从而导致效率低下。而且大部分的基于DOS的雕刻控制软件不支持鼠标操作,使软件的易操作性大大降低。
WINDOWS95/98是32位无优先级抢先式多任务的操作系统。这就决定了基于WINDOWS的雕刻控制软件可以和其他应用程序同时工作,而不影响雕刻的精度和效果,大大提高了生产率。同时,基于图形界面的雕刻控制软件是WINDOWS的标准软件,这使得它对用户来说更加友善和易操作。但WINDOWS下的实时控制一直是个难题,这是因为所有的WINDOWS应用程序都在系统虚拟机环境中运行。调度程序控制WINDOWS程序中每个线程的运行,在WINDOWS95/98中,控制调度有两种方法:一是它自己内部的方法。这种方法努力提高一个平稳的多任务环境,以便每个线程能同等享有处理器时间。在这种方法下,用户除了编制良好的线程程序以保证不让某线程占用太多的处理器时间,别无他法。另一种就是直接调用可能由VxD提供的系统服务。而VxD,中文意义是虚拟设备驱动程序(VirtualDeviceDriver),是按照硬件驱动程序的格式或相类似标准编写的一种虚拟硬件优先级的设备驱动程序。因为操作系统广泛地使用VxD来控制多任务操作,这些服务允许VxD查询有关当前调度环境方面的内容:优先级、时间和VM焦点等,并且可以调节它们。在WINDOWS中,虚拟机调度程序(VMM)和VxD是在Ring0上运行。一般的用户程序是在Ring3上运行,而Ring3的级别*低,系统可能不支持一些操作。通过编制VxD,改变WINDOWS的Ring0的运行机制,可以解决计算机数控(CNC)雕刻系统的高实时性的要求。
面向对象技术在CNC软件中的应用面向对象技术简述面向对象技术是一种与传统软件工程的功能方法完全不同的、以对象为中心的方法,它不仅是一种程序设计技术,更重要的是体现了一种思维方法。面向对象编程是一种试图模仿现实世界模型方法的程序设计技术,它将世界看成是由一组彼此相关并能相互间通信的实体即对象组成。为了在程序中建立对象,必须先说明类。
类是对一组性质相同的对象的程序描述,它由概括了一组对象共同性质的数据和函数组成。在程序运行时通过类建立对象。封装性、继承性、多态性是类*重要的几个特点。
封装,是把数据和对数据的操作结合形成数据类型,从而较好地实现了数据的抽象。通过封装,使对象的内部数据得到了保护。继承,在对象继承结构上,下层对象继承上层对象的特征(属性和操作),因而面向对象方法便于软件的演化和增量式扩充。多态性,相同的函数调用为不同的对象接受时,可导致完全不同的行为,这种现象称为多态性。利用多态性,程序中只需进行一般形式的函数调用。函数的实现细节留给接受函数调用的对象。
CNC的面向对象编程CNC软件的界面编程,用C为CNC编写界面程序是一件非常痛苦的事情,而做出漂亮的界面就更是难上加难了。用面向对象技术可以轻松的完成这个工作。在VisualC环境下,用它提供的MFC类库可以在很短的时间里作出非常漂亮的界面。通过对MFC类的继承,还可进一步扩展其功能,做出风格迥异的界面。更重要的是,通过运用面向对象技术可以达到软件重用的效果,使CNC软件的开放性大大提高。所谓软件重用,在软件开发中,表现为在环境和功能发生变化时,可以通过一些局部的修改或软件的重组,以适应新的要求,减少软件开发中重复开发的问题,提高软件的生产率。在面向对象的软件开发方法中,软件系统由对象组成,而对象又是实现问题本质实体的完整的抽象和反映。面向对象的程序设计的对象、类及类的继承,对产生可重用软件设计和实现具有极大的优越性。面向对象的程序设计方法使软件开发人员摆脱了具体的数据格式与过程,集中精力去研究所处理的对象。这为软件可重用提供了基础。
面向对象数控雕刻软件设计本系统是和一控制卡配合使用,通过计算机来控制雕刻机动作的。该雕刻机是一套基于通用PC的开放式计算机数控雕刻系统,即PCNC.进一步说,属于全软件型PCNC模式,CNC的全部功能处理工作全由通用PC的CPU进行,并通过插在PC扩展槽中的控制卡对电机进行控制动作。它的工作过程大致是这样的:雕刻控制软件读入标准数控代码文件(可以是软件自动生成,也可以是手工完成),系统在分析该文件后,将该数控代码文件描述的加工图形以合适的比例显示在计算机显示器上。对于某些细节,用户也可通过放大工具进行放大显示,运用缩小工具用户可看到整个图形的概貌。如果是三维浮雕,用户还可用旋转、平移等工具从各个角度进行观看。
通过仿真,用户可以非常清楚地看到雕刻效果,哪些达到了要求,哪些没有达到要求(欠刻、过刻等等),从而及时调整数控代码文件,避免废、次品产生。当用户对仿真效果感到满意后,即可进入雕刻控制阶段。系统将数控代码转化为具体的控制命令,发送到控制卡上,从而控制步进电机动作,完成相应的雕刻工作。用户也可跳过仿真阶段直接进入控制雕刻阶段,进行雕刻加工。为了提高生产率,降低废、次品率,本雕刻控制软件还提供一个选择模块进行修补性选择加工,主要用于雕刻过程中由于刀具磨损或其他偶然因素造成的欠刻现象。用户可以通过鼠标在显示图形上选定一个区域进行选择雕刻,避免了整体返工或报废的情况,大大提高了生产率,具有极强的实用性。
本系统采用前后台结构,前台完成插补、步进电机控制、实时监控等实时性要求很强的功能,后台任务则包括数控代码分析、雕刻图形显示、雕刻数据分析等实时性较差的功能。
结论本系统作为商品化产品数控雕刻系统的雕刻控制软件部分,经过了大量的实际运行,效果良好,运行稳定,操作简便明了。在本系统中,引入了面向对象技术,整个系统建立在类的基础上,所以通过类的继承,使程序具有很强的继承性和可扩展性,也使程序具有很好的可维护性。在国内,本系统首次将实用的数控雕刻控制软件运行在WINDOWS95/98操作系统之上,改变了数控雕刻控制软件运行于DOS平台上的传统布局,使数控雕刻控制软件的效率和易操作性得到了很大提高。