国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

數(shù)控系統(tǒng)程序預(yù)處理技術(shù)研究*

2014-07-18 11:59:04李海英楊東升
關(guān)鍵詞:子程序數(shù)控系統(tǒng)調(diào)用

李海英, 楊東升,張 力

(1.中國(guó)科學(xué)院 研究生院,北京 100049; 2.中國(guó)科學(xué)院 沈陽(yáng)計(jì)算技術(shù)研究所,沈陽(yáng) 110168)

?

數(shù)控系統(tǒng)程序預(yù)處理技術(shù)研究*

李海英1,2, 楊東升1,張 力1,2

(1.中國(guó)科學(xué)院 研究生院,北京 100049; 2.中國(guó)科學(xué)院 沈陽(yáng)計(jì)算技術(shù)研究所,沈陽(yáng) 110168)

現(xiàn)代制造業(yè)對(duì)數(shù)控系統(tǒng)高精度和工件光潔度的要求日益增加,使數(shù)控程序復(fù)雜龐大,程序解碼時(shí)間也隨之增加。數(shù)控系統(tǒng)的程序預(yù)處理技術(shù)減少了程序的解碼時(shí)間,保證程序執(zhí)行的連續(xù)性,這就保證了機(jī)床加工的連續(xù)性和及時(shí)性。論文分別對(duì)循環(huán)預(yù)處理和程序預(yù)掃描這兩項(xiàng)預(yù)處理技術(shù)做了較為詳細(xì)的研究。首先闡述了一種對(duì)數(shù)控程序中固定循環(huán)進(jìn)行預(yù)處理的方法,介紹了該方法的基本概念、原理和技術(shù)概要。然后詳細(xì)介紹了數(shù)控程序預(yù)掃描的實(shí)現(xiàn)過(guò)程。并給出了擁有這兩項(xiàng)預(yù)處理功能的數(shù)控系統(tǒng)對(duì)工件程序的解碼過(guò)程。

解碼時(shí)間;連續(xù)性;循環(huán)預(yù)處理;程序預(yù)掃描

0 引言

現(xiàn)代制造業(yè)對(duì)數(shù)控系統(tǒng)生產(chǎn)效率、加工精度以及工件的光潔度的要求越來(lái)越高,如果在耗時(shí)較多的解碼和插補(bǔ)計(jì)算上處理速度不夠快,加工過(guò)程會(huì)出現(xiàn)暫停,造成實(shí)際與編程進(jìn)給不一致[1]。這就要求做為數(shù)控制造業(yè)的核心的數(shù)控系統(tǒng)有高速解碼的能力,程序的預(yù)處理技術(shù)對(duì)減少數(shù)控程序的解碼時(shí)間有一定的作用。因此,深入研究預(yù)處理相關(guān)技術(shù)有十分重要的意義。

循環(huán)預(yù)處理和程序的預(yù)掃描是對(duì)程序文件在真正解碼前所做的預(yù)編譯和相關(guān)處理。循環(huán)預(yù)處理是在系統(tǒng)上電后對(duì)系統(tǒng)里固有的循環(huán)代碼做預(yù)編譯,而預(yù)掃描則是對(duì)正在加載的程序文件作掃描和相關(guān)處理,通過(guò)這些處理來(lái)減少程序真正解碼時(shí)的工作量從而減少解碼的時(shí)間,保證為譯碼后續(xù)模塊,即插補(bǔ)模塊,提供足夠的操作數(shù)據(jù),避免加工過(guò)程中的暫?;?qū)嶋H進(jìn)給與編程進(jìn)給不一致。

目前,國(guó)內(nèi)外數(shù)控系統(tǒng)生產(chǎn)商已經(jīng)對(duì)預(yù)處理進(jìn)行了研究,形成了多樣化的程序預(yù)處理方式。本文著重介紹對(duì)循環(huán)(包括系統(tǒng)標(biāo)準(zhǔn)循環(huán)和用戶循環(huán))的上電后預(yù)處理和對(duì)工件程序文件的加載時(shí)預(yù)掃描,分別闡述了兩種預(yù)處理技術(shù)的原理及具體實(shí)現(xiàn)方法,給出了加入這兩種預(yù)處理功能后程序的運(yùn)行過(guò)程。

