基于产品生命周期的PDM系统开发方法

发布时间:18-05-08

基于产品生命周期的PDM系统开发方法

1 PDM系统信息集成的主要模式
    集成不是将机器、计算机软硬件或接口进行简单地联接,而是利用信息技术统一规划和设计,优化重组各种资源和应用,从而实现具备功能交互、数据过程管理与优化、信息共享的协同工作整体。PDM具备作为集成平台的条件,与其他系统集成,有助于工作人员协调地开展工作,使得企业工作效率得到提高。
 
    PDM系统信息集成的主要模式有以下三种:
    (1)应用封装模式。该模式是为了实现不同应用软件间文件信息共享的集成模式,其内容涵盖应用软件本身与该应用软件产生的文件两部分:通过激活存储于PDM系统中的文件,能够打开相应的软件,并在该应用软件中进行文件的查看、编辑等操作;由该软件产生的文件能够被PDM系统认可,存储于PDM系统中,并对其进行统一控制与管理。封装模式只能对应用软件产生的文件进行整体操作,无法对文件内部信息实现提取、编辑、更新等操作。
 
    (2)接口模式。该模式比封装模式集成层次高,能够在应用软件产生的文件中提取需要共享的内部信息,自动转化为PDM系统认可的形式,并将其存储与PDM数据库中。同时,也可通过提取PDM系统中现已存储的信息,修改或更新应用软件产生的文件的内部信息,保持两者异步一致。此外,应用程序自身可以作为一种特有的数据模型嵌入PDM环境中。
 
    (3)紧密集成模式。该模式实现的是所有集成模式中最高层次的集成。在紧密集成模式中,应用软件上与PDM系统能够相互调用对方的功能和服务,使用户在前后一致的环境中工作。只要两者其中之一发生了变化,则另一个自动随之改变,始终保持PDM系统与应用软件间信息的同步一致。这种模式的实现需要取得PDM开发商和应用软件开发商的紧密配合,开发过程复杂,工作量大。
 
2PDM与CAD的集成模式分析
    CAD与PDM集成是指利用计算机技术,将CAD软件同PDM系统相结合,从而完成产品设计数据的存储和管理。
 
    CAD系统产生的信息具有信息量大、类型多等特点,作为所有产品信息的源头,能够得到有效管理对产品生产后续环节影响深远。所以,CAD系统与PDM集成是CAD/CAPP/CAM与PDM集成中重要环节之一,也是CAD/CAPP/CAM与PDM集成中难度最大的环节。CAD系统产生的数据类型多种多样,为保证PDM与CAD两个系统数据变化的同步或异步一致,针对不同的数据类型,需要用不同的集成模式实现集成。
 
    在设计过程中设计人员利用CAD软件大量设计文档,有三维模型文档、二维模型文档、产品结构树和配置信息等。与CAD的集成不仅仅是对文档本身的管理,还需要对产品结构进行管理。本课题为实现了三维CAD软件与PDM系统的集成,现对三维CAD与PDM的集成模式做如下分析:
 
    通过封装模式,将三维CAD软件本身作为一个对象封装在PDM系统中,设计时可以直接启动该CAD软件,也可以通过PDM系统启动软件进行设计,设计结束后,设计文件存储在PDM系统数据库中,并由PDM进行统一管理。如需对PDM数据库的CAD文件进行修改时,可在PDM环境下调用CAD软件,直接编辑该文件。这种集成模式将CAD文件看作一个整体,难以满足CAD文件内部数据共享的应用集成。为实现产品结构信息等文件内部数据共享,需要采用高层次的集成模式。
 
    采用接口模式进行集成,PDM系统与三维CAD系统便建立了统一的数据结构:PDM系统通过CAD软件的API接口提取CAD文件中的装配树中零部件标识符、名称、结构层次关系等信息,在PDM系统中建立起产品结构树;或者通过修改PDM系统中的产品结构树更新CAD文件中的装配关系,保证数据的异步一致。采用接口模式,CAD环境下要有PDM的功能菜单,方便设计人员在设计时运用PDM的部分功能;PDM系统也要具备CAD系统的部分功能。
 
    紧密集成模式能够实现三维CAD与PDM的“无缝”集成,保证数据同步一致。但这种模式实现起来非常复杂,需要获得PDM和CAD制造商的支持,获取系统内部数据结构容易获得,对于中小型制造企业而言,成本过高。
 
    综合上述分析,文中结合封装模式与接口模式实现三维CAD与PDM双向集成。封装模式用于实现对整个CAD文件的操作,如查看、修改、批注CAD文件等;以接口模式实现PDM与CAD系统的集成,开发者只需熟悉CAD相关操作和通过CAD软件提供的API编写相关程序即可实现所需功能,不需要了解CAD具体的内部结构,能够保证PDM的产品结构树与CAD模型的装配关系的一致,并且在CAD环境下集成PDM的部分功能。
 
