引言
七十年代以後,隨著數控工具機(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程式 | 簡單 | 低廉 |
基本DNC | CNC程式的管理和雙向傳輸 | 一般 | 低廉 |
狹義DNC | CNC程式的管理和雙向傳輸系統,狀態採集、反饋 | 中等 | 一般 |
廣義DNC | CNC程式的管理和雙向傳輸,系統狀態採集、反饋,遠程控制與車間生產管理體系 | 複雜 | 昂貴 |
按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系統必不可少的基本組成部分。其中主要有:
(2)通訊介質(雙絞線,同軸電纜等);
(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套用原則
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就能比較容易的解決這個問題。