< 返回
基于产品结构树的capp系统开发技术

引言

目前, 对于基于产品结构树的capp系统的研究主要是在PDM或pro/e平台上进行的,CAPP 系统本身不具有产品结构树的数据结构, 它根据PDM 的数据库或是bom (bill of materials) 表形成产品结构树, 这就使基于产品结构树的capp无法脱离PDM 平台运行, 限制了capp 系统的独立性。但是如果capp 系统自身具有产品结构树的数据结构, 在与PDM 系统的集成中, 就可能导致capp 与PDM 产品结构树不一致。因此如何既保持capp 系统的相对独立, 又能够实现与PDM 系统的良好集成, 成为基于产品结构树的capp 系统研究的重点。本文结合应用实例, 重点阐述基于产品结构树的capp 系统开发的关键问题。

1设计思想及框架

产品结构树是描述零部件装配关系的树型结构。企业的生产经营活动都是围绕产品结构而展开,一个产品的生产过程实际上就是这个产品所有属性的生成过程。每一份工艺文件虽然是针对一个具体的零、部件, 但作为产品的属性之一, 工艺文件也应在工艺设计计划的指导下, 围绕产品结构展开, 这样就可以清晰地描述产品的装配关系, 并可直接读取产品的明细表数据文件, 将cad 中的产品设计数据自动带入到capp 系统中。因此, 基于产品结构的capp 系统更适应企业的生产环境。当前一些商品化的PDM、erp 及mrpii系统, 也都是建立在产品结构树的基础上, 基于产品结构树的capp系统更易于实现与PDM 等系统的集成。

基于上述思想, 采用基于产品结构的设计方法,研制开发了面向用户的、多种决策方式并存的capp 系统。系统的总体功能框架如图1 所示。

该系统是基于c/s 结构的分布式多用户系统,数据库放在服务器上,各个客户端通过ado(activex data object) 的方式连接到服务器。capp系统通过集成接口从PDM 系统获取产品结构信息, 形成产品结构树, 并根据产品结构树进行工艺设计, 返回工艺文件给PDM 系统。系统采用visual basic 6.0 和sql server 2000 联合开发, 界面友好,使用方便。

在系统的设计与开发过程中, 产品结构树的数据结构设计和与PDM 集成接口设计成为系统设计的关键点, 而日志管理也是capp 系统中一个不容忽视的问题。

2产品结构树数据结构设计

在企业中, 为了提高零部件的可重用性, 零部件之间存在大量的借用关系, 因此零部件之间的装配关系是一个多对多的关系, 产品结构树的数据结构呈网状。如何将网状结构转化为可以用关系型数据库表达的有效结构, 是产品结构树数据结构设计的关键。

常用的树的数据结构设计方法主要有3 种。

(1) 孩子表示法。用一条记录表示父部件与所有子部件的关系。在每个父部件结点设置多个指针域,分别指向该父部件所拥有的多个子部件。这种方法的优点是根据父部件可以迅速找到所有的子部件。但是由于每个父部件所拥有的子部件个数不一致,而关系型数据库不允许表的列数动态改变, 因此必须在每个结点设置数目相同的指针域以指向子部件, 这样存在很多空域, 浪费了大量的存储空间, 而且指针域的数目不容易确定。

(2) 双亲表示法。用一条记录表示子部件与其父部件的关系。在每个子部件结点, 设置多个指针域,指向其所有的父部件结点。根据子部件, 可以很快查找到其所拥有的父部件。优缺点与孩子表示法类似。

(3) 孩子兄弟表示法。表示产品结构时, 用部件的第一个子部件和下一个兄弟部件来表示装配关系。通过这种方式可以准确唯一的标示零部件, 而且不会存在空域。但由于实际应用中产品装配并不考虑同级零部件之间关系, 这种方法在实际应用中很少采用。

在本系统的数据结构设计中, 结合上述几种表示法的优点, 把多对多关系拆分成一对一关系, 用一条记录表示单个父部件与单个子部件之间的装配关系。图2 为产品结构树的转化过程。这种表示法虽然比孩子兄弟表示法多占存储空间, 但后者不符合实际的产品装配关系; 而与双亲表示法或孩子表示法相比, 又极大地节省了空间。这样既可以表示确定的装配关系, 又可以合理的占用存储空间。表1 为产品结构的数据结构。图3 为系统的产品结构树界面。

