0 前言
目前國內(nèi)外對于分布式技術(shù)和網(wǎng)絡(luò)化制造的應(yīng)用研究十分活躍,分布網(wǎng)絡(luò)化制造是當(dāng)前研究的一個熱點。許多專家學(xué)者提出了分布式異地協(xié)同設(shè)計、分布式產(chǎn)品數(shù)據(jù)管理等系統(tǒng)模型并進(jìn)行了一些理論研究。一些制造企業(yè)為了增強(qiáng)市場競爭力,在進(jìn)行信息化建設(shè)過程中,也開發(fā)了一些應(yīng)用系統(tǒng)和部分實現(xiàn)了企業(yè)內(nèi)部的信息集成。但是如何在分布環(huán)境下實現(xiàn)企業(yè)之間、企業(yè)內(nèi)部各應(yīng)用系統(tǒng)之間信息的共享,以及對原有系統(tǒng)的兼容,是一個十分突出的問題。因為一個典型的分布環(huán)境包括有大型主機(jī),ICNI工作站和PC機(jī),各種機(jī)器所采用的操作系統(tǒng)、網(wǎng)絡(luò)通信協(xié)議和數(shù)據(jù)庫管理系統(tǒng)千差萬別。同時企業(yè)原有系統(tǒng)采用的體系結(jié)構(gòu)也不盡相同,功能上也不能滿足網(wǎng)絡(luò)化制造的需要,但是全部重新開發(fā)也不現(xiàn)實。因此基于分布式技術(shù)、向后兼容的、適用于產(chǎn)品網(wǎng)絡(luò)化制造的集成平臺的開發(fā)是制造企業(yè)當(dāng)前的迫切需要。
1 分布式系統(tǒng)集成框架
1.1 問題的引出
1)對現(xiàn)有數(shù)據(jù)格式的不統(tǒng)一,有以下集成方案:
①產(chǎn)品數(shù)據(jù)管理(PDM)集成;
②基于STEP的集成;
③先進(jìn)的XML技術(shù)的信息集成。由于XML數(shù)據(jù)模式
比較靈活,基于XML技術(shù)的信息集成可以隨時修改和添加實體信息相對于采用固定數(shù)據(jù)模式的STEP集成標(biāo)準(zhǔn)和粗粒度的數(shù)據(jù)管理(PDM)集成而言更適合于產(chǎn)品全生命周期中信息的交換和共享。采用XML作為數(shù)據(jù)傳輸格式,XML是W3C制定的用于描述數(shù)據(jù)文檔中關(guān)于數(shù)據(jù)組織結(jié)構(gòu)的標(biāo)記語言。XML作為一種互聯(lián)網(wǎng)交換數(shù)據(jù)的標(biāo)準(zhǔn),其目標(biāo)是讓各種結(jié)構(gòu)的文檔都作為統(tǒng)一的網(wǎng)絡(luò)文件的一部分在網(wǎng)上傳輸,以實現(xiàn)在不同系統(tǒng)間進(jìn)行數(shù)據(jù)交換。XML具有可擴(kuò)展性、平臺無關(guān)性、結(jié)構(gòu)化語義、數(shù)據(jù)無縫集成以及面向數(shù)據(jù)而獨立于應(yīng)用等特點。利用這些特性可以充分滿足Internet和分布式異構(gòu)環(huán)境的要求,將成為下一代網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)闹饕d體。
2)針對不同操作系統(tǒng)、網(wǎng)絡(luò)通信協(xié)議和數(shù)據(jù)庫管理系統(tǒng)以及向后兼容的必要,可采用CORBA標(biāo)準(zhǔn)作為集成的技術(shù)平臺,可以從技術(shù)上解決集成過程中操作的透明性和系統(tǒng)的可擴(kuò)展性,即無論任何數(shù)據(jù)源只要進(jìn)行適當(dāng)?shù)姆庋b并向系統(tǒng)提供用CORBAIDL語言編寫的界面,就可以加入系統(tǒng)。表現(xiàn)在集成企業(yè)或者企業(yè)聯(lián)盟已有的應(yīng)用系統(tǒng)上,如Pro/Engineer,I-DEAS,MDT,MIS/MRP·/ERP系統(tǒng),電子商務(wù)等等,需要通過CORB系統(tǒng)集成到一起實現(xiàn)信息的交互和共享。
1.2 總體結(jié)構(gòu)
系統(tǒng)框架如圖1所示,主要由3部分構(gòu)成:
1)建立CORBA集成技術(shù)平臺,采用動態(tài)連接技術(shù),以便新服務(wù)能實時加入該平臺,利用CORBA可以方便地實現(xiàn)不同系統(tǒng)之間的通信,CORBAORB/IIOP相當(dāng)于一根軟總線各個系統(tǒng)的功能模塊都作為CORBA的特定應(yīng)用對象,實現(xiàn)與其他信息系統(tǒng)和具有人機(jī)界面的設(shè)備控制器的通信和互操作。
2)采用XML作為數(shù)據(jù)傳輸?shù)闹虚g格式,收發(fā)兩端需要進(jìn)行XML數(shù)據(jù)轉(zhuǎn)換,XML結(jié)構(gòu)可以把兩個數(shù)據(jù)來源集成一個整體,用戶不必關(guān)心顯示的數(shù)據(jù)來自何處,各系統(tǒng)通過映射表把數(shù)據(jù)轉(zhuǎn)換成XML數(shù)據(jù),集成后的數(shù)據(jù)是結(jié)構(gòu)化的XMI.數(shù)據(jù),詳細(xì)地定義了某個數(shù)據(jù)對象的數(shù)據(jù)結(jié)構(gòu),如:如描述圖紙,詳細(xì)定義該圖紙的編號、名稱、版本號,類型等信息,客戶端可以通過XPATH檢索關(guān)鍵字得到所需要的信息。
3)對CAD,CAPP,PDM系統(tǒng)分別進(jìn)行二次開發(fā),增加含網(wǎng)絡(luò)功能的插件到系統(tǒng)中,二次開發(fā)目的是提供給用戶友好的界面和統(tǒng)一的開發(fā)平臺,便于以后對系統(tǒng)進(jìn)行功能擴(kuò)展。
圖1 分布式系統(tǒng)集成框架
2 實現(xiàn)分布式系統(tǒng)集成的關(guān)鍵技術(shù)
2.1 CORBA部分
采用CORBA的ORB作為該集成框架的“軟件總線CAD/CAPP/PDM等應(yīng)用程序只要給出用IDL語言書寫的界面,即可插到ORB上而實現(xiàn)與其他對象的互操作各個異構(gòu)數(shù)據(jù)源和服務(wù)也被封裝成對象,其界面亦用IDL語言進(jìn)行描述。不同的ORB之間則通過HOP協(xié)議進(jìn)行通訊。
2.2 XML技術(shù)部分
需要解決3個問題:
1)如何用IDL定義XML的傳輸格式;
2)如何把CADCAPP的數(shù)據(jù)文件映射為XML文件;
3)如何提取XML中的數(shù)據(jù)到各個系統(tǒng)。
2.2.1 用IDL定義XML傳輸
圖2 XML數(shù)據(jù)傳輸
通過CORBA傳輸XML文檔有三種方式:
1)最普遍的使用方式如
缺點是:①不能保證get_details返回有效的XML,ORB只能保證返回的值是字符串類型,而這個值是不是有效的XML字符串,OBR卻無能為力。②效率低,服務(wù)器通過在內(nèi)存創(chuàng)建DOM樹實現(xiàn)get_details對數(shù)據(jù)的訪問,需要在DOM樹和XML字符串之間進(jìn)行轉(zhuǎn)換,其應(yīng)用承擔(dān)了編碼和解碼工作,傳輸?shù)膬?nèi)容全通過字符串傳遞,數(shù)據(jù)量小還可以,對于制造業(yè)的二維三維圖將大大降低傳輸效率。
2)字符串方式如
缺點:這樣的結(jié)構(gòu)操作起來比較困難,而且容易出錯。比如,由于這里采用sequence的結(jié)構(gòu),在映射到C++語言時,很難實現(xiàn)從sequence的中間插入或刪除子元素,這也就喪失使用XML的靈活性。
3)DOM/ValueMapping方式
把需要傳送的數(shù)據(jù)(節(jié)點),以一定的規(guī)則(XPATH等技術(shù)定位)取出,傳送FRAGMENT對象。DOM/value用IDL值類型值(valuetypes)表示XML解析樹中的結(jié)點,而DOM是用IDL界面(interfaces)表示XML解析樹中的結(jié)點。由于IDL值類型支持方法實現(xiàn),結(jié)點擁有自己的方法實現(xiàn),因此不需要將結(jié)點的數(shù)據(jù)成員公布給所有的應(yīng)用。更重要的是傳遞的是值而不是地址,應(yīng)用能直接將XML數(shù)據(jù)作為樹結(jié)構(gòu)發(fā)送和接受,而不需要轉(zhuǎn)化為字符串格式。這對應(yīng)用來說,避免了低效的字符串格式轉(zhuǎn)換,提高了應(yīng)用性能。
2.2.2 數(shù)據(jù)映射
從CAD/CAPP各個系統(tǒng)提取數(shù)據(jù)生成XML格式的數(shù)據(jù)作為中性格式進(jìn)行操作:
1)CAD信息模型(圖3)
圖3 CAD信息模型
CAD以XML格式導(dǎo)出零件信息模型的總體屬性,形狀特性,精度特性通過CORBA存入PDM供其他系統(tǒng)調(diào)用。
2)CAPP信息模型(圖4)
CAPP系統(tǒng)中的數(shù)據(jù),可以分為零件特征信息、工藝規(guī)程數(shù)據(jù)、工藝約束信息和制造環(huán)境數(shù)據(jù)。零件特征信息是來自設(shè)計階段零件的幾何數(shù)據(jù)、拓?fù)潢P(guān)系描述數(shù)據(jù)和技術(shù)要求數(shù)據(jù),是對零件特征的描述;工藝規(guī)程數(shù)據(jù)包括表示零件制造的工藝過程和操作方法的所有文件,工藝過程卡片、工序卡屬于工藝規(guī)程數(shù)據(jù)進(jìn)行工藝設(shè)計各階段的中間結(jié)果也是工藝規(guī)程數(shù)據(jù);工藝約束信息,是生產(chǎn)流程中系統(tǒng)受到的約束條件,是進(jìn)行工藝設(shè)計不可忽略的信息,是進(jìn)行工藝決策必須參照的規(guī)則;制造環(huán)境數(shù)據(jù)是CAPP的主要設(shè)備資源數(shù)據(jù),分為對設(shè)備的管理信息和設(shè)備自身的靜態(tài)特性數(shù)據(jù)和動態(tài)特征數(shù)據(jù)。
圖4 CAPP信息模型
為了后面開發(fā)的方便和系統(tǒng)中數(shù)據(jù)結(jié)構(gòu)的清楚.首先我們要對建模的數(shù)據(jù)進(jìn)行編碼。然后建摸,最后完成數(shù)據(jù)映射XML表達(dá)。
①零件的編碼規(guī)則(基于特征的編碼)零件信息編碼的目的是將零件的加工信息代碼化,以便于計算機(jī)的處理。這里,我們是基于零件的特征編碼。對于一個具體零件,所有的特征都用唯一的特征ID來標(biāo)識。主特征號用字符串“01~99”表示;輔特征的ID號用“主特征ID+01~99"表示。主特征編號的原則是從左至右、先外特征、后內(nèi)特征。0101~0103分別代表01號主特征的3個輔特征,其它輔特征的表示方法由此類推。
②建模零件的每一個主特征抽象為第一層節(jié)點(元素),節(jié)點(元素)編號依據(jù)以上的編碼原理得到。為"01~99";輔特征抽象為第二層節(jié)點(子元素),其編號為“主特征編號+01~99";特征的相關(guān)信息比如尺寸、表面質(zhì)量等抽象為邊(子元素或?qū)傩?。這樣子就可以抽象出零件的信息模型。
③數(shù)據(jù)表達(dá)基于上面建立的概念模型進(jìn)行邏輯模式的設(shè)計.把模型中每個節(jié)點變成一個具有同名的元素類型。對于沒有引出邊的概念根據(jù)本身意義,定義為屬性或者是子元素。物理建模的時候,我們選用了XML的DTD來定義模式,并且依據(jù)CAPP中數(shù)據(jù)的特點,對于零件特征數(shù)據(jù)采用面向數(shù)據(jù)處理進(jìn)行XML建模。
3)PDM信息模型
用XML模式建立PDM的信息模型有利于保證PDM數(shù)據(jù)以XML文檔的形式進(jìn)行存儲和交換,同時保證不同系統(tǒng)間PDM數(shù)據(jù)的統(tǒng)一,有利于PDM數(shù)據(jù)以XML形式進(jìn)行存儲。利用NXD把PDM數(shù)據(jù)以XML的形式存儲起來,可以解決PDM數(shù)據(jù)和關(guān)系數(shù)據(jù)庫的阻抗問題,保證數(shù)據(jù)的一致性和完整性。而建立PDM數(shù)據(jù)的XSD,就可以對存儲的XML文檔數(shù)據(jù)進(jìn)行驗證,保證數(shù)據(jù)存儲的正確性。建立PDM的XML模式,還有利于PDM數(shù)據(jù)的共享和交換。
建立的PDM對象模型主要包括產(chǎn)品及零部件對象模型(BOM,包含了產(chǎn)品的結(jié)構(gòu)與配置、零部件分類、產(chǎn)品相關(guān)文檔與電子倉庫等)、工作流對象模型(WorkFlow)、項目對象模型(Project)、人員對象模型(Person)、文件對象模型(File)等。如圖5所示。
根據(jù)PDM信息模型的對象模式,我們用XSD建立PDM信息模型的XML數(shù)據(jù)模式。XSD本身也是以XML文檔的格式書寫,XSD文檔的后綴名是xsd,XSD定義的數(shù)據(jù)模式以元素為節(jié)點,元素可以具有簡單類型和復(fù)雜類型兩種數(shù)據(jù)類型,每一個元素可以具有自己的子元素和屬性。
圖5PDM對象模型的組成
3 分布式集成系統(tǒng)的實現(xiàn)
1)首先需要定義IDL接口,封裝各個系統(tǒng)的服務(wù);
2)然后根據(jù)這些IDL接口生成STUB,SKELETON;
3)在PDM,CAD,CAPP各系統(tǒng)上進(jìn)行二次開發(fā),以插件的形式提取所需數(shù)據(jù)并轉(zhuǎn)化為XML通用格式,以STUB,SKELETON為基礎(chǔ)實現(xiàn)到CORBA總線的連接;
4)配置命名服務(wù),注冊服務(wù)對象;
5)使用DOM,SAX加上XPATH技術(shù)對接收到的XML文件進(jìn)行過濾,選取有用信息。
4 結(jié)束語
CORBA和XML技術(shù)將整個Intemet資源統(tǒng)一起來,其應(yīng)用領(lǐng)域一般具有大量的數(shù)據(jù)源,各個數(shù)據(jù)源互相獨立而且包含結(jié)構(gòu)化和非結(jié)構(gòu)化的數(shù)據(jù),這些數(shù)據(jù)都被轉(zhuǎn)化為XML結(jié)構(gòu)并通過ORB進(jìn)行通訊,隨著XML技術(shù)的不斷發(fā)展以及CORBA規(guī)范的不斷完善,必將二者有效地結(jié)合起來,充分發(fā)揮各自的長處,才能構(gòu)造出高效的、高擴(kuò)展性的應(yīng)用程序。
本文詳細(xì)介紹了采用CORBA為基礎(chǔ)的分布式CAD/CAPP/PDM集成時所需要解決的問題,如何將各種數(shù)據(jù)結(jié)構(gòu)映射為XML結(jié)構(gòu),為進(jìn)一步實施集成提供了理論依據(jù)。
相關(guān)文章
- 2021-09-08BIM技術(shù)叢書Revit軟件應(yīng)用系列Autodesk Revit族詳解 [
- 2021-09-08全國專業(yè)技術(shù)人員計算機(jī)應(yīng)用能力考試用書 AutoCAD2004
- 2021-09-08EXCEL在工作中的應(yīng)用 制表、數(shù)據(jù)處理及宏應(yīng)用PDF下載
- 2021-08-30從零開始AutoCAD 2014中文版機(jī)械制圖基礎(chǔ)培訓(xùn)教程 [李
- 2021-08-30從零開始AutoCAD 2014中文版建筑制圖基礎(chǔ)培訓(xùn)教程 [朱
- 2021-08-30電氣CAD實例教程AutoCAD 2010中文版 [左昉 等編著] 20
- 2021-08-30電影風(fēng)暴2:Maya影像實拍與三維合成攻略PDF下載
- 2021-08-30高等院校藝術(shù)設(shè)計案例教程中文版AutoCAD 建筑設(shè)計案例
- 2021-08-29環(huán)境藝術(shù)制圖AutoCAD [徐幼光 編著] 2013年P(guān)DF下載
- 2021-08-29機(jī)械A(chǔ)utoCAD 項目教程 第3版 [繆希偉 主編] 2012年P(guān)DF