1 循環(huán)預(yù)處理技術(shù)

循環(huán)是一種工藝子程序,是數(shù)控系統(tǒng)的一種簡(jiǎn)化編程功能。借助這些循環(huán),可以有效實(shí)現(xiàn)特定的加工過(guò)程。這種編程方式可有效減少編程的重復(fù)勞動(dòng)及因重復(fù)勞動(dòng)引起的出錯(cuò)機(jī)率,提高編程的效率,可以最快的速度實(shí)現(xiàn)再次投產(chǎn)[2]。很多常用的數(shù)控系統(tǒng)如FANUC、SIEMENS、A-B公司等都為用戶提供了循環(huán)調(diào)用功能,這一功能為用戶編制相似或相近加工工藝帶來(lái)了極大的方便,利用這一功能,用戶就可以在相同的孔加工及相似的輪廓加工中進(jìn)行方便的加工[3]。循環(huán)包括標(biāo)準(zhǔn)循環(huán),用戶循環(huán),其中標(biāo)準(zhǔn)循環(huán)是系統(tǒng)生產(chǎn)商嵌入系統(tǒng)內(nèi)的一些封閉的子程序,這些子程序?qū)崿F(xiàn)固定的功能。用戶循環(huán)是由最終用戶自己編制的一些方便使用或需要重復(fù)使用的子程序或宏程序。

本文循環(huán)預(yù)處理的研究基于SINUMERIK 840D系統(tǒng)架構(gòu)。SINUMERIK 840D具有高度模塊化及規(guī)范化結(jié)構(gòu),其鉆削、銑削和車削加工工藝的各種標(biāo)準(zhǔn)循環(huán)大大簡(jiǎn)化了頻繁的重復(fù)加工操作[4]。

1.1 程序編譯技術(shù)

現(xiàn)代數(shù)控系統(tǒng)的編譯系統(tǒng)多采用解釋方式,即每譯完一個(gè)程序段時(shí),直接將該段的譯碼結(jié)果作為輸入量傳給數(shù)控系統(tǒng)后續(xù)的插補(bǔ)模塊進(jìn)行處理,譯碼與后序模塊是串行方式。由于循環(huán)包含的加工信息較為復(fù)雜,譯碼時(shí)間較長(zhǎng),在單一的解釋方式譯碼環(huán)境中可能因后續(xù)模塊所需數(shù)據(jù)不足而產(chǎn)生程序暫停。針對(duì)該問(wèn)題,文獻(xiàn)[5]提出了局部編譯的解釋方式,具體解碼過(guò)程為:譯碼整體使用解釋方式,而對(duì)于循環(huán)部分局部采用編譯方式實(shí)現(xiàn)。這種方法解決了對(duì)循環(huán)大量信息進(jìn)行編譯時(shí)所可能造成的程序暫?,F(xiàn)象。但這種方法將兩種譯碼方式同時(shí)應(yīng)用到一個(gè)程序的編譯,在編譯過(guò)程中需要一定的時(shí)間實(shí)現(xiàn)編譯方式轉(zhuǎn)換。

本文中的循環(huán)預(yù)處理借鑒了局部編譯的解釋方式,不同的是將編譯方式從插入到解釋方式過(guò)程中移出到系統(tǒng)上電后的空閑時(shí)間。如圖1a顯示了文獻(xiàn)[5]中的所描述的編譯過(guò)程,圖1b顯示了循環(huán)預(yù)處理編譯過(guò)程。

圖1 不同方式的解碼過(guò)程

如圖1b所示:系統(tǒng)每次上電后,首先預(yù)編譯固有的循環(huán)文件,將編譯后生成的中間文件存儲(chǔ)到指定的位置,在西門(mén)子系統(tǒng)中,存放固定循環(huán)的目錄為_(kāi)N_CYCLE_SPF,存放預(yù)編譯后中間文件的目錄為_(kāi)N_CYCLE_CYC。當(dāng)在程序中調(diào)用某個(gè)循環(huán)時(shí),再?gòu)闹虚g文件里把編譯后的循環(huán)調(diào)到緩沖區(qū),供給插補(bǔ)模塊。本文主要研究對(duì)標(biāo)準(zhǔn)循環(huán)的預(yù)處理。