3 CAD与PDM系统数据交换技术
根据CAD与PDM集成的需求,CAD与PDM交换与共享的数据主要有:
    (1)产品模型数据。利用CAD软件进行产品设计,会产生大量的以文件形式存在的显性数据,这就是产品模型数据,它们在下次设计参考、后续的工艺、制造等环节会被使用。因此,需要PDM对其进行统一管理,包括将这些模型数据上传到PDM数据库中和将PDM数据库的模型数据下载到本地进行编辑修改或重新设计。
 
    在文件管理与文件传输等过程中,文件本身作为一个个对象被操作,其内部的结构和属性数据不需要我们了解。然而,文件又是相互关联的,上传装配体模型并非复制构成该装配体的零部件本身,而是对其进行引用,并将相关联的图档一起上传到PDM系统中。
 
    (2)产品结构与属性数据。相对于产品模型数据的是产品结构与属性数据,它是一种隐性数据,隐藏于由三维CAD软件设计的三维模型数据内部。它包括部件的结构数据与零部件的造型数据两部分。如何提取部件结构数据和零部件名称等属性数据形成树形结构,传入PDM数据库,并在PDM中自动生成树形结构,是课题研究的重点。
 
3.1产品设计环境下集成PDM功能的插件的设计
    在CAD环境下,零部件的三维模型、内部结构、名称、数量等隐性数据被直观表达;而PDM系统对零部件的管理大都将它们看成一个个整体进行操作,对内部数据的处理较少。因此,CAD获取PDM数据的情况很少发生,但是,CAD软件经常需要使用PDM的功能:使用PDM的图文档管理功能统一管理CAD文件,实现文件的快速检索,支持产品设计调用;使用权限管理功能使得用户不能对CAD文件进行权限以外的操作,保证了CAD文件的安全;使用PDM的工作流管理功能实现产品开发过程的任务分配、流程追踪、协同工作。
 
    现对CAD中需要用到的PDM数据做如下分类:
    (1)用于指导产品设计的辅助设计文档。设计人员在CAD环境下设计时,需要必要的技术文件及其管理,PDM的图文档管理功能能够满足这些要求,它将与设计相关的各种资料统一管理,在设计环境下使用这些数据有助于设计人员快速、规范地进行产品设计。
 
    市场上的CAD软件大都是支撑软件,难以满足不同企业的设计需求,因此,企业必须根据实际需要进行CAD软件的二次开发,进而构建适合自己的CAD应用系统,需要存储于产品设计辅助数据库中的辅助设计文档有:技术标准与规范及设计基础技术资料,如4.1表所示。
 
    其中,有些标准能从市场上购买得到,一些标准需要企业进行专门制定。这些辅助设计文档种类丰富,包括了文本、表格、图形、公式等,作为产品设计的基础文档,是CAD应用系统不可或缺的数据。随着PDM在企业的实施应用,可由CAD系统调用PDM系统的功能和数据库中的这些数据,用于指导产品设计。
 
    (2)用于指导装配的产品结构树。支持PDM产品结构树自动生成的方法将在下一节讨论到。此外,PDM系统还应具备产品结构树的手动生成:理想情况是设计人员在CAD中完成各零件的建模,读取在PDM中根据自己设计的产品结构手动生成新的产品结构树,进而完成产品装配模型。当前难以通过程序实现三维CAD软件的自动装配,所以,产品结构树只能作为指导设计人员完成装配过程的参考。
表4.1辅助设计文档

