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