3与PDM 系统集成接口设计

CAPP 与PDM 集成已经成为capp 系统发展的趋势, 由于PDM 系统大都建立在产品结构基础上, 基于产品结构树的capp 系统更易于实现与PDM 系统的集成。要实现与PDM 系统的快速、安全、有效集成, 集成接口的设计是一个关键问题。常用的集成方式主要有: ①数据参数集成, 即capp系统采用数据文件、参数传递等方式实现与PDM系统之间的信息交换。优点是系统独立, 集成简单,但数据交换过程中有损失, 而且公开的数据文件很难保障数据的安全性。②数据库集成, 即PDM 系统与capp 系统共享同一个数据库, CAPP 系统可以直接读取PDM 系统中的产品结构信息。采用这种方式可以实现数据信息的无损交换, 而且数据交换在同一个数据库内部进行, 保障了数据的安全性。但这种集成方式要求capp 系统必须与PDM 系统共享同一个数据库, 或是PDM 系统对capp 系统完全开放数据结构, 这对于PDM 与capp 系统不是同步开发的用户来说, 很难做到。

在本系统设计过程中,为了使已经成型的capp 系统保持内部固有的结构(包括数据库结构) , 同时实现和PDM 系统的良好集成, 采用了建立数据公用区的方法。数据公用区负责数据信息的传输和处理。在进行工艺设计时, PDM 系统传送产品结构信息到数据公用区, 并发送信号通知capp系统; CAPP 系统对数据公用区的数据处理后形成产品结构树, 进行工艺设计, 完成后把设计结果传送到数据公用区, 通知PDM 系统接收; PDM 系统得到设计结果, 生成工艺文件, 清空数据公用区。图4为数据公用区的数据流程图。

这种集成方式虽然与数据库集成方式相比略显繁琐, 但适用于大部分情况下的PDM 与capp 系统集成, 可以保证capp 系统的相对独立; 与数据参数集成方式相比, 既可以实现数据的完整交换, 又能够保障数据安全性。在具体实现时, 只需要双方系统把有关产品结构的一部分数据结构开放即可。

4日志管理

日志管理作为管理系统的一部分, 在capp 系统中一直没有得到应有的重视, 开发人员大都认为日志管理只是用于数据库的备份与恢复, 而底层数据库系统(如: sql server,a ccess) 的日志管理功能已经可以满足这些要求。因此, 在实际系统设计中,日志大多只是简单记录下用户的登录?注销情况, 或是没有单独设计日志管理功能。但是对于capp 系统的维护人员来说, 数据库系统的日志显得晦涩难懂, 用户很难通过日志来发现capp 系统中存在的问题。

在本系统中, 针对上述问题设计了系统的日志管理功能, 从而减少了系统维护人员和工艺设计人员的工作负荷, 提高了系统的恢复能力。表2 为本系统日志管理的数据结构表。通过图5 的日志管理界面可以看出, 对于ca pp 系统来说, 除了数据库的备份与恢复外, 日志管理还具有以下功能:

(1) 显示工艺的设计进度。日志记录下工艺设计人员的设计步骤, 工艺负责人可以选择按“用户行为类型”排序, 显示“用户行为类型”为“工艺设计”的记录, 查看零部件的设计进度; 或是按“用户姓名”排序, 了解各个设计人员的工作进度。

(2) 有利于系统故障的诊断和恢复。日志可以记录下用户的操作步骤。当出现故障时, 系统维护人员可以调出日志, 了解故障发生前操作人员及其操作情况, 便于确定故障原因, 降低了系统维护的难度。

(3) 现在的ca pp 系统大都是建立在基于网络的分布式结构基础上, 同一时刻会有多个用户同时使用, 详细的日志便于工艺负责人掌握整体情况, 协调用户关系。

5结束语

基于产品结构进行设计是企业工艺设计对capp系统提出的要求,基于产品结构树的capp系统也更适应企业的生产环境。在基于产品结构树的capp 系统设计中, 既考虑到capp 系统的相对独立, 又实现了与PDM 系统的有效集成。