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