摘 要:设计了基于PDM(iMAN)的CAPP系统的构架,着重研究了CAPP与iMAN的集成、工艺数据的数据库存储与JAVA本地动态连接库调用等关键技术。在此基础上开发了基于iMAN的CAPP系统——iMANCAPP,通过PDM(iMAN)这一CAD/CAPP/CAM的集成平台,不仅可以实现对工艺设计过程的管理,还可以与同样构造在PDM(iMAN)平台上的其它应用系统紧密集成。该系统已在企业运行,取得了满意的效果。
关 键 词:计算机辅助工艺设计;产品数据管理;集成
PDM是当今计算机应用领域的重要技术之一,PDM可以统一管理与产品有关的全部信息。因此CAD/CAPP/CAM之间的信息传递都变成了分别与PDM之间的信息传递。CAD/CAPP/CAM从PDM系统中提取各自所需要的信息,各自应用的结果也放回到PDM中去,从而真正实现了CAD/CAPP/CAM的集成。因此,PDM系统在企业信息传递过程中起到桥梁作用,是CAD/CAPP/CAM系统的集成平台。将CAPP系统建立在PDM平台上不仅可以实现对工艺设计过程的管理,还可以与同样构造在PDM平台上的其它系统紧密集成,满足实施并行工程的需要。随着企业信息化的启动,基于PDM平台的CAPP系统必将成为一个发展趋势[1~5],将CAPP系统构筑在PDM平台上是企业级CAPP系统的一个重要特征。
iMAN是UGS公司的PDM产品,通过其提供的二次开发接口,开发CAPP系统,可以实现与iMAN系统的嵌入式集成。本文设计了基于iMAN的CAPP系统的构架,研究了CAPP与iMAN的集成方式、内容与实现的技术途径等,在此基础上开发了基于iMAN的CAPP系统——iMANCAPP。目前该系统已在某企业得到了具体的应用,有效地解决了该企业信息化建设中的瓶颈问题,取得了满意的效果。
1 基于iMAN的CAPP系统的体系结构
1.1 iMAN软件结构iMAN采用多层结构(如图1所示)。用户界面层用于实现iMAN系统同用户的交互功能,应用层用于实现用户对iMAN中数据进行操作和利用,核心层的主要模块是持久对象管理器,它允许应用层在数据库更高层次上操纵数据,最底的系统层提供核心层和ORACLE关系数据库的连接。iMAN程序的多层结构软件构架使得各层之间只能和父层、子层通讯,不能跨层通讯,这样程序更利于扩充,改变某层不会影响到其他层。
iMAN系统提供两种不同的二次开发接口:一种是基于C语言的ITK(IntegrationToolKit)接口;另外一种是用基于JAVA语言的iMANPortal接口。ITK和iMANPortal只是在语言实现上不一样,而接口逻辑却是一致的。iMANCAPP系统是通过iMANPortal二次开发的。 (图片)
图1 iMAN的层次结构 1.2 iMANCAPP系统设计
iMANCAPP系统处在iMAN的应用层,这样不但使用户界面可以统一,而且也可十分方便地获得PDM其它模块数据。iMANPortal为应用集成模块开发提供健壮的应用集成框架(ApplicationIntegrationFramework,AIF)。AIF可提供一套标准类作为客户开发应用程序时的基础类,同时提供标准的类注册工具。这样,iMAN运行时将动态加载客户应用程序,然后调用标准接口,从而达到应用模块的动态集成。图2是iMANCAPP系统的总体结构。(图片)
图2 iMAN-CAPP系统的总体结构 2 关键技术
2.1 CAPP与iMAN的集成
(1)集成方式
CAPP系统同PDM系统的集成是企业信息化发展的必然结果。不同的集成方式,对系统之间数据的传输有重大影响。目前CAPP系统同PDM系统集成的方式大致有三种[3~5]:
1封装性集成。封装性集成是指CAPP系统同PDM系统只是简单地通过操作系统的文件类型进行关联,只能做到CAPP工艺文件交由PDM系统进行管理,而工艺设计过程中PDM数据是无法传递给CAPP系统的。
2单向数据库集成。单向数据库集成是指通过中间文件,或共享数据库数据表来实现数据的单向传递,一般只能从PDM系统传入CAPP系统。
3嵌入式集成。嵌入式集成有两大特征:CAPP系统同PDM系统采用同一个工作界面:CAPP系统与PDM数据间的双向集成。
iMANCAPP系统采用嵌入式集成方式(如图3)。由图3可以看出:CAPP系统实际上是作为iMAN的子模块嵌入在iMAN系统中,CAPP模块同iMAN的其它模块处在iMAN系统的同一层次上,它们之间的数据传输通过iMAN提供的数据共享池来实现。(图片)
图3 CAPP同iMAN集成的框架 (2)集成内容与实现
1产品结构树集成。产品的设计过程,在iMAN系统中通过产品结构树节点的增长来体现。CAPP系统的一个重要功能是从PDM中获得产品结构树,并转化为工艺结构树,生成工艺后再把这颗树存回iMAN。iMANCAPP系统通过iMANPortal或ITK接口可以方便地获得iMAN系统中的产品结构树,从而可以得到工艺设计中需要的各种数据,工艺设计模块完成工艺设计后将结果存入iMAN系统中,产品结构树相应增长一个工艺节点。
产品结构树的集成是通过iMANCustomForms来实现的,系统定义了一种Form类型——CAPPForm,即每个CAPPForm对象对应的是一种工艺卡片类型。工艺人员在进行工艺规程设计时,实际上没完成一种工艺卡片的编制,只是在产品结构树上增加一个CAPPForm节点。由于iMAN系统本身对iMANForm的支持,及iMANForm数据存储和显示的分离特点,使得这种结构不但适合于CAPP同iMAN结构树集成,而且也可以通过iMAN系统和其他信息系统集成在一起,如MRPII,ERP系统。CAPPForm是连接工艺数据库的桥梁,系统先获得CAPPForm中数据,即工艺数据库的关联数据,再通过关联数据获得工艺数据本身。
2BOM表集成。CAPP系统可以从iMAN系统中获得产品设计BOM,经过工艺设计后转化为制造BOM,并存入iMAN系统中。由于CAPP系统是嵌入在iMAN系统中的一个模块,具有标准的Application Integration Framework结构,因此,CAPP同iMAN的集成可以方便的通过CAPP模块和iMAN系统中产品结构配置(PSE)模块集成实现,而CAPP模块同PSE模块通讯只要添加一个初试化函数即可。
3CAPP同PDM的功能集成。CAPP借用PDM的项目管理、流程管理、版本管理、权限管理功能,使得CAPP系统自身的功能压缩到最小限度,提高系统的运行效率和功能的集成度。
2.2工艺数据数据库存储
工艺数据作为工程数据的一种形式,其独特的特点是:
(1)数据类型复杂。工艺数据不仅包含了传统数据中的数据类型,而且还涉及到它们中所没有的变长数据、非结构化的长字串、具有复杂关联关系的图形数据、过程类数据等。
(2)动态的数据模式。动态工艺数据是在工艺设计过程中由各个问题求解行为所产生的中间及最终设计结果,在问题求解过程中,必须具备动态数据模式来支持对上述数据的处理。
(3)数据结构复杂。工艺数据的复杂数据类型及动态数据模式的特点,又导致了其数据结构的复杂与实现上的困难。
工艺数据存储方式有三种:文件存储、数据库存储和混合存储。由于工艺数据数据库存储相比文件存储拥有管理方便,数据冗余少,易于共享等优点,因此,工艺数据的数据库存储是当前CAPP系统发展趋势。
工艺简图采用二进制形式存储。二进制形式(BLOB)数据字段同其它字段如INT、CHAR字段表现形式是一样的。程序人员可任意应用SQL语法对该字段进行操纵,存储的底层操作都由数据库系统完成。操纵ORACLE数据库中的BLOB对象数据,可以使用OCI(Oracle Call Interface)接口,也可用标准的ODBC接口,iMANCAPP系统采用的是ODBC接口。
对于工艺数据中的特殊符号,可以开发一个控件,利用OLE把特殊符号插入到工艺数据中。这种方法在程序上实现不难,但是对于工艺数据的数据库存储却极其不利。为此提出了另外一种方法,利用现有的常规特殊符号的组合,如[、/、~等,定义一种从常规特殊符号组合到工艺特殊符号的映射关系(表1),进而开发一种显示与打印工艺数据的控件,一般是Table控件。控件的主要功能是:对输入的字符串进行分析,若有[A**]、[B**]等就显示、打印出相应的特殊符号,图4是特殊符号存储显示流程图。
2.3 JAVA本地方法调用实现
iMAN是用JAVA语言实现的,所以iMANCAPP系统也采用了JAVA语言。但是,由于JAVA语言是面向事务语言,在运行速度上却明显不足,在工艺编制实际过程中,有大量的编辑工作,工艺附图插入,修改工作,这些功能通过JAVA语言是很难实现的。因此,iMANCAPP系统有速度要求的部分采用了C++语言实现。在JAVA程序中调用本地方法有两种途径:一种是直接激发本地进程,本地进程调用实现简单,只是在程序中触发本地的另外一个可执行文件,这种方法的优点是程序实现简单,而缺点是程序之间是无法进行数据通讯的,只能通过中间文件进行通讯;另外一种是用JNI技术调用本地动态连接库,为此将CAPP分为是由若干功能模块,每个相对独立的功能模块都是一个动态连接库,动态连接库不但利于程序模块划分,适合协作开发,代码重用,而且程序执行数据也很快,在JAVA中通过调用本地动态连接库实现,JAVA中调用本地DLL在程序上实现起来比较复杂,但是程序之间可以进行数据通讯。(图片)
表1 工艺特殊符号——常规符合映射表 (图片)
图4 特殊符号存储显示流程图 3 结论
(1)同PDM系统进行嵌入式集成。基于iMAN的CAPP系统的一个显著特点就是同iMAN系统的嵌入式集成,系统同PDM的数据交换都将通过iMAN的二次开发接口实现的,保证CAPP系统同PDM系统的无缝集成。
(2)工艺数据(包括工艺图形)完全采用数据库存储。工艺数据存储在数据库中,不同的工艺设计人员、异地设计人员可以方便的相互借鉴设计经验。
(3)快速方便地生成零部件加工工艺、装配工艺、零件明细表,工艺装备明细表。
本系统将集中在以变异式生成工艺为主,以创成式生成工艺为辅,充分利用数据库特性,快速生成工艺,并提供友好的工艺编辑功能、打印功能、工装、工时自动统计功能。
[参考文献]
[1] ZhaoFL,WuSY.Acooperativeframeworkforprocessplanning[J].Int.J.ComputerIntegratedManufacturing,1999,12(2):168~178
[2] 彭继忠,李建明,黄利平,许隆平等.基于PDM的框架的应用集成研究与实践[J].计算机集成制造系统,2000,6(2)
[3] 张汉新,蔡力钢,张国军,李培根.基于PDM的集成化CAPP系统[J].华中理工大学学报,2000,28(4):20~22
[4] 何爱新,徐弘山.基于PDM框架的CAD/CAPP/CAM并行集成技术研究[J].计算机辅助设计与制造,1999,8
[5] 房莉华,沈建新,廖文和.基于PDM的CAPP系统集成技术的研究与实现[J].机械设计与制造工程,2001,30(1)
[6] QiaoLH,YangZB,BenWang,HP.Acomputer-aidedprocessplanningmethodology[J].ComputerinIndustry,1994(25):83~94
10/6/2004
|