CNC系統的控制軟件結構特點
??? CNC系統是一個專用的實時多任務計算機系統,在它的控制軟件中融合了當今計算機軟件
技術中的許多先進技術,其中最突出的是多任務并行處理和多重實時中斷。下面分別加以介紹。
1、多任務并行處理
(1) CNC系統的多任務性。CNC系統通常作為一個獨立的過程控制單元用于工業自動化生產
中,因此它的系統軟件必須完成管理和控制兩大任務。系統的管理部分包括輸入、I/O處理、顯
示和診斷。系統的控制部分包括譯碼、刀具補償、速度處理、插補和位置控制。在許多情況下,
管理和控制的某些工作必須同時進行。例如,當CNC系統工作在加工控制狀態時,為了使操作人
員能及時地了解CNC系統的工作狀態,管理軟件中的顯示模塊必須與控制軟件同時運行。當CNC系
統工作在NC加工方式時,管理軟件中的零件程序輸入模塊必須與控制軟件同時運行。而當控制軟
件運行時,其本身的一些處理模塊也必須同時運行。例如,為了保證加工過程的連續性,即刀具
在各程序段之間不停刀,譯碼、刀具補償和速度處理模塊必須與插補模塊同時運行,而插補又必
須與位置控制同時進行。
下面給出CNC系統的任務分解圖(圖3-10(a))和任務并行處理關系圖(圖3-10(b))。在圖3-10(b)
中,雙向箭頭表示兩個模塊之間有并行處理關系。
(2) 并行處理的概念。并行處理是指計算機在同一時刻或同一時間間隔內完成兩種或兩種以
上性質相同或不相同的工作。并行處理最顯著的優點是提高了運算速度。拿n位串行運算和n位并
行運算來比較,在元件處理速度相同的情況下,后者運算速度幾乎提高為前者的n倍。這是一種資
源重復的并行處理方法,它是根據“以數量取勝”的原則大幅度提高運算速度的。但是并行處理
還不止于設備的簡單重復,它還有更多的含義。如時間重疊和資源共享。所謂時間重疊是根據流
水線處理技術,使多個處理過程在時間上相互錯開,輪流使用同一套設備的幾個部分。而資源共
享則是根據“分時共享”的原則,使多個用戶按時間順序使用同一套設備。
目前在CNC系統的硬件設計中,已廣泛使用資源重復的并行處理方法,如采用多CPU的系統體系
結構來提高系統的速度。而在CNC系統的軟件設計中則主要采用資源分時共享和資源重疊的流水線
處理技術。
(3) 資源分時共享。在單CPU的CNC系統中,主要采用CPU分時共享的原則來解決多任務的同時
運行。一般來講,在使用分時共享并行處理的計算機系統中,首先要解決的問題是各任務占用CPU
時間的分配原則,這里面有兩方面的含義:其一是各任務何時占用CPU;其二是允許各任務占用CPU
的時間長短。
在CNC系統中,對各任務使用CPU是用循環輪流和中斷優先相結合的方法來解決。圖3-10(c)是
一個典型CNC系統各任務分時共享CPU的時間分配圖。
系統在完成初始化以后自動進入時間分配環中,在環中依次輪流處理各任務。而對于系統中一
些實時性很強的任務則按優先級排隊,分別放在不同中斷優先級上,環外的任務可以隨時中斷環內
各任務的執行。
每個任務允許占有CPU的時間受到一定限制,通常是這樣處理的,對于某些占有CPU時間比較多
的任務,如插補準備,可以在其中的某些地方設置斷點,當程序運行到斷點處時,自動讓出CPU,待
到下一個運行時間里自動跳到斷點處繼續執行。
(4) 資源重疊流水處理。當CNC系統處在NC工作方式時,其數據的轉換過程將由零件程序輸入、
插補準備(包括譯碼、刀具補償和速度處理)、插補、位置控制4個子過程組成。如果每個子過程的處
理時間分別為
?,那么一個零件程序段的數據轉換時間將是
如果以順序方式處理每個零件程序段,即第一個零件程序段處理完以后再處理第二個程序段,依
此類推,這種順序處理時的時間空間關系如圖3-11(a)所示。從圖上可以看出,如果等到第一個程序
段處理完之后才開始對第二個程序段進行處理,那么在兩個程序段的輸出之間將有一個時間長度為t
的間隔。同樣在第二個程序段與第三個程序段的輸出之間也會有時間間隔,依此類推。這種時間間
隔反映在電機上就是電機的時轉時停,反映在刀具上就是刀具的時走時停。不管這種時間間隔多么
小,這種時走時停在加工工藝上都是不允許的。消除這種間隔的方法是用流水處理技術。采用流水
處理后的時間空間關系如圖3-11(b)所示。
流水處理的關鍵是時間重疊,即在一段時間間隔內不是處理一個子過程,而是處理兩個或更多
的子過程。從圖3-11(b)可以看出,經過流水處理后從時間
?
開始,每個程序段的輸出之間不再有
間隔,從而保證了電機轉動和刀具移動的連續性。
從圖3-11(b)中可以看出,流水處理要求沒一個處理子程序的運算時間相等。而在CNC系統中
每一個子程序所需的處理時間都是不相等的,解決的辦法是取最長的子程序處理時間為處理時間間
隔。這樣當處理時間較短的子程序時,處理完成之后就進入等待狀態。
圖3-11 資源重疊流水處理
在單CPU的CNC裝置中,流水處理的時間重疊只有宏觀的意義,即在一段時間內,CPU處理多個
子程序,但從微觀上看,各子程序分時占用CPU時間。
2、實時中斷處理
CNC系統控制軟件的另一個重要特征是實時中斷處理。CNC系統的多任務性和實時性決定了系
統中斷成為整個系統必不可少的重要組成部分。CNC系統的中斷管理主要靠硬件完成,而系統的中
斷結構決定了系統軟件的結構。其中斷類型有外部中斷、內部定時中斷、硬件故障中斷以及程序性
中斷等。
(1) 外部中斷。主要有紙帶光電閱讀機讀孔中斷、外部監控中斷(如緊急停、量儀到位等)和
鍵盤操作面板輸入中斷。前兩種中斷的實時性要求很高,通常把這兩種中斷放在較高的優先級上,
而鍵盤和操作面板輸入中斷則放在較低的中斷優先級上。在有些系統中,甚至用查詢的方式來處
理它。
(2) 內部定時中斷。主要有插補周期定時中斷和位置采樣定時中斷。在有些系統中,這兩種
定時中斷合二為一。但在處理時,總是先處理位置控制,然后處理插補運算。
(3) 硬件故障中斷。它是各種硬件故障檢測裝置發出的中斷,如存儲器出錯、定時器出錯、
插補運算超時等。
(4) 程序性中斷。它是程序中出現的各種異常情況的報警中斷,如各種溢出、清零等。
評論