4.1.jpg

    (3)用于快速装配的通用零部件。PDM系统图文档管理模块的通用零部件库是基于成组技术,系列化、模块化、标准化技术建立的,这样有利于实现快速检索和新产品的快速设计(通过调用库内现有零部件构成新产品或对现有零部件进行变型设计产生新产品)。CAD运用PDM这一功能使得产品设计人员的重复劳动大为减少、产品设计周期变短,有利于产品设计能力与水平的提高和生产管理的优化。
 
    本课题用于集成的PDM系统是原型系统,选用SolidWorks 2010作为CAD的代表。设计了PDM与SolidWorks集成的功能架构,如图4.1所示。

4.1.jpg

    SolidWorks端具备以下功能:
    (1) PDM登录:为保证系统数据的安全性,插件需具备登录系统功能。登录界面需要用户输入正确的用户信息,方可实现用户在CAD环境下访问和操作PDM系统。
    (2)设计参照:能够进行图档检索、BOM检索和相关手册与规范的检索。在产品设计过程中,通过读取己有相同或相似的产品结构树,以指导新产品的设计以及装配。
    (3)图档检入:在产品设计完成后,将产品的所有设计信息或者是检出修改后的所有信息通过工作流程载入到PDM中,从而在SolidWorks系统中实现工作流管理。
    (4)图档检出:指当需要对己经上传到服务端的SolidWorks文件进行修改,则将其下载到客户端后对该文件进行编辑。
    (5)退出:当用户完成PDM相关功能的操作后,需要关闭当前的PDM系统。

    为在CAD软件中集成PDM系统的功能,需要用到SolidWorks API实现插件的设计与开发。SolidWorks API (SolidWorks Application Programming Interface)是为实现SolidWorks软件客户化定制,二次开发SolidWorks的应用编程接口。
 
    有了这样的接口,用户不需要了解SolidWorks具体内部数据结构,只需对该接口进行开发,就能实现所需功能。SolidWorks API部分组织结构如图4.2所示,从图中可以看出组成SolidWorks API对象有多个层,每一层包括多个对象,位于SolidWorks API顶层的S1dWorks对象,可通过它设置SolidWorks的系统环境、直接或间接访问其它API对象、实现应用程序文件新建、打开和关闭等操作。
 
3.2 PDM环境下产品结构树的自动生成
    在PDM环境下,主要是以封装模式实现预览、直接启动和编辑CAD模型,以及在工作流管理模块的审批流程中实现CAD模型批注;以接口模式实现产品结构树的自动生成。
 
    将CAD产品结构转化为PDM中的产品结构树的过程:在读到产品的装配信息后将其写入PDM的数据库中存储起来,并由PDM进行管理。在实际开发软件时,对PDM数据库的各种操作需要通过客户端对PDM服务器发送请求,必要时需要请求代理。限于篇幅,本课题是在客户端直接对PDM数据库进行操作。因此,文中实现的直接将从SolidWorks得到的信息写入PDM数据库,并在PDM界面中自动还原成产品结构树。为获取产品结构树,并将其显示于PDM系统中,需要用到SolidWorks API。
 
    为获取产品结构与属性数据,又能使PDM系统和SolidWorks软件独立运行,减少相互间的干扰,本文通过调用SolidWorks提供的API函数获取产品的设计信息。SolidWorks API函数可以从零部件级、特征级和几何级对模型进行任何操作,由于SolidWorks提供的API函数定义了上百个对象,开发者只有根据实际的功能需求,查阅相关资料,掌握如何使用所需对象的属性与方法。

    我们可以按照SolidWorks模型中的装配层次查找并记录子节点。为实现SolidWorks模型数据向PDM产品结构树集成,即完成在SolidWorks设计环境下直接将产品装配关系转化为PDM环境下的产品结构树,我们需要开发这个接口。
 
