CNC系統的控制軟件及其工作過(guò)程
控制軟件是為完成特定CNC(或MNC)系統各項功能所編制的專(zhuān)用軟件,又稱(chēng)為系統軟件(或系統程序)。因為CNC(或MNC)系統的功能設置與控制方案各不相同,各種系統軟件在結構和規模上差別很大。系統程序的設計與各項功能的實(shí)現及其將來(lái)的擴展有最直接的關(guān)系,是整個(gè)CNC(或MNC)系統研制工作中關(guān)鍵性的和工作量最大的部分。
前面曾提到,系統軟件一般由輸入、譯碼、數據處理(預計算)、插補運算、速度控制、輸出控制、管理程序及診斷程序等部分構成。下面分別加以介紹。
1、輸入
CNC系統中一般通過(guò)紙帶閱讀機、磁帶機、磁盤(pán)及鍵盤(pán)輸入零件程序,且其輸入大都采用中斷方式。在系統程序中有相應的中斷服務(wù)程序,如紙帶閱讀機中
斷服務(wù)程序及鍵盤(pán)中斷服務(wù)程序等。當紙帶閱讀機讀入一個(gè)字符至接口中時(shí),就向主機發(fā)出中斷,由中斷服務(wù)程序將該字符送入內存。同樣,每按一個(gè)鍵則表示向主機申請一次中斷,調出一次鍵盤(pán)服務(wù)程序,對相應的鍵盤(pán)命令進(jìn)行處理。
從閱讀機及鍵盤(pán)輸入的零件程序,一般是經(jīng)過(guò)緩沖器以后,才進(jìn)入零件程序存儲器的。零件程序存儲器的規模由系統設計員確定。一般有幾K字節,可以存放許多零件程序。例如7360系統的零件程序存儲器為5K,可存放20多個(gè)零件程序。
鍵盤(pán)中斷服務(wù)程序負責將鍵盤(pán)上打入的字符存入MDI緩沖器,按一下鍵就是向主機申請一次中斷。其框圖如圖3-16所示。
圖3-16 鍵盤(pán)中斷服務(wù)程序
2、譯碼
由前面的討論可知,經(jīng)過(guò)輸入系統的工作,已將數據段送入零件程序存儲器。下一步就是由譯碼程序將輸入的零件程序數據段翻譯成本系統能識別的語(yǔ)言。一個(gè)數據段從輸入到傳送至插補工作寄存器需經(jīng)過(guò)以下幾個(gè)環(huán)節,如圖3-17所示。
圖3-17 一個(gè)數據段經(jīng)歷之過(guò)程
從原理和本質(zhì)上說(shuō),軟件譯碼與硬件譯碼相同。對于8單位的紙帶程序,一個(gè)字符占8位。在16位字長(cháng)的緩沖器中,一個(gè)字可存放兩個(gè)字符。數據段長(cháng)的則占的字數多。譯碼程序按次序將一個(gè)個(gè)字符和相應的數字進(jìn)行比較,若相等了,則說(shuō)明已輸入了該字符。它就好像在硬件譯碼線(xiàn)路中,一個(gè)代碼輸入時(shí)只打開(kāi)相應的某一個(gè)與門(mén)一樣。所不同的是譯碼程序是串行工作的,即一個(gè)一個(gè)地比較,一直到相等時(shí)為止。而硬件譯碼線(xiàn)路則是并行工作的,因而速度較快。以ISO碼為例,M為
,即M為八進(jìn)制的
,S為
,T為
,F為
,……,因此,在判定數據段中是否已編入M,S,T或F字時(shí),就可以將輸入的字符和這些八進(jìn)制數相比較,若相等了,則說(shuō)明相應的字符已輸入,立即設立相應的標志。
某一個(gè)字符輸入以后的處理過(guò)程包括:
(1) 建立格式標志。如果是位格式,則每個(gè)字符所占的格式字的位數不同。
(2) 根據輸入字符的不同,確定相應的存放數值的地址。例如,M碼的值存放在1000H,S碼的值存放在1002H,……;有的系統則對于各專(zhuān)用地址碼(如N,
X,Y,G,M,F等)在存放區域中都有一個(gè)位移量,該區域的首址加上地址碼所對應的位移量,就可得到該地址碼所存放的區域。
(3)確定調用“數碼轉換程序”的次數。一個(gè)代碼后總有數字相接,例如M02,S11,X1000000,……。M碼的值最多為2位,是碼最多為2位(或3位),X碼的值最多為7位等。各個(gè)系統不盡相同。但對某一個(gè)具體系統而言,有一個(gè)規定值。如果某一個(gè)代碼,它的值得最多為2位,那么只需調用數碼轉換程序兩次。所謂數碼轉換,即把輸入的字符(如ASCII碼)轉換成二進(jìn)制碼在內存中存放。
將不同字符的處理器程序合并起來(lái)需要一張信息表。該表中沒(méi)一個(gè)字符均有相應的一欄。欄中內容包括地址偏移量、在格式標志字中的位數及調用數碼轉換程序的次數。經(jīng)過(guò)一次的算術(shù)和邏輯運算即可以完成譯碼工作。在進(jìn)行譯碼的同時(shí),系統要對零件程序作語(yǔ)法檢查,如輸入的數字個(gè)數是否大于允許值,不允許帶負號的地址碼是否帶了負號等。
譯碼的結果存放在規定的存儲區內,存放譯碼結果的地方叫做譯碼結果存儲器。譯碼結果存儲器以規定的次序存放各代碼的值(二進(jìn)制),且包括一個(gè)程序格式標志單元,在該格式標志單元中某一位為1,即表示指定的代碼(例如F、S、M……)已經(jīng)被編入。為了使用方便,有時(shí)對G碼、M碼的每一個(gè)值或幾個(gè)值單獨建立標志字。例如,對關(guān)于插補方式的G00,G01,G02,G03建立一個(gè)標志字,該標志字為0時(shí)代表已編入了G00,為1時(shí)代表婊入了G01……。
圖3-18 譯碼程序流程圖
3、預計算
為了減輕插補工作的負擔,提高系統的實(shí)時(shí)處理能力,常常在插補運算前先進(jìn)行數據的預處理,例如,確定圓弧平面、刀具半徑補償的計算等。當采用數字積分法時(shí),可預先進(jìn)行左移規格化的處理和積分次數的計算等,這樣,可把最直接、最方便形式的數據提供給插補運算。
數據預處理即預計算,通常包括刀具長(cháng)度補償、刀具半徑補償計算、象限及進(jìn)給方向判斷、進(jìn)給速度換算和機床輔助功能判斷等。在第二章中已對刀具半徑補償計算的方法作了介紹。下面僅敘述速度計算及控制。
進(jìn)給速度的控制方法與系統采用的插補算法有關(guān),也因不同的伺服系統而有所不同。在開(kāi)環(huán)系統中,常常采用基準脈沖插補法,其坐標軸的運動(dòng)速度控制是通過(guò)控制插補運算的頻率,進(jìn)而控制向步進(jìn)電機輸出脈沖的頻率來(lái)實(shí)現的,速度計算的方法是根據編程F值來(lái)確定這個(gè)頻率值。通常有程序延時(shí)法和中斷法兩種。
(1) 程序延時(shí)法。程序延時(shí)法又稱(chēng)為程序計時(shí)法。這種方法先根據系統要求的進(jìn)給頻率,計算出兩次插補運算之間的時(shí)間間隔,用CPU執行延時(shí)子程序的方法控制兩次插補之間的時(shí)間。改變延時(shí)子程序的循環(huán)次數,即可改變進(jìn)給速度。
(2) 中斷方法。中斷方法或稱(chēng)為時(shí)鐘中斷法,是指每隔規定的時(shí)間向CPU發(fā)中斷請求,在中斷服務(wù)程序中進(jìn)行一次插補運算并發(fā)出一個(gè)進(jìn)給脈沖。因此,改變中斷請求信號的頻率,就等于改變了進(jìn)給速度。中斷請求信號可通過(guò)F指令設定的脈沖信號產(chǎn)生,也可通過(guò)可編程計數器/定時(shí)器產(chǎn)生。如采用Z80CTC作定時(shí)器,由程序設置時(shí)間常數,每定時(shí)到,就向CPU發(fā)中斷請求信號,改變時(shí)間常數
就可以改變中斷請求脈沖信號的頻率。所以,進(jìn)給速度計算與控制的關(guān)鍵就是如何給定CTC的時(shí)間常數
。
在半閉環(huán)和閉環(huán)系統中,則是采用時(shí)間分割的思想,根據編程的進(jìn)給速度F值將輪廓曲線(xiàn)分割為采樣周期,即迭代周期的進(jìn)給量——輪廓步長(cháng)的方法。速度計算的任務(wù)是:當直線(xiàn)插補時(shí),計算出各坐標軸的采樣周期的步長(cháng);當插補圓弧時(shí),為插補程序計算好步長(cháng)分配系數(有時(shí)也稱(chēng)之為角步距)。另外,在進(jìn)給速度控制中,一般也都有一個(gè)升速、恒速(勻速)和降速的過(guò)程,以適應伺服系統的工作狀態(tài),保證工作的穩定性。此內容將在第五章中詳細介紹。
4、插補計算
插補計算是CNC系統中最重要的計算工作之一。在傳統的NC裝置中,采用硬件電路(插補器)來(lái)實(shí)現各種軌跡的插補。為了在軟件系統中計算所需的插補軌跡,這些數字電路必須由計算機的程序來(lái)模擬。利用軟件來(lái)模擬硬件電路的問(wèn)題在于:三軸或三軸以上聯(lián)動(dòng)的系統具有三個(gè)或三個(gè)以上的硬件電路(如每軸一個(gè)數字積分器),計算機是用若干條指令來(lái)實(shí)現插補工作的。但是計算機執行每條指令都須要花費一定的時(shí)間,而當前有的小型或微型計算機的計算速度難以滿(mǎn)足NC機床對進(jìn)給速度和分頻率的要求。因此,在實(shí)際的CNC系統中,常常采用粗、精插補相結合的方法,即把插補功能氛圍軟件插補和硬件插補兩部分,計算機控制軟件把刀具軌跡分為若干段,而硬件電路再在段的起點(diǎn)和終點(diǎn)之間進(jìn)行數據的“密化”,使刀具軌跡在允許的誤差之內,即軟件實(shí)現初插補,硬件實(shí)現精插補。下面以三坐標直線(xiàn)插補為例予以說(shuō)明。
5、輸出
輸出程序
存儲器相關(guān)文章:存儲器原理
評論