中斷型結(jié)構(gòu)模式

發(fā)布日期:2011-05-21    蘭生客服中心    瀏覽:3320

    CNC系統(tǒng)的軟件結(jié)構(gòu)決定于系統(tǒng)采用的中斷結(jié)構(gòu)。在常規(guī)的CNC系統(tǒng)中,已有的結(jié)構(gòu)模式有中斷型結(jié)構(gòu)和前后臺(tái)型兩種結(jié)構(gòu)模式。
    中斷型軟件結(jié)構(gòu)的特點(diǎn)是除了初始化程序之外,整個(gè)系統(tǒng)軟件的各種功能模塊分別安排在不同級(jí)別的中斷服務(wù)程序中,整個(gè)軟件就是一個(gè)大的中斷系統(tǒng)。其管理的功能主要通過(guò)各級(jí)中斷服務(wù)程序之間的相互通訊來(lái)解決。
    一般在中斷型結(jié)構(gòu)模式的CNC軟件體系中,控制CRT顯示的模塊為低級(jí)中斷(0級(jí)中斷),只要系統(tǒng)中沒有其他中斷級(jí)別請(qǐng)求,總是執(zhí)行0級(jí)中斷,即系統(tǒng)進(jìn)行CRT顯示。其他程序模塊,如譯碼處理、刀具中心軌跡計(jì)算、鍵盤控制、I/O信號(hào)處理、插補(bǔ)運(yùn)算、終點(diǎn)判別、伺服系統(tǒng)位置控制等處理,分別具有不同的中斷優(yōu)先級(jí)別。開機(jī)后,系統(tǒng)程序首先進(jìn)入初始化程序,進(jìn)行初始化狀態(tài)的設(shè)置、ROM檢查等工作。初始化后,系統(tǒng)轉(zhuǎn)入0級(jí)中斷CRT顯示處理。此后系統(tǒng)就進(jìn)入各種中斷的處理,整個(gè)系統(tǒng)的管理是通過(guò)每個(gè)中斷服務(wù)程序之間的通信方式來(lái)實(shí)現(xiàn)的。
表4-1  FANUC-BESK 7CM CNC系統(tǒng)的各級(jí)中斷功能
中斷級(jí)別        主要功能                   中斷源
0    控制CRT顯示                            硬件
1譯碼、刀具中心軌跡計(jì)算,顯示器控制     軟件,16ms定時(shí)
2鍵盤監(jiān)控,I/O信號(hào)處理,穿孔機(jī)控制      軟件,16ms定時(shí)
3    操作面板和電傳機(jī)處理                   硬件
4    插補(bǔ)運(yùn)算、終點(diǎn)判別和轉(zhuǎn)段處理       軟件,8ms定時(shí)
5    紙帶閱讀機(jī)讀紙帶處理                   硬件
6    伺服系統(tǒng)位置控制處理                 4ms實(shí)時(shí)鐘
7       系統(tǒng)測(cè)試                            硬件
    例如FANUC-BESK 7CM CNC系統(tǒng)是一個(gè)典型的中斷型軟件結(jié)構(gòu)。整個(gè)系統(tǒng)的各個(gè)功能模塊被分為八級(jí)不同優(yōu)先級(jí)的中斷服務(wù)程序,如表4-1所示。其中伺服系統(tǒng)位置控制被安排成很高的級(jí)別,因?yàn)闄C(jī)床的刀具運(yùn)動(dòng)實(shí)時(shí)性很強(qiáng)。CRT顯示被安排的級(jí)別最低,即0級(jí),其中斷請(qǐng)求是通過(guò)硬件接線始終保持存在。只要0級(jí)以上的中斷服務(wù)程序均未發(fā)生的情況下,就進(jìn)行CRT顯示。1級(jí)中斷相當(dāng)于后臺(tái)程序的功能,進(jìn)行插補(bǔ)前的準(zhǔn)備工作。1級(jí)中斷有13種功能,對(duì)應(yīng)著口狀態(tài)字中的13個(gè)位,每位對(duì)應(yīng)于一個(gè)處理任務(wù)。在進(jìn)入1級(jí)中斷服務(wù)時(shí),先依次查詢口狀態(tài)字的0~12位的狀態(tài),再轉(zhuǎn)入相應(yīng)的中斷服務(wù)(表4-2)。其處理過(guò)程見圖4-12?跔顟B(tài)字的置位有兩種情況:一是由其他中斷根據(jù)需要置1級(jí)中斷請(qǐng)求的同時(shí)置相應(yīng)的口狀態(tài)字;二是在執(zhí)行1級(jí)中斷的某個(gè)口子處理時(shí),置口狀態(tài)字的另一位。當(dāng)某一口的處理結(jié)束后,程序?qū)⒖跔顟B(tài)字的對(duì)應(yīng)位清除。


