建設(shè)工程教育網(wǎng) > 建筑文苑 > 工程管理 > 正文
2007-11-05 14:17 【大 中 小】【打印】【我要糾錯】
在數(shù)控加工中,對于復(fù)雜零件的加工,如水輪機葉片,用CAD/CAM生成的基于微小直線段的NC程序能達到幾兆。對于這些程序量非常大的NC程序,稱之為巨量NC程序。
對于專用體系結(jié)構(gòu)的CNC系統(tǒng),NC程序存儲空間有限,在解釋巨量NC程序時,一般采用RS-232通訊接口,邊傳送邊加工,加工復(fù)雜零件較不便,同時也增加了數(shù)控加工系統(tǒng)的成本,降低了數(shù)控加工的可靠性。對于基于工業(yè)PC平臺的CNC系統(tǒng),只有640k的基本內(nèi)存,由于操作系統(tǒng)和CNC系統(tǒng)控制軟件占用一定的內(nèi)存空間,當要解釋運行巨量NC程序時,一般將巨量NC程序分成多個程序塊,系統(tǒng)根據(jù)每塊程序大小進行內(nèi)存分配,如分配不合理,則需重新分塊,這給操作帶來不便。華中Ⅰ型CNC系統(tǒng)以工業(yè)PC為平臺,對于巨量程序的加工,通過使用系統(tǒng)的擴展內(nèi)存實現(xiàn)巨量NC程序的解釋,同時要兼容處理類似高級語言BASIC編寫的NC程序。根據(jù)用戶的加工程序的最大需要,來配置系統(tǒng)的擴展內(nèi)存。系統(tǒng)使用擴展內(nèi)存,充分利用PC的軟件資源,使用擴展內(nèi)存設(shè)備管理程序EMM386.EXE,用DOS的67H號中斷對高端內(nèi)存的物理頁的讀寫,完成對擴展內(nèi)存的邏輯頁操作[1].CNC系統(tǒng)運行前,需在CONFIG.SYS文件中裝載:DEVICE=C:\HIMEM.SYS DEVICE=C:\EMM386.EXE
1、NC程序的裝載在NC程序裝入之前,檢測程序檢測有多大的擴展內(nèi)存,能運行多大的NC程序,根據(jù)所要求加工的NC程序判斷能否裝載。
無論是手工編制的NC程序還是巨量NC程序,運行時統(tǒng)一采用擴展內(nèi)存進行裝載。為了使用系統(tǒng)的擴展內(nèi)存,需調(diào)用DOS的67H中斷的多項子功能。首先申請一個包含一定邏輯頁數(shù)的句柄,然后把這些擴展內(nèi)存清空,清空后再把NC程序調(diào)入擴展內(nèi)存,這樣所要加工的NC程序的大小與系統(tǒng)的基本內(nèi)存無關(guān),只與系統(tǒng)的擴展內(nèi)存有關(guān)。只要CNC系統(tǒng)的擴展內(nèi)存滿足就能把NC程序裝入并投入運行。NC程序首先裝入高端內(nèi)存的物理頁,再通過物理頁和邏輯頁的映射關(guān)系,把NC程序裝入擴展內(nèi)存邏輯頁。程序開始運行以后,可以根據(jù)提示的剩余的內(nèi)存選擇所要編輯的程序。
2、巨量NC程序的解釋程序裝入擴展內(nèi)存的邏輯頁后,對程序的解釋操作在高端內(nèi)存的物理頁中進行,這時要把擴展內(nèi)存邏輯頁的內(nèi)容分頁映射到高端內(nèi)存的物理頁,再對物理頁中的NC程序進行解釋。
對高端內(nèi)存的物理頁進行操作,必須不斷地考慮程序指針的變換中所涉及的邏輯頁的轉(zhuǎn)換以及程序指針的邏輯頁數(shù)是否超過這個句柄所擁有的總的邏輯頁數(shù)等問題[2].這就要求在程序指針變換時記錄下程序指針所對應(yīng)的擴展內(nèi)存上的邏輯頁中的邏輯位置,稱為程序邏輯指針。把程序指針在高端內(nèi)存物理頁中的實際物理位置稱作程序?qū)嶋H指針。程序邏輯指針在擴展內(nèi)存中從邏輯低地址移向邏輯高地址,程序?qū)嶋H指針只是在物理頁中往復(fù)地從頭至尾地移動,直到所有的程序行解釋執(zhí)行完畢。程序邏輯指針和程序?qū)嶋H指針有一種對應(yīng)關(guān)系,設(shè)計一個結(jié)構(gòu)體來代替基于系統(tǒng)S基本內(nèi)存的程序解釋器的程序指針,用來記錄程序的邏輯位置。
在具體的解釋器實現(xiàn)中要考慮到程序?qū)嶋H指針和程序邏輯指針處于頁首和頁末的情況。當程序?qū)嶋H指針和程序邏輯指針在頁首時,程序邏輯指針的下個位置可能在前一邏輯頁末尾,程序?qū)嶋H指針可能要退到物理頁的末尾。而當程序?qū)嶋H指針和程序邏輯指針在頁末時,程序邏輯指針的下個位置可能在后一邏輯頁首,程序?qū)嶋H指針可能從物理頁的頁尾移到物理頁的頁首。針對這2種情況進行處理,設(shè)計了2個處理函數(shù):struct PageProgPtr TreatOfFrameEnd(struct PageProgPtr);struct PageProgPtr TreatOfFrameStart(struct PageProgPtr);通過這種處理保證程序?qū)嶋H指針在物理頁中和程序邏輯指針在擴展內(nèi)存的邏輯頁中的準確性。
由于在程序解釋時程序?qū)嶋H指針只在物理頁中來回變化,而程序邏輯指針在擴展內(nèi)存的邏輯頁中移動,在解釋器的設(shè)計中必須把程序?qū)嶋H指針和程序邏輯指針結(jié)合在一起考慮。解釋器通過解釋高端內(nèi)存中物理頁的內(nèi)容來完成擴展內(nèi)存的NC程序的解釋任務(wù)。
解釋器解釋NC程序所得到的數(shù)據(jù)送到一個環(huán)形緩沖隊列中,當填滿緩沖隊列后,解釋任務(wù)就停止。當插補器從解釋器中取走數(shù)據(jù),使緩形隊列中有空單元時,通過任務(wù)調(diào)度把解釋器再次激活,這樣解釋器和插補器就能協(xié)調(diào)工作。
1、凡本網(wǎng)注明“來源:建設(shè)工程教育網(wǎng)”的所有作品,版權(quán)均屬建設(shè)工程教育網(wǎng)所有,未經(jīng)本網(wǎng)授權(quán)不得轉(zhuǎn)載、鏈接、轉(zhuǎn)貼或以其他方式使用;已經(jīng)本網(wǎng)授權(quán)的,應(yīng)在授權(quán)范圍內(nèi)使用,且必須注明“來源:建設(shè)工程教育網(wǎng)”。違反上述聲明者,本網(wǎng)將追究其法律責任。
2、本網(wǎng)部分資料為網(wǎng)上搜集轉(zhuǎn)載,均盡力標明作者和出處。對于本網(wǎng)刊載作品涉及版權(quán)等問題的,請作者與本網(wǎng)站聯(lián)系,本網(wǎng)站核實確認后會盡快予以處理。
本網(wǎng)轉(zhuǎn)載之作品,并不意味著認同該作品的觀點或真實性。如其他媒體、網(wǎng)站或個人轉(zhuǎn)載使用,請與著作權(quán)人聯(lián)系,并自負法律責任。
3、本網(wǎng)站歡迎積極投稿。