DNC

DNC

數控技術
DNC(Distributed Numerical Control)稱為分布式數控,是實現CAD/CAM和計算機輔助生産管理系統集成的紐帶,是機械加工自動化的又一種形式 MDI 是錄入方式。[1]
    中文名:DNC 外文名:Distributed Numerical Control 用途: 屬 于:分布式數控 趨 勢:是未來制造業的發展趨勢

引言

DNC(Distributed Numerical Control)稱為分布式數控,是實現CAD/CAM和計算機輔助生産管理系統集成的紐帶,是機械加工自動化的又一種形式。

目前,DNC系統的研究尚存在以下有待解決的技術問題:①DNC系統體系結構的開放性不強。國内大部分DNC系統局限于單一供應商的制造設備,平台之間可移植性差,不同應用程序互操作能力有待提高,不利于系統集成;②DNC系統通信結構多為點對點式,或采用局域網加點對點式,不能很好地解決通信競争問題;③DND系統與NCP和CAD的接口功能還很弱;④DNC系統控制軟件可重用性不強,需要進行面向對象設計和實現。本文提出了基于CORBA(通用對象請求代理結構)的車間層控制系統中DNC系統,給上述問題以很好的解答,并實現了軟件的編制及聯機調式。

控制系統體系的結構

DNC系統是基于CORBA車間層控制系統的一個功能單元,現在的企業面對的是一個多變的需求環境,因而車間層控制系統面對的加工任務也是多變的。這種變化包括生産零件的品種、類型、規格、産量和交貨期等多個因素的變化以及加工工藝路線随生産任務的不同而變化等。這就需要一個在時間和空間上都開放的車間層控制系統體系結構,以運行于不同硬件環境的異構計算機系統中,同時又能适應新技術的發展,容納新設備的增加。

在基于CORBA的車間層控制系統中,構造車間信息集成和共享的公共平台是核心問題之一,我們采用基于客戶/服務器結構的分布式控制平台(如Orbix),既可以将傳統的遞階控制結構變換成更适合信息集成的分布或控制結構,又可适應不同産品制造過程(離散制造或連續制造)中統一的生産管理和組織要求。

車間層控制系統總體結構分為三層:底層為系統支持層,由分布式計算環境和異構網絡集成系統兩個子層構成,提供底層的計算機系統、網絡系統和數據系統等系統級功能;中間層為開放式分布處理層,提供統一的集成通信服務,由開放式分布處理平台和應用程序接口組成,最上層為信息集成層,支持多客戶/服務器的分布式多數據庫集成系統,将現有的應用和數據信息集成到系統中。為實現控制結構的分布、數據庫的分布以及系統功能的分布,提出的車間層控制系統軟件采用基于CORBA規範的分布式對象體系結構。

CORBA規範主要特點是實現軟件總線結構。所謂軟件總線的功能,就是起到類似于計算機系統硬件總線的作用,隻要将應用模塊按總線規範作成軟插件,插入總線即可實現集成運行。實現軟件總線的核心系統稱為ORB(對象請求代理器),它不僅支持标準的OMG對象模型,還具有分布進程管理和通信管理功能。此外,CORBA定義了IDL(Interface Definition Language)語言,以描述軟件總線上的插銷。IDL提供了對成員系統的封裝和成員系統之間隔離,任何成員系統作為一個對象,通過IDL對其接口參數進行定義和說明,就可接到ORB上,為其它系統提供服務或向其它系統提出請求,達到即插即用效果。

車間層控制系統劃分為許多獨立的功能單元,每個功能單元對應于一個包含功能接口定義和實體的抽象對象,每類對象的接口由屬性和操作組成,由IDL定義的其它功能單元可以透明訪問的服務以調用該對象的私有數據,具體功能的實現被封裝在實體裡。我們将每類對象按照功能劃分成若幹個子對象,将其設計成為可以直接插在CORBA軟件總線上的對象插件。這些對象插件按照各層客戶/服務器結構組成整個平台系統。這種結構可以帶來長遠的利益,既能迅速增加對新的DBMS的應用、增加新的用戶界面,又能升級支持各種新功能。