1.2 循環(huán)預(yù)處理的實(shí)現(xiàn)

標(biāo)準(zhǔn)循環(huán)根據(jù)參數(shù)的不同可以分為如下三類:

(1)無(wú)參數(shù)循環(huán);

(2)參數(shù)中不含輪廓子程序的循環(huán);

(3)參數(shù)中包含輪廓子程序的循環(huán)。

下面分別說(shuō)明循環(huán)預(yù)處理對(duì)這三類循環(huán)所做的處理。

1.2.1 無(wú)參數(shù)循環(huán)

此類循環(huán)沒(méi)有參數(shù),不需要外部傳參,因此預(yù)處理簡(jiǎn)單,只需將_N_CYCLE_SPF中無(wú)參數(shù)循環(huán)指令群編譯好,放入_N_CYCLE_CYC中,等待程序調(diào)用[6]。如圖2所示。

表1 CYCLE81參數(shù)說(shuō)明

1.2.2 參數(shù)中不包含子程序的循環(huán)

鉆削循環(huán)和部分銑削、車削循環(huán)的參數(shù)不包含輪廓子程序,這類循環(huán)的參數(shù)的實(shí)際值必須在調(diào)用時(shí)才能得到,也即循環(huán)的具體軌跡必須由程序調(diào)用循環(huán)時(shí)的狀態(tài)信息和循環(huán)參數(shù)具體值共同決定。因此預(yù)編譯時(shí)需要用部分變量來(lái)暫時(shí)代替所需的狀態(tài)信息和參數(shù),在主程序調(diào)用時(shí)再將確定的狀態(tài)信息和參數(shù)值傳入已經(jīng)預(yù)處理的循環(huán)程序,確定運(yùn)行軌跡。

如CYCLE81 (RTP, RFP, SDIS, DP, DPR),各參數(shù)含義如表1所示[7]

圖2 無(wú)參數(shù)的循環(huán)預(yù)處理

該循環(huán)實(shí)現(xiàn)的功能是:刀具以編程的主軸轉(zhuǎn)速和進(jìn)給速度鉆削,直至輸入的最終鉆削深度。如圖3所示。

圖3 CYCLE81鉆削定中心循環(huán)加工過(guò)程

該循環(huán)產(chǎn)生以下的運(yùn)動(dòng)過(guò)程[7]:

①以 G0 返回到相隔安全距離的基準(zhǔn)面

②以在所調(diào)用程序中編程的進(jìn)給率(G1)運(yùn)行到最終鉆削深度

③以G0 返回到退回平面

其中每個(gè)參數(shù)的具體數(shù)值是不確定的,在預(yù)處理所做的編譯和上面所示的運(yùn)動(dòng)過(guò)程是一致的:

①以G0返回到W坐標(biāo)RFP+SDIS的UV基準(zhǔn)面。其中W、U、V由具體主程序調(diào)用循環(huán)程序之前的代碼確定。

②以在所調(diào)用程序中的編程進(jìn)給率運(yùn)行到最終鉆削深度DP,進(jìn)給速度由主程序確定。

③以G0返回到RTP。

循環(huán)中包含上面三步的指令群,預(yù)處理編譯指令群中的代碼,其中的參數(shù)只能用變量代替,為所需的變量開(kāi)辟內(nèi)存。當(dāng)主程序調(diào)用循環(huán)時(shí),將所需參數(shù)的值傳給上面開(kāi)辟的內(nèi)存對(duì)應(yīng)的變量。在真正調(diào)用時(shí)生成供插補(bǔ)模塊的軌跡信息。

1.2.3 參數(shù)中包含輪廓子程序的循環(huán)

參數(shù)中包含輪廓子程序的循環(huán)預(yù)處理較難,下面以SINUMERIK 840D中的CYCLE95為例詳細(xì)介紹這類循環(huán)的預(yù)處理。

