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

数控软件系统的升级及实时控制性能的测试

发布时间:2014-06-18 作者:高海彬 王清阳 装海龙  来源:万方数据
关键字:数控软件 数控系统 
本文简单介绍了目前的华南数控软件系统,并提出了2.6内核+RTAI的优越性,然后从华南数控软件系统的结构开始,分别从嵌入式操作系统以及数控软件的层面上叙述了系统的升级和数控软件源代码的修改过程,以及在此工作中需要注意的事项。最后,通过对比新旧系统的实时控制性能得出结论,表明2.6内核+RTAI的新系统不仅保持了原系统的所有功能,而且在实时控制性能方面获得了令人满意的效果。

0 引言

  华南数控使用的嵌入式操作系统是基于2.4版本内核的Linux操作系统,以RTLinux作为实时微内核,在此基础上运行数控软件。此系统在实时性、稳定性测试中获得了不错的性能。随着Linux的不断发展,2.6版本的内核获得了更加稳定的性能,且对硬件支持更加广泛,更重要的是,内核主体中加入了提高中断性能和调度响虑时间的改进,其中最硅麓的改进为采用可抢占内核和更加有效的调度算法。但是高版本的RTLinux不再开源,之前的RTLinux也没有提供对2.6版本的内核的完好的支持,所以升级Linux内核、更换觚Al实时微内核、同时对数控软件的源代码做一些必要的调整,足升级数控系统所必需的、关键的环节。此项目包括两个主要环节:嵌入式系统的升级以及数控软件的调整。

1 数控系统的结构

  华南数控的软件系统是一个以实时微内核为底层,操作系统以及数控软件层层铺垫起来的多层次结构。实时微内核在整个嵌入式系统的最底层,与硬件及Linux内核通讯,负责截取及分析中断。LinIlx内核位于实时微内核的上层,其上运行着Linux操作系统本身所需要的程序,提供系统运行的基本功能。严格地说,数控软件中除,一个负责运动控制的内核模块处于与内核同一个层次,其他的部分均属于上层。软件系统的层次结构图如图1所示。

图l数控软件系统的层次结构

图1 数控软件系统的层次结构

2 嵌入式操作系统的升级

  操作系统层面上的更改较少,主要包括为内核打实时补丁、根据嵌入式系统的特点编译内核、安装RTAl实时微内核、升级系统库文件、调整嵌入式系统的启动脚本等。

  2.1 编译内核

  把刚下载的“洁净”的内核打上RTAI补丁,按照硬件的要求以及实施性的要求配置内核选项。例如,USB、FrameBuffer、ext2/ext3,vfat文件系统、是否需要模块版本支持、是否是多CPU,本地语言支持等。这里需要注意的是,为了获得更好的实时性能,APM BIOS Support支持需要关掉。配置完成之后执行编译安装生成内核与内核模块,用新编译的内核替换原有内核,再将启动时需要加载的内核模块放置到镜像文件illi仃d.img中的合适的位置。

  2.2 编译安装RTAI实时微内核

  RTAI的编译安装和Linux内核的编译类似,也需要经过配置、编泽、安装3步。由于RTAI的共享内存和实时FIFO需要一些特殊的字符设备,因此在安装了RTAI之后还需要自己动手写一个shell脚本程序,当程序中要用到共享内存和实时FIFO的时候就是用此脚本在/dev目录下创建相应的字符设备。

  2.3 升级系统库文件

  由于数控软件在编译时,大部分应用程序对库文件的操作是采用动态链接的,因此在运行时仍然需要这些库文件的支持,否则在运行时会提示找不到某些共享目标文件的错误。要升级的库文件主要有:标准C++的共享库文件(1ibstdc抖.so.6),GCC的共享库文件(1ibgcc s.so.1),数学库库文件(1ibm.so.6),c库的库文件(1ibc舯.6),ld.1inIlx.so.2,图形界面正常运行所需要的libdl.so.2,以及线程库libpthread.so.0。以一卜提到的大部分是一些共享库文件的符号链接,在升级的时候需要将原文件替换之后再创建同名的符号链接。

  2.4 启动脚本的修改

  2.6版本的Linux内核相对于2.4的做了一些调整和修改,例如内核模块、文件系统等,系统启动时可能要加载某些内核模块或者某些文件系统,例如2.6的内核新增了对usb2.O的支持,增加了一些有关于USB的模块,文件系统方面用tmpfs替换了shmfs等,这就要根据实际情况修改启动脚本。

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