STEP兼容式数控技术加工研究进展

来源:互联网

点击:1287

A+ A-

所属频道:新闻中心

关键词:STEP 数控 CAM

    0 引言

      数控(Numerical contr01,NC)是数字制造的起源,是先进制造的核心技术之一。现代的计算机数控(computer Numerical control,CNC)机床在注重单机高速、高效、高精度、高可靠性的同时,正向着开放性、智能化、网络化等方向发展。同时,随着计算机辅助设计(computer Aided Design,CAD)和计算机辅助制造(computer Aided Manufacturing,CAM)技术在数控编程和加工领域的广泛应用,如何实现CAD/CAM系统与CNC机床的集成,成为学术界和制造业关注的焦点。于是,人们提出了一种与产品模型数据交换标准(STandard for theExchange of Product model data,STEP)(ISO10303)兼容的数控数据接口(STEP-compliant NCdata interface,STEPNC),作为新的数控编程规范来取代目前广泛应用的ISO 6983(G代码)。经过数年的研发和论证,STEP—NC的基本数据模型已被接受为国际标准(ISO 14649)。学术界普遍认为,充分利用这种sTEP兼容式的数控加工(STEPCompliant Nc Manufacture)将会极大地提高制造业的竞争力。同时人们也意识到,以STEPNC取代传统的G代码编程不但是CAM与CNC接口的改变,而且是对现代制造系统及技术的巨大挑战和发展机遇。

      STEP-NC最早由欧洲的OPTIMAL(EsPRITIII 8643,1994~1997)项目组提出,该计划针对铣削工艺定义了第一版sTEPNc数据模型。2000年前后,欧共体、瑞士、美国、韩国等相继启动了STEPNC研究计划,并共同承担了智能制造系统(Intelligent Manufacturing system,IMs)组织的研究项目(IMS STEP-NC)。STEPNc随之成为世界性的研究热点,文献[5]对此作了较为详尽的综述。近年来,随着数据模型和验证系统的研发,STEP兼容式数控加工的实现方法和技术逐渐成为STEP-NC研究的重点,如何实现和推广STEPNC在数控加工领域的应用,以及如何借助STEPNC实现相关系统的无缝集成,已成为学术界和企业界共同追逐的目标。

    1 STEP-NC概要

      1.1 基本思想和特点

      STEP-NC要求数控编程摈弃过去那种描述具体机床动作和刀具运动的做法,而是采用与CAD/cAM模型兼容的数据模型作为CAM系统与CNC之间的数据接口,以面向对象的方式采用高级语言描述加工任务。

      STEPNC不依赖于具体的CAM系统或数控系统,因而既有利于数控编程,又提高了数控程序的可移植性;其次,基于STEPNC的数控程序较全面地描述工件的制造信息,为现场检查甚至优化加工方案(智能加工)提供了基础条件;再次,STEPNC将STEP的应用范围延伸到底层制造领域,从而实现CAD,CAM,CNC之间的无缝连接,减少中间环节,使产品设计与制造系统之间的信息流动更加通畅,而且可以基于同一数据模型实现加工现场数据的回溯,对于加工过程的数据更新、方案优化和知识获取等有着重要的意义。另外,STEPNC的这些特点使得产品的设计和制造可以摆脱系统平台和物理位置的束缚,实现异地设计、异地规划和异地制造的目标,为并行工程、敏捷制造等先进生产模式提供了技术基础。

    1.2 核心概念

      STEP-NC是一种旨在全面描述零件几何信息和数控加工工艺信息的数据模型。它将面向对象的方法引入到数控编程领域,通过特征、工步等一系列特有的概念描述零件的数控加工同题。

      特征是工件上具有特定几何形状的一部分。STEPNC中的特征专指制造特征(manufacturingfeature),与cAD中的特征概念之间没有一一对应的关系。其制造特征分为域特征(region)、2.5轴制造特征(Tw05D manufacturing feature)和过渡特征(transition feature)。

      零件的加工是通过对工件上一系列特征的加工来实现的,具体方法称为操作。Iso 14649中,操作可以是对工件某一部分进行加工处理的过程,即机加工操作(machiningoperation),也可以是一次快速移动(rapitmovement)或探测(toucnprobing)。根据加工工艺的不同,机加工操作可以是铣削操作(millingmachiningoperation),也可以是车削(turningmachiningoperation)或其他操作。通常一个机加工操作中不能有刀具或工艺参数(technology)的变动。具体操作信息通常包括工艺方法、刀具(machining_tool)、走刀策略(strategy)、工艺参数、机床辅助功能(machine_functions)等。

      STEP-NC程序的执行顺序是通过一系列可执行体(executable)来体现的。值得一提的是,操作虽然是特征的具体实现方法,但它本身不是可执行体。可执行体包括工作计划(workplan)、Nc功能(NC function)和工步(workingstep)。其中工步是对工件制造过程中机床具体动作的概括性描述,即运用一定的操作(operation)完成某一任务,被认为是STEP NC数控程序的基本单位。

    2 STEP-Nc的实现方法

      2.1 从数据模型到数控程序

      2.1.1 基于应用参考模型的实现方案

      STEP-NC在许多方面(如建模语言、文件格式等)参考或直接引用了sTEP(ISO 10303),因而被公认是一种与sTEP兼容的数据模型,但关于两者的准确关系却存在着分歧。部分研发人员[B3认为,STEP-NC的实施必须优先考虑数控加工的特殊需要(而不是sTEP方法论),它应该:①利于编程;②提供全面的信息;③以合理的数据结构将数控加工中的几何信息和制造信息组织起来。

      基于这一观点,ISO/TC 184/SCl(国际标准化组织工业自动化系统和集成委员会物理装置控制分委员会)制订了一个独立的标准ISO 14649。所以在一定意义上,STEP-NC(ISO 14649)与sTEP是两个标准。正因为如此,ISO 14649中给出的数控程序并没有特意使用STEP的集成资源,而是将ISO 14649中的EXRESS定义实体直接映射为STEPNC程序中的实体实例(参阅Iso 1464911附录F)。这样得到的数控程序与一般的STEP文件在形式上显然存在着差异。

    2.1.2基于应用解释模型的实现方案

      也有一部分研发人员认为,STEPNC是sTEP向数控加工领域的拓展,或者是数控领域的sTEP,因而应当与sTEP完全兼容。基于这一观点,ISO/TC 184/sc 4(工业数据分委员会)将sTE卜NC作为sTEP的一部分,具体地说是其中的一个应用协议,即STEP AP 238或ISO 10303238。

      通常,按照sTEP方法,一种应用协议的实际应用(如本文中的数控编程)需经过以下过程:①进行功能分析,建立应用活动模型(Application ActivityModel,AAM);②对AAM进行抽象,建立应用参考模型(Application Reference Model,ARM)}③根据AAM和ARM,从集成资源中抽出所需资源构件(unit of unctionality),增加约束、关系和属性,建立应用解释模型(Application Interpretation Modei,AIM);④将AIM映射为具体的文件结构和具体应用系统程序设计语言(如c++,Java等)的描述形式;⑤用程序设计语言实现应用系统的功能。因此,如果将STEP-NC看作是sTEP的一个应用协议,则ISO 14649中定义的数据模型相当于ARM,应该先映射为AIM后才能进一步映射为STEPNC数控程序的文件结构

      虽然(按照上述观点)STEP AP 238的范畴更大,但实际上,ISO/TC 184/sc 4目前正在制订的STEP AP 238主要侧重于AIM。STEP Tools公司推出的工具(sT_P1an,sTMachine等,http://www.steptools.com)也都是面向AIM的。

      2.1.3 两种实现方法的比较

      STEP—NC是为现代计算机数控机床制订的一种与STEP兼容的数据接口,而STEPNC的ARM和AIM代表了数据模型建立过程中的两个阶段,表达的对象和内容是一致的,只是描述方式不同。从STEPNc的ARM向AIM映射可以充分利用STEP的资源构件,并保持与STEPCAD,STEPcAM(分别指CAD和CAM领域的数据模型)等的一致;另一方面,这种转化降低了数控程序的可读性,增加了后续处理的难度。通常ARM更接近应用领域,便于人类的理解,但没有实现与sTEP的完全兼容;而AIM更抽象、更复杂一些,但真正体现了与STEP的兼容。

      基于ARM和基于AIM的数控程序都采用STEP中规定的文件格式(ISO 1030321),但由于二者在定义方式上的差异,同一个概念(如图3中的Machiningworkstep)反映在数控程序中的组织形式也往往不同。语句#10为机加工工步按照IsO 14649中的定义直接映射到数据文件(数控程序)的实例,其安全面、被加工特征和操作分别通过#52,#16和#19以属性的形式给出。语句#160#173#194#315则是由STEP AP_238映射到文件中的形式,其中#194给出了工步的标志;#173将特征和工步联系到一起;#160将操作和工步联系到一起;#315指定了操作的安全面,从而间接地将安全面和工步联系到一起。从这个实例可以看出两种方案各有优点,但却存在着矛盾(实现STEP_NC与sTEP的完全兼容或者保持sTEP_NC的简洁性)。文献[11]对此也进行了分析,认为在表达同一概念时,AIM数据通常是ARM数据的3倍~7倍。献[8]认为,AIM不仅造成了数据量的巨增,而且在某些地方甚至偏离了ISO 14649,从而加大了STEP-NC实现的难度。文献[12]则针对文件的实时翻译和处理问题,对这两种方案进行了测试,并提供了对AIM有利的结论。该文献认为,尽管AIM形式的数据需要较长的处理时间,但这两种形式的文件都可以直接用作计算机数控机床的实时控制。

      2.2 应用系统的接口方法研究

      2.2.1 基本方法

      STEP-NC数据的交换在理论上(参照STEP的实现方法)有四种方式:文件交换、工作单交换、数据库交换和知识库交换。文件交换是最基本的一种方式,即通过物理文件(ISO 1030321)实现数据交换,是当前采用的方式。由于ExPREss本身不是一种实现语言,在实现具体应用系统时还必须将STEPNC的ExPREss描述(ARM或AIM)映射

      为程序设计语言(如c++,Java等,),然后用程序设计语言实现sTEP-Nc数据的处理。图5以Rev01ved_flat(轴肩)为例,表示了利用Java实现对STEPNC数据解释的基本方法。

      2.2.2 应用参考模型格式物理文件接口方法

      Weck[63针对sTEPNC铣削工艺的ARM开发了一套翻译工具,利用c++实现了数控系统的STEP-NC接口(外部文件向内部数据的翻译)。其基本方法可以概括为:通过对ExPREss规范的编译生成基本的c++类和方法(对于兼容性要求较高的应用系统,一般需要专门的工具),然后通过c++类和方法实现对sTEPNc文件的读写和信息处理,最后转化为数控系统的控制数据。该方法代表了sTEPNc(ARM格式数控程序)翻译器的基本实现原理。文献[13]和文献[14]则基于这一基本方法分别实现了sTEfLNc程序的双向翻译。

      2.2.3 应用解释模型格式物理文件的实现方法

      如前所述,由于从ARM到AIM的映射,AIM格式的sTEpNc文件通常非常复杂,一般需要借助专门的工具进行处理。从sTEP的角度,标准数据存取接口(standard Data Access Interface,SDAI)是一种有效的方法,它是sTEP标准中定义的数据存取接口规范(IsO 1030322)i目的是使产品数据的存取和管理与应用系统的具体结构相分离。换言之,只要产品数据模型的ExPREss描述一致,即便是不同的系统也可以实现信息集成。SDAI独立于编程语言,相当于一套抽象的应用编程接口(Aplication Programm Interface,API)规范和功能定义。用具体编程语言对应SDAI各个接口所定义的功能编制相应的接口函数,称为语言联编(1anguage binding)。目前可以与SDAI进行联编的编程语言有c,C++,Java等,但应用范围尚局限于设计领域。

      为了降低STEP-NC数据处理的复杂性,伴随着AP 238的研发,美国的sTEP—Nc研发组定义了一些专用类,称为sTIx(sTEP Index library)。STIX是从sT-Developer丁M的ROsE库中扩展出来的一部分c++类,专门用于sTEP AP 238(Inte—grated-cNcLschema)数据结构的查寻。基于这一方法,文献[15]利用STIX实现了从STEP—NC程序到数控车床内部数据的转换,文献[16]利用sTIx开发了一个STEP-NC铣削程序的解释器。

      2.2.4 基于可扩展标记语言的网络化接口方法

      为了便于STEP—NC程序的网上传输和对异构系统的集成,可扩展标记语言(eXtensible MarkupLanguage,xML)被用于STEPNC程序的描述。文献[17]用MsxML 3.0作为xML翻译器,用visual C++实现了铣削数控系统对xML格式sTEPNc数据的接口;文献[18]则针对sTEP兼容式车削数控系统,重点研究了基于xML的数据处理技术;文献[19]则针对远程协同问题研究了STEPlNc应用系统的xML接口方法。XML是一种优秀的网络语言,它对推动sTEP_Nc的实施,尤其是基于STEP/STEP-NC的网络制造技术有着非常积极的意义。但值得一提的是,xML在sTEP_Nc中的应用只是数控程序的一种表现形式或者是应用系统的一种实现方式,是建立在STEPNc的ExPREss模型之上的,并非新的数据模型。ExPREss是一种强有力的产品建模语言;而xMI。虽然是一种十分成功的网络传输语言,但起初并没有考虑产品数据模型的特殊性,因而二者在语义方面颇具差异,将完整的STEPNC数据模型从ExPREss向xML的映射仍然有很多问题需要解决。关于STEP/STEPNC领域的xML接口基本方法请参阅IsO 1030328(标准草案)。

    3 应用技术研究和发展趋势

      3.1 应用领域的拓展

      随着STEPNC在铣削领域的验证和逐渐被接受,研发工作正向着其他工艺领域拓展。

        另外,STEPNC的AIM(通用模型和铣削)也被接受为标准草案(IsO/DIs 10303238)。为了降低复杂性,AP 238在实际开发过程中被分成四个一致性类(conformance class)供选用:CC1(刀具路径)只包含主要功能单元及应用对象,CC2(刀具路径+几何形状)在cCl基础上加入了工件的几何形状,CC3(基于特征的描述)加入了制造特征的信息,CC4包含了完整的AP 238数据。这四个类都是AP 238的子集,包含的信息范围依次扩大。文献[20]对其中的CC1进行了测试,文中利用AP 238的CC1文件在不同配置的五轴数控机床(内装解释器)上进行了实际零件的加工实验,认为其中的刀位数据具有可移植性。

    除此之外,文献[21]研究了STEP;NC在线切割工艺中的应用并开发了一个原型系统;文献[22]研发了快速原型工艺的sTEPNc数据模型;文献[23]研究了与雕刻艺术有关的制造特征,并初步定义了有关sTEP_Nc数据模型,期望借助sTEPNc实现基于知识的加工策略。这些研究大大扩展了STEPNC的应用领域。

      3.2 数控编程爱CAD/CAPP/CAM

      数控编程实际上是一个工艺规划和程序代码编制的过程。STEP;NC不仅重新定义了数控程序,还意味者数控编程单元和数控加工单元在功能方面的重新划分。文献[24]针对钣金零件研发了一个STEP兼容式计算机辅助工艺设计(computer Aided Process Planning,CAPP)原型系统,旨在采用STEP数据模型实现几何信息和工艺信息的集成;文献[25]研究了STEP-NC车/铣工艺数据的集成问题,主要侧重于车削零件上非回转特征的加工。

      为了充分利用STEP-NC数据模型的优势,文献[26]提出将非线性规划技术引入到加工现场的基本方案,希望通过数控系统的智能化实现数控加工的动态规划和控制;文献[27]将Agent技术应用到工艺规划中,提出通过MFA(manufacturing featureagent)实现基于特征的工艺规划和编程。

      为了适应STEPNC的特殊需要,文献[13]还提出了一种新的现场编程系统SFP(Shop n00r programming)结构,并实现了一个原型系统,主要用于STEP文件向ISO 14649文件或G代码的转换;文献[14]针对目前的技术状况,提出了基于STEP-NC的三种CAD/cAM实现方案,其中方案1用于在传统CAD/CAM系统中加STEP—NC接口,方案2要求在cAD/cAM系统内提供对sTEP-Nc数据结构的支持,方案3则要求系统本身采用sTEpNc核心数据结构。该文献还按照第二种方案实现了一个基本的原型系统(ABCAM)。考虑到现有商业CAD/CAM软件的需要,sTEP T001s公司还开发了一些软件工具(如ST_Plan)作为这些软件的插件,以辅助实现基于STEP/STEP-Nc的数控编程。这些基本方法和原型系统为基于STEP/STEPNC的数控编程准备了基础条件。

      3.3 STEP-NC控制器

      如果仅考虑数据接口问题,则实现sTEPNc控制器最直接的方法,便是在传统数控的基础上加装翻译器和相应的人机界面。其中的翻译器相当于一个通用处理器,负责将sTEPc程序转化为必要的G代码和M代码后再输入Nc内核。基于该方法,欧洲的sTEP_NC研究计划实现了世界上第一台sTEP_Nc控制器原型机(铣削);文献[15]通过对HERCUs Pc200车床进行改造并开发相应的翻译器,实现了一个车削加工的控制器原型机;文献[17]基于一台简易机床(sAKAI mm250s3)和PC机.实现了一个直接用xML格式STEP—NC程序驱动的数控铣床。

      这种方法主要有以下不足:①数控系统仍然只是数控程序的忠实执行者,对上游系统的依赖性大;②太部分数据在从sTEP-Nc到G代码的转化过程中丢失,而且数据转化是单向的;③总体上没有充分发挥新数据模型的优势。因此,文献[26]提出了一种智能型sTEPNc的框架结构,采用内嵌cAM和动态规划技术,以实现零件的智能加工。在此基础上,文献[28]分析了智能数控的类型,给出了基本的实施策略并提出了将Agent技术用于STEPNC控制器的基本方案。文献[26]和文献[28]的核心思想是将STEPNC控制器改造为一个集微观工艺规划与控制功能于一体的集成系统。基于这一基本思想,文献[29]等开发了一个STEP-Nc车削数控系统(TurnsTEP)。TurnsTEP包括代码生成、代码编辑、自治控制等模块,实际上相当于一个cAM/CNC集成系统。TurnsTEP原型机的开发展示了STEPNC控制器的巨大潜力和优势。但是,由于数控加工的高可靠性要求,智能sTEPNc控制器的研发总体上进展缓慢。

      为了便于在传统数控的基础上实现sTEP—Nc控制器,文献[30]面向实际应用设计了一种称为BNCL(base numerical controllanguage)的低级语言作为sTE卜Nc接口和数控内核之间的桥梁,并提出了一种基于虚拟机BvM(BNCL virtual machine)和虚拟硬件BVH(BNCL virtual hardware)的软件结构。该方案的主要优势在于对多语言环境的支持和系统柔性,从另一个角度为目前的STEpNC控制器研发工作提供了一种参考意见。

      3.4 相关技术和应用研究

      文献[31]给出了一个基本的sTEP兼容式检测框架,提出用sTEPNC检测模型(Iso 1464916草案)、sTEP AP 219,以及尺寸测量接口标准(Dimensional Measuring Interface Standard,DMIS)等实现检测方案与加工方案的集成,以便在加工阶段通过对工件的检测,及早发现问题并予以纠正。这种基于统一数据模型的在线检测技术是实现STEPNC条件下闭环数控加工(规划、加工和检测集成)的重要手段,目前的研究主要集中在探测方案的自动生成和探测工步(Probingworkin98tep)的规划方面。

      文献[32]则进一步提出利用检测数据进行动态规划,从而形成一个闭环的规划和加工流程(CAPP/CAM/CNC),并且展示了一个原型系统,文献[33]则探讨了低层数据(数字伺服驱动信息)的回馈方法;文献[34]研发了一个原型系统,采用Agent和神经网络技术获取数控加工单元的信息,以实现对分布式数控加工系统的集成和控制。目前关于检测的sTEPNc数据模型尚处于研发阶段。由于sTEPNc控制器研发的相对滞后,如何利用传统实现sTEP兼容式数控加工自然也成了一个重要的研究方向。文献[35]研究了基于制造特征(ISO 14649)的零件建模、工艺规划及数控编程技术的集成技术,重点探讨了多智能体技术在工艺规划方面的应用,用Java语言实现了一个原型系统MASCAPP。它直接利用sTEPNc的制造特征进行零件(仅包含简单铣削特征)建模,然后生成西门子840D控制器的数控程序。文献[36]则在此基础上针对车铣中心的sTEPNC数据处理技术,开发了一个基本的CAPP系统,该系统能够根据用户的输入自动生成符合ISO 1464912的文件,转化为MPF文件后在西门子控制器上执行。

    4 结束语

      近年来,国内外学者在STEP-NC领域进行了许多探索和尝试。关于STEP-NC的实现方法,尽管目前还存在一些争议,但两种方法在技术上都是可行的,下一阶段的主要任务是研发高效且实用的数据处理工具。随着实现方法的日臻完善,应用系统的接口问题自然迎刃而解。从技术角度看,以后的主要任务将集中在:①数据模型的扩展和完善;②高效STEP—NC接口工具的研发;③支持STEP-NC的CAD/CAM系统的开发;④智能化STEP-NC控制器的实现技术}⑤加工阶段知识的获取与回馈,以及有关系统和数据的集成等。

    (审核编辑: 智汇张瑜)