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

发布者:Leishan最新更新时间:2016-08-03 来源: e-works关键字:开放式  数控系统  Linux 手机看文章 扫描二维码
随时随地手机看文章

1 引言

  90年代以来,数控技术发展的一个重要趋势是数控系统的开放化。目前,关于开放式控制系统的研究方兴米艾,全国都在抓紧进行开放式数控系统平台标准和规范的研究制定以及相关产品的开发。开放式数控系统允许用户根据需要自由选择和配置标准的硬件和软件模块,实现系统积本式”的集成,或者在开放平台基础上开发特定的功能模块,形成适合需要的专用系统。开放式数控系统具有如卜的基本特征:

  互操作性:提供标准的数据格式、通信及交互机制;

  可移植性:系统可运行不同的软硬件平台之上;

  可扩充性:允许用户对系统进行扩展或裁减;

  互换性:系统的各功能模块可以根据需要进行替换。

  开放式数控系统要求不依赖于特定的软硬件平台,因此选择通用的开放系统平台是实现数控系统开放化的重要前提。工业PC以其成热的技术和稳定的性能已经在控制领域得到了泛应用,PC机开放的体系结构也为数控系统提供了一个很好的开放的硬件平台,在工业PC的基础上进行数控系统的开发已经成为大家的共识,但是在PC平台上,数控系统的多任务特性和实时性要求却限制了通用操作系统如DOS,  Windows等在数控系统中的应用,而在专用实时操作系统上,虽然开发数控系统比较方便,但价格昂贵,并且不利于实现数控系统的开放化。近年来,随着Linux操作系统的迅猛发展,它的诸多优秀的特性得到体现,这促使了RT-Linux   Real Time-Linux)的出现,这样数控系统就可以建立在实时Linux基础之上并且保留Linux绝大部分好的特点,稳定性相当好,这给现代数控机床的网络化、开放化提供了条件。

2 国内外系统的研究现状与趋势

  近几年I日_界发达国家纷纷采取措施,进行开放式数控(ONC:  Open Numerical Control)系统的开发和研究,世界上的许多控制器生产商也纷纷推出自己的开放式控制系统,如Hewlett-Packard的OAC500以及Delat Tau公司的PMAC-NC等等。目前世界上具有权威性开放式结构控制器的标准规范卞要有三种:

  (1)OMAC(Open  Modular  Architecture  Controller):由美国克莱斯勒、招特和通用三大汽车公司在NGC (NextGeneration Controller,1989年)的基础上联合提出的。由于OMAC的成员是控制器的用户而不是开发商,从而也就决定了它产品化、实用化步伐不可能很快。事实上美国工业界认为OMAC是一种设计理念,而不是一种控制器的具体标准,其宗旨是“Buy Anywhere,  Use Anywhere”。应用OMAC所定义的标准API可以实现节“plug & play”的功能,只须设计其具体的实现方法即可。从OMAC提出的整体式结构分析可知,虽然其灵话性较高,可是由于其过分注重功能的分类而非资源的整合,导致其系统独立性卜降,而且维护较困难。

  (2)OSEC   (Open System Environment for Controller):由日本东芝机器公司、丰田机器厂和Mazak公司三家机床制造商和IBM、三菱电子及SML信息系统公司于1994年共同提出的。其目的是开发基于PC机平台的、具有高性能价格比的开放式体系结构的新一代数控系统,以适应迅速变化的市场需求。在硬件方面,OSEC采用PC+控制卡的结构,有利于层次化、模块化、灵话配置的实现,可以充分利用现有PC机资源,从而有力地缩短产品的研发周期,具有较强的可操作性。可以说,OSEC采用的是一种较现实和折中的方式,所以它的系统结构只是局限于数控系统的直接描述,适应性不够强。

  (3)OSACA(Open System Architecture for Conhol withinAutomation):由欧盟于1992年提出的。OSACA的目标之一,是使自己成为自动化领域的通用国际标准,故开始它就将研究范围涵盖了整个自动化领域。OSACA借鉴ISO的OSI参考模型,通过对控制系统的详细分析,提出分层平台+结构功能单元的架构。该标准有利于实现计算机硬件的独立性和与操作系统的无关性,可是对于数控中大量存在的机电设备的独立性的解决并不彻底。同时,该计划由于过于庞大,对于参与者要求过高,一直发展较慢。上述三种标准规范至今还未有完全成热的产品推向市场,而标准本身还在不断的改进与完善之中,且三者之间也相互借鉴。

  相对于酉方国家的企业来说,我国企业关于数控方面的研究起步较晚,尽答目前国内已拥有开放性控制系统华中I型、中华I型、航人I型和流人I型,但大多是建立在DOS操作系统平台上或Windows操作平台,以及其他一些自行开发的专用实时操作系统之上,从数控系统发展的趋势来看,它们还不具备开放式数控系统的本质特征。各系统所采用的体系结构并不一致,仍是自成体系,相互之间缺乏兼容性和互换性,各系统软硬件不具备可移植性和互操作性。
 

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等。

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

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

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

  ①伺服控制模块:在由I/O信弓及插补运算得到的粗插补信息前提卜,控制机床执行机构实现精插补,按NC指令指定的路径和速度运动。

  ②人机交互界面模块:此模块主要完成系统运行前和运行中的参数设定。如菜单的答理、程序的编辑、参数的设定和文件答理等工作。

  ③代码解释模块:该模块主要根据输入的数控加工程序的语法规则对用户编写的零件程序进行语法、语义检查,并进行译码工作,将数控源代码中给出的各种加工信息进行分离提取,变成各种状态和数据,再将处理的结果存入缓冲区,等待其它模块的调用。

  ④插补模块:负责数学预处理、加减速的控制、插
