- 相關(guān)推薦
CNC系統(tǒng)巨量NC程序解釋實(shí)現(xiàn)的方法
熊清平 張正勇 李作清在數(shù)控加工中,對(duì)于復(fù)雜零件的加工,如水輪機(jī)葉片,用CAD/CAM生成的基于微小直線段的NC程序能達(dá)到幾兆。對(duì)于這些程序量非常大的NC程序,稱之為巨量NC程序。
對(duì)于專用體系結(jié)構(gòu)的CNC系統(tǒng),NC程序存儲(chǔ)空間有限,在解釋巨量NC程序時(shí),一般采用RS-232通訊接口,邊傳送邊加工,加工復(fù)雜零件較不便,同時(shí)也增加了數(shù)控加工系統(tǒng)的成本,降低了數(shù)控加工的可靠性。對(duì)于基于工業(yè)PC平臺(tái)的CNC系統(tǒng),只有640k的基本內(nèi)存,由于操作系統(tǒng)和CNC系統(tǒng)控制軟件占用一定的內(nèi)存空間,當(dāng)要解釋運(yùn)行巨量NC程序時(shí),一般將巨量NC程序分成多個(gè)程序塊,系統(tǒng)根據(jù)每塊程序大小進(jìn)行內(nèi)存分配,如分配不合理,則需重新分塊,這給操作帶來不便。華中Ⅰ型CNC系統(tǒng)以工業(yè)PC為平臺(tái),對(duì)于巨量程序的加工,通過使用系統(tǒng)的擴(kuò)展內(nèi)存實(shí)現(xiàn)巨量NC程序的解釋,同時(shí)要兼容處理類似高級(jí)語言BASIC編寫的NC程序。根據(jù)用戶的加工程序的最大需要,來配置系統(tǒng)的擴(kuò)展內(nèi)存。系統(tǒng)使用擴(kuò)展內(nèi)存,充分利用PC的軟件資源,使用擴(kuò)展內(nèi)存設(shè)備管理程序EMM386.EXE,用DOS的67H號(hào)中斷對(duì)高端內(nèi)存的物理頁的讀寫,完成對(duì)擴(kuò)展內(nèi)存的邏輯頁操作[1]。CNC系統(tǒng)運(yùn)行前,需在CONFIG.SYS文件中裝載:
DEVICE=C:\HIMEM.SYS
DEVICE=C:\EMM386.EXE
1 NC程序的裝載
在NC程序裝入之前,檢測程序檢測有多大的擴(kuò)展內(nèi)存,能運(yùn)行多大的NC程序,根據(jù)所要求加工的NC程序判斷能否裝載。
無論是手工編制的NC程序還是巨量NC程序,運(yùn)行時(shí)統(tǒng)一采用擴(kuò)展內(nèi)存進(jìn)行裝載。為了使用系統(tǒng)的擴(kuò)展內(nèi)存,需調(diào)用DOS的67H中斷的多項(xiàng)子功能。首先申請(qǐng)一個(gè)包含一定邏輯頁數(shù)的句柄,然后把這些擴(kuò)展內(nèi)存清空,清空后再把NC程序調(diào)入擴(kuò)展內(nèi)存,這樣所要加工的NC程序的大小與系統(tǒng)的基本內(nèi)存無關(guān),只與系統(tǒng)的擴(kuò)展內(nèi)存有關(guān)。只要CNC系統(tǒng)的擴(kuò)展內(nèi)存滿足就能把NC程序裝入并投入運(yùn)行。NC程序首先裝入高端內(nèi)存的物理頁,再通過物理頁和邏輯頁的映射關(guān)系,把NC程序裝入擴(kuò)展內(nèi)存邏輯頁。程序開始運(yùn)行以后,可以根據(jù)提示的剩余的內(nèi)存選擇所要編輯的程序。
2 巨量NC程序的解釋
程序裝入擴(kuò)展內(nèi)存的邏輯頁后,對(duì)程序的解釋操作在高端內(nèi)存的物理頁中進(jìn)行,這時(shí)要把擴(kuò)展內(nèi)存邏輯頁的內(nèi)容分頁映射到高端內(nèi)存的物理頁,再對(duì)物理頁中的NC程序進(jìn)行解釋。對(duì)高端內(nèi)存的物理頁進(jìn)行操作,必須不斷地考慮程序指針的變換中所涉及的邏輯頁的轉(zhuǎn)換以及程序指針的邏輯頁數(shù)是否超過這個(gè)句柄所擁有的總的邏輯頁數(shù)等問題[2]。這就要求在程序指針變換時(shí)記錄下程序指針?biāo)鶎?duì)應(yīng)的擴(kuò)展內(nèi)存上的邏輯頁中的邏輯位置,稱為程序邏輯指針。把程序指針在高端內(nèi)存物理頁中的實(shí)際物理位置稱作程序?qū)嶋H指針。程序邏輯指針在擴(kuò)展內(nèi)存中從邏輯低地址移向邏輯高地址,程序?qū)嶋H指針只是在物理頁中往復(fù)地從頭至尾地移動(dòng),直到所有的程序行解釋執(zhí)行完畢。程序邏輯指針和程序?qū)嶋H指針有一種對(duì)應(yīng)關(guān)系,設(shè)計(jì)一個(gè)結(jié)構(gòu)體來代替基于系統(tǒng)S基本內(nèi)存的程序解釋器的程序指針,用來記錄程序的邏輯位置。
struct Page ProgPtr{
charhuge?ProgPtr;.∥物理頁中程序?qū)嶋H指針
int NumOfCurPage;∥當(dāng)前的邏輯頁
int PagenumOfHandle;∥句柄所擁有的邏輯頁數(shù)
unsigned int Handle;∥當(dāng)前程序句柄}
在具體的解釋器實(shí)現(xiàn)中要考慮到程序?qū)嶋H指針和程序邏輯指針處于頁首和頁末的情況。當(dāng)程序?qū)嶋H指針和程序邏輯指針在頁首時(shí),程序邏輯指針的下個(gè)位置可能在前一邏輯頁末尾,程序?qū)嶋H指針可能要退到物理頁的末尾。而當(dāng)程序?qū)嶋H指針和程序邏輯指針在頁末時(shí),程序邏輯指針的下個(gè)位置可能在后一邏輯頁首,程序?qū)嶋H指針可能從物理頁的頁尾移到物理頁的頁首。針對(duì)這2種情況進(jìn)行處理,設(shè)計(jì)了2個(gè)處理函數(shù):
struct
[1] [2] [3]
【CNC系統(tǒng)巨量NC程序解釋實(shí)現(xiàn)的方法】相關(guān)文章:
基于Linux/NC網(wǎng)絡(luò)教學(xué)課件實(shí)現(xiàn)技術(shù)研究04-29
數(shù)控系統(tǒng)內(nèi)置式PLC的FPGA實(shí)現(xiàn)方法04-29
海岸線變化趨勢預(yù)測方法研究與系統(tǒng)實(shí)現(xiàn)04-28
試述系統(tǒng)安全分析評(píng)價(jià)方法及其實(shí)現(xiàn)04-29
特征系統(tǒng)實(shí)現(xiàn)算法中的模型定階方法研究04-28
單井水淹層測井解釋系統(tǒng)厚度劃分方法研究04-28
利用協(xié)同優(yōu)化方法實(shí)現(xiàn)復(fù)雜系統(tǒng)分解并行設(shè)計(jì)優(yōu)化04-26
汽車安全檢測系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)04-27