壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1899|回复: 1

基于Web Services的PDM辅助开发研究

[复制链接]
发表于 2008/3/16 11:45:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
产品数据管理(PDM)是一项新的管理思想和技术,可以定义为以软件技术为基础,以产品为核心,实现对产品相关的数据、过程、资源一体化集成管理的技术。PDM主要功能有:电子资料库和文档管理;产品结构与配置管理;生命周期(工作流)管理等,由此衍生的配套产品还有CAPP,是PDM环境下为用户提供快捷方便的工艺卡片编制工具。   我所从2003年开始实施PDM/CAPP系统,在工艺部门实施工艺卡片的电子化管理,经过几年的使用,确实推进了我所的信息化建设,但同时也暴露了一些问题。如产品结构树一旦有变化,调整起来太繁琐;借用过程中零部件类型丢失;借用关系无法调整;BOM汇总配置繁琐等问题,从而影响了PDM系统的易用性,可靠性。通过对其数据库的深层次分析,运用ASP/数据库技术,开发了一套基于WEB环境的PDM辅助系统,有效地解决了我所PDM系统使用中的各种问题。
  1、系统分析    1.1PDM/CAPP系统框架
   该系统底层核心数据库为SQLSERVER2000,系统运行所需要的数据(产品结构树信息、用户及权限信息、工艺卡片信息等)均存储在数据库中,通过PDM服务器,与PDM管理系统结合,对产品数据、设计图纸、工艺卡片进行有效的组织管理。BOM是PDM系统下辅助汇总统计的工具,会根据数据库的数据进行各种统计汇总,如工艺文件明细表、借用件明细表、材料消耗、工装模具统计等。系统框架图如图1所示。
    l.2数据库分析
    产品数据库中包含多个数据表及多个存储过程,存储过程是PDM应用程序调用的。在我们的系统中,主要针对数据表进行查询,更新,以达到汇总统计、修正错误的目的。不能插人记录,以避免发生错误。
   数据表中,PROTREE为产品信息表,采用父子关系节点来生成结构树。DOC_LIB为电子图文档库,存储工艺文档、设计文档、更改单信息等。PRODOC用来连接这两个表,使PDM系统知道当前零部件关联的哪一个文档。GONG_PART0_*、GONG一U_*,,系列表是存储的工艺卡片的信息,BOM汇总时会提取相应的信息。还有其它一系列的表,如文档类型表,用户权限表等,我们基本用不到.在此不作介绍。
    1.3存在问题
    根据系统操作人员这几年的使用经验,得出我所所使用的PDM系统主要存在以下问题。
    1.3.1结构树调整
    PDM系统中,结构树调整很繁琐,先将要调整的零部件复制到目标位置,然后删除源节点,再更改复制过来的零部件图号(因为复制时会自动加上“复制”二字),调整的数量少还可以接受,多了就会发现是一项非常耗时的工作。
    1.3.2借用件调整
    PDM系统中,有时一个零部件会被其它产品或整件借用很多次,有时会发现借用件源头不对,调整起来很困难,要将这个图号的所有节点全部删除,再在正确的位置重新建立节点,再建借用件,会在这里浪费大量的时间和精力。
    1.3.3错误的零部件类型更改
   PDM系统中,当存在两个相同图号的零部件时,要将其中一个零部件转成借用件,当用“自动借用”这个功能时,会发现这个零部件的类型丢失了,无法对其进行任何编辑;还有一种情况是,当新建一个节点后,发现零部件类型错了,想由部件改为零件,却发现没有此项功能,只能删除重建。
    1.3.4工艺卡片提取出库
   PDM系统中,打印工艺文件要在结构树上一个一个工艺文件添加到打印中心,再一个一个进行权限判断,工艺卡片多了非常耗时间,而将这些工艺文档出库后打印则要迅速的多;还有一种情况是:工艺卡片的格式改变了,要将整个产品的工艺卡片转换成新的卡片格式,就需要将此产品的所有关联文档从文件柜中取出,转换后再放回原来的位置,而在PDM下,工艺文件名是按照流水号命名的,不通过数据库是无法提取的。
    1.3.5汇总统计
    PDM系统内置BOM,可以进行汇总统计。但BOM配置起来也很困难,如果开发商的技术人员配置,日后有新的需求又无法满足;用户方配置的话,首先要将人员进行培训,还需要大量的实践经验,短时间内很难上手。
  2、系统实现    2.1B/S体系结构
   随着基于Web的信息发布和信息检索技术的不断发展,软件应用系统的体系结构逐渐从C/S(客户端2月及务器)的主从结构向灵活的B/S(浏览器/服务器)多级分布结构演变。其主要特点是集中管理,即软件程序、数据库以及其它一些组件都集中在服务器端,客户端除了浏览器及所依赖的操作系统之外无需其它软件和相关的管理维护工作。
    PDM系统虽然采用的是C/S体系结构,但其核心仍是基于数据库的,所以决定采用B/S体系结构,运用ASP/数据库技术来开发这套辅助系统。
 楼主| 发表于 2008/3/16 11:45:53 | 显示全部楼层

基于Web Services的PDM辅助开发研究