3 DNC系統的地位及功能

DNC系統作為車間層控制系統的一個功能單元。

DNC系統功能包括①NC程序及數據的傳遞,以某種通信協議(如Philip532等)實現通信功能;②機床狀态采集和上報;③根據工序計劃,自動分配NC程序及數據到相應機床;④刀具數據的分配與傳遞。

DNC系統軟件的功能模型,其中NC數據管理的主要功能是對數控數據進行管理,主要有數控數據的顯示、插入、修改、删除、更新、鎖定(不允許更改)和打印等操作;NC數據執行的主要功能有:數控數據在計算機和機床之間的傳送、删除機床上的數控數據、啟動機床上的數控程序、随時從機床設備獲得工作狀态信息并存入數據庫,作為運行數據采集模塊評價加工過程的根據;DNC通訊接口通過DNC協議和數據鍊路協議建立單元控制系統和CNC的連接。

4 DNC系統軟件體系結構

基于CORBA的DNC系統軟件的實現平台建立在車間層控制系統平台的基礎上。我們将DNC系統體系結構劃分為三層的客戶/服務器結構,以将表示邏輯、業務邏輯和數據處理邏輯明确劃分開來。為此,表示層用來表示信息和收集數據,此處為由VB實現的可移植的DNC人機接口;業務層響應用戶(或其它的業務服務)發來的請求,執行某種業務任務,此處為由VC++來實現DNC應有程序及NC數據管理應用程序;數據層包括數據的定義、維修、訪問和更新以及管理,并響應業務服務的數據請求,此處為經IDL功能接口定義封裝的NC局部數據庫(Access)服務器。這些層并不一定與網絡上的具體物理位置相對應,它們隻是概念上的層,借助這些概念可以開發出健壯的、基于組件的應用程序。

使用圖3所示模型,可以把應用程序的需求分解成明确定義的服務。在定義了服務之後,需要進一步創建具體的物理組件來實現它們。根據性能和維護的需求、工作量、網絡帶寬以及其它因素,可以在網絡上靈活地部署這些組件。

5 DNC系統軟件的數據模型

DNC系統軟件中涉及到數據實體包含四類:①與制造設備硬件相關的數據實體(如機床等);②與人機通訊相關的數據實體(如通訊協議實體和串口通訊實體);③數控數據實體(如NC程序号、刀具号、工序号);④輸入操作指令或派工單實體。采用面向對象方法将上述實體抽象成為類,可分為能力單元類、NC機床類、NC控制器類、通訊協議類、終端服務器類、串口通訊類、NC程序類等。

DNC應用程序中的對象從這些類中繼承下來,每個對象的方法即該對象的成員函數根據相應的功能需求來定義。下面以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系統的物理配置基本結構

基于CORBA的車間層控制系統需要兩種層次的互連。第一層是利用計算機局域網技術和協議軟件把由異構計算機組成的車間層控制器、設備控制器等互連起來,第二層是在這一互連的基礎上,實現各節點、各被控的異構制造設備(如加工中心、機器人、PLC等)之間的信息交互,這種交互通過制造信息規範(MMS)實現。作為車間層控制系統的一個重要組成部分,本文DNC系統的物理配置基本結構如下圖所示,主計算機通過網絡介質(具有獨立IP地址的終端服務器)分别連接多台CNC系統實現NC程序的裝卸、刀具數據的傳遞、操作命令的下達和狀态信息的反饋。這是一種通過局域網連接起來的通信結構,它具有包括物理層、數據鍊路層、傳輸層及應用層等的四層結構,其中數據鍊路層采用LSV2通訊協議,傳輸層采用DNC協議(如SINUMERIK或PHILIPS協議)。

相關詞條

相關搜索

其它詞條