论文部分内容阅读
■课题背景 以通用PC为硬件平台、PC操作系统为软件平台开发基于PC的数控系统是当前数控系统的一个重要发展方向。DOS和Windows是PC上的主流操作系统,也是主要的PC数控系统软件平台。 由于DOS和Windows都只是一般用途的PC操作系统,因此它们在用于数控系统时必须首先解决实时多任务环境的实现问题。对DOS来说,实时多任务环境比较容易获得,在性能方面也能够满足数控系统实时控制的需要,所以,现有的大多数PC数控系统软件都是基于DOS开发的。但是DOS在功能上有很大的局限性,特别是随着时代的发展,现代数控系统对功能的要求越来越高,DOS已经不能满足数控系统进一步发展的需要。 Windows具有很强的功能。但是,由于Windows只允许应用程序通过系统提供的接口构造所需要的功能,而用这些方法实现的定时任务在定时精度上都达不到数控系统实时运动控制的要求,所以数控系统定时任务的实时性在Windows中得不到保证。另外,Windows的多任务环境在设计时未考虑实时应用的需要,其任务调度效率较低,所以Windows中任务调度的实时性也得不到保证。因此,完全基于Windows开发高性能的数控系统软件是行不通的。 目前,Windows常常用作上下位机结构数控系统中上位机的操作系统,而下位机则由各自的实时操作系统控制。这种结构的数控系统可以获得较高的性能和很强的功能,但是,其成本较高,开发起来难度也比较大。 与DOS和Windows不同,RTLinux是一个具有硬实时能力的多任务操作系统。由于采用了完全以实时应用为目标的设计方案,RTLinux的实时性能主要受硬件条件限制。当硬件的性能提高时,RTLinux的实时性能也会以几乎相同的比例提高。因此,基于RTLinux开发数控系统软件在性能上完全有保证。由于RTLinux中的实时任务可以利用所有的Linux功能,所以基于RTLinux的数控系统软件在功能上也有很好的发展基础。■主要研究内容 RTLinux是通过对标准Linux进行实时性改造得到的。鉴于实时操作系统的运行机制对以之为基础的实时控制程序的实现有很大的影响,本文在第二章深入地研究和总结了RTLinux中与实时应用程序开发有密切关系的几个问题,包括:RTLinux的实时性能参数、RTLinux的实时多任务实现机制、RTLinux的编程模式等。 Linux是作为一个最低优先级的任务在RTLinux中运行的,所以处于Linux空间的所有功能(例如图形功能、网络功能等)都不具有实时性。RTLinux实时任务尽管可以利用这些Linux功能,但是这种利用只能通过间接的方法来实现。正是这一点导致了RTLinux实时编程模式的特殊性。本文在基于RTLinux数控系统软件的研究和开发过程中,特别注意和强调了RTLinux的实现机制对数控系统软件实现的影响。 RTLinux中实时应用程序的各任务必须能分成两组:实时域任务和非实时域任务。RTLinux实时内核能够保证实时域任务的实时性,但是它们不能使用任何可能导致资源竞争的Linux功能;非实时域任务能够利用所有的Linux功能,但它们不能有任何实时性要求。本文根据RTLinux的实时编程机制和数控任务的特点提出了基于RTLinux的数控系统软件的功能模块划分方案。 RTLinux支持SMP(Symmetric Multi-Processing,对称多处理),可以用作多CPU机器的操作系统。所谓SMP操作系统就是能使多个CPU平等地分担负载的操作系统。利用RTLinux的SMP功能,在多CPU的计算机上可以使数控系统中各任务分别运行在不同的CPU上,从而实现并列式的多机数控系统 郭晋峰 基于RTLnux的数控系统关键技术研究及软件开发(区别于上下位机结构)。本文提出了基于RTLinux的SMP功能的数控系统软件的开发方法。 采用多线程技术可以使数控系统各任务的运行更加合理高效。RTLinux中的线程可以分为两个层次;一个是由实时内核调度的线程,包括:中断处理程序、实时线程、Linux内核三种;另一个是由Linux内核调度的线程,即非实时域线程。本文深入研究了多线程技术在数控系统软件各层次模块中的应用方法。 数控系统的人机界面、状态显示等功能都要用到Linux的图形功能,本文研究了基于Gtk+/Gnome库实现数控系统图形界面的方法。 本文讨论了译码模块在基于RTLinux的数控系统软件中的位置问题,并研究了Linux多线程机制在译码模块实现中的应用。 数控系统的实时任务中,有的是周期性触发的(例如位置控制任务和轨迹插补任务),有的是条件触发的(例如插补准备任务和译码任务),本文对这两种任务在RTLinux中的实现方法提出了解决方案。 数控系统中的某些任务(例如键盘任务)是中断任务,本文对数控系统中断任务的实现提出了一种有效的解决方法。 本文在第六章给出了作者实现的系统实例,主要包括系统的图形界面、总控模块、插补准备算法等。.论文的研究结论 通过本文的研究工作,作者得出如下结论:.基于RTLinux的数控系统软件在实时性能上是完全可靠的,在功能上也有很大的提高余地,并且