CYCLE95切削循環(huán)為典型的參數(shù)中包含輪廓子程序的循環(huán)。切削循環(huán)相比普通的固定循環(huán)指令,其指令中并不直接給出加工軌跡以及供插補(bǔ)模塊的定位點(diǎn)坐標(biāo),該指令僅僅提供了生成實(shí)際加工軌跡的特征參數(shù)。通過(guò)這些特征參量,該類指令可以轉(zhuǎn)化為若干由基本插補(bǔ)指令、功能指令所組成的指令群,而這些指令則包含基本的走刀路徑以及特征點(diǎn)信息, 從而被系統(tǒng)所識(shí)別。它可以極大地減少編制程序的工作量, 但同時(shí), 由于其所需參量較多, 軌跡復(fù)雜, 因此對(duì)該類循環(huán)的譯碼分析存在一定難度[8]。

CYCLE95 (NPP, MID, FALZ, FALX, FAL, FF1, FF2, FF3, VARI, DT, DAM,_VRT),該指令可以對(duì)由精車路線定義的輪廓進(jìn)行粗精加工。

參數(shù)具體含義如表2所示。

表2 CYCLE95參數(shù)含義說(shuō)明

在預(yù)處理時(shí),因?yàn)闆](méi)有輪廓子程序的信息,沒(méi)有特征點(diǎn)的坐標(biāo)信息,因此無(wú)法知道粗加工和精加工的運(yùn)行軌跡。預(yù)處理的編譯只能做將循環(huán)的指令群編譯到不需要子程序輪廓信息的中間文件。更進(jìn)一步的預(yù)處理需要配合程序預(yù)掃描過(guò)程。具體見(jiàn)程序預(yù)掃描和預(yù)處理的結(jié)合部分。

2 程序預(yù)掃描

2.1 程序預(yù)掃描技術(shù)

一些高級(jí)的數(shù)控系統(tǒng),為了減少手工編程的工作量或提高數(shù)控加工程序的智能性,增加了具有高級(jí)語(yǔ)言特點(diǎn)的數(shù)控宏程序(以德國(guó)的 Siemens 和日本的 Fanuc 系統(tǒng)的宏程序最為典型)[9],宏程序的一大特點(diǎn)是具有轉(zhuǎn)移和循環(huán)功能,包括 GOTO、IF、WHILE 語(yǔ)句,可方便地實(shí)現(xiàn)語(yǔ)句的無(wú)條件、有條件跳轉(zhuǎn)和重復(fù)多次循環(huán),減少編程語(yǔ)句[10]。同時(shí),在數(shù)控程序中會(huì)調(diào)用子程序或外部子程序,這樣可以減少重復(fù)編寫(xiě)代碼,實(shí)現(xiàn)代碼的重用,減少操作人員工作量。無(wú)論是跳轉(zhuǎn)語(yǔ)句或者子程序調(diào)用,都要中斷順序執(zhí)行,跳轉(zhuǎn)到指定的代碼執(zhí)行。

在有程序跳轉(zhuǎn)時(shí),系統(tǒng)面臨這樣的問(wèn)題:

(1)將要跳轉(zhuǎn)到的代碼在哪,怎樣快速定位到要跳轉(zhuǎn)的目標(biāo)處,怎樣的尋址才能保證程序的執(zhí)行時(shí)間。

(2)可能將調(diào)用的子程序并不在內(nèi)存,而在外存,這時(shí)就必須訪問(wèn)低速的外設(shè)[1]怎樣才能減少這個(gè)訪問(wèn)的時(shí)間,保證程序的運(yùn)行連續(xù)性。

在此可以應(yīng)用程序的預(yù)掃描功能來(lái)解決這些問(wèn)題,“預(yù)掃描”設(shè)計(jì)思想就是在工件程序解釋執(zhí)行前,先將整個(gè)程序掃描一遍,按順序記錄下所有程序的分支點(diǎn)[1],并調(diào)用系統(tǒng)服務(wù)找到分支跳轉(zhuǎn)目標(biāo)的地址記錄下來(lái),當(dāng)程序解釋執(zhí)行遇到程序跳轉(zhuǎn)時(shí),它將根據(jù)預(yù)存內(nèi)容,通過(guò)調(diào)用系統(tǒng)服務(wù)迅速恢復(fù)現(xiàn)場(chǎng)和調(diào)整文件指針,并將程序段內(nèi)容讀入內(nèi)部工作區(qū)[1]。

