关于我们 联系我们 网站地图 您好!欢迎访问沈阳天乙新数控机械有限公司!
全国咨询热线:024-8936-3215
您的位置:首页>>新闻中心

咨询热线

024-8936-3215

基于软件构件技术的开放式数控系统研究

作者:天乙数控机床时间:2021-04-23547次浏览

信息摘要:

数控系统的开放性和可靠性是目前计算机数控系统(CNC)研究的焦点与热点解决开放问题的措施主要集中于体系结构的开放性研究而可靠性问题则包括硬件可靠性和软件可靠丨性以往研

数控系统的开放性和可靠性是目前计算机数控系统(CNC)研究的焦点与热点解决开放问题的措施主要集中于体系结构的开放性研究而可靠性问题则包括硬件可靠性和软件可靠丨性以往研究的思路更多地局限性于提高硬件的可靠性。但是,作为系统核心的软件部分,其可靠性同样值得重视,在微电子技术、大规模超大规模集成电路和大规模生产飞速发展的今天,硬件可靠性得到了较好的解决,软件的可靠性则显得更加重要因而在软件工程研究领域,出现了软件复用技术(又称软件重用技术),该技术除能较好地提高系统的可靠性外,在提高生产效率减少重复劳动、降低能耗方面也都具有非常重要的意义它通常可分为产品复用和过程复用两条途径基于构件的复用是产品复用的主要形式,也是当前复用研究的焦点。同时,在分布对象研究领域,软件构件技术也是一个重要内容当前软件构件技术被视为实现成功复用的关键因素之一。软件复用技术的广泛应用将促进软件产业的变革,其重组分工,软件构件生产必将成为独立的行业而存在将软件复用技术应用于数控系统的研究还比较少见目前国内在该方面开展研究的还只有为数不多的几个单位,如华中科技大学、浙江大学等>4浙江大学提出了基于软件构件技术的可重构虚拟数控系统的思路,并开发出系统原型华中科技大学提出了可重用的数控软件芯片的开发思想,并成功研制出软件芯片这种开发思想认基金项目:浙江省自然科学基金资助项目(599026);浙江省科技计划重点项目(001101061-为,“具有标准化接口的基本类称为软件芯片”

  并把面向对象的CNC软件模块化描述和实现分为系统、控制单元、基本类3个层次这种开发思想充分利用了面向对象语言的一些特性,如容易表示可面向对象设计、可继承和派生等,从而满足软件重用的要求,且使数控芯片易于扩充和修改,因此,软件具有一定的开放性。

  基于构件技术的开发方法正在对传统的软件开发方法产生了革命性的影响,利用产品化的软件构件来集成系统软件,可以很好地发挥面向对象语言的优势,同时还可以弥补面向对象语言的一些不足1构件技术与开放式数控系统11构件的概念构件是一种能够提供某种功能的自包含软件模块,它封装了一定的数据和方法,并提供特定接口开发人员可利用特定接口来使用构件,并使其与其它构件通讯,以此构造应用程序构件与类比较,一个显著不同点是构件封装了相关的类,而类封装了相关的数据和实现函数。

  12构件的特点构件具有很强的封装性构件可以将其功能细化为许多子功能,每个子功能对应一个对象,对象由数据描述和功能实现组成,构件对外只提供一系列接口,用户只需要了解构件的整体功能和其接口用法即可,而不需了解构件内部的详细封装情况。

  构件独立于编程语言构件开发可采用可视化编程语目,如VisualC++、VisualBasic +BuilderDelphi等。而用户使用的构件集成系统所采用的语言可以和构件开发使用的语言不同,因为构件开发和使用只要遵循相同的接口协议,不同语言间就可以协同工作构件可以跨网络运行构件可以部署在不同的计算机上,通过某种网络协议实现通讯,从而构建基于网络环境的分布式应用程序构件升级容易只要保证构件对外的接口不变,开发者可以单独升级构件功能,而不影响其它构件和整个应用程序的运行。用户也可以通过继承和派生来升级构件的功能,从而使构件具有很强的开放性可充分利用面向对象语言的功能支持具体针对一个构件内部的实现,完全可以发挥面向对象语言的数据抽象、功能抽象继承派生多态性等特性,从而使构件本身的开发具有很强的重用性。

  1.3开放式数控系统的概念IEEE关于开放式系统的定义是,能够在多种平台上运行,可以和其它系统互操作,并能给用户提供一种统一风格的交互方式根据这一定义,开放式数控系统应具有以下基本特征:可互操作性通过提供标准化接口、通信和交互机制,使不同功能模块能以标准的应用程序接口运行于系统平台之上,并获得平等的相互操作能力,协调工作可移植性系统的功能软件与设备无关,即应用统一的数据格式、交互模型、控制机理,使构成系统的各功能模块可来源于不同的开发商,并且通过一致的设备接口,使各功能模块能运行于不同供应商提供的硬件平台之上档次皆宜性CNC系统的功能规模可以灵活设置,方便修改,既可以增加硬件或软件构成功能更强的系统,也可以裁减其功能以适应低端应用。

  可互补性指构成系统的各硬件模块、功能软件的选用不受单一供应商的控制,可根据其功能可靠性及性能要求相互替换,而不影响系统整体的协调运行。

  将以上特征与构件技术的特点进行比较,可以发现两者有很多相似之处2基于软件构件的数控系统开发2.1数控软件构件的定义基于构件技术的数控软件构件是指能够完成数控系统某个模块功能的ActiveX部伟它提供对象时遵循COM协议,外部具有统一、开放的接口,内部封装了功能实现的细节通过ActiveX技术,程序员或用户能够把这些可复用的软件部件组装到应用程序或者服务程序中。

  22数控软件构件的描述通过可以较清楚地理解数控软件构件的概念与功能数控软件构件可以理解为是多个软件芯片集成后的功能强大的构件(类似于硬件组件),与只具备单一功能的芯片相比,其功能更具多样化、功能更强大但如同硬件芯片一样,同样也具有地址引脚输入媛出接口、信息反馈状态设置和控制、状态获取以及触发开关等基本接口,而其内部则封装了具体细节,对于用户来说是一个黑箱,用户只需通过接口来使用它。地址引脚对应于软件构件在计算机中的**标识,输入媛出接口对应于输入媛出方法函数。如果将输入方法函数的返回值设定为整型、或布尔型变量,就可以作为输入方法函数的信息反馈黑箱封装的是描述对象的一些抽象类,每个类有一组相关的抽象数据和问题实现组成,不同的类之间可以通讯,从而可以完成一个复杂的模块功能用户通过接口方法属性函数和消息获得软件构件提供的功能,而且可以跨网络运行,不受某一开发语言的限制,具有很好的移植性。

  为了规范数控软件构件的开发,结合微软的MIDL语言及BNF巴科斯范式可将数控软件构件描述如下:别〉,〈关联性〉,〈功能描述〉,(存放路径),〈研制情况〉,〈构件接口〉,〈内部封装〉,〈运行环境〉,(相关算法),(可扩充信息));(描述文档));〈研制情况〉:=((研制单位),(研制者),(开发工具),(版本号),(开发时间));〈属性〉,〈消息〉);这些描述可分为主要信息描述和辅助信息描述其中构件名、关联性、功能描述及接口为主要信息描述,而其余为辅助信息描述2.3数控软件构件重用性分析基于上述规范化的数控软件构件描述,可对一个存入数控软件构件库的构件进行重用性分析。具体方法是,按照描述建立数据库表,每一个数控软件构件在研制成功后,填写此表,将表(可按照关键字、多面分类、超文本组织等方法加以构建)的信息注册到数控构件库管理系统中。以后需使用时,可依靠软件库管理系统完备的搜索功能(如关键字检索多面检索、超文本检索等)对库存的构件进行访问通过查找主要描述信息得出相关匹配或相似统计结果,如果统计结果表明完全匹配或功能相似,则可进一步查找其他辅助描述信息,同样得到相关匹配或相似统计结果结合统计结果,便可确定构件的重用性。

  2.4数控软件构件的开发原则通过多个接口实现多态性,提供增量式或渐进式开发的方法,在发生改动时不必重新编译系统中的所有构件。由密切相关的函数组成的接口方式定义功能,就可只实现构件所需的功能,需要时再通过附加的接口来扩展其它功能构件的新版本在添加新接口或增强接口时,可以继续提供原有的接口,简化了保持兼容的问题如果必要,客户端应用程序的后续版本就可以使用它可以通过多个构件集成一个更强大的构件,但是为了保证性能稳定性、运行安全性可重用性以及降低单个构件测试的复杂度,应该减少构件之间的相互依赖接口定义应该规范、统一、简单,要减少接口函数的个数和传递参数的个数。

  内部封装要充分利用面向对象语言的优点,对于已验证的基本类可进行代码重用,从而加快开发进程内部封装的基本类要求具有完整的功能和独立性为了方便调试,对内部封装的类*好经测试合格,再添加到构件中;为了保证构件在不同语言环境中运行的可靠性,应尽量在不同的语言环境中进行测试25基于构件技术的软件型数控系统开发流程采用构件技术开发数控系统时,软件分为系统、软件构件、胶水代码3个层次。系统是满足某一类机床数控加工要求的数控应用程序软件构件如上面所定义,它内部有许多基本类组成,每一基本类完成某一项功能胶水代码即连接多个数控构件的程序或模块,甚至是几行代码,而且程序设计语言可以是支持COM协议的任何一种。针对构件技术的特点和上述软件层次的划分,可将软件型数控系统的开发流程(见)针对用户需求,并在遵循数控系统一般性要求和考虑其它技术要求或限制的基础上,提出数控系统解决方案如在系统分析的基础上,确定有那些功能模块,分析这些模块的通用性及针对具体数控系统要求而具有的特殊性,然后确定需要那些数控软构件,并列写构件清单,清单要反映各构件之间的关联性数据流向、消息环实时性、协同性等网状联系。

  访问数控软件构件库,查找是否有类似构件,如果有类似的构件库存,则通过上述的重用性分析方法加以分析。对于可完全重用的构件可不再开发,而重用性差的构件可以考虑重新开发大多数构件具有较强的重用性,只需要进行升级或少许的修改。

  件的开发或修改。对于一个全新数控软件构件的研制的步骤见至于构件的修改则依据通用性分析结果进行相应的操作单,将所需构件采用一些“胶水代码”进行无缝集成,从而组装成一个完整的数控系统但这种连接不可能一蹴而就,较安全的集成方法是先局部组装,再系统集成(5)系统集成后要试运行,并将运行的反馈结果同技术要求进行比较,得出系统评价如果未达到预定要求,则返回系统分析步骤以分析不足之处,并进行修改,直到满足技术要求为止从用户的角度来看,数控系统的构建过程较以往有很大的不同。以往只能从数控系统开发商购买整套数控系统,由于受数控系统硬件和软件的限制,数控系统的升级困难,并且同其它CADCAM软件的集成也出现问题现在,用户完全可以集成出符合自己要求的数控系统/获得编译结果信息输出方法函数虽然较多,但接口统一、规范,方便与下接构件相连属性设置首先提出自己的技术要求,然后进行系统分析,列出所要求的数控软件构件,并同构件开发商进行沟通,需求信息可以反馈到开发商,有助于开发商开发出符合市场要求的数控软件构件,而用户也知道有那些数控软构件可以购买。如果用户想对一些构件进行自主开发,则可以遵循同开放商一样的开发流程然后,用户可将自主开发的和购买的构件采用类似的组装方法加以组装,并进行系统评价等其它操作(见)由上述过程可I构件开发I~丨系统评价丨购买数控构件开发商晷用户开发基于软件构件的数控系统流程知,基于构件技术的软件型数控系统具有较好的开放性。

  以数控编译构件的开发为实1例输入方法函数输出方法函数/放大比例系数BooleanmLineTail;/代码结束方式内部封装/存放所有行数控代码GValue;/存放所有行的G代码/存放编译结果信息CStringArraymMValue;//存放所有行的M代码/傲控程序代码行数BOOLmCompileSuccess;/只要有一处错误则为//呆存各行上述的数控编译构件设计、调试完成后,按照数控软构件的描述规范,将其加以描述,同时把相关信息添加到数控软构件库中,以备访问和重用性分析786.基于神经网络的冗余度机器人动态*优化控制一一马光蔡鹤皋文章编号:1004-13X(2001)07-0787-03基于神经网络的冗余度机器人动态*优化控制马光蔡鹤皋有一定的局限性,研究中采用了全局优化方法。基于全局优化的思想,提出了一种冗余度机器人的动态优化控制算法。由于控制算法在数值求解时的困难性,在算法中应用了神经网络,用其来逼近复杂的非线性函数,使问题求解得以简化通过仿真验证,此控制算法能够获得良好的动态性能,运算速度快,具有工程应用的可行i性冗余度机器人的运动控制一直是研究的热点问题对于机器人控制系统,*优控制问题则绝大多数为*优路径规划问题(OPPP)冗余度机器人的优化有局部优化和全局优化两种,从完整的轨迹跟踪来看,局部优化的方案在全局上并非一定*优,有的引起一系列严重的问题甚至导致后续优化失败因此,对全局优化进行研究就具有重要意义,特别是在重复性工作的场合更具实际意义在全局优化的方法中,多数是基于关节角及关节角速度为状态变量的控制方程,求优化控制序列使积分型性能指标达到极值由于状态和协状态向量是*优解中的一对孪生的连体向量,因此,两点边界值问题(TPBVP)在数值求解中具有相当的困难Oika提出初值调节法,需对n基金项目:国家863高技术研究发展计划资助项目(863-51220-07)

返回列表 本文标签: