在线工博会

基于XML的异构PDM系统产品数据交换技术
李海峰 王先逵 吴丹
为节省流量,手机版未显示文章中的图片,请点击此处浏览网页版
1 概述
随着计算机技术和网络技术的发展,以及Internet巨大的规模、丰富的信息资源使得企业与外界的联系越来越紧密,企业界为了充分利用这些新技术和资源为企业服务,呈现出分布化、集团化和专业化的趋势,以及异地设计与制造、动态联盟、虚拟企业等新的企业组织和合作方式,通过企业与企业在产品开发过程中的合作,可以实现优势互补,加强各个企业的核心竞争力,节省大量的低效率投资,提高整个企业联盟的竞争力,快速占领市场,这种企业结盟已成为市场竞争中普遍采用和非常有效的手段。
由多个分布企业协作完成复杂产品(如汽车、飞机等)开发已经成为企业合作的重要特点,分布式企业协作产品开发除了管理模式需要深入研究外,还有一个重要问题是企业PDM之间的产品数据交换的标准问题。由于分布企业使用的PDM系统可能来自不同的软件提供商,即使使用相同的PDM产品,各企业客户化过程的不同,都会造成各个企业PDM系统在对产品数据信息模型表示上存在差异,使得不同企业的pDM系统之间无法相互交换和共享设计的产品数据。由于缺乏统一的PDM产品数据交换标准的支持,使得企业PDM之间的产品数据交换问题一直难以得到有效的解决。
作为一种高效、简单且具有高度开放、兼容和跨平台性能的数据存储和交换标准,XML为分布式企业PDM集成框架提供了一种新的产品数据交换方式。首先,由于XML是一种结构化并且支持对象的文档表示方式,因此可以完整的表示产品数据交换涉及的各种对象。其次,XML具有标记可定义以及格式可约定的特点,很容易在不同企业PDM系统之间建立产品数据交换的具体内容的约定。另外,XML文档很容易被计算机处理,极大的简化了对不同PDM系统的接口程序的开发工作。因此,使用XML文档来表达产品数据交换的具体内容是一个极具前景而又现实的选择。
2 PDM产品数据交换的数据模型
建立基于XML的异构PDM系统产品数据信息共享,首先要对分布式异构PDM系统中产品数据交换所要涉及的数据进行分析和建模,从S863航空CIMS分布式产品数据管理系统实施的情况看,分布式PDM系统数据交换主要涉及3个层次的数据模型:
●零件具体的CAD模型及相关文档(DOC)
●产品的结构模型(BOM)
●工程更改模型(EC)
PDM中管理的文档(DOC)是广义的文档,包括产品整个生命周期中与产品有关的所有产品数据,如产品的三维几何模型、二维工程图纸、各种技术报告、电子报表、实验与分析数据、使用手册、事务处理、工作指令、软件开发文档、各种工程应用程序及数据文件等等。PDM系统使用统一的文档元数据管理模型来实现在企业电子仓库中对各种形式文档进行登记、存取、审批和发放(Release)。
产品结构模型(BOM)是产品数据的组织模型,它是一个树形的数据结构,如图1所示:
图1中的ITEM节点数据对象代表一个零件、一个装配件或一个产品,ITEM的层次关系反映了产品的结构情况,每个ITEM数据对象包括一个ITEM属性数据对象,以及多个DOC数据对象和多个子ITEM数据对象(如果有的话),ITEM属性数据对象是零件或装配件的属性说明。DOC数据对象是各种物理数据文件的元数据,它包括DOC属性数据对象和相应的与物理文件的连接,DOC属性数据对象包括文件名称、文件类型、文件版本以及文件的编辑工具等等,实际的物理文件单独存在,图中用虚线表示。

(图片)

图1 产品结构数据模型(BOM)

工程变更EC(Engineering Change)是对产品数据在产品生命周期的各个阶段中发生变化的记录。工程变更体现为产品数据版本的变化,包括产品结构中构件属性的变更、引用文档的变更以及构件的结构关系和版本关系的变更。PDM系统利用工程变更对象,一方面通过相应的机制可以动态地跟踪变更的过程,另一方面,将EC作为不同版本产品数据的属性之一,记录数据变更的原因、结果和变更过程的历史数据,这为有效管理设计过程、追踪设计过程中的责任提供了支持。
综合文档模型、产品结构模型和工程更改模型,利用UML建模工具,可以用对象关系图来表示,如图2所示。在产品数据模型中通过一个“Item”的概念来表示所有产品零部件(Part)的信息。一个Item是一个企业中的任何事物,它具有唯一的一个标记或标号,用于标识、跟踪或信息化的目的。例如,在产品设计或制造事务中,为了设计、跟踪、更改、定货、制造和库存的目的,可以对唯一的一些信息分配一个Item号。Item可以是部件、最终产品、零件或原材料等,Item的所有物理特性都在PartData对象中表示。每个Item可能有多个文档与它相关联,所有这些关联文档用DOC-Ref对象表示。当Item是部件或产品时,它还可以具有多个子Item,用BOMcomponent对象来表示,BOM是Item和它们所需的数量的集合,通过BOM component对象就可以构成一个完整的产品Item结构树。

(图片)

图2 产品数据模型对象关系图

Item有两种状态:受EC控制和不受EC控制。不受EC控制的Item能够被处理,但是一旦Item置于EC控制下,它就成为受影响的Item并由PDM系统保护起来,这就使得在必须对Item或Item的任一组成部分工作时保持Item的稳定性,或称为Item的一个冻结版本。受EC影响的Item用ITEM-Af-fected对象表示。
用户通过版本管理可以维护一个文档的多个不同的设计级别。当用户建立或登记一个新文档时,用户就建立一个主文档,用DOC-Master表示,并且作为第一个修订版次,用DOC-Iteration表示。用户能够有一个文档的多个版次,从而可以跟踪在设计阶段建立的许多不同版本的文档。
3 基于XML的产品数据交换表示技术
在建立异构PDM系统产品数据交换数据模型后,需要采用文档定义语言(Document Type Defirution,DTD)建立基于XML的产品数据表示模型。首先,我们对分布式企业PDM之间的数据交换的具体形式进行了分类:
●基于文档的交换:这种数据交换只关注某个具体的物理文件,在接收企业PDM系统中需要手工操作来建立与相应产品ITEM的引用关系。
●基于ITEM的交换:这种数据交换通常发生在设计阶段的初期,任何接收企业PDM系统都可以对该ITEM进行修改,不保证该IrIEM在各个企业PDM系统中的数据一致性。
●基于EC的交换:这种数据交换通常发生在设计数据审评发放后的设计更改,只有对该ITEM建立EC约束的企业PDM系统才有权对该ITEM进行修改,其他企业PDM系统只能使用,不能修改,这样保证了该ITEM在各个企业PDM系统中的数据一致性和完整性。
以上三种数据交换形式由低层到高层可以构成一个复杂的树型数据结构,即一个EC交换,可以包括多个ITEM的交换,一个ITEM可以包括多个子ITEM以及多个文档的交换。通过对以上三种数据交换内容的分析,我们可以制定出相应的使用XML来表示的产品数据交换的数据表达模型。首先要按照产品数据交换的对象参考模型框架,确定交换的数据对象和内容,按照一定的映射规则,用XML标记直接与产品数据模型对象和属性相对应,然后分别基于XML制定通用的文档类型定义(DTD),即定义XML文档的数据结构和使用的标记,在此基础上就可以构造出符合规范的、包含具体产品数据交换内容的XML文件,它不依赖任何具体的PDM系统。PDM产品数据到XML相应的映射规则如下:
●基于EC(或ITEM,文档)交换对象集合映射为DTD中的工程更改夹(或ITEM夹,文档夹)根元素;
●EC(或ITEM,文档)交换对象集合的子对象映射为DTD中的子元素;
●EC(或ITEM,文档)交换对象的属性映射为DTD中的“元素(ELEMENT)”标记内容;
●EC(或ITEM,文档)交换对象的编号(id)映射为DTD中的ID属性;
●EC、ITEM、文档对象之间的引用关系映射为DTD中的一个“元素”,该元素保存指向引用对象的编号id;
●高层交换中的低层交换对象映射为DTD中的“实体( ENTITY)”,即在EC交换中,ITEM对象映射为DTD中的实体;在ITEM交换中,文档对象映射为DTD中的实体。
依据上述规则,图3~5分别是基于上述三种数据交换内容转换的DTD范例:
图3~5只是产品协作开发过程中三种主要数据交换形式的DTD规范示例,提供了产品数据XML表达的一般方法,根据具体使用的PDM系统对产品数据内容管理要求的不同,相应XML的DTD文件会需要进行适当的重新定义。

