范英銘
(南京交通職業(yè)技術(shù)學(xué)院 軌道交通學(xué)院,江蘇 南京 211188)
計(jì)算機(jī)三維仿真技術(shù)結(jié)合了多種學(xué)科理論,其中包括數(shù)學(xué)、幾何學(xué)、計(jì)算機(jī)科學(xué)等,以此為理論基礎(chǔ),通過(guò)計(jì)算機(jī)軟件編程和硬件操控將現(xiàn)實(shí)引入到虛擬三維空間中。隨著工業(yè)生產(chǎn)要求的增高,既要保證生產(chǎn)質(zhì)量同時(shí)還要求提高生產(chǎn)效率,特別是冶金機(jī)械模具的生產(chǎn)加工[1]。所以提出將三維仿真技術(shù)應(yīng)用到冶金機(jī)械模具加工中,開(kāi)發(fā)出冶金機(jī)械模具三維仿真系統(tǒng),實(shí)現(xiàn)高精度、高效率的冶金機(jī)械模具生產(chǎn),為工業(yè)產(chǎn)業(yè)提供技術(shù)支持。
冶金機(jī)械模具三維仿真系統(tǒng)的硬件設(shè)計(jì)主要由運(yùn)動(dòng)控制器和計(jì)算機(jī)組成,傳統(tǒng)的冶金機(jī)械模具系統(tǒng)的硬件設(shè)備裝置僅靠計(jì)算機(jī)完成,導(dǎo)致在實(shí)際冶金機(jī)械生產(chǎn)過(guò)程中計(jì)算機(jī)在運(yùn)行處理時(shí)會(huì)產(chǎn)生一定的功效差,所以為了解決這一問(wèn)題,在冶金機(jī)械模具三維仿真系統(tǒng)硬件設(shè)計(jì)中加入了運(yùn)動(dòng)控制器。在計(jì)算機(jī)的內(nèi)部擴(kuò)展槽中安置一個(gè)運(yùn)動(dòng)控制板,將運(yùn)動(dòng)控制器插入到運(yùn)動(dòng)控制板上,借助其控制功能起到對(duì)系統(tǒng)核心的整體實(shí)時(shí)控制,實(shí)現(xiàn)冶金機(jī)械模具三維仿真系統(tǒng)在控制生產(chǎn)過(guò)程中具有靈活性、穩(wěn)定性以及可靠性,保證冶金機(jī)械生產(chǎn)的精度。
運(yùn)動(dòng)控制器是冶金機(jī)械模具三維仿真系統(tǒng)的核心硬件設(shè)備,此次采用TMS310C24微處理芯片型號(hào)的MTC5000S9運(yùn)動(dòng)控制器,主要作用是實(shí)時(shí)監(jiān)控PC主機(jī)所有執(zhí)行的應(yīng)用程序。在冶金機(jī)械模具三維仿真系統(tǒng)中,運(yùn)動(dòng)控制器能夠獨(dú)立處理PC主機(jī)的IO信號(hào),直接遠(yuǎn)程控制冶金機(jī)械模具的生產(chǎn),使冶金機(jī)械模具加工能夠不間斷地進(jìn)行,在一些高速高精度的冶金機(jī)械模具加工中,要求冶金機(jī)械模具三維仿真系統(tǒng)要在極短的時(shí)間內(nèi)完成高準(zhǔn)度的對(duì)各個(gè)軸承反饋信號(hào)處理,此時(shí)可以利用運(yùn)動(dòng)控制器對(duì)生產(chǎn)軸承、刀具的磨損狀況進(jìn)行實(shí)時(shí)監(jiān)控和自動(dòng)補(bǔ)償[2]。同時(shí)運(yùn)動(dòng)控制器還具有非控制功能,系統(tǒng)本身是無(wú)法對(duì)冶金機(jī)械模具的生產(chǎn)狀態(tài)實(shí)時(shí)監(jiān)控的,利用運(yùn)控控制器即使是在系統(tǒng)關(guān)閉狀態(tài),通過(guò)上位機(jī)通信,自動(dòng)執(zhí)行數(shù)字濾波和數(shù)據(jù)總線的控制協(xié)議,實(shí)現(xiàn)在無(wú)計(jì)算機(jī)控制狀態(tài)下執(zhí)行冶金機(jī)械模具生產(chǎn)。
計(jì)算機(jī)在冶金機(jī)械模具三維仿真系統(tǒng)中主要用于冶金機(jī)械模具代碼的預(yù)處理以及刀具軌跡三維仿真,其中模具代碼預(yù)處理內(nèi)容包括代碼自動(dòng)編輯、翻譯以及刀具補(bǔ)償運(yùn)算等,而刀具軌跡三維仿真包括刀具直線與直線轉(zhuǎn)接軌跡三維仿真、直線與圓弧轉(zhuǎn)接三維仿真、圓弧與直線轉(zhuǎn)接三維仿真以及圓弧與圓弧轉(zhuǎn)接三維仿真,下圖是計(jì)算機(jī)四種刀具三維仿真軌跡圖。
圖1 計(jì)算機(jī)刀具軌跡三維仿真圖
計(jì)算機(jī)對(duì)冶金機(jī)械模具進(jìn)行實(shí)時(shí)監(jiān)控的關(guān)鍵在于與運(yùn)動(dòng)控制器之間的數(shù)據(jù)傳送機(jī)制。計(jì)算機(jī)可以隨時(shí)讀取到運(yùn)動(dòng)控制器的儲(chǔ)存數(shù)據(jù),無(wú)論運(yùn)動(dòng)控制器是運(yùn)行狀態(tài)還是非運(yùn)行狀態(tài)。由于運(yùn)動(dòng)控制器對(duì)數(shù)據(jù)接收具有零等待周期特性,所以只要計(jì)算機(jī)傳送到運(yùn)動(dòng)控制器就會(huì)立即響應(yīng)操作指令,計(jì)算機(jī)只需要把運(yùn)動(dòng)控制器反饋回來(lái)的數(shù)據(jù)進(jìn)行刀具軌跡三維仿真即可[3]。計(jì)算機(jī)向運(yùn)動(dòng)控制器傳送最多也是最重要的數(shù)據(jù)就是預(yù)處理的代碼。向運(yùn)動(dòng)控制器傳送預(yù)處理代碼主要分為兩種情況,①用戶需要生產(chǎn)新的冶金機(jī)械模具時(shí),將新的模具加工程序安裝到計(jì)算機(jī)內(nèi),計(jì)算機(jī)將這些加工程序代碼傳到運(yùn)動(dòng)控制器內(nèi)存中,用戶只需要按下計(jì)算機(jī)自動(dòng)加工的啟動(dòng)程序即可。②當(dāng)運(yùn)動(dòng)控制器內(nèi)存中的冶金機(jī)械模具加工數(shù)據(jù)已經(jīng)執(zhí)行完畢時(shí),需要向計(jì)算機(jī)申請(qǐng)一批新的加工數(shù)據(jù)。
冶金機(jī)械模具三維仿真系統(tǒng)實(shí)現(xiàn)在虛擬三維空間內(nèi)進(jìn)行冶金機(jī)械模具的生產(chǎn)加工,其主要是由特有的軟件技術(shù)完成的,此次選用插補(bǔ)算法實(shí)現(xiàn)系統(tǒng)的軟件設(shè)計(jì)。插補(bǔ)算法主要是在冶金機(jī)械模具加工過(guò)程中,系統(tǒng)運(yùn)用插補(bǔ)算法編程零件加工程序,實(shí)現(xiàn)指導(dǎo)實(shí)際冶金機(jī)械模具生產(chǎn)[4]。在實(shí)際冶金機(jī)械模具加工時(shí),刀具是按照系統(tǒng)提供的刀具中心軌跡與工件做相對(duì)運(yùn)動(dòng),而且實(shí)際刀具具有一定的半徑,刀具在做削切運(yùn)動(dòng)時(shí)所形成的運(yùn)動(dòng)軌跡并不是冶金機(jī)械的輪廓線,而是由刀具與工具做相對(duì)運(yùn)動(dòng)時(shí)發(fā)生偏移所產(chǎn)生的半徑值構(gòu)成,所以運(yùn)用插補(bǔ)算法根據(jù)冶金機(jī)械模具輪廓信息與所用到的刀具半徑,計(jì)算出實(shí)際的刀具中心軌跡半徑值。在冶金機(jī)械模具三維仿真系統(tǒng)中刀具運(yùn)行軌跡主要是由直線和圓弧組成,所以在插補(bǔ)算法中分別設(shè)計(jì)了直線插補(bǔ)算法和圓弧插補(bǔ)算法。
直線插補(bǔ)算法是根據(jù)系統(tǒng)程序要求的刀具進(jìn)給速度,將規(guī)定的冶金機(jī)械模具輪廓直線部分進(jìn)行平均分割,形成插補(bǔ)周期相等的進(jìn)給段,對(duì)每個(gè)直線插補(bǔ)周期運(yùn)用直線插補(bǔ)算法執(zhí)行一次運(yùn)算,計(jì)算出刀具插補(bǔ)點(diǎn)的三維坐標(biāo),進(jìn)而推算出下一個(gè)插補(bǔ)周期的進(jìn)給量,通過(guò)計(jì)算機(jī)定時(shí)對(duì)刀具插補(bǔ)點(diǎn)的實(shí)際位置采取,將其與插補(bǔ)算法得出的指令位置進(jìn)行比較,從而得出系統(tǒng)刀具插補(bǔ)誤差,最后再根據(jù)誤差數(shù)據(jù)對(duì)系統(tǒng)進(jìn)行控制,逐漸消除誤差提高系統(tǒng)的加工精度[5]。假設(shè)在虛擬三維空間內(nèi)刀具起點(diǎn)O坐標(biāo)終點(diǎn)E坐標(biāo)(),動(dòng)點(diǎn)N坐標(biāo)刀具的進(jìn)給速度位T,插補(bǔ)周期為S,則第一個(gè)插補(bǔ)周期的直線長(zhǎng)度L的計(jì)算公式為:
插補(bǔ)周期內(nèi)的動(dòng)點(diǎn)坐標(biāo)位置為:
圓弧插補(bǔ)算法要比直線插補(bǔ)算法復(fù)雜,當(dāng)通過(guò)直線插補(bǔ)算法指導(dǎo)刀具軌跡運(yùn)動(dòng)到圓弧起點(diǎn)位置P后,以P作為系統(tǒng)的三維坐標(biāo)原點(diǎn),假設(shè)圓弧的圓心O在P坐標(biāo)系中的坐標(biāo)為(x,y),PO與X軸的產(chǎn)生的夾角為β,圓弧半徑為R,圓弧角度為?,當(dāng)圓弧插補(bǔ)算法控制動(dòng)點(diǎn)G做運(yùn)動(dòng)時(shí),與X軸正半軸產(chǎn)生的夾角為,則:
插補(bǔ)算法實(shí)現(xiàn):如要實(shí)現(xiàn)通過(guò)插補(bǔ)算法計(jì)算出刀具動(dòng)點(diǎn)三維坐標(biāo),首先需要在系統(tǒng)中插入一個(gè)判斷語(yǔ)句,指導(dǎo)計(jì)算機(jī)要使用直線插補(bǔ)算法還是圓弧插補(bǔ)算法。根據(jù)兩種插補(bǔ)算法將刀具運(yùn)動(dòng)軌跡類(lèi)型分為三種:縮短型、延長(zhǎng)型和導(dǎo)入型。下表為各種情況下刀具運(yùn)動(dòng)形式類(lèi)別表。
表1 各種情況下刀具運(yùn)動(dòng)形式類(lèi)別表
其代碼如下:
if NCCode{x,y}="G41" // 右刀補(bǔ)
mycutting:=1;
if NCCode{x,y}="G42" // 左刀補(bǔ)
mycutting:=-1;
if NCCode{x,y}="G40" // 取消刀補(bǔ)
然后冶金機(jī)械模具三維仿真系統(tǒng)根據(jù)用戶輸入的刀補(bǔ)參數(shù)獲取刀補(bǔ)數(shù)值,代碼如下:
if copy( NCCode{x,y})="D"then// 獲取刀補(bǔ)數(shù)值
begin
if mycutting.tool=1 then
mycutting=-offset R{x,y}
end
最后冶金機(jī)械模具三維仿真系統(tǒng)根據(jù)不同的轉(zhuǎn)接類(lèi)型帶去插補(bǔ)算法公式計(jì)算出新的動(dòng)點(diǎn)三維坐標(biāo)即可。
為了證明此次設(shè)計(jì)的冶金機(jī)械模具三維仿真系統(tǒng)的實(shí)用性,將其與原有冶金機(jī)械模具系統(tǒng)進(jìn)行一組對(duì)比實(shí)驗(yàn),驗(yàn)證冶金機(jī)械模具三維仿真系統(tǒng)的加工效率。
選取一個(gè)有直線、圓弧加工要求的冶金機(jī)械模具,模具圖紙如圖2所示。
圖2 冶金機(jī)械模具圖
選取直徑為15mm的DZ3000切割刀具,模具毛坯的高為500mm、長(zhǎng)為600mm,選擇TKBZ立式機(jī)床作為模具加工機(jī)床,兩組系統(tǒng)的冶金機(jī)械模式加工任務(wù)為1000個(gè),加工時(shí)間限定為4小時(shí),最后檢驗(yàn)每個(gè)系統(tǒng)的加工效率。
將原有系統(tǒng)用系統(tǒng)1表示,冶金機(jī)械模具三維仿真系統(tǒng)用系統(tǒng)2表示,下表為兩種系統(tǒng)此次實(shí)驗(yàn)結(jié)果。
表2 兩種系統(tǒng)實(shí)驗(yàn)結(jié)果
從上表可以看出,四小時(shí)后,通過(guò)冶金機(jī)械模具三維仿真系統(tǒng)操作運(yùn)行,僅差20個(gè)生產(chǎn)量沒(méi)有完成,基本能完成冶金機(jī)械模具生產(chǎn)要求;而原有系統(tǒng)在四小時(shí)后還有280個(gè)任務(wù)量沒(méi)有完成,其加工效率遠(yuǎn)遠(yuǎn)不及此次設(shè)計(jì)的系統(tǒng),證明了冶金機(jī)械模具三維仿真系統(tǒng)具有可行性,并且具有較高的加工效率,滿足冶金機(jī)械模具生產(chǎn)需求。
冶金機(jī)械模具三維仿真系統(tǒng)是首次提出將運(yùn)動(dòng)控制器與計(jì)算機(jī)結(jié)合,應(yīng)用到模具加工中,并且打破原有軟件算法,利用插補(bǔ)算法減小了系統(tǒng)的控制誤差,不光適用于冶金機(jī)械模具加工,對(duì)其他模具加工也具有較高的應(yīng)用價(jià)值。