2.1 預(yù)掃描的系統(tǒng)要求

在預(yù)掃描過(guò)程中需要程序通過(guò)系統(tǒng)調(diào)用訪問(wèn)低速外設(shè),所以系統(tǒng)的文件管理系統(tǒng)必須提供兩個(gè)系統(tǒng)服務(wù),用來(lái)快速訪問(wèn)一個(gè)特定記錄,包括內(nèi)存記錄或磁盤(pán)記錄。其中一個(gè)服務(wù)為快速查詢指定記錄系統(tǒng)服務(wù),另一個(gè)為快速訪問(wèn)指定地址內(nèi)容系統(tǒng)服務(wù)。為了方便數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì),我們將快速查詢系統(tǒng)服務(wù)稱為IOFileFind,將快速訪問(wèn)指定地址的系統(tǒng)服務(wù)稱為IOFileRead。

同時(shí),必須在內(nèi)存中開(kāi)辟專門(mén)的內(nèi)存塊保存跳轉(zhuǎn)標(biāo)記號(hào)和跳轉(zhuǎn)地址記錄。稱為程序分支表。每個(gè)表項(xiàng)由跳轉(zhuǎn)標(biāo)記號(hào)和跳轉(zhuǎn)目的地址兩項(xiàng)組成。

關(guān)鍵數(shù)據(jù)結(jié)構(gòu)為:

Typedef struct{

int id;//跳轉(zhuǎn)標(biāo)記號(hào)

(file *)IOFileFInd(char filename);//調(diào)用第一個(gè)系統(tǒng)服務(wù)查找跳轉(zhuǎn)目的地址,返回文件指針

}

2.2 具體預(yù)掃描過(guò)程

有了這兩個(gè)系統(tǒng)服務(wù)和關(guān)鍵數(shù)據(jù)結(jié)構(gòu),就可以在打開(kāi)程序文件時(shí)做預(yù)掃描處理。具體步驟如下:

(1)打開(kāi)程序文件,同時(shí)掃描文件,在有程序跳轉(zhuǎn)的代碼行標(biāo)號(hào),標(biāo)號(hào)遞增且和數(shù)據(jù)結(jié)構(gòu)中的id相對(duì)應(yīng)。按順序記錄下所有程序的分支定位點(diǎn)。

(2)每記錄一個(gè)跳轉(zhuǎn)標(biāo)號(hào)時(shí),調(diào)用系統(tǒng)服務(wù)IOFileFind找到跳轉(zhuǎn)地址,返回地址重定位指針。

(3)當(dāng)程序執(zhí)行時(shí),遇到跳轉(zhuǎn)標(biāo)號(hào)時(shí),直接到程序分支表中的數(shù)據(jù)結(jié)構(gòu)中查詢相應(yīng)的id號(hào),根據(jù)對(duì)應(yīng)的指針找到目的地址。調(diào)用系統(tǒng)服務(wù)IOFileRead訪問(wèn)目標(biāo)段。

如上,這樣省去了在解釋過(guò)程中掃描整個(gè)內(nèi)存甚至外存尋找目標(biāo)代碼的時(shí)間,保證程序解釋的快速及時(shí) 。圖4分別給出了沒(méi)有預(yù)掃描和有預(yù)掃描的程序編譯過(guò)程,不考慮程序中斷和恢復(fù)過(guò)程。

圖4 不同的程序編譯流程圖

如上流程圖可見(jiàn),具有預(yù)掃描功能的系統(tǒng)把對(duì)跳轉(zhuǎn)地址的查詢放到了編譯前,這樣就節(jié)省了在正式編譯時(shí)多次掃描內(nèi)存甚至多次掃描整個(gè)外存的情況,減少了編譯的時(shí)間。

3 預(yù)掃描和循環(huán)預(yù)處理的結(jié)合

對(duì)參數(shù)有輪廓子程序的固定循環(huán)的預(yù)處理中需要由輪廓子程序確定加工軌跡。這些循環(huán)需要循環(huán)預(yù)處理和程序預(yù)掃描結(jié)合來(lái)進(jìn)行預(yù)處理。如典型的切削循環(huán)CYCLE95。該指令可以對(duì)由精車路線定義的輪廓進(jìn)行粗精加工。

