DNC系統

直接數字、分佈數字控制的系統

DNC(Distributed Numerical Control)稱為分散式數控,意為直接數字控制或分佈數字控制。是實現CAD/CAM和計算機輔助生產管理系統集成的紐帶,是機械加工自動化的又一種形式。DNC最早的含義是直接數字控制,其研究開始於20世紀六十年代。它指的是將若干台數控設備直接連接在一台中央計算機上,由中央計算機負責NC程序的管理和傳送。當時的研究目的主要是為了解決早期數控設備(NC)因使用紙帶輸入數控加工程序而引起的一系列問題和早期數控設備的高計算成本等問題。

DNC系統能夠實現車間數控設備及生產工位的統一聯網管理,支持數控設備的在線加工、NC程序的斷點續傳、在線遠程請求和歷史追溯等,提高企業數控設備的生產效率。

引言


DNC系統
DNC系統
七十年代以後,隨著數控機床(CNC)技術的不斷發展,數控系統的存貯容量和計算速度都大為提高,DNC的含義由簡單的直接數字控制發展到分散式數字控制。它不但具有直接數字控制的所有功能,而且具有系統信息收集、系統狀態監視以及系統控制等功能。八十年代以後,隨著計算機技術、通訊技術和CIMS技術的發展,DNC的內涵和功能不斷擴大,與六、七十年代的DNC相比已有很大區別,它開始著眼於車間的信息集成,針對車間的生產計劃,技術準備,加工操作等基本作業進行集中監控與分散控制,把生產任務通過區域網分配給各個加工單元,並使之信息相互交換。而對物流等系統可以在條件成熟時再擴充,既適用於現有的生產環境,提高了生產率,又節省了成本。
如上圖所示構成DNC系統的主要組成部分有:中央計算機及外圍存儲設備、通信介面、機床及機床控制器。由計算機進行數據管理,從大容量的存儲器中取回零件程序並把它傳遞給機床。然後在這兩個方向上控制信息的流動,在多台計算機間分配信息,使各機床控制器能完成各自的操作。最後由計算機監視並處理機床反饋。其中解決計算機與數控機床之間的信息交換和互聯,是DNC的核心問題。它與FMS(柔性製造系統)的主要差別是沒有自動化物流輸送系統,因而成本低,容易實現。由於它可以通過計算機網路實現NC(數控)程序的直接裝載和靈活存儲,因此能:
● 消除程序讀入裝置維護所需的費用;
● 減少程序輸入的錯誤;
● 簡化NC程序的管理;
● 便於進行生產調度和監控。
目前,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 的應用、增加新的用戶界面,又能升級支持各種新功能。

分類


由前節所述,從DNC概念的出現到今天的DNC技術,不論從功能上還是內涵上都發生了很大的變化。也正因為不斷的變化,人們對DNC的概念有著各種各樣的理解,從而導致對DNC的分類標準也各不相同,不同角度有著不同的分類方法。
按DNC的功能來分
按照DNC的功能的強弱,可將其分為初始DNC、基本DNC、狹義DNC和廣義DNC。
具體劃分見表1-1。
表1-1DNC功能分類Category of DNC Function
功能複雜程度價格
初始DNC下傳NC程序簡單低廉
基本DNCCNC程序的管理和雙向傳輸一般低廉
狹義DNCCNC程序的管理和雙向傳輸系統,狀態採集、反饋中等一般
廣義DNCCNC程序的管理和雙向傳輸,系統狀態採集、反饋,遠程控制與車間生產管理體系複雜昂貴
按DNC系統的內涵劃分
按DNC系統的內涵的不同,可將其分為直接DNC、分散式DNC、柔性DNC,網路DNC、集成DNC和智能DNC等。
a) 直接DNC系統,也就是直接數字控制DNC(Direct Numerical control),是早期的DNC概念,其主要功能是將計算機與數控機床的直接連接,只是實現NC程序的下傳到數控機床以完成零件的加工而已。
b)分散式數控系統(Distributed Numerical Control)是隨著網路和計算機技術的發展而賦予了DNC新的內涵。不但能夠實現NC程序的雙向傳輸,而且具有系統信息採集、狀態監視和系統控制等功能。
c)柔性DNC系統是隨著DNC的發展,DNC和FMS的界限越來越模糊,此時的DNC己成為FMS中必不可少的一部分。
d)網路DNC系統,是為了適應敏捷製造、全球製造、分散式製造和遠程製造而發展起來的一種DNC系統。這種DNC系統的特點是更強調網路與分散式資料庫方面的功能與虛擬集成。
e)集成DNC系統,是以數控技術、計算機技術、控制技術、通信技術和網路技術等先進技術為基礎,把與製造過程有關的設備與上層控制計算機集成起來,從而實現製造車間製造設備的集成控制管理以及製造設備之間、製造設備與上層計算機之間的信息交換。
f)智能DNC系統是隨著人工智慧技術的發展及其在製造領域的應用而出現的,目的是為了克服基於知識的人工智慧的缺點,人工智慧最新研究己經向計算智能方向發展。計算智能主要包括:模糊技術、人工神經網路、遺傳演演算法等。這些智能技術的運用,必將促進智能製造技術的發展以及新的智能DNC的出現。
按DNC系統的設備層劃分
DNC系統設備層的不同,可以實現的DNC的功能也是不同的,所以分類工作也可以按設備層來劃分。根據具體的設備層不同,可將其分成四種,如表1-2所示。
表1-2按通信介面分類的DNC系統Category of DNC System Based on Communication Interface
分類通信介面可實現的DNC形式典型產品
經濟型數控系統紙帶閱讀機介面、磁帶錄音機介面基本DNC(外接DNC介面板)早期單板機改裝的數控系統
RS-232串列介面的數控系統并行紙帶閱讀機介面、穿孔介面、PLC介面DNC介面基本DNC、狹義DNC、廣義DNC(均要外接DNC介面板)FANUC 7M
有RS-232串列介面的數控系統RS-232介面、PLC介面基本DNC、狹義DNC、廣義DNC(外加DNC介面板)
FANUC 6M
CINCINNATIA2100E
有DNC通信介面的數控系統
基本DNC、狹義
DNC、廣義DNC
FANUC 0
FANUC15

