王琨琦 刘颖 陈世杰 林锦超
【摘 要】全软件数控系统是一种新型的数控机床控制系统。该方法充分利用PC机的资源,采用软件进行数控插补,灵活性更强,是数控系统的发展方向。在文中,采用软件插补代替传统的硬件插补,使得系统更具开放性;采用修改系统时钟端口的时钟初值改变时钟周期,作为插补的时钟周期,满足了插补的实时性要求;采用前后台的工作模式,将实时性任务与非实时性任务分开执行,以降低实时性任务的时钟周期,提高系统实时性。
【关键词】全软件数控系统;实时控制;系统时钟
0 背景
数控技术的问世已有40多年的历史,它由机械学、控制论、电子学、计算机科学四大基础学科发展起来的一门综合性的新型学科,是一门发展十分迅速的高新技术,对机电工业及国民经济的发展具有十分重要的作用[1]。
西安交通大学提出了一种前瞻式自适应速度优化算法[2],避免了传统控制方法的频繁启停,提高了加工效率。南京航空航天大学采用可编程逻辑器件FPGA实现高速精插补器,充分发挥了FPGA速度快、设计灵活、集成度高、性能可靠、开发成本低等一系列优点[3]。西南交通大学运用硬件上的时钟电路和软件上的设备驱动程序实现了实时控制,并采用事件同步机制解决了中断问题[4]。中科大研究了基于PC和运动控制器的开放式数控系统,采用了粗插补和精插补两种插值算法,提高了数控系统的功能[5]。燕山大学在分析Windows实时性能的基础上,针对其弱实时性,引入了强实时扩展RTX[6],可以在1ms的插补周期内完成数控系统的实时控制功能。
目前,国际上与开放式数控研究相关的报导不少,最有代表性的仍是美国的NGC和OMAC计划、欧盟的OSACA计划以及日本的OSEC计划,这三个计划的发展基本上反映了国外开放性数控的发展现状。
本文主要对全软件数控系统的整体方案、插补过程和外部中断的设计,用软件插补代替硬件插补,实现硬件功能软件化,提高数控系统的开放性和灵活性。
1 全软件数控系统整体方案设计
本文主要研究如何提高全软件数控系统的实时性和加减速控制的精度。针对以上问题,主要从两个方进行考虑,即操作系统和插补及速度控制算法的选择。
1.1 操作系统的选择
所谓实时性系统,就是系统能够及时的响应外界发来的信号,并在严格的时间内完成对该事件的响应。实时性操作系统应用于工业控制、金融等领域。主要条件是:响应时间短,系统可靠性高。按任务类型可以分为周期性实时任务和非周期实时任务。
操作系统选择DOS(Disk Operating System,磁盘操作系统)系统。DOS是个人计算机上的一类操作系统,是一个单用户、单任务的操作系统,采用的是字符操作,是一种面向磁盘的操作系统软件。而Windows是多任务的操作系统,采用的是非抢先的多任务调度机制,利用事件的驱动机制,实时性不能达到很高的水平,无法满足数控加工中高定时精度响应的要求。基于以上各种原因,在实际的控制应用中,必须根据对定时精度的要求采取一些措施,来解决对实时控制的要求。对此,有以下四种方案:
方案一:利用Windows系统提供的常规定时器及多媒体定时器:由于系统时钟周期的限制和定时信息的优先权很低,所以,利用此方法只能处理一些对定时精度、实时控制要求不高的情况。
方案二:利用系统的定时时钟:通过修改中断服务程序地址的方法来获得高精度的时钟时序。因为涉及到系统工作的定时中断源,一旦处理不当,很容易使系统工作不稳定。
方案三:通过修改CMOS实时时钟的方法来获得高精度的定时时钟。因为这种方法不仅可以达到预定的实时性要求,而且不需要外加任何电路,容易实现,且工作稳定。
方案四:引入外部定时中断:采用这种方法有两点好处:首先,利用外部提供的时钟,其时钟的频率可以根据实际的需要提供。其次,利用外部定时中断提供高精度的定时时钟与利用PC机系统提供的定时时钟相比较,可避免使用不当而导致的系统工作不稳定。它的缺点就是,增加了电路的设计,也就引入不必要的误差。
综上所述,操作系统选择DOS系统,通过修改CMOS定时时钟的方法来获得高精度的定时时钟。
1.2 方案确定
为了实现全软件数控系统的高实时性、高开放性,以及编程的简易性,选择在DOS下,采用数据采样插补(时间分割法)原理进行直线插补,用逐点比较法进行圆弧插补,通过修改CMOS定时时钟的方法来获得高精度的定时时钟,通过使用C语言编写直线和圆弧插补程序。
系统的工作分为实时性和非实时性工作。在正常情况下,系统执行非实时性任务,当有中断信号传来时,系统进行中断判断,如果是有效中断,就进入中断程序,执行相应的任务。在进入中断程序之前,需要对中断现场进行保护,即把当前的地址指针存在寄存器中,当中断程序执行完之后,再返回中断现场,并恢复现场,取出寄存器中的地址指针,继续执行非实时性任务。集体流程如图1所示。
2 全软件数控系统插补过程设计
在数控系统中,零件数控程序经过编译,译码和其它的预处理以后,接下来就是插补计算和位置控制,其作为数控系统中的主要任务之一,而且数控系统对实时性的要求非常高,插补计算中算法的优化对数控系统的实时性起着重要的作用,在其中的插补计算中涉及到直线和圆弧插补,那么合适的选择插补算法是很重要的。
插补程序设计主要包括直线插补和圆弧插补,而这两种插补需要分别进行。当系统初始化插补程序后,需要进行一次判断,是进行直线插补,还是进行圆弧插补,然后再去执行具体的插补程序。图2是數控系统插补总流程图。
图1 系统工作流程图 图2 插补总流程图
直线插补采用数字积分法又称数字微分分析器(Digital Differential Analyzer,DDA),利用了数字积分的原理,计算刀具沿坐标轴的位移,使刀具沿着所加工的轨迹运动。采用数字积分法进行插补,运行速度快、脉冲分配均匀、易于实现多坐标联动或多坐标空间曲线的插补,所以在轮廓控制数控系统中得到广泛的应用。并且可通过左移规格化来提高进给速度的均匀性;采用余数寄存器预置数提高插补精度。
圆弧插补采用逐点比较法的基本原理,在刀具按要求轨迹运动加工零件轮廓的过程中,不断比较刀具与被加工零件轮廓之间的相对位置,并根据比较结果决定下一步的进给方向,使刀具向减小偏差的方向进给(始终只有一个方向)。
3 结论
通过直接修改硬件初值设置的特点,修改其系统中断口的初始变量,来改变系统的定时时钟,可以达到0.0125ms的时钟周期,并且采用前后台的工作模式,把实时性和非实时性任务分开执行,可以满足插补运算所需要的实时性。并且采用数据采样插补和逐点比较法进行直线插补和圆弧插补,用软件插补代替传统的硬件插补,大大改善了数控系统的开放性,同时提高整个数控系统的经济效益。
【参考文献】
[1]杨逍.基于 Windows 实时扩展的全软件数控系统程序结构设计[D].黑龙江:哈尔滨工业大学,2009.
[2]汪霖,曹建福.高速装备前瞻自适应速度优化算法[J].计算机集成制造系统,2010,16(5):998-1005.
[3]胡细东,游有鹏,缪群华.基于USB的高速硬件精插补器设计[J].微计算机信息,2006,2(6):247-249.
[4]范克东,肖世德.Windows平台数控系统的实时控制[J].机械与电子,2006(1):62-64.
[5]XU Xiaoming, LI Yi, Wang Shuogui. Research and Development of Open CNC System Based on PC and Motion Controller [J]. Procedia Engineering, 2012(29):1845-1850.
[6]王普,张蕾,都立伟.基于RTX的全软件数控系统的研究[J].燕山大学学报,2007,31(6):513-516.
[责任编辑:汤静]