补、终点判别等工作,向位置控制器输出通过轨迹运算后
的进给量。

  ⑤ PLC控制模块I/O控制模块):该模块主要完成机床的辅助功能和机床的逻辑控制,同时也完成机床报警出错、紧急停止等突发事件的处理。

  ⑥通讯管理模块:完成系统间的实时通讯和网络通讯的答理。

  ⑦状态监控模块:监控主轴转速、压力、切削力等。

  本文按照开放式控制系统的层次划分,把数控系统的应用程序软件模块分为应用单元和控制单元两大部分,如图3所示。应用中一元向用户提供了图形化的应用软件环境和标准的系统功能函数,包括操作界面操作菜单,人卜标泉示、参数设置、文件答理、加工编程等)。控制单元相当于一个高效的NC-PLC内核,完成基本的数控功能,包括译码、数学预处理、插补、I/O处理、实时状态监控等。按任务实时性要求的不同,控制单元又划分为实时任务和非实时任务,对于实时性要求不高的任务如编译、预处理、状态监控等在非实时域执行,而对于实时性要求比较高的任务如插补、I/O处理等则在实时域执行。RT-Linux对实时任务和非实时任务按优先级统一调度。

 
图3 开放式数控系统的软件模块结构

5 结束语

  目前,基于RT-Linux的开放式数控系统平台以其优良的实时性、开放性和稳定性在数控制造领域赢得越来越多的重视,虽然其研究起步较晚,但其前景十分看好而且进展迅速,如果能及时开展基于RT-Linux的开放式计算机数控系统的研究,我国数控技术水平必将得到全面的提高。

关键字:开放式  数控系统  Linux 引用地址:基于RT-Linux的开放式数控系统软件平台的研究

上一篇:数控系统在数控磨齿机中应用
下一篇:三菱电机携17款TFT液晶模块亮相国际嵌入式系统展

推荐阅读最新更新时间:2024-05-03 00:33

s3c2440液晶屏驱动 (内核自带) linux-4.1.24
自带有一部分驱动的配置信息,只要修改这部分就能支援 不同的液晶屏 - /arch/arm/mach-s3c24xx/mach-smdk2440.c 另一部分在 /drivers/video/fbdev/s3c2410fb.c 先打开调试功能,这样内核在启动的时候,就可以输出这些信息,或者使用 dmesg 查看到这些信息。当然,你配置内核 make menuconfig 也可以打开,但是太麻烦了,不如这样。 1 #define CONFIG_FB_S3C2410_DEBUG 2 #define dprintk(msg...) 3 do { 4 if (debug) 5 printk(msg);
[单片机]
s3c2440液晶屏驱动 (内核自带) <font color='red'>linux</font>-4.1.24
用于便携式设备动态电源管理的嵌入式Linux技术
  任何拥有笔记本电脑的人都会察觉,当依靠电池供电时,其便携设备的行为与使用交流主电源供电时不同——显示屏变暗、处理器的时钟变慢、系统只要有可能就会转入待机或睡眠状态。PDA用户也发现,在停止使用一段时间后显示屏将变暗,设备甚至进入睡眠状态。蜂窝电话用户也已经注意到,背景光和按键照明在完成拨号之后会熄灭。事实上,这些可见行为的背后是软硬件技术和节电机制在发挥作用。   全速运行、待机和睡眠等宏观行为利用CPU的固有能力通过降低工作电压或时钟频率来节省功耗。除了全面地改变系统状态外,大多数设备用户察觉不到的是,实际的电源管理也能够逐渐地改变系统状态,这种情况在一秒之内可以发生数百次。   任何动态电源管理策略的基础都是调整便携式设
