电力自动化产品按订单生产的特点决定了其生产方式属于小批量、多品种的定制模式。由于目前电力系统二次设备相关产品升级换代很快,交货期较短,要求企业必须具备快速的反应能力,因此需要在提高产品工艺质量、企业快速应变能力,以及降低生产制造成本等方面进行更深入的研究。
产品数据管理(Product Data Management,PDM)主要用于管理产品从设计到销售各阶段中所有与产品相关的信息和过程,其主要功能有文档管理、产品结构管理、资源管理等。计算机辅助设计(Computer Aided Design,CAD)系统已经得到了广泛的应用,但是在传统的制造企业中,CAD系统仅仅作为绘图工具使用,并且与PDM系统彼此独立,形成了“CAD绘图,PDM管理图纸”的模式,不仅CAD系统产生的大量数据得不到有效的管理,PDM系统的功能也没有得到有效的发挥,并且由于两系统彼此孤立,容易产生信息不对称等问题。
为了解决这些问题,不少企业致力于开发PDM/CAD集成系统,实现产品数据及相关信息的共享。采用PDM/CAD集成系统,能从根本上解决信息不对称问题,消除“信息孤岛”,有效地管理产品数据,提升企业整体设计水平和管理水平。
针对上述问题,本文尝试利用VC++.NET作为开发平台,对AutoCAD进行二次开发,与某电力二次设备公司所使用的PDM系统进行深度集成,开发一套C/S架构(Client/Service,客户机/服务器)的PDM/CAD集成系统,实现产品结构树的自动搭建并与装配图明细表保持同步一致性,且可以从中输出产品物料清单(Bill of Material,BOM)。
1 系统框架总体设计
如图1所示,系统采用3层的C/S架构,分别为界面层、功能实现层、数据库层。其中数据库使用PDM系统的数据库,采用分布式架构,部署在企业级服务器上,响应功能实现层的指令,对整个产品研发、设计过程中的文档、模型和图纸进行统一管控;功能实现层安装在本地计算机上,根据用户的操作,完成相关数据处理,并向数据库发送相应的指令;用户界面层嵌入在AutoCAD操作界面中,主要包括对装配图BOM的管理和对数据库的操作及一些辅助绘图功能。
图1 系统结构
在用户登录后,系统会自动校验其权限,根据权限的不同,将会显示不同的界面。在客户端用户只需按照步骤绘制工程图,系统功能实现层将在后台自动调用相应的功能模块,并将操作转换为相应的数据库指令,对数据库进行修改。
采用这种结构的优点是:采用分布式的数据库,可以提高系统的安全性、灵活性和健壮性,数据直接进入PDM数据库,保证了数据的同步一致性,用户同样可以通过PDM的界面来查看产品结构、管理任务等。
2 数据库设计
服务器端数据库如图2所示,主要包括用户表、工程表、图纸表、整机表、零件表、产品结构表等。
图2 系统数据库
工程表包含了工程的基本信息、承接人及所处状态等,工程包含了若干整机产品,这些信息都存储在产品整机库中,利用PDM系统提供的接口,可以实现工程的审核、校对、修改等操作及产品整机的版本控制等功能。
根据企业应用,将零部件分为5类:专用件、空机柜、通用件、外购件、标准件。由于该企业的产品以定制为主,因此存在着大量的定制零件,为了方便追溯和管理,专用件以工程为单位进行管理,专用件只可在所属工程中使用,若遇到可直接复用的专用件也必须再重新注册;通用件是一类特殊的专用件,指在不同规格产品中都会使用,或已经形成企业标准的部件或零件;空机柜可能是自产通用件,也可能是从其他厂家购入的,由于其特殊性,将这部分数据提取出来,在设计数据库时作为单独的一类;外购件是企业从外部直接购入,不需要进行再加工便可直接应用于产品装配中的专用零部件,如交换机等,部分空机柜也属于外购件;标准件是指根据国家标准制定的零件,如螺丝、螺母等。
与零部件库相对应的则是产品整机库,产品整机库用于存储已经设计的产品/整机信息,产品结构表则存储着整机产品和部件的构成信息,包括父零件代号、子零件代号、组成用量、所属工序、备注等。通过此表存储的信息可以搭建产品结构。
图纸库存储着整机或零件物料对应的工程图及其相关信息,数据库中的图纸与产品或零部件存在一对一或一对多的关系。一些没有对应物料的图纸按照文档的方式来存储、管理。用户表包含了用户的用户名、密码、权限等,根据权限不同,用户可以对数据库进行不同的操作,一般用户只具有对自己工程及其整机产品库、专用件库的修改权限和其他库的只读权限;设计管理员具有对通用件、标准件、外购件库的修改权限;用户管理员则可以进行新建用户、修改用户权限等操作。
3 产品结构树的生成
该企业的产品以整机为主,在PDM/CAD系统集成前,需要专人对照整机装配图的明细表将物料信息逐个录入PDM系统,这样的方式忽略了产品的结构,不仅容易产生错误,而且延长了整个产品的设计周期。本系统利用AutoCAD提供的二次开发工具及PDM接口,使得用户无需关心产品结构树的搭建过程,只需要按照标准绘制CAD图纸即可,整机装配图的绘制过程也就是产品结构树的搭建过程。
为了统一标准,绘制装配图时,只能使用在PDM中注册过的物料。图3所示为添加一个物料时的系统流程图。用户选择一个物料,并选择是否需要在图中显示该物料图形,对于一些不需要在图中显示图形的物料,用户只需指定其使用工序和用量即可。对于需要在图中显示图形的物料,系统将自动读取其对应的图纸,从中提取图块插入到装配图中,并在图块中写人物料代号、名称、装配工序等信息。通过物料代号,能判断BOM中是否已经存在该物料,不存在则将物料信息添加到BOM中,同时在数据库的产品结构表中添加一条新记录;若物料已经存在,则在数据库及BOM中更新其组成用量而不至产生重复的记录。
图3 插入物料流程图
执行上述操作后,系统将会生成装配件与零件的关联关系,父节点为装配件,子节点为零件,由此可构建产品结构树。整机装配图绘制完成后,其产品结构树也随之搭建完成。由于在图块中记录了零件的相关信息,通过对这些信息的读取,系统能够识别图块的复制、删除等操作,从而在后台做出相应的操作。同时系统提供了产品BOM的编辑功能,用户删除物料BOM,系统也会自动删除对应图块,修改产品结构树,从而保证了图形、BOM(明细表)与产品结构树的同步一致性。
4 产品报表输出
产品设计完成后,需要将其设计BOM(EBOM)转化为生产BOM(MBOM),从而指导相关部门进行原材料采购或生产,以及对产品进行成本核算等。MBOM可以通过遍历产品结构树得到,系统提供了导出接口以及表格格式编辑功能,可将MBOM按照指定格式导出为EXCEL文件。
产品结构树是树状结构,根节点为工程,如图4所示,只需要从工程出发,按照一定的遍历算法,即可获得其全部子节点。本系统采用广度优先的原则,首先获得T0所有的第一级子件T11~T1m,再查询这些节点是否有子节点,如果存在,就继续读取,如此反复,直到获得全部子节点。将这些节点代表的零件信息输出,即可生成MBOM。
图4 产品结构树
在遍历过程中,存在一些物料,例如空机柜或外购部件,虽然可以继续展开,但由于其已经是采购/生产的最小单位,系统不会将其展开。
5 系统实现
本系统采用了AtucCAD作为设计平台,Orade9i作为数据库,开发工具选用的是VC++.NET。本文第4个章节描述的构建产品结构树的过程,其中添加多个物料到整机BOM中的关键代码如下:
使用此系统进行产品设计,图纸明细表与产品结构树的对比如图5所示。
图5 装配图明细表与产品结构树的对比
6 结束语
本文描述的PDM/CAD集成系统,实现了图纸文档的一体化管理,保证了产品结构树与装配图的同步一致性,完成了EBOM到MBOM的转换与输出。该系统已在某电力二次设备公司使用,公司设计人员依托其进行设计,达到了减少设计时间、降低产品成本的目的,取得了较好的成效。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/