劉 昕 石 鑫
(①青海民族大學,青海 西寧 810007;②中航工業江西洪都航空工業集團有限責任公司,江西 南昌 330001)
?
CORBA技術在三層C/S虛擬車削加工仿真方面的開發應用
劉昕①石鑫②
(①青海民族大學,青海 西寧 810007;②中航工業江西洪都航空工業集團有限責任公司,江西 南昌 330001)
分布式應用是現今網絡時代發展的主流,其最新成果已在世界范圍內得到普及使用。現通過研究數控車削加工仿真的實現過程,在分析傳統數控加工仿真技術及其弊端的基礎上,采用基于CORBA組件技術與OpenGL圖形渲染技術實現數控虛擬車削加工模擬仿真系統,概括分析程序的運行機理,給出模型結構,并在VC++6.0開發環境下,結合OpenGL技術,最終實現跨網絡、跨平臺的數控虛擬車削加工的模擬仿真。結果表明:利用CORBA技術能夠提高分布式虛擬加工仿真軟件的開發速度,增強開發軟件可靠性,可為計算機輔助加工工藝方案是否合理提供判斷依據與技術支撐。
數控車削;CORBA;OpenGL;VC;虛擬加工
隨著計算機技術的不斷發展,分布式應用已成為當今網絡時代發展的主流趨勢。在計算機輔助設計與制造領域,工件數控加工過程的建模和仿真是虛擬制造技術在機械加工中的重要應用,該應用作為虛擬制造技術的基礎性研究已經成為虛擬制造技術發展的關鍵和亟需解決的瓶頸問題[1-2]。然而,由于受到計算機軟硬件技術限制,傳統的單機數控加工仿真系統已經遠遠不能滿足人們的需求。特別是隨著各種DCS和基于現場總線的控制系統(FCS)不斷出現,功能也越來越復雜,這就給數控仿真系統的效率提出了更高的要求。另外,傳統的仿真軟件開發中工程化程度還比較低,開發工作也不夠規范,且這些分布的計算機往往具有不同的硬件平臺及操作系統,這就使得在分布式的網絡環境下開發和維護應用軟件變得十分棘手且易出錯,導致軟件開發周期過長,勞動強度大,開發成本高,軟件升級困難[3]。
近些年來,采用公共對象請求代理(common object request broker architecture,CORBA)的分布式計算模型的提出為解決上述困難找到了出路。該分布式計算模型是分布式對象系統中對象間發送和接收消息的“軟總線”(結構如圖1所示)[4],可以簡化本地與遠地對象間的通信,使之以更透明的方式實現各對象間的互連互通與互操作,免去繁瑣易于出錯的底層工作,使位于不同地理位置的眾多客戶通過網絡連接便能實現數據共享,達到協同仿真制造的目的。目前,流行的分布式計算技術主要有OMG的CORBA和微軟的COM/DCOM。與COM/DCOM相比,OMG的CORBA具有更好的跨平臺跨網絡性能,技術程度更高[5-6],故而本系統用OMG的CORBA來實現數控車削加工的虛擬仿真。

基于CORBA ORB軟總線的NC加工仿真系統結構框架如圖2所示。概括來說,數控加工仿真系統的基本工作就是對系統中的各類對象進行建模和仿真。那么,在分布式仿真系統中,便可根據仿真對象將整個系統體系劃分成各類仿真子系統(仿真部件)。這些分布的仿真子系統分別管理著不同種類或地點的仿真運動和狀態,并向外界反饋仿真對象狀態、激發相關事件。與此同時,系統還應該包括仿真動態的可視化顯示、仿真數據采集器、演示仿真控制器等輔助運行部件,這些部件都通過CORBA軟總線進行交互與集成。類似于計算機硬件的構造模式,CORBA ORB軟總線就如同計算機中的總線,那么仿真應用部件就相當于通過接口插在總線上的插件。

在基于CORBA標準的環境中,融合CORBA和VC++將會構造出VC++ ORB結構。通過ORB,客戶能夠在不熟知其實現細節的情況下,透明地發出請求和接收響應,實現與服務器交互的動態仿真。一個完整的車削仿真系統的建立涵蓋三個方面,即建立IDL文件,依據IDL文件編寫服務器端和客戶端代碼,編譯運行代碼[7]。系統運行機理的具體實現過程包含以下三步:
2.1接口定義[8-9]
IDL為模擬仿真程序模塊的接口文件,其定義了服務器能夠實現的功能以及客戶如何去調用這些功能。假如客戶要想調用模擬仿真系統中的傳輸機床資源信息的代碼函數,唯一的一種途徑就是通過調用ManufacturingResourceTransmit ( in manufacturing resourcedate machinedate)函數實現。這樣,客戶就可在客戶端定義一個變量EmluatorServer,該變量是一個服務器對象,雖然它的實體或許并不存在于我們的機器中,但是ORB卻為我們做了大量有用的工作,讓我們定義和使用一個遠程對象,如同調用自己程序中的東西那樣容易。圖3為某一IDL文件的部分描述。

