隋曉靜,孫士杰
(上海航空工業(集團)有限公司信息化中心,上海 201206)
飛機裝配過程是一個極其復雜的過程。飛機產品的復雜性決定了它不同于一般的機械產品,飛機零件和連接件的數量往往以百萬計,裝配工作的勞動量占總勞動量的50%~60%[1],因而合理的裝配順序是確保飛機裝配質量、縮短裝配周期的有效途徑。本文旨在研究適用于民用飛機節拍生產的裝配順序圖系統,提供裝配順序圖基礎數據的管理功能,支持動態調整裝配順序,提供可視化界面,進一步優化現場裝配的進度和效率。
SSH是目前基于Java平臺的企業級軟件開發主流的框架,它將Struts、Spring,與Hibernate這三個框架有效整合,通常使用Spring作為核心,向上整合MVC 框架(Struts),向下整合 ORM 框架(Hibernate),使用Spring的Ioc容器來管理各組件之間的依賴關系,同時用Spring的聲明事務負責業務邏輯層的事務管理[2]。Struts對 Model,View 和 Controller都提供了對應的組件。Spring是一個輕量級的控制反轉(loc)和面向切面(AOP)的容器框架,創建的目的是解決企業應用開發的復雜性。Hibernate是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得java程序員可以隨心所欲的使用對象編程思維來操縱數據庫。
該系統適用于國產民用飛機批產裝配的裝配順序圖平臺。通過提供裝配順序圖基礎數據的管理功能,使裝配順序圖的編制由工藝員的個人專業知識和經驗,轉變成可記錄、可存儲、可共享的數據。通過提供信息化方式的可視化,提高編制裝配順序圖的效率,使得工藝員可以在多種編制方案中,動態地調整裝配順序圖,進一步優化現場裝配的進度和效率。通過該平臺,可以整合裝配順序和其他生產現場的數據,實現生產數據的互聯互通。
系統選用基于 J2EE的 Stucts,Spring,Hibernate架構。流程引擎采用開源的JBPM,在客戶端應用Ext、JavaScript、AJAX 技術,數據處理應用 XSLT、XML和JDBC技術。在中間層針對系統的需求搭建了專用框架,實現工作流程和錄入表單的訂制性和擴展性。系統架構設計應用了分層設計的思想,將數據存取、業務處理和頁面展現分離,如圖1所示。

圖1 系統框架
系統主要包括基礎數據的管理模塊、提供裝配順序圖的可視化管理模塊和整合裝配順序圖和其他生產現場的數據模塊。基礎數據的管理模塊提供裝配順序圖中裝配大綱(AO)間串并聯關系,二級站位/站位和工位間的串并聯關系等基礎數據的管理功能。可視化管理模塊提供一套裝配大綱(AO),AO之間串并聯關系,AO和站位之間的從屬關系,站位之間的串并聯,AO裝配進度,以及AO和其他資源之間的關系的可視化展示功能。數據模塊通過WebService、JDBC等方式,實現裝配順序圖系統和其他生產現場數據的關聯。
(1)AO間串并聯關系的管理
為了有效表達和關聯AO之間的串并聯關系,本文引入了組(Group)的概念。一個組內,可以有一本或多本AO。并約定,同組內的所有AO為并聯關系;組和組之間為串聯關系。AO串并聯關系數據管理圖如圖2所示。

圖2 AO串并聯關系數據管理圖
組概念的使用,規范了AO排序之間串并聯關系的表達,為后繼AO生產排序的自動計算,奠定了基礎。
(2)AO裝配順序的路徑計算
在之前管理和表達AO間串并聯關系的基礎上,本文采用深度優先算法,自動計算基于組(Group)的邏輯先后順序。廣度優先為從圖中某個頂點(V0)出發,并訪問此定點。從V0出發,訪問V0的各個未曾訪問的領結點W1、W2……Wk,然后,依次從W1、W2……Wk出發訪問各自未被訪問的領接點。重復以上步驟,直到全部頂點都被訪問為止。裝配順序路徑計算如圖3所示。

圖3 裝配順序路徑計算
針對飛機復雜產品生產的特點,以每架飛機實物為跟蹤主體,飛機在不同階段的實物運動軌跡成為實物流,根據該實物流,建立從工位到二級站位、三級站位的串并聯模型,描述飛機從裝配到交付的整個運行過程。在實物流動的過程中,對飛機進行的鉚裝、總裝等工作內容進行的作業內容形成了業務流,在業務流流動的過程中產生的信息輸入輸出則形成了信息流。裝配順序圖可以作為信息流驅動節拍生產,編制合理和優化的裝配順序計劃可以定義節拍生產計劃的月計劃、周計劃和日計劃,是節拍生產計劃的重要輸入源。
建立適用于國內民用飛機節拍生產的裝配順序圖的編制助手,能夠有效地管理裝配順序圖基礎數據,通過整合裝配順序圖和生產現場的其他數據,動態調整裝配順序圖,進一步優化現場裝配的進度和效率。提供裝配順序圖可視化管理,方便工藝員在多種方案中比較選擇最優方案。
本系統根據外部資源的實際情況,動態化地調整生產排程,該方法具有普適應和通用性,可以進一步推廣到其他需要動態調整排程的應用場景中,該系統可提高國內民用飛機的批產效率。