最新新闻
我要投稿
联系电话:027-87592219/20/21转188
投稿邮箱:tb@e-works.net.cn
您所在的位置:首页 > 智库 > 智能生产

基于RT-Linux的开放式数控系统软件平台的研究

发布时间:2014-05-26 作者:周耀坤 蓝志洋  来源:万方数据
关键字:开放式 数控系统 Linux 
本文介绍了国内外开放式数控系统的研究现状,}同述了RT-Linux操作系统的系统框架和原理,重点讨论了基于RT-Linux的开放式数控系统的软件体系结构。

3 实时Linux操作系统的结构与实现原理

  和Windows一样,Linux本身不是一个实时操作系统,它不适用于实时性强的工业控制环境。但Linux是自由软件,它的源代码开放,这使得Linux内核在保留本身大部分功能的前提卜,可被修改成为一个实时操作系统。到目前为止,全球在Linux平台下开发通用实时系统主要有2家:最旱的是美国新墨西哥理工学院开发的Linux实时内核,即RT-Linux,另一个是意大利米兰DIAPM在RT-Linux的基础上开发的基于Linux平台的实时应用接口,即RTAI。

  RT-Linux操作系统的基本工作原理是:通过保留Linux基本内核实现Linux操作系统提供的基本功能;避免大规模的结构改造,仅用较小的代价重新设计一个实时内核,以实现强实时性。因而可利用Linux系统中诸如中文图形环境、TCP/IP网络等丰富的编程资源,同时实现包括底层任务创建、底层任务队列答理、中断任务安装、中断任务运行等数控设备所需的全部实时功能。

  实时Linux系统中断可划分为两组:一组由常规Linux内核控制,另一组则由实时内核控制,同时设置使中断请求首先从定向到实时内核中并加以过滤;如果该中断实时是实时内核中断,则由实时中断处理例程继续执行;如果是常规Linux内核中断则设置标志位等待处理,仅当没有实时中断被执行时,才转向常规Linux中断处理例程。通过这种方法,使实时内核可以随时中断常规Linux操作系统以执行关键实时任务。此时常规Linux内核作为实时内核的一个最低优先级运行,当有任何更高级的实时任务请求处理时,就剥夺常规Linux操作系统的运行权,而转入相应的实时任务处理程序。在极端情况卜,系统可以切断实时内核与常规Linux操作系统的联系而优先保证系统的强实时性。

  RT-Linux提供了两种通讯机制:一种是FIFO,另一种是共享内存。非实时应用程序和进程通过FIFO和共享内存访问数据,然后把数据放在另一个FIFO和共享内存中,供RT-Linux应用程序访问,RT-Linux操作系统结构及通讯如图1所示。

操作系统结构图
图1RT-Linux 操作系统结构图 

4 基于Linux的开放式数控系统软件结构

  基于Linux的开放式数控系统符合《械设备一开放式数控系统一总则》GB/T 18759.1-2002)的国家标准,达到了总则对数控系统的开放程度定义了第二个层次:控制装置在明确固定的拓扑结构卜允许替换、增加NC核心中的特定模块以满足用户的特殊要求。

  (1)ONC系统软件整体构架

  根据总则,数控软件可分为基础软件平台、应用平台与应用程序三个层次。系统软件将提供实时多任务API、文件系统、通用网络API、各类设备驱动程序API等接口。应用平台除了包含离散点vo控制API、传感器API,位置控制器API等接口外,还可以集成用户更具系统软件平台提供的API自定义的功能组件接口。应用程序这一层含有过程控制、人机界面及系统集成与配置支持环境等三部分。过程控制包含G代码即使其DNC组件及PLC组件。人机界面部分包含状态泉示、文本编辑器、MDI组件、自诊断组建、网络通信组建、数据通信操作、通用菜单等组建。系统集成与配置支持环境给用户提供一个方便易用的数控系统配置与安装环境。基于RT-Linux的数控系统软件结构如图2所示,其应用程序分布在实时和非实时两个区域。实时任务是一种可由多个线程构成的内核任务,工作在操作系统核心态的实时区,调用实时核心提供POSIX  Poitahle Operating System Interface}可移植操作系统界面)实时标准界面函数以及扩展接口服务来获得所需的实时功能。由于实时任务需利用的系统资源有限,且要求工作速度快,往往进行一邺简单的实时处理。而位于非实时区的用户进程可利用常规Linux操作系统提供的大量资源,例如:网络功能(Network Function)、图形功能(Graphics Function),窗口系统(Windows System)、数据分析程序包((Data Analysis Packages), Linux设备驱动程序(Linux  Device  Divers)以及标准的POSIX API等。

基于01/)2345 的开放式数控系统软件结构图
图2 基于RT-Linux 的开放式数控系统软件结构图 

  (2)ONC系统的软件模块划分

  ONC系统是全模块化的系统结构,模块组建具有互换性、伸缩性、互操作性和可移植性。本研究在对目前国内外若干数控系统和数控机床用户的需求进行全面分析的基础上,在应用程序层上又将数控系统软件划分为以卜几个基本的功能模块:伺服控制模块、人机交互界面模块、代码解释模块、插补模块、PLC控制模块I/O控制模块)、通讯答理模块和状态监控模块,各模块以界面的方式向用户开放,通过接口参数和界面信息的提示,用户可掌握模块的启动、结束和运作过程。不同模块的内部为黑箱封装,外部接口开放,并在此基础上实现新系统的构建,满足了ONC系统的要求。

本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。