地位及功能


20世紀80年代后,隨著信息技術和先進位造技術的發展,DNC的功能和內涵也在不斷擴大,主要體現為以下兩個方面:
從傳輸的內容和實現的功能上
目前DNC系統傳輸的不僅包括NC程序,而且包括執行特定生產任務所需的製造數據,如刀具數據、作業計劃、機床配置信息等。部分DNC系統還具有機床狀態採集和遠程控制等功能。
車間的地位及其所發揮的作用
利用DNC的通信網路可以把車間內的數控機床通過調度和運轉控制聯繫在一起從而掌握整個車間的加工情況,便於實現加工物件的傳送和自動化檢測設備的連接,DNC系統連接數控設備和上層計算機,是實現CADC/AM和計算機輔助生產管理系統(CAPMS)集成的紐帶,是實現設計製造一體化的橋樑。相比與FMS,DNC更注重於信息流的集成,從而避免FMS在物流上的高投資,是機械加工車間實現製造自動化的較好方式。按照CIMS的遞階控制理論,DNC系統可以方便的組織為數控單元,接收來自車間的作業計劃,實現單元內的作業調度和資源調度、決定零件的加工路線、監控和統計數控設備的任務執行情況等。因此DNC是實現信息集成製造的一個層次,既可以單獨使用,也可以繼續發展為FMS和CIMS。
DNC系統作為車間層控制系統的一個功能單元。
DNC系統功能包括①NC程序及數據的傳遞,以某種通信協議(如Philip532等)實現通信功能;②機床狀態採集和上報;③根據工序計劃,自動分配NC程序及數據到相應機床;④刀具數據的分配與傳遞。
DNC系統軟體的功能模型,其中NC數據管理的主要功能是對數控數據進行管理,主要有數控數據的顯示、插入、修改、刪除、更新、鎖定(不允許更改)和列印等操作;NC數據執行的主要功能有:數控數據在計算機和機床之間的傳送、刪除機床上的數控數據、啟動機床上的數控程序、隨時從機床設備獲得工作狀態信息並存入資料庫,作為運行數據採集模塊評價加工過程的根據;DNC通訊介面通過DNC協議和數據鏈路協議建立單元控制系統和CNC的連接。

體系結構組成