圖5 切削循環(huán)粗精加工示意

CYCLE95 (NPP, MID, FALZ, FALX, FAL, FF1, FF2, FF3, VARI, DT, DAM,_VRT),NPP為輪廓子程序名,由NPP是代碼確定精加工的輪廓。如圖5,為CYCLE95循環(huán)加工示意圖。

(1)下面為該粗精加工的步驟:

①刀具快速定位到“A”點(diǎn)。該點(diǎn)系統(tǒng)自動(dòng)計(jì)算,等于最大(小)輪廓±精車余量±VRT。

②刀具以G00方式平行X軸由“A”點(diǎn)進(jìn)到“B”點(diǎn)(軌跡1),切削深度由MID定義。

③刀具以G01方式和FF1指定速度由“B”點(diǎn)(軌跡2)加工到“C”點(diǎn)。

④刀具以G01/G02/G03/方式和FF1指定速度由“C”點(diǎn)加工到“D”點(diǎn)(軌跡3),切出工件輪廓。

⑤刀具以G00速度和軌跡快速由“D”返回“A”點(diǎn)(軌跡4),完成一個(gè)加工循環(huán)。

⑥重復(fù)以上過(guò)程,分5次進(jìn)刀完成粗車加工。

(2)在預(yù)掃描階段做的工作為:

①查找輪廓子程序。

②讀取子程序,分析輪廓軌跡坐標(biāo)點(diǎn)。

③根據(jù)子程序輪廓軌跡坐標(biāo)點(diǎn)和循環(huán)參數(shù),結(jié)合在循環(huán)預(yù)處理里已完成的工作,確定粗精加工的具體軌跡, 在程序調(diào)用該循環(huán)時(shí)再根據(jù)系統(tǒng)狀態(tài)確定可供插補(bǔ)直接使用的數(shù)據(jù)。

這樣,一個(gè)有循環(huán)輪廓子程序的循環(huán)在預(yù)掃描和循環(huán)預(yù)處理的結(jié)合處理下,減少了在真正編譯時(shí)的大量工作,從而保證譯碼的及時(shí)性。

加上這兩種預(yù)處理功能后的系統(tǒng)的程序執(zhí)行過(guò)程為圖6

圖6 帶兩項(xiàng)預(yù)處理功能的程序執(zhí)行過(guò)程

4 實(shí)驗(yàn)結(jié)果及分析

本實(shí)驗(yàn)PC機(jī)具有2.93GHz CPU、1.96G內(nèi)存、Ubuntu 10.04操作系統(tǒng)。對(duì)LinuxCNC2.5.2中的RS274 G-code interpreter做預(yù)處理功能添加及程序解釋實(shí)驗(yàn)。

將RS274 G-code interpreter單獨(dú)編譯,即SAI,原項(xiàng)目運(yùn)行GUI為圖7(a),加入預(yù)處理功能后運(yùn)行的GUI為圖7(b)。運(yùn)行解釋器后選擇0可以對(duì)系統(tǒng)固定循環(huán)進(jìn)行預(yù)處理,選項(xiàng)1是加載工程文件時(shí)同時(shí)預(yù)掃描工程文件。

(a) 原運(yùn)行后GUI

(b) 更改后運(yùn)行GUI圖7 程序運(yùn)行

本實(shí)驗(yàn)輸入為RS274/NGC語(yǔ)言數(shù)控工件代碼文件,輸出為Canonical Machining Functions。將輸入文件所含代碼行數(shù)固定為10000。通過(guò)改變所含循環(huán)代碼和跳轉(zhuǎn)代碼的行數(shù)來(lái)觀察所需時(shí)間的變化。

設(shè)原解釋器為SAI0,加入循環(huán)預(yù)處理功能的解釋器為SAI1,加入預(yù)掃描功能的解釋器為SAI2,實(shí)驗(yàn)結(jié)果如表3、表4:

表3 SAI0和SAI1執(zhí)行時(shí)間對(duì)比表

表4 SAI0和SAI2執(zhí)行時(shí)間對(duì)比表

