航空制造业中的零件有其自身的特点,对比其他行业的零件存在材料特殊,结构复杂,热处理、表面处理类型多,质量控制严苛,无损检测过程多;从批量上讲,零件属于单件小批量生产,零件种类多。因此,航空制造业中的工艺项目管理存在数据量大,管理繁琐的特点。
项目管理主要涉及两方面的工作:一是全面把握设计端信息来源;二是有效解决制造端工艺文件管理。工艺技术部门依据设计的零件数模,编制制造大纲,完成零件的生产制造。飞机零件的设计基于CATIA平台进行,零件相关的材料、热处理、表面处理、无损检测等非几何信息都存放在数模结构树中,因此,快速有效的获取项目零件结构树信息为项目管理的第一步。
要完成零件制造,除了编制制造大纲之外,还有数控程序、刀具清单等机加配套文件;机加完成后还需协作单位进行热处理、表面处理、无损检测等过程;多单位协同工作将产生大量技术状态协调的交接单、指示单。通常,一个机型项目相关的各种工艺文件总量上万份。管理好这些工艺文件能够监控项目的执行情况,减少现场问题的发生,从而提高项目管理效率。因此,工艺文件的有效管理为项目管理的第二步。
针对目前数据管理混乱,项目管理效率不高的现状,对CATIA数模结构树信息自动提取、工艺文件的有效管理方面进行研究,基于CATIA、ACCESS、EXCEL联合二次开发工具软件来解决项目管理中的难点问题。
自动提取CATIA结构树信息
目前CATIA数模信息的获取是通过人工拷贝结构树上的信息,手动汇总形成项目总信息表。由于零件数量多、工作量大,造成数据维护困难,而且人工操作也容易出错,可靠性差。为了改善现状,通过CATIA二次开发提取零件结构树信息。
有研究针对装配数模通过循环装配数模下的零件数模,依次输出零件的结构树信息[1~2]。但在实际工程中,零件分工通常按结构特征分工,而不是以装配关系整块分工,因此,直接针对单个零件数模提取结构树信息的方式通用性更强。只需要将待提取信息的零件数模置于相同文件夹下面,以文件夹控制导出数据范围,灵活性更强。
遍历文件夹下面CATIA数模的核心伪代码如下:
Private Sub GetPartName()
'获取所有CATIA文件名
i=0
'获取文件夹下CATIA数模文件名
PartName(i)=Dir(FileRoad&"*."&"CATPart")
'遍历所有CATIA文件,文件名存入PartName()数组
Do Until PartName(i)=""
i=i+1
PartName(i)=Dir
Loop
End Sub
依据项目需求,采用VB对CATIA进行二次开发。软件执行流程如下:首先,打开一个零件项目,确定输出信息类别;然后,遍历项目包内所有的零件名称存入File数组,接着输出所有零件中相应类别下的数据;最后,后台运行EXCEL生成项目总信息表。流程图如图1所示,项目总信息报表如图3左半部分所示。
基于ACCESS平台的工艺文件管理
针对文件管理,很多文件审签都走PDM系统,PDM系统大而全,但是在具体针对项目文件管理方面还不够灵活,因此有必要针对实际情况开发部门级应用。
目前,项目文件管理杂乱无章、规范不一,总结起来主要存在两个问题:第一,单人独自管理与自己相关的文件,没有信息共享;第二,工艺文件的名字不规范,文件命名依赖于人的偏好,同一种类型的文件,不同的人命名相差甚远,外人无法通过文件名明确这个文件的主要内容,阻碍协同工作中的交流。因此,要实现大量工艺文件的有效管理必须解决上述问题。
针对数据共享问题,现采用数据上传服务器集中存储,使每一个合法用户都能通过客户端访问数据,方便协同处理问题。针对命名不规范问题,现通过客户端对上传文件自动规范性重命名后上传;上传文件前会让用户选择与该文件相关的信息,包括机型、图号、文件类别、附加说明等,利用软件强制规范文件命名格式。
ACCCESS是微软把数据库引擎(Microsoft JET database engine)的图形用户界面和软件开发工具结合在一起的数据库管理系统。MS ACCESS以它自己的格式将数据存于ACCESS JET的数据库引擎里,它可以直接导入或者链接数据(这些数据存储于其他应用程序或数据库)。
ACCESS除了具有存储数据功能外,还具有强大的数据处理和开发软件的能力。基于ACCESS开发软件速度快,效率高和EXCEL互导数据方便,ACCESS的内置开发语言为VBA。
客户端主要功能是将工艺文件资料通过软件自动化规范重命名后上传服务器,除主要功能外,还具有删除服务器上旧版本文件,查询相关零件的所有相关工艺文件和导出机型相关文件总清单的功能。程序流程图如图2所示。
程序通过超链接实现客户端记录与服务器上文件的链接,在客户端查询零件图号后,程序后台的搜索模块会在服务器上相应数据库中检索相关文件,匹配到和零件相关的工艺文件时,获取该文件的名称、地址信息,然后在客户端生成超链接。除了直接通过超链接访问文件外,还可以通过点击记录中的“下载”,将服务器端的文件下载至本机。
通过对文件的重命名后提交服务器,获取服务器端文件名和文件地址在前台生成文件超链接。
核心功能伪代码如下:
Private Sub FileSubmission()
'文件提交函数
Name OldName As NewName[3]
'更改文件名
Filecopy SourceFile, DestinationFile[3]
'将源文件上传服务器
Dim rst As DAO.Recordset
StrSQL="select*from DataSheet1"
Ser rst=CurrentDb.OpenRecordset(strSQL,dbOpenDynaset)
'给记录赋值
rst.AddNew'添加新记录
rst.Fields!Hyperlink="DisplayText#FullAddress#"
'给超链接赋值
rst.Update'更新记录
rst.Close'关闭记录
Set rst=Nothing'释放内存
Me.Refresh'刷新窗体
End sub
鉴于EXCEL在数据透视和数据处理方面的强大功能[4],通过向Excel中写入数据,生成项目文件清单报表。
数据导出函数ExportDataToEXCEL核心伪代码如下:
Private Sub ExportDataToEXCEL()’数据导出函数
Dim xlApp As Application
Dim xlbook As Workbook
Dim xlSheet As Worksheet
'获取正在运行的excel程序
Set xlApp=GetObject(,"EXCEL.Application")
If xlApp Is Nothing Then
'新建一个excel程序
Set xlApp=CreateObject(,"EXCEL.Application")
End If
Set xlbook=xlApp.Workbooks.Add
Set xlSheet=xlbook.Worksheets(1)
'给EXCEL的"A1"单元格赋值
xlSheet.Cells(1,1)= "Data"
'详细过程略
'
xlSheet.Cells.EntireColumn.AutoFit
xlApp.Visible=True '显示excel界面
End Sub
将CATIA导出的项目总信息报表和ACCESS导出的项目文件报表,以零件图号为关键字,通过excel运算将两个信息表进行合并,形成项目管理的数据报表。报表将设计端和工艺端的信息紧密联系在一起,便于数据的比较分析;通过该数据报表,可以快速得出无损清单、表处清单,核查交接文件提交情况,避免了很多无效的人力劳动。项目管理报表如图3所示。
本项目通过联合CATIA、ACCESS、EXCEL开发多个功能模块,使得从设计端数模信息提取到制造端工艺文件管理整个过程都自动化进行,大大提高工作效率。最后,将整个项目的信息汇总形成项目管理报表,使项目管理过程中的数据都显性的展示出来,解决以往由于数据管理混乱造成的诸多项目管理问题,降低了项目管理的难度,提高了项目管理的效率;本文关于文件管理的思路具有独创性与普适性,可以推广到类似的文件管理项目中,具有很高的推广应用价值。