基於CORBA的DNC系統軟體的實現平台建立在車間層控制系統平台的基礎上。我們將DNC系統體系結構劃分為三層的客戶/伺服器結構,以將表示邏輯、業務邏輯和數據處理邏輯明確劃分開來。為此,表示層用來表示信息和收集數據,此處為由VB實現的可移植的DNC人機介面;業務層響應用戶(或其它的業務服務)發來的請求,執行某種業務任務,此處為由VC++來實現DNC應有程序及NC數據管理應用程序;數據層包括數據的定義、維修、訪問和更新以及管理,並響應業務服務的數據請求,此處為經IDL功能介面定義封裝的NC局部資料庫(Access)伺服器。這些層並不一定與網路上的具體物理位置相對應,它們只是概念上的層,藉助這些概念可以開發出健壯的、基於組件的應用程序。
使用模型,可以把應用程序的需求分解成明確定義的服務。在定義了服務之後,需要進一步創建具體的物理組件來實現它們。根據性能和維護的需求、工作量、網路帶寬以及其它因素,可以在網路上靈活地部署這些組件。
DNC系統軟體的數據模型
DNC系統軟體中涉及到數據實體包含四類:①與製造設備硬體相關的數據實體(如機床等);②與人機通訊相關的數據實體(如通訊協議實體和串口通訊實體); ③數控數據實體(如NC程序號、刀具號、工序號);④輸入操作指令或派工單實體。採用面向對象方法將上述實體抽象成為類,可分為能力單元類、NC機床類、 NC控制器類、通訊協議類、終端伺服器類、串口通訊類、NC程序類等。
DNC系統組成
儘管DNC有多種多樣的分類方式,但各種分類方式都有構成DNC系統必不可少的基本組成部分。其中主要有:
(1)DNC控制計算機,包括大容量存儲器和1/0介面;
(2)通訊介質雙絞線同軸電纜等);
(3)通訊介面;
(4)NC或CNC數控設備;
(5)軟體系統(包括實時多任務操作系統、DNC通信軟體、DNC管理和監控軟體、NC程序編輯軟體、還可能有數控系統軟體)。
由於DNC系統的多種構成形式,系統的大小和複雜程度也各不相同。DNC系統可以小到只有一台DNC主機控制多台數控機床也可以大到包括單元層、車間層和工廠層。所以具體的DNC系統組成要根據其要求達到的目標和具體條件來決定。影響DNC系統配置的因素很多
DNC計算機的任務勞動力成本車間層管理計算機系統被處理信息的層次CNC的數量車間CNC的負載所需要的柔性
但首先應考慮工廠具體的需求,如需要的自動化程度、信息流以及工廠的計算機結構層次等重要因素。
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
intFixtureStatus; ‖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();
};
DNC系統的物理配置基本結構
基於CORBA的車間層控制系統需要兩種層次的互連。第一層是利用計算機區域網技術和協議軟體把由異構計算機組成的車間層控制器、設備控制器等互連起來,第二層是在這一互連的基礎上,實現各節點、各被控的異構製造設備(如加工中心、機器人、PLC等)之間的信息交互,這種交互通過製造信息規範(MMS)實現。作為車間層控制系統的一個重要組成部分,本文DNC系統的物理配置基本結構如下圖所示,主計算機通過網路介質(具有獨立IP地址的終端伺服器)分別連接多台CNC系統實現NC程序的裝卸、刀具數據的傳遞、操作命令的下達和狀態信息的反饋。這是一種通過區域網連接起來的通信結構,它具有包括物理層、數據鏈路層、傳輸層及應用層等的四層結構,其中數據鏈路層採用LSV2通訊協議,傳輸層採用DNC協議(如SINUMERIK或PHILIPS協議)。

應用原則


DNC系統的優越性在於其簡單的程序數據管理,快速的NC數據傳送,以及數據傳送所具有的更高的安全性能,且可實現NC機床完全自動的、柔性的操作。引入DNC的目的在不同的企業是不同的,但通常有如下的原因:
(1)消除程序讀入裝置維護所需的費用;(2)減少數據輸入的錯誤;(3)簡化NC程序的管理;(4)便於生產的管理;(5)增加加工系統的柔性。在工廠使用了一定數量的數控機床之後,由於以上原因,通常會產生引入DNC的需求,但從經濟和技術上綜合考慮,引入DNC的原則一般有:
(1)系統內的數控機床數量連接在系統內的數控機床數量對於系統的效率和成本的回收都是十分重要的,一般的,在系統中有4-6台NC機床或更多時,即應考慮DNC;(2)控制系統要處理的數據量在數據量很大且程序的處理速度要求很快時,應考慮DNC;(3)NC程序的管理NC程序管理的問題越大,就越應當考慮採用DNC;(4) NC程序的長度在CNC的程序存儲器不能滿足程序的要求時,應考慮DNC;(5)在加工中需要頻繁更換程序加工的批量越小,程序越小,在正確的機床上,正確的時間內,使用正確的程序加工就越困難,但如果採用DNC就能比較容易的解決這個問題。