下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、NC程序解釋分析論文在數(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)存分配,如分配不合理,則需重
2、新分塊,這給操作帶來不便。華中型CNC系統(tǒng)以工業(yè)PC為平臺(tái),對(duì)于巨量程序的加工,通過使用系統(tǒng)的擴(kuò)展內(nèi)存實(shí)現(xiàn)巨量NC程序的解釋,同時(shí)要兼容處理類似高級(jí)語(yǔ)言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)存的物理頁(yè)的讀寫,完成對(duì)擴(kuò)展內(nèi)存的邏輯頁(yè)操作1。CNC系統(tǒng)運(yùn)行前,需在CONFIG.SYS文件中裝載: DEVICE=C:HIMEM.SYS DEVICE=C:EMM386.EXE 1NC程序的裝載 在NC程序裝入之前,檢測(cè)程序檢測(cè)有多大的擴(kuò)展內(nèi)存,能
3、運(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è)包含一定邏輯頁(yè)數(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)存的物理頁(yè),再通過物理頁(yè)和邏輯頁(yè)的映射關(guān)系,把NC程序裝入擴(kuò)展內(nèi)存邏輯頁(yè)。程序開始運(yùn)行以后,可以根據(jù)提示的剩余的內(nèi)存選擇所要編輯的程序。 2巨量NC程序的解釋
4、 程序裝入擴(kuò)展內(nèi)存的邏輯頁(yè)后,對(duì)程序的解釋操作在高端內(nèi)存的物理頁(yè)中進(jìn)行,這時(shí)要把擴(kuò)展內(nèi)存邏輯頁(yè)的內(nèi)容分頁(yè)映射到高端內(nèi)存的物理頁(yè),再對(duì)物理頁(yè)中的NC程序進(jìn)行解釋。對(duì)高端內(nèi)存的物理頁(yè)進(jìn)行操作,必須不斷地考慮程序指針的變換中所涉及的邏輯頁(yè)的轉(zhuǎn)換以及程序指針的邏輯頁(yè)數(shù)是否超過這個(gè)句柄所擁有的總的邏輯頁(yè)數(shù)等問題2。這就要求在程序指針變換時(shí)記錄下程序指針?biāo)鶎?duì)應(yīng)的擴(kuò)展內(nèi)存上的邏輯頁(yè)中的邏輯位置,稱為程序邏輯指針。把程序指針在高端內(nèi)存物理頁(yè)中的實(shí)際物理位置稱作程序?qū)嶋H指針。程序邏輯指針在擴(kuò)展內(nèi)存中從邏輯低地址移向邏輯高地址,程序?qū)嶋H指針只是在物理頁(yè)中往復(fù)地從頭至尾地移動(dòng),直到所有的程序行解釋執(zhí)行完畢。程序邏輯
5、指針和程序?qū)嶋H指針有一種對(duì)應(yīng)關(guān)系,設(shè)計(jì)一個(gè)結(jié)構(gòu)體來代替基于系統(tǒng)S基本內(nèi)存的程序解釋器的程序指針,用來記錄程序的邏輯位置。 structPageProgPtr charhugeProgPtr;.物理頁(yè)中程序?qū)嶋H指針 intNumOfCurPage;當(dāng)前的邏輯頁(yè) intPagenumOfHandle;句柄所擁有的邏輯頁(yè)數(shù) unsignedintHandle;當(dāng)前程序句柄 在具體的解釋器實(shí)現(xiàn)中要考慮到程序?qū)嶋H指針和程序邏輯指針處于頁(yè)首和頁(yè)末的情況。當(dāng)程序?qū)嶋H指針和程序邏輯指針在頁(yè)首時(shí),程序邏輯指針的下個(gè)位置可能在前一邏輯頁(yè)末尾,程序?qū)嶋H指針可能要退到物理頁(yè)的末尾。而當(dāng)程序?qū)嶋H指針和程序邏輯指針在頁(yè)末
6、時(shí),程序邏輯指針的下個(gè)位置可能在后一邏輯頁(yè)首,程序?qū)嶋H指針可能從物理頁(yè)的頁(yè)尾移到物理頁(yè)的頁(yè)首。針對(duì)這2種情況進(jìn)行處理,設(shè)計(jì)了2個(gè)處理函數(shù): structPageProgPtrTreatOfFrameEnd(structPageProgPtr); structPageProgPtrTreatOfFrameStart(structPageProgPtr); 通過這種處理保證程序?qū)嶋H指針在物理頁(yè)中和程序邏輯指針在擴(kuò)展內(nèi)存的邏輯頁(yè)中的準(zhǔn)確性。 由于在程序解釋時(shí)程序?qū)嶋H指針只在物理頁(yè)中來回變化,而程序邏輯指針在擴(kuò)展內(nèi)存的邏輯頁(yè)中移動(dòng),在解釋器的設(shè)計(jì)中必須把程序?qū)嶋H指針和程序邏輯指針結(jié)合在一起考慮。解釋器
7、通過解釋高端內(nèi)存中物理頁(yè)的內(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)工作。 3關(guān)于巨量NC程序和類似高級(jí)語(yǔ)言BASIC編寫的NC程序兼容處理 在一般NC代碼解釋器中,只能進(jìn)行ISO代碼的NC程序解釋,而對(duì)于帶有高級(jí)語(yǔ)言特性的一些NC語(yǔ)句如DOWHILE語(yǔ)句、IF語(yǔ)句、GOTO語(yǔ)句等和宏變量不支持。對(duì)于帶有高級(jí)語(yǔ)言特性的NC語(yǔ)句的解釋有2種方法:第1種方法是做2個(gè)解釋器分別對(duì)ISO代碼的NC程序和類似高
8、級(jí)語(yǔ)言編寫的NC程序進(jìn)行解釋;第2種方法是做1個(gè)兼容的通用解釋器,它對(duì)2種程序都能處理。第1種方法思路簡(jiǎn)單,解釋器編程容易,由于ISO代碼的NC程序和類似高級(jí)語(yǔ)言編寫的NC程序只能分別編寫,NC程序的處理能力不強(qiáng);第2種方法解釋器編程較難,但程序的解釋功能較強(qiáng),在ISO代碼的程序中可以帶有一些高級(jí)語(yǔ)言特性的語(yǔ)句如DOWHILE語(yǔ)句,這樣用戶所編寫的NC程序的處理功能可以很強(qiáng)。 在華中型CNC系統(tǒng)的解釋器中,采用的是第2種方法,進(jìn)行巨量NC程序和類似高級(jí)語(yǔ)言編寫的NC程序進(jìn)行兼容處理,保證在巨量NC程序中也能加入一些高級(jí)語(yǔ)言的特性,這就要進(jìn)行類似高級(jí)語(yǔ)言的表達(dá)式計(jì)算、子程序的調(diào)用和程序跳轉(zhuǎn)等高級(jí)
9、語(yǔ)言處理過程。 在基于基本內(nèi)存的NC程序解釋器中,對(duì)于類似高級(jí)語(yǔ)言BASIC編寫的NC程序的子程序標(biāo)號(hào)和跳轉(zhuǎn)標(biāo)號(hào)的處理一般先通過掃描整個(gè)程序而形成子程序表和標(biāo)號(hào)表,再每次遇到NC調(diào)用子程序或執(zhí)行跳轉(zhuǎn)程序時(shí),通過查表來找到子程序的地址或跳轉(zhuǎn)的目的地址。這樣不僅浪費(fèi)內(nèi)存,而且影響解釋任務(wù)的執(zhí)行速度。如果NC標(biāo)號(hào)非常多,就會(huì)占用較多的基本內(nèi)存,而且解釋程序的速度非常慢,特別是CAD/CAM所生成的巨量NC程序,基本上每行都有N標(biāo)號(hào),更容易出現(xiàn)這樣的問題。由于使用擴(kuò)展內(nèi)存不僅要對(duì)一般的手工編制的較短N(yùn)C程序進(jìn)行處理,而且要對(duì)巨量NC程序進(jìn)行處理,采用直接尋址,每次遇到子程序和跳轉(zhuǎn)程序指令時(shí),通過比較標(biāo)
10、號(hào),找到目的地址執(zhí)行,這樣既節(jié)省系統(tǒng)的基本內(nèi)存,又提高系統(tǒng)的處理速度和CNC運(yùn)行的穩(wěn)定性。通過2個(gè)函數(shù)來解決這個(gè)問題: structPageProgPtrFind_Nlabel(structPageProgPtr); structPageProgPtrFind_Ocode(structPageProgPtr); 4擴(kuò)展內(nèi)存的資源競(jìng)爭(zhēng)問題 為了節(jié)約基本內(nèi)存,要編輯的程序也裝入擴(kuò)展內(nèi)存,這也通過一個(gè)句柄進(jìn)行操作。在程序的編輯時(shí),所要編輯的程序從擴(kuò)展內(nèi)存的邏輯頁(yè)輪流裝入高端內(nèi)存的物理頁(yè),所有程序的編輯都在高端內(nèi)存進(jìn)行,從而保證在程序編輯過程不占用基本內(nèi)存。 由于所編輯程序和運(yùn)行的程序都是通過高端內(nèi)存
11、對(duì)擴(kuò)展內(nèi)存進(jìn)行操作,存在資源競(jìng)爭(zhēng)的問題。在系統(tǒng)中,擴(kuò)展內(nèi)存都是通過句柄進(jìn)行操作的,通過EMM386.EXE文件對(duì)擴(kuò)展內(nèi)存的邏輯頁(yè)進(jìn)行管理,只要能申請(qǐng)到相應(yīng)擴(kuò)展內(nèi)存的句柄,就能保證擴(kuò)展內(nèi)存的邏輯頁(yè)使用不發(fā)生沖突。在高端內(nèi)存中,總共有每頁(yè)16k的4頁(yè)物理頁(yè),把這些物理頁(yè)進(jìn)行分配,程序解釋運(yùn)行使用第1頁(yè),而程序編輯使用第2頁(yè),由于EMM386.EXE程序本身能保證67H中斷的重入問題,通過這樣內(nèi)存的分配方式,解決了擴(kuò)展內(nèi)存資源競(jìng)爭(zhēng)問題3。 5結(jié)束語(yǔ) 筆者利用系統(tǒng)的擴(kuò)展內(nèi)存實(shí)現(xiàn)了在CNC系統(tǒng)中解釋巨量NC程序。基于系統(tǒng)擴(kuò)展內(nèi)存所做的NC解釋器和編輯器使運(yùn)行程序和編輯程序的大小與基本內(nèi)存無關(guān),而只與擴(kuò)展內(nèi)存有關(guān)。計(jì)算機(jī)可配置的擴(kuò)展內(nèi)存越來越大,現(xiàn)已能達(dá)到256M,而現(xiàn)階段8M的擴(kuò)展內(nèi)存已能滿足一般巨量NC程序運(yùn)行和編輯的要求,這給更復(fù)雜零件加工程序一次裝載解釋運(yùn)行提供更大的方便。同時(shí),在多通道的CNC系統(tǒng)軟件中,由于每增加一個(gè)通道大約要增加到最大20k到30k的內(nèi)存開銷,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中外合資企業(yè)合同書模板2024年
- 商標(biāo)轉(zhuǎn)讓協(xié)議
- 房屋租賃合同補(bǔ)充協(xié)議案例
- 司機(jī)的勞動(dòng)合同協(xié)議范本2024年
- 二手車轉(zhuǎn)讓協(xié)議書的范本
- 電子商務(wù)加盟合同范本2024年
- 6.20條例條令學(xué)習(xí)
- 2024年學(xué)校物品采購(gòu)合同
- 2024年美容院用工合同
- 專業(yè)勞動(dòng)合同模板
- GB 21258-2024燃煤發(fā)電機(jī)組單位產(chǎn)品能源消耗限額
- 手術(shù)室急危重患者的搶救與配合
- 1.1公有制為主體多種所有制經(jīng)濟(jì)共同發(fā)展課件-高中政治統(tǒng)編版必修二經(jīng)濟(jì)與社會(huì)
- 研發(fā)投入核算管理制度
- 新疆哈密地區(qū)(2024年-2025年小學(xué)四年級(jí)語(yǔ)文)人教版期中考試(上學(xué)期)試卷及答案
- 2024-2030年中國(guó)SUV行業(yè)市場(chǎng)深度調(diào)研及發(fā)展前景與投資前景研究報(bào)告
- 2023年廣州市教育系統(tǒng)招聘優(yōu)才計(jì)劃筆試真題
- 24.1.2 垂直于弦的直徑(1) 人教版數(shù)學(xué)九年級(jí)上冊(cè)課件
- 新教材適用高中物理第一章動(dòng)量守恒定律測(cè)評(píng)新人教版選擇性必修第一冊(cè)
- 中國(guó)銀行河北省分行2022年度高端客戶活動(dòng)方案
- 統(tǒng)編版(2024新版)道德與法治七年級(jí)上冊(cè)5.1《走近老師》教案
評(píng)論
0/150
提交評(píng)論