最早关于开放式体系结构控制器的研究源于美国。1981年,美国发起了一个叫下一代控制器的计划,简称NGC(Next Generation Workstation/Machine Controiier)[5],以实现基于互操作和分级式软件模块的“开放体系结构标准规范”SOSAS(开放体系结构标准规范)。NGC包括两个主要的部分:制定开放式体系结构标准规范(SOSAS)和建立三个NGC的参考模型[6,7]。SOSAS最重要的部分是,允许单独的设计者去开发具有互换性和相互协作的NGC单元,并包括CNC兼容产品的所有功能,为以后开发的产品提供了运行的基础[8,9]。由于经济的原因,该计划在1991年中断。自1992年以来,欧盟、美国、日本等制造业发达国家相继开展了大规模的开放式数控系统的研究项目。主要有:
(1)欧洲OSACA项目 1991年11月,ESPRITⅡ开始的一项整个欧洲的控制系统计划OSACA,其目标是研制出自动化控制系统中的开放式体系结构。OSACA计划于1992年5月启动,在第一阶段(1992年5月到1994年4月)内,给出了独立于厂家的开放式控制系统的基本规范。规范中详细说明了系统平台的基本功能规范,平台的系统软件应主要由操作系统、通信系统和配置系统组成,还拟订了独立于公司的参考结构,以用于数控、机器人、可编程序控制器和单元控制。在第二个阶段(1994年5月到1996年4月),由所有参加成员为此平台联合开发的软件建立了一个公用系统软件库,用于测试、验证和扩展,还开发了第一批示范软件模块。这之后的工作主要是将OSACA建立为开放式控制系统的工业标准[10]。该计划结束于1998年7月,历经66个月,投人96人年,1230万欧洲货币单位。其主要目标是建立一个开放性的、厂商无关的控制器体系结构[11]。
OSACA是这样定义开放系统的:“开放的控制系统是由一组逻辑独立的功能部件(component)组成,这些部件之间、部件和其实现平台之间具有开放、标准的接口定义。一个完整的控制系统可由来自于多个厂商的部件协作而成,这个控制系统可以运行在多种平台上,并巨具有与其他自动化系统一致的人机接口”。
可以看出,“功能部件”是OSACA开放系统的核心,为了有效地描述这些“功能部件”的属性和集成关系,OSACA全面采用面向对象的分析方法。OSACA借鉴ISO的OSI参考模型,通过对现有控制系统的详细分析,提出一个“分层的系统平台+结构功能单元”的结构。OSACA提出的开放式数控系统模型如图1-1所示。从其体系结构来看,OSACA控制系统分为两个部分:应用软件和系统平台。应用软件由一组被称为“体系结构对象AO(Architecture Object)”的功能模块组成,这些AO具有很强的功能独立性,也是OSACA体系结构的灵魂;应用软件可运行在多种OSACA兼容的平台上。系统平台由系统硬件和系统软件组成;系统硬件主要指控制系统的各种电子部件,如处理机、I/O模块等;系统软件包括操作系统、通信系统及附加的各种设备的驱动程序。AO之间的通信是采用面向对象的信息模型(通信对象)来实现的,以客户/服务器模式为基础。通信对象包括变量对象、进程对象、事物对象[12,13]。
图1-1O SACA体系结构[10]
(2)日木OSEC项目 1994年12月,日本的东芝机器公司、丰田机器厂和Mazak公司三家机床制造商与日本IBM、三菱电子及SML系统公司联合发起了OSEC(Open System Environment for Controiier)项目。该项目共分三个阶段,结束于1999年3月。OSEC的目标是为下一代工厂自动化设备控制器建立一个开放性的体系结构规范,并开发相应的接口标准[14]。
(www.daowen.com)
图1-2O SEC体系结构[14]
OSEC采用功能组定义了开放式数控系统的体系结构,如图1-2所示。主要包含4个功能组,即运动生成、资源管理、加工控制、设备控制。每个功能组由若干个功能模块组成,每个功能模块是一个对象形式的软件元件,并封装了OSEC API(Appiication Program Interface)形式的对象消息作为接口协议。功能模块之间不形成层次关系,通过OSEC API形式的消息连接起来进行通信和协作。OSEC体系结构只定义了功能模块的服务内容和消息接口协议,由控制器厂商进行功能模块的个性化实现,符合接口协议的功能模块在OSEC控制器中可以“即插即用”。
(3)美国OMAC项目 1994年底,美国三大汽车公司通用(GM)、福特(Ford)和克莱斯勒(Chrysier)首次提出了OMAC(Open Moduiar Architecture Controiiers),即开放式、模块化体系结构控制器的概念[15],称开放化就是允许把流行的硬件和软件集成为控制器的基础结构。它支持一个事实上的标准环境。1997年2月,OMAC用户组成立,对OMAC感兴趣的组织随时可以加人,并参与相关的技术开发。OMAC的主要目标是明确用户对于开放体系结构控制器的应用需求,开发一种满足这种需求的公共API,为开放式控制器技术开发、实现和商品化中的各种问题提供共同的解决方案[16,17]。
OMAC采用组件技术实现即插即用的模块化,采用接口类的形式定义API。OMAC定义了各种不同“尺寸”和“类型”的可重用即插即用“组件”,这是广义的组件,是指构成应用程序的软件片,实际上包括COM(Component Object Modei)组件、模块、任务。每一个“组件”都具有各自的有限状态机实现其特定功能。模块是指包含组件的容器。任务是指封装可编程序功能行为的组件,包括一系列待完成的步骤,如启动、停止、暂停、恢复。当控制器工作时,任务可以多次运行。在分布式通信情况下,基于组件的技术采用代理存根的方式处理跨进程的方法调用。
OMAC没有定义一个固定的参考结构,但是定义了用于建造不同类型控制器的模块集[3,17,18]。OMAC API的目标是使控制系统销售商提供标准组件,机床供应商把这些组件配置到机床控制系统中,然后把这种控制系统和机床交付给最终用户。OMAC API应用涉及的范围从单轴控制器到多轴控制器。OMAC工作组努力使OMAC API规范成为被业界承认的标准。OMAC API使用基于组件的方法获得即插即用的特性,使用界面类指定API。OMAC API包含不同粒度和类型的即插即用的元件——组件、模块和任务。组件是一种可复用的软件,它是应用程序的一个建造块;模块是组件的容器;任务是用于封装可编程序功能行为的组件,功能行为由一系列步骤组成。这些步骤包括启动、停止、重启、暂停、继续,在控制器运行时这些步骤可能循环多次。OMAC API使用微软的COM技术进行集成,这样数控系统开发商可以集中精力进行专用软件的开发。使用COM的主要问题是硬实时性能欠佳,这个问题通过对WindoWs操作系统进行实时扩展的方法来解决。
(4)国外其他机构的研究惰况除以上影响力最大的三个研究工程外,国际上还有许多其他的机构和大学在从事开放体系结构控制器的研究,并建立了一些开放式数控系统的实例[3,19-22]。如美国密歇根大学(University of Michigan)在开放体系结构控制器领域成果显著[23,24],其主要目标是实现机床控制系统的开放性。研究内容包括:基于FSM的机床控制设计[25,26],基于Windows的HMI的开发,可重构机床的控制结构设计[27,28],巨在加工力分析、颤动分析与监测、刀具和工件接触监控等方面也进行了大量的研究工作[29-31]。他们也在数控软组件模块化方面进行了研究[32,33]。普渡大学(Purdue University)智能制造实验室开展了基于PC的开放式体系结构控制器、加工仿真建模和实现、加工过程的多自变量自适应控制、常规切削力自适应控制等研究[34]。澳大利亚研究人员则利用DSP技术开发了位置闭环控制的伺服驱动系统[35]。由于涉及重新编制DSP驱动程序的工作,因此重构系统和扩展功能仍然相对复杂。加拿大不列颠哥伦比亚大学(University of British Coiumbia,Canada)制造自动化实验室也开展了大量的研究,如开发了一个基于DSP的智能加工模块(Inteiiigent Machining Moduie,IMM),即由一组用户可扩展的函数库组成。研究人员在IMM平台基础上可以快速实现智能加工工艺算法,可以将刀具磨损监测、热变形补偿等以传感器技术为基础的智能控制算法迅速集成到数控系统中;IMM实际上是一个以开放体系结构为基础的智能数控开发平台[36,37]。德国斯图加特大学(University of Stuttgart)具有长期从事开放模块化控制系统设计的历史[38,39]。20世纪80年代,MPST项目以并行总线连接硬件模块建立了模块化的结构控制器。后来,他们开始进行基于软件的模块化控制器体系结构的研究。以OSACA准则为基础建立了开放式控制器,可应用于多轴车、铣、并联机构及其他特殊用途的机床(如电火花、纺织机械等)。另外还有一些研究机构在开放式数控方面的研究工作具有较大的影响,如日本东京大学[40]、加州大学伯克利分校(University of Caiifornia,Berkeiey)[41,42]等。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。