0 引言
迄今為止,許多軟件公司和高校已開發出為數眾多的CAPP系統,部分系統在實際中得到了應用,但是也面臨著復用性不好、模塊化程度較低、擴展性較差等問題。究其原因主要是CAPP系統與應用行業、企業產品對象、企業資源及制造資源因素等息息相關。如果這些因素在企業環境中發生變化,可能會使原有的CAPP系統不能正常發揮應有的作用。因此對于CAPP系統來說,具有良好的復用性和靈活的可擴展性十分必要。
目前,許多CAPP系統都是基于C/S結構的,這類系統不能滿足分散網絡化制造的需要。構建基于B/S架構的CAPP系統可以更好地支持產品設計、工藝設計、生產管理(MRPⅡ/ERP)、加工制造等多個環節和部門的異地并行協同工作;可以更好地支持遠程工藝設計和數據共享,從而使資源和信息的共享達到最大化,此外,B/S架構的CAPP系統也代表了未來CAPP系統的發展方向。
針對上述問題,筆者采用平臺/插件體系結構(platform/plug-in architecture)開發基于Web的CAPP系統,并在此基礎上研究了該CAPP系統的主要功能及其實現技術。對于大型的Web應用,標準的部署結構存在很大的缺陷,采用平臺/插件體系結構開發的CAPP系統可以方便地針對企業及其產品特點迅速調整本身的功能結構。相比傳統的軟件體系結構和開發方法,開發出的軟件在維護階段所需要投入的人力、物力和財力有較大節省,縮短了軟件的開發周期。
1 平臺/插件軟件架構的基本原理
基于平臺/插件體系結構軟件的主要思想是將待開發的目標軟件分為兩部分:程序的主體或主框架(此處定義為平臺)、功能擴展或補充模塊(可定義為插件,插件的本質是在不修改程序主體的情況下對軟件功能進行擴展和加強)。
平臺是整個軟件系統的基礎和主干,其設計必須遵循一種或幾種接口規范,從而可以加載多個不同的插件,接受插件提供的服務并提交給用戶。平臺由內核和插件處理兩部分構成。平臺內核的設計不受平臺/插件軟件設計模型的約束限制;插件處理部分提供插件的注冊、調用、卸載及管理功能,并遵循接口規范提供標準平臺擴展接口,如圖1所示。
圖1 平臺/插件軟件架構模型
平臺擴展接口完全由平臺實現,插件只是調用。在實際的應用中,根據系統擴展需要,可以為平臺設計多種類型的擴展接口,以方便各類插件的插入。平臺擴展接口可實現插件向平臺方向的單向通信,插件通過平臺擴展接口可獲取主框架的各種資源和數據(包括各種系統句柄、程序內部數據及內存分配等)。平臺擴展接口的設計可分別對應命令插件(菜單命令)、界面插件(界面圖標)及隱式功能插件(被內核調用而用戶不可見的插件)。
插件接口完全由插件實現,平臺也只是調用。插件接口實現平臺向插件方向的單向通信,平臺通過插件接口調用插件所實現的功能,讀取插件處理數據等。
2 平臺/插件架構的CAPP系統總體方案
基于上述思想,本文構建一個基于Web的平臺/插件體系結構的CAPP系統。基于Web的CAPP系統基本結構包括零件信息獲取、工藝決策、工藝文件管理與輸出、制造工藝資源及系統管理(日志管理、登錄IP管理、權限管理等)等功能。針對機械行業的鑄造、鍛壓及機械加工等生產過程的需求,CAPP系統的平臺內核負責實現前述通用功能。對于那些并非每個企業、每個部門、每個生產過程都需求的個性化功能,如尺寸鏈計算、噴涂定額計算、理論毛重計算、工時定額估算等功能,則以插件的方式來實現。各個擴展功能插件之間,以及平臺與插件之間,可以很方便地通過可視化的系統配置管理工具集成起來,形成特定的CAPP應用系統,如圖2所示。
圖2 基于平臺/插件體系的CAPP系統結構
為了最大程度地降低系統的開發和維護成本,應該盡量降低插件間的耦合程度,提高復用粒度。增強插件的可復用性不僅需要保證插件內部良好的設計,更需要對CAPP系統的插件業務功能進行合理劃分。功能層是CAPP系統架構中最重要的一層,插件庫模型通常與平臺的需求相關并獨立于運行環境。在對插件庫模型的功能需求進行分析的基礎之上,考慮CAPP系統預期的需求變化、技術發展及客觀限制等因素,插件庫模型被劃分成一組相對獨立的子域,如鑄造子域、鍛壓子域、機械加工子域、焊接子域、非金屬材料成形子域、特種加工子域等。子域插件庫模型是一個反映CAPP系統插件的共性特征和變化性特征的分析模型。獨立的子域插件庫模型有利于設計出可復用的子域插件。通過精煉各子域插件庫模型,子域體現出的插件特征分為共性特征和變化性特征,相對應的插件被分為通用插件和專用插件。通用插件在相同或相似子域中可以在不修改源代碼的基礎上按插件粒度復用,如工藝模板定制插件、特殊符號輸入插件。特殊插件通常只可以在特定的子域中使用,不具備通用性,如鑄壓子域的鑄件成本決策插件、鍛壓子域的鍛件圖生成插件、機械加工子域的切削參數優化插件。從子域中歸納出共性特征和變化性特征并提煉出一組子域插件,此過程的質量將直接關系到設計出的插件的復用粒度,上述插件粒度劃分的原理及參考框架如圖3所示。
圖3 插件粒度劃分的原理及參考框架
如果企業對CAPP系統有新的要求,則依據平臺提供的擴展接口開發新的插件來滿足要求,這樣可大大增強CAPP系統的可重構性、可擴展性及適應性。
在物理結構上,將基于Web的平臺/插件式CAPP系統的平臺和插件相分離,保證了平臺和應用服務器的無關性,不影響系統平臺的整體性能。把物理上相獨立的插件資源放置到給定的目錄下,通過可視化的系統配置管理,系統啟動時就能實現插件的部署及卸載。當插件更新升級時,除需要更新的插件以外,其余插件用戶還能照常使用,很好解決了CAPP系統的更新升級的問題,且具有良好的擴展性。
3 平臺與插件之間的交互控制
CAPP系統的平臺與插件之間的交互控制是通過平臺中的插件處理功能來實現的,主要包括對插件的注冊、調用、注銷、管理等功能。
3.1 插件的注冊
基于Web的插件體系結構CAPP系統與標準CAPP系統的不同之處在于系統的根路徑下包含一個Plugins文件夾,Plugins文件夾用于放置所有的插件式功能模塊。每個插件式功能模塊均又被封裝在不同的子文件夾中。每個子文件夾的名稱應與對應的插件名稱一致,如QXCS的子文件夾代表了切削參數優化插件。CAPP系統平臺遍歷Plugins文件夾,將搜索到的插件依次記錄到相應的數據表之中,自動生成并記錄相應的調用機制信息(主要包括插件調用路徑、菜單選項、按鈕激活等),以備調用插件時使用這些信息。
文件處理對象(FSO、Drives、Folder、File、TextStream)及數據集合(Drivers、Folders、Files)可實現對指定目錄下的文件夾和文件的查找、創建、刪除、復制等操作,與數據庫等相關技術結合,可實現插件注冊的功能。
3.2 插件的調用
當插件成功注冊之后,工藝人員登錄系統在插件管理菜單中會看到已注冊的插件。如果工藝人員需要調用插件來協助工藝設計,則選擇相應的插件復選框,再點擊確定按鈕,程序經過處理,完成插件的調用過程。由于插件可選擇菜單選項和按鈕等方式進行注冊,所以工藝人員可通過菜單或者按鈕等方式來激活使用插件。
3.3 插件的卸載
工藝人員想停止對該插件的使用時,在插件管理界面取消相應的復選框即可,插件會自動在CAPP系統中卸載。
3.4 插件的管理
插件的管理包括對插件的上傳、刪除。第三方開發人員可以通過網絡將新開發的插件打包上傳到Web服務器指定的Plugins文件夾下,相關的插件信息均記錄到相應的數據表之中,以便插件注冊時使用。如果工藝人員決定不再使用某個插件,可以執行刪除操作。
4 系統平臺主要功能及其實現
4.1 以產品結構樹為核心的工藝文件信息模型
產品結構樹是產品及其構成(部件、組件、零件、標準件)層次關系的描述,根節點代表產品或部件,中間各個節點分別表示部件或組件,葉節點表示零件和標準件。工藝文件雖然針對具體的零部件,但作為產品的屬性之一,工藝文件也應在工藝設計計劃的指導下,圍繞產品結構展開,這樣就可以清晰地描述產品的裝配關系。本文基于遞歸思想,提出控制父節點標識ParentID的遞歸化配置設計方法,以實現基于B/S結構的產品結構樹。本文給出了產品數據表的部分結構(表1)和遍歷生成產品結構樹的算法(圖4)。
表1 產品數據表結構
圖4 遍歷產品結構樹算法
CAD或PDM系統的設計BOM經數據接口可以轉換為XML標準的中性文件,CAPP系統可以接收XML文件并將其存儲于數據庫之中,以便在CAPP系統中重構產品結構樹。
4.2 基于XML所見即所得的工藝設計
工藝人員常在同一標準界面下,采用數據定義方式對產品結構樹中的某一零部件進行工藝設計,在設計完成后,可以將工藝文件以卡片的形式瀏覽或打印輸出。這種不針對具體工藝卡片格式的設計方式,雖然暫時滿足了企業的需求,但是不直觀,工藝人員想對工藝數據進行修改時,需要再次返回到工藝設計界面,影響工作效率。當前商品化的CAPP系統雖然實現了所見即所得的工藝設計功能,但是體系結構是基于C/S模式的。
ActiveX是一個開放的集成平臺,為開發人員、用戶和Web生產商提供了一個快速而簡便的基于Internet和Intranet平臺創建程序集成和內容的方法。XML起源于Web中半結構化的標記語言,為Oracle、SQL Server、Access等數據庫提供了更強的數據存儲和分析能力,與相關技術結合,提供了解決異構產品數據網絡間集成和共享的有效途徑。針對上述問題,本文在B/S模式下,利用ActiveX技術將由報表設計器設計出的工藝模板加載到Web頁面,再將基于報表設計器的二次開發技術和Web技術綜合運用,結合基于XML描述的工藝數據和基于ADO組件的數據庫技術,在B/S模式下實現所見即所得的工藝設計功能,如圖5所示。
圖5 B/S模式下所見即所得的工藝設計功能
基于上述插件粒度劃分策略的插件體系結構開發的CAPP系統有效降低了插件間的耦合度,使各插件間的數據源相對獨立,從而在基于XML所見即所得的工藝設計過程中,保證了從各插件提取到的工藝數據的通用性和一致性。
4.3 工藝設計規劃
工藝設計規劃是CAPP系統的最基本功能。本系統采用工藝向導機制,應用了產生式規則和基于實例推理的方法進行工藝設計,工藝設計時充分發揮了人和計算機各自的優點。派生式工藝設計主要用于指導全局、宏觀的過程,如機械加工工藝過程、部件裝配過程、鑄造工藝過程等。創成式工藝設計主要用于指導具體、微觀的工藝設計工程,如確定加工方式、定位方式、切削參數等,通常用決策樹或決策表來實現。工藝向導可分三步工作:
(1)確定工藝過程。工藝過程以零件類型分類,工藝人員可方便地從相關零件類型中選取最合適的工藝過程,經過適當的編輯得到適用于實際情況的工藝過程。
(2)確定工序相關信息。系統自動將上一步所確定的工藝過程中所有工序的信息和典型案例數據庫中的工序信息進行匹配,工序信息包括工序內容、機床、刀具、工時等信息。
(3)確定工步相關信息。工藝人員在步驟(2)中選定需要生成工序卡的工序號,此步可確定此工序的具體工步內容和相關的工藝參數。用戶可以對每道工序的工步內容進行增加、刪除、修改等操作。
參照上述基于XML的所見即所得的工藝設計功能的思想,經過修改最終確認的工藝信息可保存于典型案例庫中。經過一段時間的使用,用戶經常用到的工藝數據很容易從典型案例數據庫中提取出來并再次使用,形成知識庫的不斷更新和擴充,從而提高工藝設計效率。若工藝模板上的工序和工步信息均在同一張卡片上,則工藝向導可以變成兩步執行。
4.4 制造工藝資源管理
企業的制造工藝資源是指企業加工一個零件所需的全部物質元素,是面向CIMS、CAPP等系統所需的制造資源,這些元素包括機床、刀具、夾具、材料和標準工藝術語等。筆者在CAPP系統平臺中構建基于Web的三維制造工藝資源管理功能模塊,并采用基于結構樹和框架的管理模式,對工藝設計資源進行有效的分類管理。這不僅可實現三維模型的共享和集中可視化,工藝人員還可及時方便地找到所需要的工藝資源,方便地按照自己的設計思想選擇可重用的工藝資源。
為了適應企業制造環境的集成化和資源的動態變化,系統制造工藝資源庫采用了開放式的結構。資源庫中的資源對象和數據表可以隨著企業資源的不斷更新而隨時擴充,不僅可根據本企業在整個產品生產工藝過程中對所涉及的工藝資源進行定制,而且能夠保證不同資源對象之間的關聯。制造工藝資源管理能夠獨立運行,也能作為一個獨立的接口系統,被其他系統(PDM、ERP、MIS)所調用。
4.5 系統配置管理
配置管理功能提供可視化的系統管理模式,包括對用戶的密碼、角色、登錄IP、權限、日志等的管理,并可對插件服務進行動態配置、組合、添加和刪除等操作,為CAPP應用系統的開發、實施提供快速支持。定制過程由相關界面完成。系統所提供的Web服務保存于服務列表中,每個列表項指向特定Web服務器的URL或IP地址及端口號,客戶端通過此地址和端口號即可對系統進行訪問。
5 插件功能的實現技術
插件如同一堆各式各樣的積木,它們分別實現不同的功能,工藝人員根據需要把實現各種功能的“積木”搭建起來,就構成了應用系統。每個插件的開發應該使用獨立的數據庫,這樣插件與插件、插件與平臺之間的運行互不干擾,實現即插即用。在插件的實現過程中,應該避免代碼間的耦合,提高復用性。為使插件與平臺界面風格一致,插件開發應該選用B/S模式。將Web技術與MATLAB等相關技術融合使用,可以開發優化計算、仿真類插件。
本文以切削參數優化插件為例,介紹具體的實現技術。采用ASP.NET來構建插件的主體框架,同時充分利用MATLAB提供的強大的數值分析、矩陣運算的能力,將其生成的COM組件作為切削參數優化插件的運算模塊。在插件主界面中,通過訪問平臺擴展IServer接口,機床、工件材料、刀具等信息得以在平臺內部數據資源中調用;在工藝設計的過程中,系統平臺通過訪問插件提供的Ipugin接口,讀取插件功能信息和優化后的切削參數信息。通過對機床、工件材料、刀具、要達到的表面粗糙度和精度、優化目標及相關參數的選擇、輸入、調用,實現切削參數的優選。
6 原型系統簡介
基于上述方法,筆者開發了基于Web的平臺/插件式CAPP原型系統。Web技術采用ASP技術,數據庫采用SQL Server 2000。系統平臺已經實現了系統管理、工藝設計、制造資源管理等功能。
通過系統管理功能,實現用戶訪問控制及插件定制服務。當前CAPP系統可調用的通用插件有工藝模板定制插件、特殊符號輸入插件、噴涂定額計算插件、理論毛重計算插件、尺寸鏈計算插件。可調用的專用插件有切削參數優化插件、鑄件質量管理插件、鍛件圖生成插件。在制造資源管理中,資源庫來源于SANDVIK、WALTER、SCEO、ISCAR、DMG等主流刀具商和機床生產商的樣本手冊,并且以AutoVue插件作為制造工藝資源三維模型顯示界面。
7 結論
(1)本文從平臺/插件架構軟件的基本原理出發,構建了CAPP系統的總體結構,分析了平臺和插件的主要功能及實現技術,重點研究了插件粒度的劃分流程、最終參考框架及平臺與插件的通信過程,有效降低了插件間的耦合性,提高了插件復用率。建立了平臺/插件式的CAPP原型系統。系統的復用性和擴展性良好,開發和維護成本低,可動態組合、替換和增加功能插件。
(2)建立的基于Web的CAPP系統維護升級簡單,實現了所見即所得的工藝設計和即插即用式的動態拼裝功能,為CAPP系統向網絡化、柔性化、工具化、協同化的發展提供了有益的探索和借鑒。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:基于Web的平臺/插件式CAPP系統研究
本文網址:http://www.guhuozai8.cn/html/solutions/14019310104.html