




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
XX 工 学 院毕业设计(论文)外文资料翻译学 院:机械工程学院专 业:机械设计制造及其自动化姓 名:学 号:外文出处:Springer-Verlag London Limited(用外文写)附 件:1.外文资料翻译译文;2.外文原文。指导教师评语: 年月日签名: 注:请将该封面与附件装订成册。附件1:外文资料翻译译文基于Linux/RTLinux的全软件数控系统吉华 李延 王健施普林格出版社伦敦有限公司 2007 年 摘要 :全软件数控是开放式数控系统理想的解决方案之一。然而它看是简单却是一项非常艰巨的任务,特别是保障系统的实时性能。在本文中,全软件数控系统被称为Lin-soft CNC,它的Linux系统中装载着带实时拓展的RTLinux操作系统。虚拟系统又包含四层:GUI,非实时层,实时层和硬件驱动程序层。随着相关细节的实现,该系统及子系统的设计会被详细的介绍,如层次结构设计和各层之间的数据交联。此外内核系统采用实时层,它采用简单而有效的数据缓冲区和高精度的实时线程期间来保证实时性能。最后在原型控制器中测试并得到正确的结果。关键字 :Linux/RTLinux 输出输入链 实时性 全软件数控1 简介 开放式控制结构体系(OAC)是众所周知的机器控制领域术语。在其领域中开放体系以类似的方式已经彻底改变了个人电脑的行业,当然也有潜在的数控行业。软件工程开放式结构体系(开放系统)不是一个新的概念,早在1990年的基础上IEEE1003.0就提出了明确的开放式系统的定义。虽然有许多研究群体,如在美国奥马奇,在欧盟中奥萨卡和在日本的JOP在研究中分别表示他们的观点。然而,关于OAC的定义在世界学术仍未达到共同的认可。如果开放被认可,则利用开放的内核与开放控制系统分类,可以控制系统作为开放的人机界面。开放控制系统通常可为当今固定的软件拓展中的非实时部分的修改提供可能。PC的前端,在当前的市场中OAC有三个主要种类:个人电脑,软件的运动控制卡和全数控系统,每个都有不同的开放级别。PC前端是一个传统的数控黑框,与它相连是个人电脑,如FANUC系列150/160/180/210。个人计算机由于提高运营商的接口注册成立,尽管这种数控不是严格意义上的开放控制系统。由索具数控功能板商用PC中的配置来配置PC运动控制卡。额外的控制卡,通常基于DSP、执行时间关键的数控内核任务,而PC则用于非实时功能。两个CPU可以通过PC总线或双端口RAM相互沟通。这项计划改进了接口和机床接口的功能,最终为用户提供了灵活性。全软件数控是理想的解决方案以满足当今的的开放性的要求和未来市场。随着PC硬件和软件技术的急剧发展,通常一个常见操作系统实时扩展名为支持PC上运行的软件,可以实现在实时软件环境中关键的数控内核任务。然后转换到全软件的系统。全软件数控系统的主要思想是使大部分软件,以满足其功能的数控系统,为了实现灵活性,所有执行在PC上的软件集成现成的硬件和软件技术的灵活性和升级能力。内插、关闭循环和PLC、以及其他实时的加工控件。它减少了控制和生命周期成本,并提高了机床的正常运行时间和生产力。此外在全软件数控系统中,很容易升级的进步软件技术,可以控制系统,同时为通信提供简单和常见的网络技术方法。在数控系统中可以延长服务时间的嵌入式技术,这些软件技术是机器的灵魂,可以扩展全数控服务软件的范围。但是应仔细检测管理控制方式中的公开性和升级的能力。升级后的系统性能应在实践说明书中明确。OAC的软件实现方法就像各种OAC的定义一样。但是OAC 产品的可用市场和OAC的研究工作是几乎完全基于 Windows 或 Windows 实时扩展的,如MDSI开放式数控Fanuc210i/210is、艾伦布拉德利9/PC或和西门子电子科技A840D/840Di,在早期DOS产品也曾经有过。尽管基于Linux研究工作的数控系统是无法和基于Windows的研究相等效。但是基于Linux/RTLinux全软件数控却是一个开放源码软件(OSS),其解决方案有Windows系统不能也不会提供的许多优点。因此该系统在用户、开发人员中开放源码软件变得越来越有价值,甚至集成商可以因为它灵活性的决策而受益,其功能包括,通过哪些扩展,以及何时实现他们的制造系统的一部分。扩充性、可扩展性、升级能力和互操作性,是OAC的特性,通过采用此软件的发展模式可以轻松地实现。并且开放源码软件利用从世界各地的开放源软件程序包来降低其总体拥有成本。除了开放源码软件的诸多优点,Linux作为操作系统为全软件的数控机床技术属性提供的诸多好处,例如当中的: 强大、可靠的内存保护程序; 对于单个进程有故障隔离和管理并 限制致命错误; 可用性的通信协议、 工具和设备驱动程序的支持 ; 支持关键的 CPU 体系结构 ; 各种选项的 OS 和工具 ; 标准的应用程序编程接口 (Apis),促进软件的复用性 ; 嵌入式系统简单改装。虽然市场上基于Linux的OAC产品稀缺,但工作者们从未停止过在这一领域内工作的发展。例如在某些领域基于Linux的数控实时扩展名进行讨论,但是在新的环境Linux全软件的数控中几乎无法实现。最初在Linux下运行的全数控软件,是由NIST开放源代码项目的EMC 发展的,RCS Lib(实时控制系统体系结构)作为常见的实时的函数库,在实现系统中其目的是保证其实时性能,提供通信工具。但随着EMC1的应用,证明这一工程是复杂而无效的。因此,在2006年5月22日发表的EMC2,利用不同的策略在RTAI和RTLinux中作为 Linux 的实时扩展使用。不过这种软件体系结构中,系统内开始出现通信方法相关的问题。在EMC 2中,SHM(共享存储器)使用的数据缓冲区作为Linux进程和实时的线程之间的通讯和实时模块之间的通信。为了避免线程同时访问同一共享的内存而产生的冲突,每次读取或写入共享的内存时使用互斥结构。互斥体的使用率降低了效率,并增加系统的复杂性。在HAL层中,链接的列表数据结构的数据缓冲区大小,为服务和共同的记忆中存在。数控的数据流量主要遵循以下顺序:为下一个模块的数据输出,模块占用了以前的模块生成的数据。EMC2中的链接列表的操作只是开始时获取数据,然后追加尾部的结果数据。但是在数控系统中实时FIFO(RTFIFO)可能更适合数控系统的数据流量和共享内存比,在这项研究中该实时操作实现变得更加容易。简而言之,全软件数控是开放式数控系统的理想解决方案之一。开放源码软件还为全数控软件提供了许多好处。在RTFIFO数据缓冲区中,阐明了基于 Linux/RTLinux的现有OAC系统解决数据流量和通信问题的执行情况。因此全软件数控Lin-soft CNC在这份论文中被提及。Lin-soft CNC可以同时兼容这两个软件全开放源码软件的解决方案。在Linux中系统平台建设中实时扩展和开发工具的讨论四层用于描述系统层次结构中,对于系统的扩展和软件发展很有帮助。其CNCS主要的数据流是输出和输出之间的关系。它提供一个简单、有效的机制,保证输出输出链和保证系统的实时性能。所以RTFIFO被选定为Lin-soft 提供CNC数据缓冲区的执行情况。此外Linux是只有一个软的实时操作系统,例如数控内核任务插值和位置控制等等。它需要硬实时操作系统支持和严格的时间响应。为满足的数控系统的硬实时需求,Linux 需要实时的扩展名。作为在Lin-soft 数控实时扩展名采用 RTLinux 是因为它是一个成功的扩展,和我们更熟悉此系统,有更多的引用和经验。2 Lin-soft CNC中操作系统的实时扩展 Windows和 Linux是在PC上运行的两个主要操作系统。他们都是软实时操作系统,它们都需要以满足实时要求的数控系统的实时扩展。在Windows下,VenturCom 的RTX、Radisys的Intime和想象力系统的“超内核”都有一些实时扩展的代表。对于Linux,有两种方法,以便实时性能的实现,分别称为抢占-改良和中断的抽象 。第一种方法是在时间系统中实现的。 Linux 修改时间系统标准的 Linux 内核,以使它完全可抢占。 RTLinux使用第二种方法,其中添加了一个标准的 Linux 内核和计算机硬件之间的虚拟硬件层。通过这种方式,偏转可以实现完整和可预测硬实时操作系统没有被Linux 软件实时的干扰。因此RTLinux提供了完整的通用操作系统,为运行实时操作系统提供一个理想的环境。RTLinux也是开放源代码的操作系统扩展名,并广泛应用于商业、工业、学术和科学的开发环境。在最坏的情况下,在泛型的x86里中断处理程序之间的时间间隔是下15微秒为运行的偏转,由处理器检测到硬件中断和时刻开始执行。相同硬件上运行35微秒才能达到其预定的时间内偏转定期任务。虽然在RTLinux中使用Linux作为操作系统仍有一些缺陷,这些可以通过精心设计的软件去克服它。在全软件的数控系统和RTLinux使用Linux操作系统可以满足必要的要求并有着不可或缺的作用。第一,优秀的实时性能的偏转,能够满足全软件数控硬实时的要求。第二,Linux能够满足OAC的常规要求对TCP/IP、图形显示系统、文件和数据库系统,既不是原始也不是简单的其他服务的访问。所以Lin-soft数控使用Linux及其实时扩展名RTLinux作为操作系统。现成的PC硬件受雇于Lin-soft CNC、多功能卡用于输出到数字交流伺服的脉冲序列和提供 I/O 信号。3 系统开发工具基于 Linux/RTLinux Linux总是提供了丰富编程环境发。有几种不同的高级语言,运行在 Linux环境中,其中包括已编译的语言、解释型的语言和P代码的语言。C语言是一种已编译的语言,其往往带来卓越的性能,给操作系统以最充分的访问。RTLinux主要靠使用C语言发展而来,但它很难和低效使用C语言发展。另一种是解释型的语言,它往往慢于已编译的语言,并且往往是有限的访问底层操作系统和硬件。不过程序比已编译的语言更容易和更宽容的编码错误,因为解释器可以防止开发人员进行高风险,如不正确使用指针的操作。基于这些原因,C语言是Tcl/传统知识可以以其易用性开发,针对图形界面和交互执行实时任务的语言, 选择林软数控、内核代码作为C语言程序的图形界面时的开发工具。此外用于其它开发工具,用于加工仿真,Open GL 和壳的软件集成等。4 软件的层次结构Lin-soft CNC Lin-soft CNC发展为一个完整的软件系统,具有一定的复杂性,并应用到各种加工用途。合理的软件层次结构是对系统的开发、开放和稳定有帮助的。基于数据的关系的分析,一般的功能限定的时间要求和RTLinux/Linux的特点。我们的层则次建议描述软件系统图形用户界面层、非实时层、实时层和驱动程序层。数控系统的主要功能被实现在实时和非实时层中。RTLinux 实现硬实时操作系统,运行 Linux 作为其最低的任务,在此操作系统体系结构,现有的格式和实时和非实时任务的运行空间是不同的。实时的任务是编译成模块,在RTLinux内核空间中运行。非实时任务则被编译为行政和运行Linux用户空间中。然而实时和非实时的任务是软件全数控的完整性中必不可少的,并在整个的机床数控系统优化。只有那些关键的时间任务数控系统设计应作为实时任务,因为在RTLinux内核空间中Lin-soft CNC并不是所有的任务都可以执行完成。例如,与用户的互动,是需要在 Linux 环境中执行的任务。从硬件数据流实时任务传送到非实时的任务和非实时任务的完成,刷新GUI有关用户的信息;然后用户发送指令通过资料的图形用户界面。作为非实时的任务,处理这些指令然后将实时命令转移到RTLinux内核空间中形成实时任务。在Linux可以做很多工作,如访问互联网,以及不能实时任务的完成。事实上实时任务只可以进行实时的工作。因此,必须在Lin-soft CNC设计非实时的任务。此外数控任务的实时要求是不同的,并不是所有的任务需要作为实时任务正在运行。如果执行的所有任务,则整个系统会被损坏。因此,故意设计实时和非实时层的软件有层次结构来避免其损坏。4.1 图形用户界面层 图形用户界面层是指操作只有图形人机接口,负责接受用户说明和加工信息的显示。这些任务不是时间关键。因此,它是一种逻辑/传统知识解释型的语言和已编译的语言比起来开发比较慢。图形用户界面层,并不为负责实时或费时的数据处理而设计。然而这种设计方法简化了软件层次结构和系统的开发。此外它还提供了更轻松更友好的用户界面。4.2 非实时层 非实时层是负责调度数据,对数据进行预处理,触发的实时层展开实时的任务,并翻译成实时命令的用户的说明的枢纽层。在这一层,例如,文件管理、NC代码解释器、PLC代码解释器、配置和刀具补偿,模块在Linux环境下运行,具有非实时性。总的管理模块运行在一个循环中排在第一位,及后将林软数控系统接通,然后等待用户的指示。它接收用户的指令通过 GUI,然后调用中预处理数据相关的模块。如果收到的说明涉及实时的任务,它完成相关的过程中,然后将准备这份工作的实时命令传递到实时的图层。它还将实时层接收反馈数据和数据发送到相应的模块,或在GUI中显示它。4.3 实时层 实时层是系统的组成模块,是偏转环境中运行的内核。实时层包括两个模块:soft NC和soft PLC。Soft NC是负责控制运动的软件,由插值、位置控制和其他子模块组成。Soft PLC是为逻辑控制而设计。当soft NC和soft PLC收到的控制流和数据流从非实时层中的总管理模块时,它们是负责激活,然后定期运行在小时间芯片。4.4 驱动程序层 虽然在实际上不同于其他 RTLinux的驱动程序,驱动程序层只是字面上的分隔。他们通过定义数据结构、宏和函数的一些抽象硬件或相关的设备,并提供标准的 API。通过这种方式,使其它层中的模块不受硬件更改。4.5 层之间的通信 林系统分为4层、图形用户界面层实现与终端控制语言/传统知识、非实时层和RTLinux 环境中运行的其他层运行在 Linux 环境中。因此层之间的有效沟通,他们相互合作至关重要,而且不同的层之间的通信方法实施具体方式要根据开发工具和运行环境而来。从图形用户界面层的用户的说明,GUI和非实时层之间的通信的信息都是非实时的层,加工处理事件,并从非实时图形界面上显示的各个层的反馈。第一次的通信任务是终端控制语言 程序命令被实施,终端控制语言 程序命令纯粹用于传输数据,并遵守管理层内的数据处理。第二个通信任务是终端控制语言/TK库中使用扩展的C函数来实现的。 非实时和实时层之间的通信的信息包括:1)从非实时层发送到实时层,如开始的命令单一的轴、G代码循环、soft PLC的命令。2)必须发送相应的控制数据的特定命令之前那些命令。3)实时层中的反馈数据,到非实时层,如轴的运动学数据、错误和等。事实上,在通讯之间发生任务实时和非实时的任务即RTLinux 线程和Linux进程。两个方法,实时FIFO和共享的内存,由RTLinux来完成这项任务。实时FIFO是更简单、更灵活。此外还提供同步IO手段,它可以节省通信时间。此外RTFIFO已被选为简化系统中的通信方式,因为RTFIFO也同样适用于实时层中的模块的通信。因此由实时 FIFO 实现通信。5 Lin-soft CNC实时层Lin-soft CNC系统内核,并且运行RTLinux环境,其中包括 soft PLC、soft NC。两个模块进行协作完成加工任务。5.1 Soft NC如图中所示1、Soft NC 包括四个子模:预处理,插值,位置控制和输出。每个子模块作为一个实时线程在偏转环境中运行。RTFIFO 作为数据缓冲区。第一,输出线程开始时非实时图层中的全球管理模块触发 soft NC 运行。这些线程运行流水线的方式,他们自己实时信息中写入和读取从相关的实时相关信息。最后,输出线程输出信号通过驱动程序。图 1 在正常的数控系统,所谓的定位控制实际上包括位置控制和输出它将合并成连续的动作,位置控制后直接输出到硬件。这两个任务的时间序列不是相互独立的每个输出的时间消耗是不同,位置控制的准确时间序列不能保证信息的准确性的输出。所以在林软数控,作为两个线程上运行,这样,可以保证这两个时间序列严格,尤其是对输出分隔位置控制和输出。每个楔被编译为一个实时模块,作为 a*.o 的文件系统中存在。此封装便于更换具有独立的功能模块。因此,加强独立的模块和系统的开放性。5.2 Soft PLC 用户的逻辑的中间代码生成并保存在一个文件后 PLC 编程,包括代码写作、 错误检查、 模拟等。它初始化时,Soft PLC 从固定的文件加载用户的逻辑。I/O 镜像数据表格是 soft PLC 内核其中包括:1) 数控机床 PLC 数据表 ;2) PLC 数控数据表 ;3)机 PLC 数据表 ;4)PLC 机数据页。Soft PLC 通过扫描的方法执行与作为一个实时线程运行。它调用要输入机 PLC 信号,分析机 PLC 在数据表和数控机床 PLC 数据表中,基于用户的逻辑写入 PLC 机数据表和 PLC 数控数据表,然后输出到硬件的驱动程序。此外具有读取数控机床 PLC 数据表功能,并写入 PLC 数控数据表的线程中。Soft PLC 的工作原理如图 2 所示。图 25.3 Soft NC 和 soft PLC之间的通信 在系统启动时soft PLC运行在一个循环中。软数控触发任务到达时,将会触发软数控任务完成后并挂起。PLC软件和数控通信通软件过共享内存PLC数控和数控机床PLC的数据表。插补器拾取预处理数据缓冲区中的说明,如果插补器即时锁定数控机床PLC数据表,将相应的位内插然后将它们写入数控机床PLC的数据表中。完成此任务后,插补器继续搜索的其他指令。以这种方式,可以说是是可以在适当的时候做放心指令的正确方式。位置控制也读取到查询PLC数控信号PLC数控数据表。它定期检查包含PLC数控数据表所携带的信号数,如果此数字为零,位置控制将返回到其他作业。数控通讯软件的PLC软件以相同的方式执行。5.4 保证系统的实时性能策略 Lin-soft CNC系统的实时性能是确保在主要高精度的计时期间的 RTLinux中有合理的设计和管理的数据缓冲区。数据缓冲区的大小和期间可按Lin-soft CNC系统要求调整。 在典型的数控数据流中,G代码按顺序执行。G代码由G代码解释器反过来执行,预处理,插值,并控制模块的位置,然后输出模块输出到末尾的驱动程序。这是一个典型的先出模型的数据流量和用于模块的典型输出输入关系。每个模块的序列,使用以前的模块输出数据并将数据输出到下一个模块序列中。RTFIFO提供的RTLinux不但能为数据缓冲和介质服务,也是第一次在先出从数据结构的点。所以选择RTFIFO作为数据缓冲区的数控系统。 每个线程运行在固定期限和以固定的优先级运行。输出线程运行具有最高优先级。在运行期间,每个线程检查激起其他数据缓冲区中的数据就够了,然后计算并输出到其输出数据的数据缓冲区及其消耗数据缓冲区中的数据是否足够。在正常情况下,每个线程在其他线程运行时不受限制。只是每个线程所消耗的数据缓冲区,需要输出的下一个线程的数据。输出消耗关系(每个数据缓冲区足够了)由线程的优先级和计算机的计算能力来决定。因为在现在的PC计算功能强大,每个线程可以获得其正常执行的机会。在特殊情况下,优先级已有足够的剩余数据的数据缓冲区中的情况下强制执行。使用简单和有效的战略。例如当Lin-soft CNC启动时,在输出的线程,具有最高优先级,启动第一。输出线程占用的位置的控制,RTFIFO中的数据,然后激活位置控制线程时它认识到,那里是没有缓冲区中的数据。位置控制线程输出所需的数据,然后挂起本身时它履行缓冲区。插补器还以这种方式的作用。最后半大小的缓冲区中的数据标记以整理符号,输出和位置控制线程处理这些数据,然后退出。 在原型系统中,预处理线程消耗一个单位的预处理数据缓冲区中的数据、计算此单元的数据,然后将结果的预处理数据缓冲区写入一个线程时期。然而,插补器线程消耗预处理数据缓冲区中的数据,将内插25倍(数据缓冲区大小的一半),并将在25倍的结果保存到插补器数据缓冲区,一个线程时期。以相同的方式,位置控制线程消耗25个单位的插补器数据缓冲区中的数据、分别计算他们,然后生成一个线程时期的25个单位的位置控制数据缓冲区中的数据。输出线程消耗一个单位的位置控制数据缓冲区中的数据、计算它,并在一个线程期间输出到硬件。这是因为插补器和位置控制线程的时间消耗很小,如果每个线程只计算一次,在一段时间在线程间切换可以占用太多的时间。因此位置控制线程承认有左插补器数据缓冲区中的数据缓冲区的一半,它本身处于暂停状态。其他线程检测到没有离开以前的数据缓冲区中的数据,他们则暂停自己。维持输出消耗链的这一策略不仅可以避免复杂的同步控制的线程,而且还可以有效地避免线程时滞。测试证明,这种策略可以保证系统的实时性能。6 应用程序样例 6.1 原型控制器开放数控铣削机试验台控制器的原型使用Lin-soft CNC开发。铣削机测试床包括典型的I/O和3交流伺服电动机 GYS101D C1-CB (日本富士) 为x轴、y轴和z轴。每个连接到一个共同的多功能控制卡MPC04 RY B101S3-VBC (日本富士) 和I/O的马达驱动。(基于FPGA卡包括在图6中,由中国成都步-伺服的I/O卡和运动控制卡),其中插入到一般的IPC的(CPU:英特尔奔腾4 CPU 2.00 GHZ;SDRAM:512M)。预处理的主要工作是从一组已解码的G代码生成刀具路径。主要结果是速度,开始点和结束点的刀具路径。然后实施的线性插值和圆弧插补。圆弧插补算法是二次递归圆弧插补。在原型系统的位置控制主要传输插值的结果成控制指令运动控制卡是一种脉冲控制卡和位置反馈连接到伺服驱动程序,因为位置控制线程不处理的位置的补偿,由伺服驱动程序处理。插值的期间由于性质相对较长时间的系统中设置为标准运行条件在5毫秒。因为位置控制的期间是等于或插值线程期间的倍数的位置控制线程期间也设置为5毫秒。输出线程的优先级设置为最高因为硬件执行取决于提供数据和输出线程的顺序输出线程必须保证严格。在20毫秒设置输出的时期。这是因为输出线程期间必须匹配伺服驱动程序是较长的期间。此外,在输出的线程中的计算时间虽小,输出期间可长。解码器输出的数据缓冲区的大小设置1000,因为解码器是一个Linux的过程,并且具有最低的优先级来安排 RTLinux。如果 CPU 空闲运行解码器,解码器并输出数据缓冲区,其工作准备实时线程。更大的数据缓冲区的大小允许输出更准备好的数据,如果有机会来执行的解码器解码器。插补器和输出的数据缓冲区大小比预处理,因为以前的线程更频繁地运行。6.2 试验及结果6.2.1 试验方法 为测试和分析目的和监视点,例如挂起,输入,该线程的线程和线程的点离开等。在软件中设置。因此创建测试结果文件的壳前林软数控有启动和时Lin-soft CNC不会不断地运行。从保存的文件,运行状态的实时线程,诸如输入,在线程挂起线程,和离开线程等等。可以自由地脱机进行调查。此外可以通过运行状态的分析检查实时线程的时间序列。因为Linux命令行程序的执行频率不高,足以收集每个测试邮件,调查是以随机模式进行的。6.2.2 计算时间的线程 在原型系统测试的主线程的计算时间,RTLinux 的功能,添加到源代码。经过测试的G代码表1中所示有两条生产线。第一行是为测试线插值和第二个圆圈内插的设计。第一行,预处理线程一次工程及插补器位置控制,线程输出工作 126 次因为插值的每个结果将转移到脉冲,并输出到硬件。经实验证明它的计算时间小于线程的时期和线程期间的设置,可以满足的系统要求。 图3和图4显示运行时系统的案件。图.3显示HMI当用户程序梯子的逻辑,图.8 显示HMI当用户程序梯子的逻辑,如图4指示HMI时加工任务自动的方式执行。 图 3 图47 结论 随着 PC 硬件和软件技术的出现,全数控软件正在的开放式数控系统在当今和未来潜在市场内使用成为一个趋势。本文介绍基于 Linux/RTLinux的全软件全数控系统,即Lin-soft CNC,并讨论在这个新环境中的关键技术和体系结构。以下可以得出结论:1) 在结构计算机数控系统中开放源码软件解决方案是一个现实的方法。 使用 Linux 作为其实时的扩展名与 RTLinux可以满足开放式数控系统和操作系统的要求,包括硬实时数控内核任务和共同的OS服务的要求。2)图层之间的数据通信作为Lin-soft CNC模块之间的关键环节。沟通的各个层,如脚本语言、正在运行空间等不同,必须由不同的技术在Linux/RTLinux实现模块之间的通信。3)输出输入关系为数控系统中的数据流的一个关键特征。数据缓冲区和高精度期间实时线程的设计可以保持输出输入链,并满足的实时系统的要求。保持系统中简单而有效输出输入关系的情况下,有效地避免线程时滞和复杂的线程同步控制。此外,使用 RTFIFO 作为数据缓冲区的实现简化了数控系统的通信。4)虽然原型控制器的测试显示设计可以满足的数控系统实时要求,仍有一些未来的工作,特别是优化期间、优先级和数据缓冲区大小为系统的更好的性能。附件2:外文原文(复印件)A software oriented CNC system based on Linux/RTLinuxHua Ji & Ya n L i & Jian Wang#Springer-Verlag London Limited 2007Abstract The software-oriented CNC is one of the ideal solutions for open architecture CNC. However, it simple-mentation is a difficult task, especially the guarantee of system s real-time performance. In this paper, a software oriented CNC system named Lin-soft CNC, whose operating system (OS) is Linux with its real-time extension - RT Linux - was proposed and depicted. The proposed system consists of four layers: the GUI, non-real-time layer, real-time layer and driver layer. Both the system and subsystem layout are detailed,along with the relevant implementation detail, such as the hierarchy design and the data communication between layers. Furthermore, the real-time layer has been identified as the kernel of the system,in which a simple and effective strategy - rational design of data buffer and high precision period of the real-time thread - is adopted to guarantee the real-time performance .At last, the prototype controller and test results are present .Keywords Linux/ RTLinux.Output- consumption chain.Real-time.Software oriented CNC1 Introduction Open architecture control (OAC ) is a well known terminology in the field of machine control. In a similar fashion to the manner in which openness has revolutionised the PC industry, it also has the potential to revolutionise the CNC industry 1 . The open architecture (or open system) is not a new concept in the field of software engineering , with the IEEE1003.0 providing a clear foundation of the definition of the open system in 1990. However, a common a greed definition for OAC still has not been reached in the academic world 2 , 3 , though many research groups , such as OMAC in U.S.OSACA in E.U. and JOP in Japan, have respectively expressed their viewpoint about OAC. If openness is considered, the control systems can be categorised as open HMI, kernel with restricted openness and open control system . Open control systems that are available today normally offer the possibility for in the non-real-time part in a fixed software topology. PC front end, motion control card with PC and Software oriented CNC systems are the three main kinds of OAC in the current market, each with a different level of openness 6 . The PC front end is a traditional CNC black box with a personal computer attached to it, such as FANUC Series 150/16 0/180/210. The personal computer is incorporated in order to improve the interface for operator, although this kind of CNC is not an open control system in the strict sense. Motion control card with PC is configured by rigging an NC function board in a commercially available PC. The extra card, usually DSP-based, performs the time-critical NC kernel tasks, while the PC is for non-real-time functionality. The two CPUs communicate with each other either by PC-bus or dual port RAM. This scheme improves the interface and offers flexibility to the machine-tool builders and end users . The software-oriented CNC is an ideal solution to meet the real “ openness ” requirements of both todays and future markets 4 , 7 , 8 . With the drastic advancement of PC hardware and soft ware technology, the time-critical CNC kernel task can be implemented by software running on PC with the support of a real-time software environment , usually a common operating system with a real-time extension. Open architecture control then transforms from a device-oriented to a software-oriented system. The main idea of software-oriented CNC is making the most of the software to fulfil the function of CNC, integrating off-the-shelf hardware and soft ware techno logy in order to achieve flexibility, agility and upgrade ability.The interpolation, loop closing and PLC, as well as other real-time machining controls, are all performed in software on a PC. It reduces control and life-cycle costs , and increases machine tool uptime and productivity. In the software-oriented CNC system, the control systems can also be easily upgraded with the advances of software technology, while providing a simple and common methodology for communication and networking technology. Rapid advent of the embedded technology in the CNC systems , of which the software is the soul, can extend the service life of software oriented CNC. However, the openness and upgrade ability in a controlled manner is a pair contradiction, which has to be managed carefully. The responsibility of the performance of the system after upgraded should be made clear in practice. The numbers of software implementation methods of OAC are just as various as the definitions of OAC are.However, available OAC products on the market and OAC research work are almost exclusively based on Windows or Windows with real-time extension, such as MDSI Open CNC, Fanuc 210i/210is , Allen Bradley 9/PC or Siemens E&A 840D/840Di 2 , 4 , although DOS has also been used in the early products. Although the research work of CNC based on Linux is still not as active as the equivalent Windows-based research 3 , 8 15, the software-oriented CNC base on Linux/ RT Linux is an open source software (OSS) solution , which has many advantages that Windows system cannot, and will not, offer. OSS is becoming a valuable part of the manufacturing system 16, 17in which the users, integrators, and even developers can benefit through the flexibility of decision making, including which features to include, what extensions to make, and when to implement them. The large quantity of software offered by the worldwide open source communities avoids the potential for repetition of research work. Extendibility, scalability, upgrade ability and interoperability, which are the characteristic of OAC ,can be implemented easily by adopting this software development pattern. OSS solutions also reduc e the total cost of ownership by utilising software packages from the worldwide open sources. Besides the common benefits of OSS, Linux, as an operating system, provides numerous benefits for the software-oriented CNC as regards the technical attributes, amongst which are: Robust, reliable memory-protected architecture; Fault isolation/management , limiting fatal errors to single processes; Availability of communication protocols, tools, and device -driver support; Support for key CPU architectures; Various options for OS and tools; Standard application programming interfaces (APIs) to foster software reusability; and Easy refitment to embedded systems. Although available OAC products based on Linux are scarce on the market, the development of work within this field has never ceased. The frames of CNC based on Linux with real- time extension are discussed in 18 22, but the implementation of software-oriented CNC in the newenvironment - Linux - is hardly considered. EMC 23, an open source project by NIST
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030年中国鸭舌市场供需现状及投资战略研究报告
- 2025版商服用房买卖合同含售后服务保障与纠纷解决机制
- 2025版社交媒体平台内容营销合作合同
- 2025版高速公路沿线积雪清理及交通安全保障合同
- 2025版家居装修材料区域代理销售合同
- 2025年度大型企业集团并购重组合同
- 2025年度汽车维修厂维修车间技术员劳动合同范本
- 2025年企业内部知识产权保密合作协议范本
- 2025年典当担保与创业投资合同
- 2025年定制化吊顶安装与维修一体化服务合同
- 诗墨交融:小学水墨画教学中诗画结合的创新与实践
- 2025年生活垃圾集中分拣中心项目初步方案
- 《基因技术》课件
- 中专入学班会课件
- 模特签约正规合同协议
- 外包丝印加工合同协议
- GB/T 3091-2025低压流体输送用焊接钢管
- 香港佣金合同协议
- 四川农商银行招聘笔试真题2024
- 八年级下册英语2025电子版人教版单词表
- 供电所营销人员作业安全培训
评论
0/150
提交评论