2.2模块实现

    根据PDM系统现存的问题,确定了以下功能模块为本次开发的重点。

    2.2.1身份认证

    PDM系统是基于角色的系统,有着严格的角色及权限设置。故我们这套开发的系统同样要有角色及权限控制系统,不同权限的角色执行不同的功能,以确保数据不会被无关人员误更改或恶意更改。实现过程为:在数据库〔可以是PDM库,也可以新建数据库)中建立用户信息表。包含字段有用户名称、用户密码、用户权限、用户所在工作组等信息。用户登录时,要验证用户名称及密码,验证无误后在数据库中读取相应的权限,以显示相应的菜单,同时密码采用MD5不可逆加密技术,确保系统安全性。

    2.2.2结构树调整

    用户输人整件图号,以此作为查询人口,在PROTREE表中找到SYMBOL字段为此整件图号的节点,再根据KEY_及PARENT_两个字段的父子节点关系运用递归查询,找到下属节点信息,在页面上生成“小结构树”,需要修改的字段用文本框控件显示,当用户修改的父节点号、节点类型、数量等信息时,通过 ASP执行相应的SQL语句直接更新PRO-FREE表,PDM系统中随之更新。例:如用户要将A部件下的C零件调整到B部件下,同时将数量由2改为4,只要将C零件的父ID由原来的***(A部件的ID号)改为***(B部件的ID号),数量改为4,点击“更新”即可完成该操作。

    2.2.3借用件调整

    用户输人零部件图号作为查询人口,在PRO-TREE表中查找出所有此图号的节点,并依次向上追溯此节点父级关系,直到产品为止。这里还包含两个或多个节点图号相同但彼此没有借用关系的情况(这种情况是不应该出现的,但事实上确实存在的),都在此一并调整了。实现过程为:首先将这些节点的节点号字段 (KEY)设为指定源节点的节点号,借用关系字段(REF_KEY)设为“I”("I”表示借用件),再将要设为源节点的节点借用关系字段设为 “NULL"。这些都是后台运行的,用户只要确认哪个是源节点,点一下鼠标就完成了。对比:假设此节点被借用了10次,在PDM下,调整完需要10min 到半个小时(主要看操作人员对产品树及PDM系统的熟悉程度),而在我们的系统中,只需几秒。

    2.2.4错误的零部件类型更改

    此页面不需用户输人数据,进人后自动在PRO-TREE表中查找类型字段(type-)值不等于NOD-EDEF表(存储节点类型的表)中F_XH字段中的任意值的记录,并根据这条记录的零部件图号查找到源节点的零件类型,当用户点击“全部更正”按钮时,将错误的节点类型设为正确的值。

    2.2.5工艺P片提取出库

    提取思路是,根据用户输人的产品图号或整件图号,用PROTREE表中的相应信息生成结构树,用递归的方法遍历这颗树,用PRO_DOC为中间表,在 DOC_LIB表中找到节点所关联的工艺文档信息,包括文件名、扩展名、储存路径等信息。根据这些信息在磁盘上将相应的工艺文件用ASP的FSO组件提取到指定目录(目录自动创建)。提取方式根据需要有多种,有按原文件名、原路径提取,用来进行批量的更改,或卡片格式转换,完成后覆盖回文件柜;有单纯为了打印工艺文件,就要用整件图号为目录名称,零件图号加排序号为文件名称来提取,一次性使用,用完删除;有时要按产品进行工艺文件的归档,如我所正在进行的工艺鉴定工作,需要将产品下的所有关联的工艺文档按整件出库留档;有时可能还需要将借用件单独提取等,只要根据需要灵活运用ASP及SQL语句即可实现。

    2.2.6汇总统计

    BOM是PDM下不可缺少的工具,可以进行各种汇总统计,以满足相关部门的需要,是企业信息化建设的重要组成部分。但我所使用的BOM配置起来很复杂。后来发现,配置文件不过是用类似于自然语言的语句写SQL各种查询语句,系统再自动将其翻译成标准SQL语句进行查询,表面看起来似乎简单一些,但细细地分析以后,实则不然,虽然为类自然语言,但仍要遵循它的标准,有一点点差错也不行,而且调试起来也不直观,并且同样需要对数据库相当熟悉及有SQL编程基础。有了这两个基础,在ASP中直接使用标准SQL语言来汇总统计,反而更加快捷。因此,在此次开发的系统将BOM的功能也集成到了这里。

    由于汇总统计涉及到的内容较多,在此仅以借用件明细表为例,阐述一下编程思路。借用件明细表,就是将指定产品中的借用件(包括借用其它产品和自身产品内借用)统计出来。需要的信息有整件图号、零部件图号、零部件名称、节点类型、源头产品、源头整件。首先用户输人的产品图号,在PRO-TREE表中找到相应记录,根据父子节点关系,运用递归的方式向下查找下属节点,同时进行借用件判断:是借用件(REF_KEY为1)则查找源头节点,并根据父子节点关系运用递归向上查找层次关系,直至找到产品,并将结果保存到字符串里,用字符“1”分开,字符串最终格式为“产品图号、整件图号、部件图号、零件图号”,然后用 split函数将字符串拆分成数组,取该数组前两个字段(即源头节点的产品图号和整件图号)及其他相应信息显示在网页的相应表格里;如不是借用件,则过滤掉此条记录继续查询。直至完成整棵产品树的遍历查询即完成了借用件明细表的汇总统计。
  3、结束语

    通过上述对PDM系统的辅助开发,从根本上解决了结构树调整、借用件调整、卡片提取及汇总统计等问题,提高了PDM系统在我所工艺管理中的可靠性、易用性,以及提高了用户的工作效率。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/29 03:06 , Processed in 0.011575 second(s), 14 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表