航空制造業中的零件有其自身的特點,對比其他行業的零件存在材料特殊,結構復雜,熱處理、表面處理類型多,質量控制嚴苛,無損檢測過程多;從批量上講,零件屬于單件小批量生產,零件種類多。因此,航空制造業中的工藝項目管理存在數據量大,管理繁瑣的特點。
項目管理主要涉及兩方面的工作:一是全面把握設計端信息來源;二是有效解決制造端工藝文件管理。工藝技術部門依據設計的零件數模,編制制造大綱,完成零件的生產制造。飛機零件的設計基于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開發多個功能模塊,使得從設計端數模信息提取到制造端工藝文件管理整個過程都自動化進行,大大提高工作效率。最后,將整個項目的信息匯總形成項目管理報表,使項目管理過程中的數據都顯性的展示出來,解決以往由于數據管理混亂造成的諸多項目管理問題,降低了項目管理的難度,提高了項目管理的效率;本文關于文件管理的思路具有獨創性與普適性,可以推廣到類似的文件管理項目中,具有很高的推廣應用價值。