工艺计划用来表示零件加工所需的各种工艺信息。这些信息包括工序、工步、机床、刀具、夹具和切削参数等。工艺计划作为CIM和CE环境下的一个重要信息源,被CAM、CAFD(计算机辅助夹具设计)、CATD(计算机辅助刀具设计)、PPC(生产设计与控制)等许多环节所引用和共享,工艺计划的表达格式将直接影响CAPP与这些系统间的集成。因此,如何建立一种合适的、能为计算机所处理的工艺计划表达与交换格式是十分必要的。目前,工艺计划的表达问题已引起许多研究者的关注。其中国际标准化组织ISO在STEP标准制定中对标准化工艺计划模型的研究就是一个最好的例证。
1 工艺计划信息模型的研究现状
关于工艺计划信息模型的研究,目前在国际上影响最大的主要有两个:ISO工艺计划模型和美国国家标准局(NIST)工艺过程定义语言ALPS。
1.1 ISO工艺计划模型
ISO工艺计划模型的目标是描述执行工艺过程每个步骤所需的信息。它试图提供一个通用的模型组件集合,使得任何工艺过程,如制造、装配、检验、维护、测试、修理等,都能利用这一组件集合。ISO工艺计划模型利用工艺计划活动(ProcessPlanActivity)的概念来递归地定义工艺计划。工艺计划活动具有一个叫“活动”的属性,它是指一个工艺计划集合。工艺计划集合的每一个元素引用另外的工艺计划活动,这样就形成了递归的结构。图1.1是ISO工艺计划模型的递归结构。
1.2 工艺过程定义语言ALPS
与ISO工艺计划模型相平行,美国NIST提出了工艺过程定义语言ALPS(ALanguageforProcessSpecification),美国NIST希望用它作为离散机加工工业中的工艺计划通用模型。与ISO工艺计划模型不同,ALPS不是国际化标准,而是一种实验语言。它是建立在有向图结构的基础上,图中每一个结点都具有自身的属性和系统定义的属性。ALPS定义了终端结点、任务结点、分离结点、合并结点、综合结点、资源结点和信息结点等七种类型的图形结点。图1.2是用ALPS表示工艺过程计划的一个有向图实例。图中合并结点(AND)表示平行活动,分离结点(OR)表示可选路线,从起始结点A到终止结点I表示了整个工艺过程。
上述两种模型均处于研究和开发阶段,许多方面都有待于进一步完善。如ISO工艺计划模型在表达活动间的顺序关系上并不是通用的,不能表达一个活动集内的互斥关系。此外还有许多ISO工艺计划模型的控制模式没有涉及到的情况,这些问题主要是因为该模型过于强调通用性。与ISO的工艺计划模型相比,ALPS能够显式地表达两个结点间的顺序关系,并且具有试图捕获PPC的控制意图。但是,ALPS的控制性使它失去了通用性,它无法在同—个模型里表达两种不同的系统视图。另外,ALPS的语义定义也还不完善。
2 工艺计划信息建模策略
一个模型过于强调通用性,将影响它在具体领域的实际应用,而过于强调某一方面的要求,则又影响其通用性。上述两种风格的模型,就存在这些问题。如果将两者适当结合,可能更有助于实际应用。所以,我们一方面将工艺计划的描述主要局限于零件的制造工艺过程,另一方面从相关的多个应用系统信息需求出发,来建立工艺计划模型,并且将模型的形式化表达与计算化实现结合起来,从而使所建立的模型具有实用性,并且为通用化模型的建立提供一个基础。nextpage
基于上述思路,我们将分析CAFD、CAM、PPC等系统对工艺计划信息的需求,用STEP的EXPRESS语言建立统一的工艺计划信息模型。
2.1 CAFD对工艺计划信息的需求
CAFD需要输入三类重要信息:零件信息工艺计划信息和已有夹具元件信息。其中,需要作为CAFD输入的零件工艺计划信息主要包括三个方面:(1)零件定位方案,包括定位特征、加工特征和干涉特征;(2)加工特征的加工方法和加工刀具;(3)切削参数。
其中零件定位方案影响夹具定位元件的设计和夹紧方案的确定,加工特征的加工方法与加工刀具影响夹具结构配置,切削参数则影响夹紧力计算。
2.2 CAM对工艺计划信息的需求
CAM要生成完整的NC程序和完成加工过程仿真,需要三类信息:零件几何信息、工艺计划信息和制造环境信息。其中,工艺计划信息主要包括以下两方面:(1)工步顺序;(2)工步参数,包括工步号、加工特征、加工刀具、切削参数、走刀次数等。
其中,工步顺序影响刀具路径的优化,工步参数是生成完整NC程序的依据。
2.3 PPC对工艺计划信息的需求
CAPP与PPC的集成是实现CIMS环境下企业系统结构和决策过程优化的重要方法之一。CAPP和PPC的集成对工艺计划的表示问题提出了新的要求。与多层次的企业组织结构相适应,PPC系统也是一个多层次的递阶控制系统。由于该系统每一层次的功能不同,所需的工艺计划信息的层次也不相同。上层的生产设计需要有关工艺路线信息(包括工艺方法和相应设备),底层生产设计及控制则需要详细的工序信息(包括刀具、夹具、切削条件等).这就要求工艺计划的表示能满足以下要求:(1)内容上满足多层决策的需要;(2)功能上必须能表示多个可选的工艺计划;(3)描述方面采用结构化和模块化形式以满足分布式规划的需要。
3 面向对象的分层工艺计划信息表达
根据上述信息需求分析,本文提出了面向对象的分层工艺计划信息表达方式,如图3.1所示。工艺计划的表达分为工艺计划、工艺路线、工序、装夹、工位、工步和走刀等7个层次。其中工艺计划层主要是针对PPC系统的要求而提出的,因为生产设计部门通常一次要安排一批零件的生产并考虑相应的生产均衡问题,所以这里工艺计划包括了一批零件的工艺路线。工艺路线层是针对单个零件而言的,每个零件可以包含各自的可选工艺路线。工艺的可选性主要通过对象的“或操作”方法对其于对象实体集合的操作来完成。图中用菱形表示的内容即为对象的操作方法。图3.1中主要表示了两种对象操作方法:“与操作”和“或操作”。“与操作”表示对平行任务的处理,“或操作”表示对可选方案的选择。例如,工序层的“装夹或操作”方法用来完成工序层对其下层装夹集中的可选方案的选择。
以上的表示方法,具有如下优点:(1)工艺计划分层表达,便于CAPP与PPC在各个层次上的并行集成;(2)按层次封装各自的属性,方便了特定应用的需求,如CAFD主要利用装夹层的信息,CAM主要利用工步层和走刀层的信息等;(3)将属性和方法封装在一起,方便了特定层次的信息处理,如平行任务的处理和可选方案的选择等。
4 工艺计划信息模型的EXPRESS表示
按照图3.1所示的面向对象的分层工艺计划信息表达方式,我们可以利用EXPRESS建立工艺计划信息模型,如图4.1所示。需要指出的是,图4.1没有表示出图3.1中的方法,这是因为EXPRESS本身没有这样的功能,方法的描述必须由人工交互地加入EXPRESS语言中。
5 基于STEP的面向对象工艺计划信息模型的实现
工艺计划信息的EXPRESS模型是属于概念模式的信息模型,与具体的实现方式无关,而支持STEP数据交换与共享的底层实现机制必须是某种形式的数据模型。因此,存在着EXPRESS模型向底层实现机制的转换问题。根据底层实现机制的不同,相应的转换内容和映射规则也不一样。下面主要介绍两种类型的转换。
5.1 EXPRESS模型向STEP中性文件的转换
STEP中性文件是一种统一格式的正文和编码,和EXPRESS一样,STEP中性文件结构也以形式化语法描述,可以较容易地用计算机处理。STEP中性文件的格式,一部分是标准定义的实体,另一部分是与要交换数据模式有关的实体,有关的部分必须通过映射规则来确立。EXPRESS作为一种信息建模语言,包括了说明、执行语句和算法等,但是STEP中性文件的实现形式,只能将说明部分映射到中性文件,而执行语句和算法不作映射。说明是EXPRESS描述数据的静态部分,其映射主要包括两部分:数据类型映射和实体映射。数据类型映射是用中性文件的数据类型来表示EXPRESS数据类型,实体映射主要是实体的属性映射。STEP标准定义了它们相应的映射规则。
5.2 EXPRESS模型向c++的转换
EXPRES3语言吸收了许多语言的功能和特点,特别是Ada、C、C++、PasCal、SQl等,可较方便地实现EXPRESS模型向C或C++的转换。C++是目前广泛使用的面向对象设计语言,它可作为许多面向对象数据库管理系统的模式描述语言和宿主语言。EXPRESS模型向C++语言的转换可支持使用C++语言开发的STEP应用系统,并可作为使用C++语言的面向对象数据库的模式。