[嵌入式]
龙芯Arch Linux版系统发布:1万个x86软件轻松移植
作为100%国产自主的芯片指令集,龙芯的龙架构不仅自己的硬件体系,OS系统上也在加快生态发展,日前龙架构Arch Linux发行版结束beta,正式支持龙架构,并且移植了1万多款x86平台软件。据龙芯介绍,2021年龙芯公司为方便开发、测试补丁,在向上游社区提交补丁的过程中,将Arch Linux移植到龙架构平台。 后续随着使用Arch Linux的用户不断增加,龙芯也持续进行维护和开发,先后发布了alpha版本(2021.07)、beta1版本(2022.03)、beta2版本(2022.09)。 从beta2版本开始,Arch Linux及时跟踪、集成上游的最新移植成果,采用滚动更新的方式为用户推送升级。 近日龙架构Ar
[嵌入式]
龙芯Arch <font color='red'>Linux</font>版系统发布:1万个x86软件轻松移植
泰克推出全新的高性能开放式示波器平台
泰克公司日前宣布,对其现有示波器产品家族进行重大扩展,推出全新的混合信号示波器平台 --- MSO/DPO5000系列。同时发布的还有革命性的超强性能TPP1000以及TPP0500高带宽、低电容无源电压探头。这些新示波器和探头共同为嵌入式系统设计工程师提供了无可比拟的性能和用于复杂器件与系统级调试和验证任务的分析工具,且价格极具竞争力。 带宽范围在350 MHz至2 GHz型号的示波器是示波器产品门类中最受欢迎的,也被用于广泛的行业和应用的产品开发。消费及工业产品由于包含更多更高级的嵌入式电子器件正变得越来越智能化,例如采用了内含通过芯片至芯片总线相连的许多元件、有线及无线网络连接、复杂的能量管理方案、图像显示器和
[测试测量]
泰克推出全新的高性能<font color='red'>开放式</font>示波器平台
FANUC数控系统主轴参数的巧妙应用
为了满足用户的切削要求, 充分发挥主轴电动机的切削功率, 主轴速度一般被划分成几档, 其档位转换靠齿轮变速箱来实现。以主轴电动机的最高限定速度来划分, 主轴的换档存在着两种形式。一种是主轴各个档位的最高转速所对应的主轴电动机最高速度相同。例如我厂的 XH756 卧式加工中心。另一种是主轴各个档位的最高转速所对应的主轴电动机最高限定速度不同。这种情况主要是在机械设计中由于某些原因而作特殊设计时, 需要电气进行完善。例如我厂的XH716 立式加工中心。 FANUC-0i 数控系统充分考虑了这两种情况 , 把它们分为齿轮换档方式A 和B 。下面以我厂的XH756 和XH716 为例简要介绍齿轮换档参数的巧妙应用。 1 齿轮换档方式A 如
[嵌入式]
1_jz2440在linux下烧写裸机程序
常用的烧写方法有: 1.使用并口工具烧写:接线(参考百问网JZ2440V2开发板使用手册),使用oflash烧写(速度比较慢),可烧写.bin文件,从新上电观察效果。可烧写u_boot。 2.使用openJTAG烧写,接线,使用oflash烧写(oflash烧写完后,会复位开发板)。 3.使用Jlink烧写,请看如何烧写S3C2440裸板程序:JLink只支持烧写Nor Flash,不支持Nand Flash。 所以:选择J-link烧写u-boot 这是烧写代码的基础,因为开发板j-link不支持烧写nand-flash 但是烧写特质的u-boot里面有集成了串口,可以利用串口烧写nand flash。 所以j-link烧写u-
[单片机]
1_jz2440在<font color='red'>linux</font>下烧写裸机程序
Linux的启动和核心介绍
这是一次对Linux介绍后的整理。   对象是一些刚对Linux核心感兴趣,并且准备进一步研究和改造的同志。   因为是由提纲整理而成,有些乱,见谅!       四部分内容:   一、Linux核心源码结构介绍   二、编译和配置的过程   三、系统启动顺序的相关文件   四、核心改造的一些经验   一、   当我们安装好一个Linux系统,通常核心源码存放在/usr/src/linux/目录。   下面先看看这目录下的各个子目录及文件。    #cd /usr/src/linux    #ls -aF   ./ MAINTAINERS drivers/ kernel/ scripts/   ../ Makefile fs/ li
[嵌入式]
YAFFS2文件系统搭建与配置(Micro2440 + linux 2.6.39)
1. YAFFS2文件系统配置 a) YAFFS2源码下载地址 yaffs2-HEAD-4e188b0.tar.gz:http://www.yaffs.net/download-yaffs-using-git (http://pan.baidu.com/s/1jG7OAP4) b) 解压源码 # tar -xvf yaffs2-HEAD-4e188b0.tar.gz -C ./ c) 为内核打YAFFS2补丁 # cd yaffs2-HEAD-4e188b0/ # ./patch-ker.sh c m ../linux-2.6.39/ d) 配置内核 # m
[单片机]
YAFFS2文件系统搭建与配置(Micro2440 + <font color='red'>linux</font> 2.6.39)
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved