您的位置:网站首页 > CAM

STEP-NC和NCML的比较研究

时间:2011-02-27 09:47:24 来源:

随着数控技术的高速发展以及网络化制造的日益兴起,STEP - NC 和NCML 技术随之产生。STEP - NC 为CAD/CAM 与CNC之间建立了无缝连接,NCML成功地在定制加工零件的买卖双方定义了一个清晰的接口。STEP - NC 与NCML都是为制造者提供高质量的信息,并且促进设计与制造的双向通讯,但两者之间还是有所不同。

1 STEP - NC 标准简介

传统的ISO6983 采用G、M 代码指定机床轴的运动,其本质是面向过程,描述如何加工,这种标准已远不能满足数控技术高速发展的需要。为了克服ISO6983的诸多缺点,STEP - NC(ISO4649)应运而生。STEP - NC 是STEP(the Standard for the Exchange of Product model data)标准向数控领域的扩展,重新规定了CAM和CNC之间的数据接口,其本质是面向对象,描述加工什么。STEP - NC 要求CNC系统直接使用符合STEP标准的CAD三维产品数据模型(包括工件几何数据、设置和制造特征等),加上工艺信息和刀具信息,直接产生加工程序来控制机床。STEP - NC 采用工作步骤(Workingsteps)指定加工过程,工作步骤将加工特征和具体操作联系起来,由CNC将其转化为轴的运动和刀具操作。

STEP - NC 产品数据描述使用EXPRESS 语言。产品数据模型包括文件头(HEADER)和数据(DATA)两部分。文件头部分包含加工程序文件名、作者、日期和组织等总的信息,数据部分包含所有几何和加工信息。工程(Project)是文件执行的起点;工作计划(Workplan) 包括一系列工作步骤; 工作步骤将操作(Operation)与工件上某处特征(Feature)联系起来;每一个操作描述要做什么以及使用什么策略和参数设置。图1 是简化的STEP - NC 产品数据模型。

newmaker.com

2 数控标记语言NCML

2.1 XML和NCML

XMLeXtensible Markup Language,可扩展标记语言)是网络上的一种通用数据格式,意在提供Web 上的结构化信息交换机制,从而将Web 从发布媒体转换为一个应用程序处理环境。但由于XML本身只是表达数据的一种规范,需要结合具体的应用行业指定不同的数据规范,才能体现其生命力,因此包括很多分支,而NCML便是其中之一。

NCML是应用XML语言定义的数控标记语言,它成功地定义了用于网络上实现零件加工代码的交互和共享。由于NCML从本质上说是用XML 标记的语言,因此NCML 具有XML本身的一些优势,比如能够实现不同数据源之间的数据交换,能够实现数据的分布式处理等。作为一种使能技术,NCML允许买方卖方企业通过Internet上的电子商务来定制加工零件。NCML描述加工零件的过程规划,能够被现代数控机床转化成刀具轨迹。

2.2 NCML的组成结构

NCML已建立了自己的DTD(Document Type Definition),组成结构如图2 所示。

newmaker.com

由图2可以看出,NCML文档的根元素是“零件描述”,它包含5个部分:

(1)文件头(header):包括零件规格、地址和备忘录三部分文本信息。零件规格包括零件的名称、数量和版本日期;地址包括姓名、电话以及电子邮件等;备忘录可以增加一些附加的信息或者对零件的说明。

(2)工件(workpiece):工件元素详细说明工件的外形,比如是立方体还是圆柱体。工件的材料也可以在这一元素中进行说明。

(3)主体(body):这是NCML 组成结构的最主要元素,用来描述工件是如何进行加工的。按照加工计划,该元素又划分为“设置(setup)”、“式样(pattern)”和“操作(operation)”三个子元素。

(4)刀具装置(tool - set):详细说明工件加工所使用的刀具类型以及具体的参数。虚拟刀具是NCML 中非常重要的概念,通过这个概念用户可以简单容易地定义加工特征,比如孔、型腔等。制造特征和与它相关联的刀具一起定义了NCML 的一个操作,所有的操作均与由点和曲线所组成的几何尺寸相关联。例如,一个孔由一个点定义,一个型腔由一条封闭曲线定义。图3指出了两种不同刀具下的孔操作代码,注意到同一个几何特征可以按照所选的刀具不同而生成不同的加工外形,图3(a)的孔为简单孔,图3(b)的孔为沉头孔。

newmaker.com

(5)公差库(tolerance - lib):公差在设计和制造中具有非常重要的作用。在公差库元素中包括一个或几个“公差设定”子元素,其中涉及尺寸公差和同轴度等公差。在设置、式样和操作等元素中都会涉及到公差。

2.3 NCML 程序实例

本小节给出一个简化的NCML 程序实例,工件示意图如图4 所示。工件的外形为一长方体,具体的加工操作分为三部分:型腔①、孔②和型腔③。以下给出程序的具体代码,注意到程序中出现的符号“// ”以及紧随其后的文字是对程序的说明,在实际的程序中并无此符号和汉字( 程序略) 。

newmaker.com
图4 工件

3 STEP - NC 与NCML的区别

STEP - NC 与NCML都是为制造者提供高质量的信息,并且促进设计与制造的双向通讯。但两者之间也有一些差别。STEP - NC 的目的在于描述加工行为的完整信息,CNC 能够直接执行STEP - NC 进行实际加工; 而NCML目的在于完成设计与制造功能之间清晰的接口,不必一定要提供完整的加工行为的信息,因此NCML 比STEP - NC 简单。“虚拟刀具”概念被NCML 使用,在STEP - NC中没有这个概念。尽管NCML 只有很少的特征类型,但是通过“虚拟刀具”的概念可以描述所有包含在STEP - NC 中的加工特征。NCML 的相对简单使它有可能发展一些基于电子商务的附加特征,比如报价单助手(Quotation Helper)。而STEP - NC 目前还没有类似的功能。STEP - NC 与NCML 的比较如表1 所示。

4 STEP - NC 与NCML 的联系

ISO于1999 年11 月推出了ISO10303 - 28 标准(即“产品数据表达与交换:实施方法:EXPRESS驱动的XML数据表示”),旨在利用XML的网络化数据处理能力,结合STEP良好的应用基础,利用二者的相似点,建立EXPRESS到XML的映射关系,在网络上实现产品信息的处理。目前,国内外各科研机构已对该方面进行了较深入的研究。

STEP - NC 与NCML都是为制造者提供高质量的信息,并且促进设计与制造的双向通讯。由于STEP - NC 是STEP向数控领域的扩展,其描述语言也是EXPRESS;而NCML 从本质上讲也是用XML标记的语言,因此STEP - NC 与NCML之间必然存在比较密切的关系。NCML已建立了自己的DTD,因此EXPRESS语言即可向NCML转化。由图1 和图2 可以看出,STEP - NC 的产品数据和NCML的组成结构具有一定的相似性。可以使用NCML描述STEP - NC 产品数据模型,使用NCML语言描述的STEP - NC 产品数据模型,更加准确简洁,非常适合网络驱动的数字制造。

5 结束语

STEP - NC 和NCML都是一门新兴的技术,正确处理好二者之间的区别,有效利用好二者之间的联系,将有助于产品信息从设计到制造的集成,有利于网络驱动的数字制造。