圖4-12  1級(jí)中斷各口處理轉(zhuǎn)換框圖
    2級(jí)中斷服務(wù)程序的主要工作是對(duì)數(shù)控面板上的各種工作方式和I/O信號(hào)處理。3級(jí)中斷則是對(duì)用戶選用的外部操作面板和電傳機(jī)的處理。
    4級(jí)中斷最主要的功能是完成插補(bǔ)運(yùn)算。7CM系統(tǒng)中采用了“時(shí)間分割法”(數(shù)據(jù)采樣法)插補(bǔ)。此方法經(jīng)過(guò)CNC插補(bǔ)計(jì)算輸出的是一個(gè)插補(bǔ)周期T(8ms)的F指令值,這是一個(gè)粗插補(bǔ)進(jìn)給量,而精插補(bǔ)進(jìn)給量則是由伺服系統(tǒng)的硬件與軟件來(lái)完成的。一次插補(bǔ)處理分為速度計(jì)算、插補(bǔ)計(jì)算、終點(diǎn)判別和進(jìn)給量變換四個(gè)階段。
    5級(jí)中斷服務(wù)程序主要對(duì)紙帶閱讀機(jī)讀入的孔信號(hào)進(jìn)行處理。這種處理基本上可以分為輸入代碼的有效性判別、代碼處理和結(jié)束處理三個(gè)階段。
    6級(jí)中斷主要完成位置控制、4ms定時(shí)計(jì)時(shí)和存儲(chǔ)器奇偶校驗(yàn)工作。
    7級(jí)中斷實(shí)際上是工程師的系統(tǒng)調(diào)試工作,非使用機(jī)床的正式工作。
    中斷請(qǐng)求的發(fā)生,除了第6級(jí)中斷是由4ms時(shí)鐘發(fā)生之外,其余的中斷均靠別的中斷設(shè)置,即依靠各中斷程序之間的相互通訊來(lái)解決。例如第6級(jí)中斷程序中每?jī)纱卧O(shè)置一次第4級(jí)中斷請(qǐng)求(8ms);每四次設(shè)置一次第1、2級(jí)中斷請(qǐng)求。插補(bǔ)的第4級(jí)中斷在插補(bǔ)完一個(gè)程序段后,要從緩沖器中取出一段并作刀具半徑補(bǔ)償,這時(shí)就置第1級(jí)中斷請(qǐng)求,并把4號(hào)口置1。
表4-2  FANUC-BESK 7CM CNC系統(tǒng)1級(jí)中斷的13種功能
口狀態(tài)字   對(duì)應(yīng)口的功能
0           顯示處理
1           公英制轉(zhuǎn)換
2           部分初始化
3           從存儲(chǔ)區(qū)(MP、PC或SP區(qū))讀一段數(shù)控程序到BS區(qū)
4           輪廓軌跡轉(zhuǎn)換成刀具中心軌跡
5          “再啟動(dòng)”處理
6          “再啟動(dòng)”開關(guān)無(wú)效時(shí),刀具回到斷點(diǎn)“啟動(dòng)”處理
7           按“啟動(dòng)”按鈕時(shí),要讀一段程序到BS區(qū)的預(yù)處理
8           連續(xù)加工時(shí),要讀一段程序到BS區(qū)的預(yù)處理
9           紙帶閱讀機(jī)反繞或存儲(chǔ)器指針返回首址的處理
A           啟動(dòng)紙帶閱讀機(jī)使紙帶正常進(jìn)給一步
B           置M、S、T指令標(biāo)志及G96速度換算
C           置紙帶反繞標(biāo)志

更多相關(guān)信息