2.2服務器程序實現[10]
在服務器端,在編寫好服務器端界面的同時,應對每個IDL定義的每個接口編寫相應的對象實現類和初始化ORB環境并等待用戶客戶調入的代碼。本開發系統中,接口定義文件SolidGeometryEmluator.IDL用來實現IDL文件中所定義的各種功能,包含傳輸NC代碼、傳輸機床資源信息、啟動/停止仿真、返回實時節點數據、返回加工結果等功能模塊。圖4為本系統服務器程序實現代碼簡介。
2.3客戶程序實現
在客戶端,基于靜態調用具有編程簡單,調用便捷,運行速度快等諸多優點,故而在編寫好客戶端界面的同時,系統主要通過靜態調用方法實現請求對象服務。靜態調用要用到由IDL接口文件編譯后自動生成的靜態調用接口Stub,客戶程序進行編譯時,Stub文件會被自動連接進去。

2.4三層C/S結構模型
客戶與服務器的交互過程如下[11-12]:
(1)表示層的客戶端向服務器發出請求,傳輸NC代碼與制造資源信息,找到要實現的對象標識。
(2)查找對象標示所適應的Stub,并通過該Stub向本地的ORB核心發出請求,本地的ORB再通過IIOP協議與遠程ORB進行通信,遠端ORB核心將請求發送給相應的對象適配器。
(3)對象適配器接受到請求后,查找相應的Skeleton,再通過對應的Skeleton激活CORBA應用對象。
(4)CORBA應用對象對客戶的請求進行識別,依據客戶請求的內容,直接訪問資源層的數據庫,或者與網絡上的其它CORBA對象進行交互,共同完成客戶請求,在服務器上執行數控加工仿真過程。
(5)Skeleton裝載數控加工仿真結果后,會將結果通過對象請求傳遞和執行路徑的逆向返還給客戶,從而完成了一次完整的請求調用。
圖5表示基于CORBA的三層C/S應用體系結構,由圖5中可知,CORBA在傳統的客戶/服務器分布式計算模型中加入了ORB(對象請求代理)的層次。客戶不再直接和服務器聯系,而由ORB來定義服務器。這樣,服務器的變化對于客戶是透明的,客戶和服務器也不受一一對應關系限制,客戶可以在運行時定位和使用不同的服務器,從而實現虛擬數控車削加工的三維模擬仿真。

本系統實現了一個基于CORBA技術的數控車削加工三維模擬仿真系統。系統中各個程序模塊可以分布在網絡中的任何一臺機器中,通過ORB進行仿真工作。當仿真服務器啟動后,可以使客戶端和服務器相連接起來,這時就能夠執行NC代碼、機床信息傳輸等操作。當預備條件準備好后,仿真工作即可開始進行。在仿真過程中用戶還可以執行數據跟蹤工作進程,由于本系統采用了較為先進的線程控制手段,所以在仿真過程中,用戶能夠隨時暫停仿真演示,也可隨時終止仿真演示。仿真運動結束后,系統會自動生成仿真結果,返回工件加工的結果數據,并繪制出帶有信息標注的二維工件圖。這樣,用戶不僅能夠直觀地看到整個仿真加工情況,獲取結果,而且依據反饋的結果信息判斷出所設計的工件是否符合實際加工要求。通過測試,程序運行穩定,各功能模塊均工作良好。圖6和圖7分別為本系統測試進程(客戶端成功傳輸NC代碼)與測試結果(車削加工仿真結果)。


