本文探討了CORBA的DNC系統(tǒng)實現(xiàn)相關內(nèi)容。
在分布式車間層控制系統(tǒng)開放式平臺的基礎上,采用面向?qū)ο蠓椒▽NC系統(tǒng)進行詳細功能分析和類層次設計,最終在Orbix平臺上實現(xiàn)了三層客戶服務器結(jié)構(gòu)的DNC系統(tǒng)應用程序。
1 引言
DNC(Distributed Numerical Control)稱為分布式數(shù)控,是實現(xiàn)CAD/CAM和計算機輔助生產(chǎn)管理系統(tǒng)集成的紐帶,是機械加工自動化的又一種形式。
目前,DNC系統(tǒng)的研究尚存在以下有待解決的技術(shù)問題:①DNC系統(tǒng)體系結(jié)構(gòu)的開放性不強。國內(nèi)大部分DNC系統(tǒng)局限于單一供應商的制造設備,平臺之間可移植性差,不同應用程序互操作能力有待提高,不利于系統(tǒng)集成;②DNC系統(tǒng)通信結(jié)構(gòu)多為點對點式,或采用局域網(wǎng)加點對點式,不能很好地解決通信競爭問題;③DND系統(tǒng)與NCP和CAD的接口功能還很弱;④DNC系統(tǒng)控制軟件可重用性不強,需要進行面向?qū)ο笤O計和實現(xiàn)。本文提出了基于CORBA(通用對象請求代理結(jié)構(gòu))的車間層控制系統(tǒng)中DNC系統(tǒng),給上述問題以很好的解答,并實現(xiàn)了軟件的編制及聯(lián)機調(diào)式。
2 控制系統(tǒng)體系的結(jié)構(gòu)
本文提出的DNC系統(tǒng)是基于CORBA車間層控制系統(tǒng)的一個功能單元,現(xiàn)在的企業(yè)面對的是一個多變的需求環(huán)境,因而車間層控制系統(tǒng)面對的加工任務也是多變的。這種變化包括生產(chǎn)零件的品種、類型、規(guī)格、產(chǎn)量和交貨期等多個因素的變化以及加工工藝路線隨生產(chǎn)任務的不同而變化等。這就需要一個在時間和空間上都開放的車間層控制系統(tǒng)體系結(jié)構(gòu),以運行于不同硬件環(huán)境的異構(gòu)計算機系統(tǒng)中,同時又能適應新技術(shù)的發(fā)展,容納新設備的增加。
在本文的基于CORBA的車間層控制系統(tǒng)中,構(gòu)造車間信息集成和共享的公共平臺是核心問題之一,我們采用基于客戶/服務器結(jié)構(gòu)的分布式控制平臺(如Orbix),既可以將傳統(tǒng)的遞階控制結(jié)構(gòu)變換成更適合信息集成的分布或控制結(jié)構(gòu),又可適應不同產(chǎn)品制造過程(離散制造或連續(xù)制造)中統(tǒng)一的生產(chǎn)管理和組織要求。
我們將該車間層控制系統(tǒng)總體結(jié)構(gòu)分為三層:底層為系統(tǒng)支持層,由分布式計算環(huán)境和異構(gòu)網(wǎng)絡集成系統(tǒng)兩個子層構(gòu)成,提供底層的計算機系統(tǒng)、網(wǎng)絡系統(tǒng)和數(shù)據(jù)系統(tǒng)等系統(tǒng)級功能;中間層為開放式分布處理層,提供統(tǒng)一的集成通信服務,由開放式分布處理平臺和應用程序接口組成,最上層為信息集成層,支持多客戶/服務器的分布式多數(shù)據(jù)庫集成系統(tǒng),將現(xiàn)有的應用和數(shù)據(jù)信息集成到系統(tǒng)中。為實現(xiàn)控制結(jié)構(gòu)的分布、數(shù)據(jù)庫的分布以及系統(tǒng)功能的分布,提出的車間層控制系統(tǒng)軟件采用基于CORBA規(guī)范的分布式對象體系結(jié)構(gòu)。
CORBA規(guī)范主要特點是實現(xiàn)軟件總線結(jié)構(gòu)。所謂軟件總線的功能,就是起到類似于計算機系統(tǒng)硬件總線的作用,只要將應用模塊按總線規(guī)范作成軟插件,插入總線即可實現(xiàn)集成運行。實現(xiàn)軟件總線的核心系統(tǒng)稱為ORB(對象請求代理器),它不僅支持標準的OMG對象模型,還具有分布進程管理和通信管理功能。此外,CORBA定義了IDL(Interface Definition Language)語言,以描述軟件總線上的插銷。IDL提供了對成員系統(tǒng)的封裝和成員系統(tǒng)之間隔離,任何成員系統(tǒng)作為一個對象,通過IDL對其接口參數(shù)進行定義和說明,就可接到ORB上,為其它系統(tǒng)提供服務或向其它系統(tǒng)提出請求,達到即插即用效果。
將車間層控制系統(tǒng)劃分為許多獨立的功能單元,每個功能單元對應于一個包含功能接口定義和實體的抽象對象,每類對象的接口由屬性和操作組成,由IDL定義的其它功能單元可以透明訪問的服務以調(diào)用該對象的私有數(shù)據(jù),具體功能的實現(xiàn)被封裝在實體里。我們將每類對象按照功能劃分成若干個子對象,將其設計成為可以直接插在CORBA軟件總線上的對象插件。這些對象插件按照各層客戶/服務器結(jié)構(gòu)組成整個平臺系統(tǒng)。這種結(jié)構(gòu)可以帶來長遠的利益,既能迅速增加對新的DBMS的應用、增加新的用戶界面,又能升級支持各種新功能。其體系結(jié)構(gòu)如圖1所示。
圖1 車間層系統(tǒng)體系結(jié)構(gòu)示意圖
3 DNC系統(tǒng)的地位及功能
DNC系統(tǒng)作為車間層控制系統(tǒng)的一個功能單元。它在車間層控制系統(tǒng)模型中的位置如圖2所示。
圖2 DNC系統(tǒng)在車間層控制系統(tǒng)中的地位
DNC系統(tǒng)功能包括①NC程序及數(shù)據(jù)的傳遞,以某種通信協(xié)議(如Philip532等)實現(xiàn)通信功能;②機床狀態(tài)采集和上報;③根據(jù)工序計劃,自動分配NC程序及數(shù)據(jù)到相應機床;④刀具數(shù)據(jù)的分配與傳遞。
圖3為DNC系統(tǒng)軟件的功能模型,其中NC數(shù)據(jù)管理的主要功能是對數(shù)控數(shù)據(jù)進行管理,主要有數(shù)控數(shù)據(jù)的顯示、插入、修改、刪除、更新、鎖定(不允許更改)和打印等操作;NC數(shù)據(jù)執(zhí)行的主要功能有:數(shù)控數(shù)據(jù)在計算機和機床之間的傳送、刪除機床上的數(shù)控數(shù)據(jù)、啟動機床上的數(shù)控程序、隨時從機床設備獲得工作狀態(tài)信息并存入數(shù)據(jù)庫,作為運行數(shù)據(jù)采集模塊評價加工過程的根據(jù);DNC通訊接口通過DNC協(xié)議和數(shù)據(jù)鏈路協(xié)議建立單元控制系統(tǒng)和CNC的連接。
圖3 DNC系統(tǒng)軟件的功能模型(IDEF0)
4 DNC系統(tǒng)軟件體系結(jié)構(gòu)
DNC系統(tǒng)體系結(jié)構(gòu)簡圖如圖4所示。基于CORBA的DNC系統(tǒng)軟件的實現(xiàn)平臺建立在車間層控制系統(tǒng)平臺的基礎上。我們將DNC系統(tǒng)體系結(jié)構(gòu)劃分為三層的客戶/服務器結(jié)構(gòu),以將表示邏輯、業(yè)務邏輯和數(shù)據(jù)處理邏輯明確劃分開來。為此,表示層用來表示信息和收集數(shù)據(jù),此處為由VB實現(xiàn)的可移植的DNC人機接口;業(yè)務層響應用戶(或其它的業(yè)務服務)發(fā)來的請求,執(zhí)行某種業(yè)務任務,此處為由VC++來實現(xiàn)DNC應有程序及NC數(shù)據(jù)管理應用程序;數(shù)據(jù)層包括數(shù)據(jù)的定義、維修、訪問和更新以及管理,并響應業(yè)務服務的數(shù)據(jù)請求,此處為經(jīng)IDL功能接口定義封裝的NC局部數(shù)據(jù)庫(Access)服務器。這些層并不一定與網(wǎng)絡上的具體物理位置相對應,它們只是概念上的層,借助這些概念可以開發(fā)出健壯的、基于組件的應用程序。
使用圖3所示模型,可以把應用程序的需求分解成明確定義的服務。在定義了服務之后,需要進一步創(chuàng)建具體的物理組件來實現(xiàn)它們。根據(jù)性能和維護的需求、工作量、網(wǎng)絡帶寬以及其它因素,可以在網(wǎng)絡上靈活地部署這些組件。
圖4 DNC系統(tǒng)體系結(jié)構(gòu)簡圖
5 DNC系統(tǒng)軟件的數(shù)據(jù)模型
本文DNC系統(tǒng)軟件中涉及到數(shù)據(jù)實體包含四類:①與制造設備硬件相關的數(shù)據(jù)實體(如機床等);②與人機通訊相關的數(shù)據(jù)實體(如通訊協(xié)議實體和串口通訊實體);③數(shù)控數(shù)據(jù)實體(如NC程序號、刀具號、工序號);④輸入操作指令或派工單實體。采用面向?qū)ο蠓椒▽⑸鲜鰧嶓w抽象成為類,可分為能力單元類、NC機床類、NC控制器類、通訊協(xié)議類、終端服務器類、串口通訊類、NC程序類等。這些類之間的關系如圖5所示。
圖5 DNC系統(tǒng)類層次簡圖
DNC應用程序中的對象從這些類中繼承下來,每個對象的方法即該對象的成員函數(shù)根據(jù)相應的功能需求來定義。下面以NC機床類的定義為例:
∥ncmach.h -NC Machine Class definations
∥NC Machines are part processors.For this class,a part is loaded,
∥a NC file is downloaded to the device,and the machine is started.
class MACHINE-TOOL{
char* CurrentNCFile; ∥currently loaded NC file
int FixtureStatus; ∥fixture status
public:
MACHINE-TOOL();
char* getCurrentNCFile();
void setCurrentNCFile(char?F);
Int getFixtureStatus();
void setFixtureStatus(int S);
virtual int processPart(char? PartName);
virtual int downloadNCFile(char?File);
virtual int stopMachine();
virtual in graspPart();
virtual int releasePart();
};
6 DNC系統(tǒng)的物理配置基本結(jié)構(gòu)
本文提出的基于CORBA的車間層控制系統(tǒng)需要兩種層次的互連。第一層是利用計算機局域網(wǎng)技術(shù)和協(xié)議軟件把由異構(gòu)計算機組成的車間層控制器、設備控制器等互連起來,第二層是在這一互連的基礎上,實現(xiàn)各節(jié)點、各被控的異構(gòu)制造設備(如加工中心、機器人、PLC等)之間的信息交互,這種交互通過制造信息規(guī)范(MMS)實現(xiàn)。作為車間層控制系統(tǒng)的一個重要組成部分,本文DNC系統(tǒng)的物理配置基本結(jié)構(gòu)如下圖所示,主計算機通過網(wǎng)絡介質(zhì)(具有獨立IP地址的終端服務器)分別連接多臺CNC系統(tǒng)實現(xiàn)NC程序的裝卸、刀具數(shù)據(jù)的傳遞、操作命令的下達和狀態(tài)信息的反饋。這是一種通過局域網(wǎng)連接起來的通信結(jié)構(gòu),它具有包括物理層、數(shù)據(jù)鏈路層、傳輸層及應用層等的四層結(jié)構(gòu),其中數(shù)據(jù)鏈路層采用LSV2通訊協(xié)議,傳輸層采用DNC協(xié)議(如SINUMERIK或PHILIPS協(xié)議)。
圖6 DNC系統(tǒng)的物理配置基本結(jié)構(gòu)
7 結(jié)論
本系統(tǒng)采用局域網(wǎng)型通信互聯(lián),是一種非集中控制的通信網(wǎng),它把各站點,如一個DNC系統(tǒng)通過一條公用的通信介質(zhì),如雙絞線、光纖電纜或軸電纜,聯(lián)接在一起,各站點的距離可較遠。局域網(wǎng)型是目前按常使用的一種組成方式,系統(tǒng)規(guī)模擴展的潛力很大。
本文中DNC系統(tǒng)表示層、業(yè)務層及數(shù)據(jù)層相互分離,使它具備系統(tǒng)重組的柔性,專業(yè)人員可根據(jù)設備更新、企業(yè)產(chǎn)品轉(zhuǎn)型等情況,方便的對DNC控制系統(tǒng)進行局部快速的修改,系統(tǒng)維護、重組的過程簡單。
本系統(tǒng)基于軟插件思想在分布式平臺Orbix上開發(fā),系統(tǒng)開放性良好,基于CORBA規(guī)范的DNC系統(tǒng)組件設計,使其在CIMS環(huán)境下與其它應用程序(如NCP和CAD)的集成十分方便,實現(xiàn)了真正意義上的分布式數(shù)字控制。
本系統(tǒng)控制軟件采用面向?qū)ο蠼:蛯崿F(xiàn),可重用性強,尤其在對底層與CNC機床的通信方面,封裝了不同CNC系統(tǒng)所要求的DNC數(shù)據(jù)傳輸協(xié)議的差別。
以上介紹的DNC系統(tǒng)的結(jié)構(gòu)和功能,均已由本校科研人員開發(fā)完成,并通過了聯(lián)網(wǎng)的實驗,全部實驗正確無誤,通過開發(fā)和實驗,證明了通過網(wǎng)絡實現(xiàn)的DNC系統(tǒng)的可靠性、實用性和良好的開放擴展性,這種DNC方式可供企業(yè)參考。
相關文章
- 2021-09-08BIM技術(shù)叢書Revit軟件應用系列Autodesk Revit族詳解 [
- 2021-09-08全國專業(yè)技術(shù)人員計算機應用能力考試用書 AutoCAD2004
- 2021-09-08EXCEL在工作中的應用 制表、數(shù)據(jù)處理及宏應用PDF下載
- 2021-08-30從零開始AutoCAD 2014中文版機械制圖基礎培訓教程 [李
- 2021-08-30從零開始AutoCAD 2014中文版建筑制圖基礎培訓教程 [朱
- 2021-08-30電氣CAD實例教程AutoCAD 2010中文版 [左昉 等編著] 20
- 2021-08-30電影風暴2:Maya影像實拍與三維合成攻略PDF下載
- 2021-08-30高等院校藝術(shù)設計案例教程中文版AutoCAD 建筑設計案例
- 2021-08-29環(huán)境藝術(shù)制圖AutoCAD [徐幼光 編著] 2013年PDF下載
- 2021-08-29機械AutoCAD 項目教程 第3版 [繆希偉 主編] 2012年PDF