(图片)

图3 文档交换数据类型定义文件

(图片)

图4 ITEM交换数据类型定义文件

(图片)

图5 EC交换数据类型定义文件

4 基于XML的产品数据交换实现技术
为了满足分布PDM系统之间产品数据交换的需要,除了建立统一标准的产品数据信息XML描述外,还必须建立实现不同PDM系统产品数据输入和输出的接口程序,以及基于统一集成平台的数据传输服务,如图6所示。图中的PDI/XML格式文件记录了被交换数据对应的管理信息,即产品结构信息、零部件属性信息(如名称、标号、类型、下属零部件关系等)、零部件与物理文件的对应关系、物理文件属性信息(如文件名称、类型、编辑工具、版本等)、以及工程更改信息(如更改标号、有效性等)。图中的产品数据物理文件是广义的文档,包括产品整个生命周期中与产品有关的所有产品数据,如产品的三维几何模型、二维工程图纸、各种技术报告等等。图中输入/输出程序接口是针对不同PDM系统的与标准产品数据交换文件的接口转换程序,它负责将各异构数据源的数据转换成可以交互的格式,即XML格式。由于采用标准的XML接口,一方面使得开发者不必再去为各种数据格式开发不同的应用程序,只要统一的针对XML方式进行开发即可;另一方面,在XML文档处理上有许多的编程资源可以利用,如DOM和SAX等。这样,基于XML数据交互的应用程序开发就会变得非常简单。

(图片)

图6 分布PDM系统产品数据交换

图中集成框架的数据传输服务为分布PDM系统之间的数据交换提供数据传输与管理。通过制定标准的产品数据接口文件规范和开发相应的分布PDM系统输入、输出接口程序,利用集成框架的数据传输服务功能,能够实现分布式PDM系统之间产品数据的交换与共享。
5 应用实例
基于XML的产品数据交换技术为航空工业厂、所之间不同PDM系统实现数据交换与共享提供了应用基础,解决了不同企业的PDM系统之间无法相互交换和共享设计数据的问题。通过应用统一的产品数据交换DTD模型,与PDM系统输入、输出的XML文件绑定,实现了合作企业之间产品数据的共享。图7是基于工程更改数据交换的一个实例。
6 结束语
由于XML是开放的国际标准,不受某一公司的垄断,而且有许多现成的工具可以使用,因此利用XML技术来实现异构PDM系统之间产品信息的交换与共享,是一种简单并行之有效的手段。本文对分布PDM系统产品数据交换进行了数据分析和建模,提供了相应的XML表示方法和实现途径。目前XML理论和技术还在不断发展之中,虽然本文定义了简单的XML产品数据交换规范(DTD文档),但要形成行业应用的规范,还需要各个方面的努力。 5/23/2013


电脑版 客户端 关于我们
佳工机电网 - 机电行业首选网站