執(zhí)行時(shí)間坐標(biāo)圖如圖8所示:

圖8 (a)SAI0和SAI1執(zhí)行時(shí)間對(duì)比圖

圖8 (b)SAI0和SAI2執(zhí)行時(shí)間對(duì)比圖

由對(duì)比實(shí)驗(yàn)可知,循環(huán)預(yù)掃描和程序預(yù)掃描功能能夠正確添加到已有的解釋器上。具有這兩項(xiàng)預(yù)處理功能的解釋器比原解釋器的解釋時(shí)間在一定程度上有所減少,減少的時(shí)間隨程序的循環(huán)代碼、跳轉(zhuǎn)代碼占總代碼的比例不同而有所不同,一般而言,程序越復(fù)雜,即循環(huán)和跳轉(zhuǎn)越多,預(yù)處理減少的編譯時(shí)間越明顯。此外,減少的時(shí)間也與系統(tǒng)的文件結(jié)構(gòu)有關(guān)。

5 結(jié)束語(yǔ)

數(shù)控系統(tǒng)程序預(yù)處理技術(shù)的應(yīng)用可以減少程序編譯的時(shí)間,尤其對(duì)大型復(fù)雜的程序,保證了編譯模塊為插補(bǔ)模塊提供足夠的數(shù)據(jù),從而保證程序的連續(xù)性。本文參考現(xiàn)在的數(shù)控編譯技術(shù)和西門(mén)子數(shù)控系統(tǒng)的預(yù)處理技術(shù),詳細(xì)分析了循環(huán)預(yù)處理和程序預(yù)掃描技術(shù)的設(shè)計(jì)和實(shí)現(xiàn)。對(duì)復(fù)雜的固定切削循環(huán)同時(shí)應(yīng)用了循環(huán)預(yù)處理和程序預(yù)掃描技術(shù),最大程度的利用上電后的空閑時(shí)間和加載文件時(shí)的空閑時(shí)間來(lái)減少編譯時(shí)間。這兩項(xiàng)預(yù)處理技術(shù)已在LinuxCNC EMC2解釋器上做了初步的實(shí)現(xiàn),驗(yàn)證了其正確性和可行性。

[1]黃金慶. 數(shù)控系統(tǒng)中的軟件預(yù)處理技術(shù)[J].機(jī)械與電子 1995(6):10-11.

[2]徐海峰,華閏祺. SINUMERIK 840D用戶循環(huán)程序的編程方法[J].制造材料2012(5):59-60.

[3]王占領(lǐng).基于子程序調(diào)用的數(shù)控加工技術(shù)[J].數(shù)控技術(shù)2005(7):139-141:65-66

[4]楊東濤. SINUMERIK 840D標(biāo)準(zhǔn)循環(huán)在實(shí)際加工中的靈活運(yùn)用[J].機(jī)電一體化, 2010(17):66-67.

[5]曹宇男, 陳友東, 王田苗,等.數(shù)控系統(tǒng)復(fù)合工序車削固定循環(huán)的譯碼分析[J].機(jī)床與液壓,2006(1):31-35

[6]SINUMERIK 840D FB_3. SINUMERIK 840D/840Di SINUMERIK 810D Special Functions (Part 3),2004,Siemens

[7]SINUMERIK 840D使用手冊(cè)(循環(huán)編程手冊(cè)),2004, Siemens

[8]程慎,閻威武,湯季安.數(shù)控車床復(fù)合固定循環(huán)的譯碼實(shí)現(xiàn)[J].機(jī)械制造 2009(6):46-48.

[9]劉春來(lái).Siemens 802D數(shù)控教學(xué)系統(tǒng)數(shù)控程序解釋器的開(kāi)發(fā)[D]. 哈爾濱:哈爾濱工業(yè)大學(xué), 2001

[10]徐巍. 高檔數(shù)控系統(tǒng)的功能規(guī)劃和關(guān)鍵技術(shù)研究[D]. 上海:上海交通大學(xué), 2009.

(編輯 李秀敏)

申請(qǐng)優(yōu)先審稿須知