4 PDM与CAPP的集成分析
    CAPP与PDM的集成在内容上可分为四类:用户信息集成、数据集成、文档集成和过程集成。立足于当前该企业实际的业务流程与数据信息的需求,本文基于组件调用、工具集调用和应用程序封装等技术,采用封装模式对PDM系统与CAPP系统间需要共享的数据和功能进行集成。
 
    在CAPP系统中能够利用PDM系统的检索功能检索其相关工艺信息,指导编制人员利用PDM系统提供的产品结构树和工艺技术文件进行工艺编制,并且将生成的所有工艺文件和相关信息提交PDM系统底层数据库进行统一管理,为新产品的设计与开发提供参照;在PDM系统能够实现车间、刀具、材料、机床等信息的查询,并且利用Auto Vue控件能够实现工艺文件的预览、批注和打印等功能。
 
    为了实现过程的集成,工艺工作流程由PDM系统的工作流模块进行数字化管理,该企业工作流程如图4.4所示:工艺流程在PDM系统中处理,当需要建立工艺工作流,工艺人员成功登陆 PDM系统后,界面会出现任务提示,通过工作流启动CAPP系统,完成工艺任务后提交校对,如校对通过,则进行审核归档等后续流程,若校对不通过,返回工艺人员重新编制。

4.4.jpg

5 PDM与CAM的集成分析
    CAM系统与PDM系统需要进行数据交换的信息主要是文档信息,如产品模型、刀位文件、NC代码等,所以,本文采用封装模式实现二者集成,将CAM系统的刀位文件和NC代码等文档信息交由PDM中进行统一管理。
 
6图形文件的存储机制
    将图形文件以二进制Blob格式存入PDM系统数据表字段中,能够很好的保证图档的安全性,并且便于图档管理。然而,图形文件占有空间大,全部存储于PDM系统数据库中导致数据存储量过大,可想而知,对数据库进行频繁操作,如查询数据表,势必会加重服务器负担,影响查询速度;并且,这种将图形文件转化为大字段的方式使得图形文件在转化时失去矢量特征,用户进行查看时已经不能局部放大。
 
    考虑到上述方法这些弊端,本文采用的方法是:将图形文件保存在PDM系统服务器硬盘上,以它们存在服务器硬盘的地址,保存于数据表的字段中,这样,地址就是指向特定图形文件的指针。这样,大大减少了数据库的负担,提高了用户查询速度,并且图形文件的完整性得以保证。在本系统中,除了图形文件,一些文档文件等,均以这种方式进行存储。
 
    如图4.5所示,一个产品(如产品1)的所有图档存储在硬盘中的一个独立的文件夹中(该文件夹名称是产品1),组成该产品的每一个部件(部件2,…,部件n)存储在该文件夹下的一个个文件夹中,这些文件夹用以上每个部件命名,每一文件夹存储着该部件所有的部件文件夹和零件图图档。

4.5.jpg

7产品结构树中节点的添加与删除
7.1产品结构树节点的添加
    在本系统中,产品结构树节点的添加方式有两种:一种是手工录入;另二种是自动添加,即引用已经归档的零部件。当采用节点自动添加这一方式时,会出现以下情况,假设某一部件A是部件B的子节点,倘若这时,由于误操作等种种原因,在部件A下自动添加了部件B作为其子节点,发生这种情况后,读取数据表,递归查询就成了死循环。
 
    为了解决以上问题,本文利用数据库的触发器这一功能,在节点添加时启用触发器检查数据的合法性,对任意节点n1下添加节点n:的检验流程如下图4.6所示。

4.6.jpg

7.2产品结构树节点的删除
    在对产品结构树节点进行删除操作时,容易出现断层现象:即删除某一节点时,以该节点作为父节点的子节点并没有删除。
    考虑到这种情况,本文采用后序递归遍历算法,删除某一节点时,要判断该节点是否存在子节点,如果没有,程序删除该节点,如果存在子节点,找到所有子节点删除后,再删除该节点。删除节点的流程机制如图4.7所示。

4.7.jpg

8本章小结
    本章结合该汽车企业当前的实际情况,通过对PDM与cAD系统、PDM与cAPP系统、PDM与CAM系统的集成模式分析,提出了相应的集成方案。阐明了PDM与CAD信息集成的具体实现方法,设计开发了一个集成PDM功能的CAD插件,研究出一套自动生成产品结构树的算法。最后,针对系统开发中涉及的其它关键技术问题如图形文件的存储机制、产品结构树节点的添加与删除等,进行了详细的分析,给出了具体的解决方案。
 
本文为御云清软英泰PLM软件原创文章,如想转载,请注明原文网址摘自于

http://www.plmsoft.com.cn/news/gsxw/143.html;否则,禁止转载;谢谢配合!