本文針對傳統數控加工仿真的不足之處,提出了一個基于CORBA和OpenGL技術實現數控車削加工仿真的解決方案,實驗結果表明該方案整體結構合理,系統程序運行可靠,具備維護性好、擴展性良好、模型重用方便、適應多平臺、可進行分布式處理的特點。目前,本開發系統已在工程實踐中得到實際應用。隨著仿真技術的不斷發展,CORBA技術在機械虛擬加工仿真中的應用會更加廣泛,優勢更加明顯,其將是仿真軟件業發展的必然趨勢。
[1]王占禮,董超,胡艷娟,等.數控加工仿真系統研究現狀與發展趨勢[J].制造業自動化,2013,35(5):41-45.
[2] 鄭先容,黃杰,賈焰.基于CORBA構造模型的編譯器的研究與實現[J].計算機應用,2005,25(1):91-92.
[3]牟世剛.面向虛擬制造的數控加工仿真技術的研究[J].機床與液壓,2009,37(9):249-251.
[4]陳雅琳,黃宏光,李燕斌.CORBA分布式系統中網絡分割協議可行度分析[J].計算機應用,2013,33(8):2124-2127.
[5]趙瑜,劉勇,孔捷.基于CORBA組件的分布式網管軟件設計[J].無線電工程,2012,42(7):4-6.
[6] 童恒慶,聶會琴,李錫喆.CORBA/COM/EJB三種組件模型的分析與比較[J].計算機應用研究,2004,21(4):66-67.
[7] 陳思耀.基于CORBA技術網路應用系統的IDL設計與實現[J].四川理工學院學報:自然科學版,2007,20(2):54-59.
[8] 李穎,胡明.基于C語言實現的IDL編譯器[J].計算機技術與發展,2013,23(3):5-9.
[9] 李娜,王維哲.基于CORBA的異構數據庫訪問中間件的研究與實現[J].計算機應用與軟件,2010,27(5):162-164.
[10] 張昭理,胡金柱.CORBA構建模型在分布式體系結構中的應用[J].計算機工程,2004,30(12):81-83.
[11] 張奕.基于CORBA系統的研究與現實[J].現代導航,2013(4):308-311.
[12] 盧立男,周長春,李喜旺.一種集成CORBA與WebServices的中間件[J].計算機系統應用,2011,20(4):131-135.
(編輯汪藝)
如果您想發表對本文的看法,請將文章編號填入讀者意見調查表中的相應位置。
·名詞解釋·
專用機器人在固定地點以固定程序工作的機器人,其結構簡單、工作對象單一、無獨立控制系統、造價低廉,如附設在加工中心機床上的自動換刀機械手。
CAPP技術CAPP是計算機輔助工藝設計(Computer Aided Process Planning)的簡稱。工藝設計是生產準備工作的第一步,也是連接產品設計和產品制造之間的橋梁。工藝設計必須分析和處理大量的信息,既要考慮產品設計圖上有關結構形狀、尺寸公差、材料及熱處理以及批量等方面的信息,又要了解加工制造中有關加工方法、加工設備、生產條件、加工成本及工時定額,甚至傳統習慣等方面的信息。工藝設計包括查閱資料和手冊,確定零件的加工方法,安排加工路線,選擇設備、工裝、切削參數,計算工序尺寸,繪制工序圖,填寫工藝卡片和表格文件等工作。高速發展的計算機技術為工藝設計的自動化奠定了基礎。CAPP是利用計算機技術,在工藝人員較少的參與下,完成過去完全由人工進行的工藝規程設計工作的一項技術。CAPP系統不但能利用工藝人員的經驗知識和各種工藝數據進行科學的決策,自動生成工藝規程,還能自動計算工藝尺寸,繪制工序圖,選擇切削參數,對工藝設計結果進行優化,從而設計出一致性良好、高質量的工藝規程。另外,由于計算機中存儲的信息可以反復利用,從而大大提高了工藝設計的效率。
電解冶煉利用電解原理,對有色和稀有金屬進行提煉和精煉。分為水溶液電解冶煉和焙鹽電解冶煉兩種。水溶液電解冶煉在冶金工業中廣泛用于提取和精煉銅、鋅、鉛、 鎳等金屬。 例如銅的電解提純:將粗銅(含銅99%)預先制成厚板作為陽極,純銅制成薄片作陰極,以硫酸和硫酸銅的混和液作為電解液。通電后,銅從陽極溶解成銅離子向陰極移動,到達陰極后獲得電子而在陰極析出純銅(亦稱電解銅)。粗銅中雜質如比銅活潑的鐵和鋅等會隨銅一起溶解為離子。由于這些離子與銅離子相比不易析出,所以電解時只要適當調節電位差即可避免這些離子在陽極上析出。比銅不活潑的雜質如金和銀等沉積在電解槽的底部。焙鹽電解冶煉用于提取和精煉活潑金屬(如鈉、鎂、鈣、鋁等)。例如,工業上提取鋁:將含氧化鋁的礦石進行凈化處理,將獲得的氧化鋁放入熔融的冰晶石中,使其成為熔融狀的電解體。
Application of CORBA technique in virtual simulation of three-tier NC lathe turning
LIU Xin①,SHI Xin②
(①Qinghai Nationalities University, Xining 810007, CHN; ②AVIC Jiangxi Hongdu Aviation Industry Group Corporation Limited, Nanchang 330001, CHN)
Distributed application is the developing mainstream of internet age, and its latest achievements have been applied widely throughout the world. Now with numerical control(NC) lathe turning processing simulation taken as an example, based on the analysis of traditional NC machining simulation technique and its flows, the development structure of the software is established. With the use of distributed CORBA component and OpenGL graphic technologies, a new method of realizing NC lathe turning virtual simulation system is put forward. The operation mechanism of the program is analyzed, and the model structure is discussed in detail. In VC++6.0, with OpenGL graphic technology, the NC lathe turning virtual simulation which is across platform and network is realized. Results show that using CORBA technology can improve the development and reliability of distributed virtual processing software, and it also provides reasonable judgment and technical supports for the CAPP plans.
NC lathe turning; CORBA; OpenGL; VC; virtual processing
TP391
A
劉昕,女,1981年生,碩士,講師,研究方向為計算機應用與網絡。
2015-10-20)
160111