關(guān)于我們

在線客服

幫助

24小時(shí)客服:010-82326699 400-810-5999

建設(shè)工程教育網(wǎng) > 建筑文苑 > 工程管理 > 正文

CNC系統(tǒng)巨量NC程序解釋實(shí)現(xiàn)的方法

2007-11-05 14:17    【  【打印】【我要糾錯(cuò)】

  在數(shù)控加工中,對于復(fù)雜零件的加工,如水輪機(jī)葉片,用CAD/CAM生成的基于微小直線段的NC程序能達(dá)到幾兆。對于這些程序量非常大的NC程序,稱之為巨量NC程序。

  對于專用體系結(jié)構(gòu)的CNC系統(tǒng),NC程序存儲(chǔ)空間有限,在解釋巨量NC程序時(shí),一般采用RS-232通訊接口,邊傳送邊加工,加工復(fù)雜零件較不便,同時(shí)也增加了數(shù)控加工系統(tǒng)的成本,降低了數(shù)控加工的可靠性。對于基于工業(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),對于巨量程序的加工,通過使用系統(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)中斷對高端內(nèi)存的物理頁的讀寫,完成對擴(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)子功能。首先申請一個(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)存的邏輯頁后,對程序的解釋操作在高端內(nèi)存的物理頁中進(jìn)行,這時(shí)要把擴(kuò)展內(nèi)存邏輯頁的內(nèi)容分頁映射到高端內(nèi)存的物理頁,再對物理頁中的NC程序進(jìn)行解釋。

  對高端內(nèi)存的物理頁進(jìn)行操作,必須不斷地考慮程序指針的變換中所涉及的邏輯頁的轉(zhuǎn)換以及程序指針的邏輯頁數(shù)是否超過這個(gè)句柄所擁有的總的邏輯頁數(shù)等問題[2].這就要求在程序指針變換時(shí)記錄下程序指針?biāo)鶎?yīng)的擴(kuò)展內(nèi)存上的邏輯頁中的邏輯位置,稱為程序邏輯指針。把程序指針在高端內(nèi)存物理頁中的實(shí)際物理位置稱作程序?qū)嶋H指針。程序邏輯指針在擴(kuò)展內(nèi)存中從邏輯低地址移向邏輯高地址,程序?qū)嶋H指針只是在物理頁中往復(fù)地從頭至尾地移動(dòng),直到所有的程序行解釋執(zhí)行完畢。程序邏輯指針和程序?qū)嶋H指針有一種對應(yīng)關(guān)系,設(shè)計(jì)一個(gè)結(jié)構(gòu)體來代替基于系統(tǒng)S基本內(nèi)存的程序解釋器的程序指針,用來記錄程序的邏輯位置。

  在具體的解釋器實(shí)現(xiàn)中要考慮到程序?qū)嶋H指針和程序邏輯指針處于頁首和頁末的情況。當(dāng)程序?qū)嶋H指針和程序邏輯指針在頁首時(shí),程序邏輯指針的下個(gè)位置可能在前一邏輯頁末尾,程序?qū)嶋H指針可能要退到物理頁的末尾。而當(dāng)程序?qū)嶋H指針和程序邏輯指針在頁末時(shí),程序邏輯指針的下個(gè)位置可能在后一邏輯頁首,程序?qū)嶋H指針可能從物理頁的頁尾移到物理頁的頁首。針對這2種情況進(jìn)行處理,設(shè)計(jì)了2個(gè)處理函數(shù):struct PageProgPtr TreatOfFrameEnd(struct PageProgPtr);struct PageProgPtr TreatOfFrameStart(struct PageProgPtr);通過這種處理保證程序?qū)嶋H指針在物理頁中和程序邏輯指針在擴(kuò)展內(nèi)存的邏輯頁中的準(zhǔn)確性。

  由于在程序解釋時(shí)程序?qū)嶋H指針只在物理頁中來回變化,而程序邏輯指針在擴(kuò)展內(nèi)存的邏輯頁中移動(dòng),在解釋器的設(shè)計(jì)中必須把程序?qū)嶋H指針和程序邏輯指針結(jié)合在一起考慮。解釋器通過解釋高端內(nèi)存中物理頁的內(nèi)容來完成擴(kuò)展內(nèi)存的NC程序的解釋任務(wù)。

  解釋器解釋NC程序所得到的數(shù)據(jù)送到一個(gè)環(huán)形緩沖隊(duì)列中,當(dāng)填滿緩沖隊(duì)列后,解釋任務(wù)就停止。當(dāng)插補(bǔ)器從解釋器中取走數(shù)據(jù),使緩形隊(duì)列中有空單元時(shí),通過任務(wù)調(diào)度把解釋器再次激活,這樣解釋器和插補(bǔ)器就能協(xié)調(diào)工作。

延伸閱讀:CNC 系統(tǒng) 程序
收藏分享:論壇
分享到:
相關(guān)新聞
  • 特色班
    4大班次+2-3套全真模擬題
    提升學(xué)習(xí)效果
  • 精品班
    4大班次+2-3套全真模擬題+1套預(yù)測試題
  • 實(shí)驗(yàn)班
    3套全真模擬題+2套預(yù)測試題+考前沖關(guān)寶典
  • 定制班
    3套模擬題+3套預(yù)測題+考前沖關(guān)寶典+考前重點(diǎn)
  • 移動(dòng)班
    以知識(shí)點(diǎn)為單元授課練習(xí),
    強(qiáng)化重點(diǎn)、難點(diǎn)、考點(diǎn)
版權(quán)聲明

  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)將追究其法律責(zé)任。
  2、本網(wǎng)部分資料為網(wǎng)上搜集轉(zhuǎn)載,均盡力標(biāo)明作者和出處。對于本網(wǎng)刊載作品涉及版權(quán)等問題的,請作者與本網(wǎng)站聯(lián)系,本網(wǎng)站核實(shí)確認(rèn)后會(huì)盡快予以處理。
  本網(wǎng)轉(zhuǎn)載之作品,并不意味著認(rèn)同該作品的觀點(diǎn)或真實(shí)性。如其他媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用,請與著作權(quán)人聯(lián)系,并自負(fù)法律責(zé)任。
  3、本網(wǎng)站歡迎積極投稿。