為振興我國(guó)機(jī)械裝備制造業(yè),弘揚(yáng)民族科學(xué)文化精神,提升期刊質(zhì)量,本刊從即日起,凡是符合本刊報(bào)道范圍且同時(shí)受到“國(guó)家863計(jì)劃資助項(xiàng)目”、“國(guó)家自然科學(xué)基金資助項(xiàng)目”、“國(guó)家重點(diǎn)科技攻關(guān)資助項(xiàng)目”等國(guó)家級(jí)基金資助項(xiàng)目的原創(chuàng)論文,可申請(qǐng)優(yōu)先審稿,一經(jīng)錄用,優(yōu)先發(fā)表,歡迎業(yè)內(nèi)人事、專家、學(xué)者踴躍投稿(來(lái)稿注明:“優(yōu)先審稿”字樣)。

注:1.本刊正常審稿時(shí)間一般為一個(gè)月,優(yōu)先審稿時(shí)間為15-20天; 2.本刊正常發(fā)表文章周期為來(lái)稿后6-8個(gè)月,優(yōu)先發(fā)表文章周期為5-6個(gè)月。

——本刊編輯部

Research of NC Program Preprocessing

LI Hai-ying1,2, YANG Dong-sheng1, ZHANG Li1,2

(1. Graduate University of Chinese Academy of Sciences, Beijing 100049, China; 2. Shenyang Institute of Computing Technology, Chinese Academy of Science, Shenyang 110168, China)

Modern manufacturing has an increasing demands of high-precision of Numerical Control (NC) system and work piece surface finishing, it make the NC programs more complex and huge, also increase the decoding time. The preprocessing technology reduce the decoding time of NC code, it guarantees the continuity of the execution of the program as well the continuity and timeliness of machine tool. This paper made a detailed study of cycle preprocessing and program pre-scan. First elaborates a method of how to preprocess fixed cycles of NC system, it introduces the basic concepts, principles and technology overview of preprocessing. Then it introduces the Implementation of pre-scan. Last it shows how to decoding with these two preprocess method.

decoding time; continuity; cycle preprocessing; program pre-scan

1001-2265(2014)01-0075-05

10.13462/j.cnki.mmtamt.2014.01.021

2013-05-29;

2013-06-28

“核高基”國(guó)家科技重大專項(xiàng)(2012ZX01029-001-002);“高檔數(shù)控機(jī)床與基礎(chǔ)制造裝備”國(guó)家科技重大專項(xiàng)(2013ZX04007031)

李海英(1987—),女,河北張家口人,中國(guó)科學(xué)院研究生院,碩士研究生,研究方向?yàn)閿?shù)控技術(shù),(E-mail) lhylovegy@163.com。

TH165,TG65

A

猜你喜歡
子程序數(shù)控系統(tǒng)調(diào)用
核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
基于FANUC 32i A數(shù)控系統(tǒng)的外部測(cè)量設(shè)計(jì)
西門(mén)子840D sl數(shù)控系統(tǒng)在SC125大型車銑鏜床技術(shù)改造中的應(yīng)用
基于FANUC Oi mate TD數(shù)控系統(tǒng)的手動(dòng)功能開(kāi)發(fā)
數(shù)控系統(tǒng)中GUI軟件平臺(tái)設(shè)計(jì)和實(shí)現(xiàn)
基于系統(tǒng)調(diào)用的惡意軟件檢測(cè)技術(shù)研究
淺談子程序在數(shù)控車編程中的應(yīng)用
子程序在數(shù)控車加工槽中的應(yīng)用探索
西門(mén)子840D系統(tǒng)JOG模式下PLC調(diào)用并執(zhí)行NC程序
鹤峰县| 永安市| 宕昌县| 乌鲁木齐县| 冀州市| 堆龙德庆县| 枝江市| 锡林浩特市| 文山县| 乌兰浩特市| 青海省| 信丰县| 龙州县| 乌兰县| 唐海县| 靖边县| 渭南市| 琼结县| 旅游| 大港区| 塘沽区| 吉隆县| 平原县| 浮梁县| 土默特右旗| 深泽县| 威信县| 拜泉县| 汉源县| 衡水市| 潮州市| 手机| 石狮市| 宾阳县| 临洮县| 繁峙县| 宁波市| 宜丰县| 明水县| 温州市| 图们市|