(新)CATIANC后置處理軟件的開發(fā)與應(yīng)用__第1頁
(新)CATIANC后置處理軟件的開發(fā)與應(yīng)用__第2頁
(新)CATIANC后置處理軟件的開發(fā)與應(yīng)用__第3頁
(新)CATIANC后置處理軟件的開發(fā)與應(yīng)用__第4頁
(新)CATIANC后置處理軟件的開發(fā)與應(yīng)用__第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、CATIANC后置處理軟件的開發(fā)與應(yīng)用一、前言隨著國內(nèi)五坐標(biāo)數(shù)控機(jī)床的逐漸增多和數(shù)控編程軟件功能的不斷完善,許多廠家都采用數(shù)控加工技術(shù)來加工一些復(fù)雜零件,大大提高了生產(chǎn)效率及加工精度。企業(yè)往往購進(jìn)結(jié)構(gòu)各異、不同國家生產(chǎn)的各類四、五坐標(biāo)加工中心及數(shù)控機(jī)床,并使用了多種國內(nèi)、外數(shù)控軟件。昌河飛機(jī)工業(yè)(集團(tuán))有限責(zé)任公司為滿足直升機(jī)研制以及與國外合作生產(chǎn)項(xiàng)目的需要,縮短與當(dāng)今世界先進(jìn)機(jī)械加工水平的差距,提高公司的機(jī)械加工能力,從西班牙ZAYER公司引進(jìn)了一臺型號為KPU3000的五坐標(biāo)加工中心。為了盡早使它進(jìn)入正常應(yīng)用階段,發(fā)揮它的效益,必須盡快解決CATIA五軸NC后置處理軟件開發(fā)這個關(guān)鍵問題。由

2、于公司沒有購置CATIA軟件通用后置處理模塊,我們專門成立了CATIA五軸NC后置處理軟件攻關(guān)小組。經(jīng)過努力,成功地利用C語言開發(fā)出了針對KPU3000數(shù)控機(jī)床的五坐標(biāo)NC后置處理軟件,為公司以后引進(jìn)更多的五軸,甚至六軸數(shù)控加工中心打下了良好的基礎(chǔ)。下面簡要介紹一下該軟件的開發(fā)思路和方法。二、NC后置處理軟件的4種編制方式根據(jù)我們了解,NC后置處理軟件的編制一般有以下4種方式:(1)利用高級語言將刀位記錄轉(zhuǎn)換成數(shù)控指令代碼,這種方式的優(yōu)點(diǎn)是靈活性高,缺點(diǎn)是工作量大,程序編制困難。(2)軟件商提供一個交互式后處理書寫器(PostWriter),用來確定一些具體參數(shù),用戶回答后,就形成了針對具體機(jī)

3、床的后處理軟件。這種方式的優(yōu)點(diǎn)是簡單方便,缺點(diǎn)是形成的數(shù)控文件靈活性差,難以令用戶隨心所欲。(3)軟件廠家為各種控制系統(tǒng)和不同布局的機(jī)床編制專用后處理程序,優(yōu)點(diǎn)是無需用戶自己開發(fā),缺點(diǎn)是購新機(jī)床時,需補(bǔ)充訂購該機(jī)床的專用后處理程序。軟件廠家提供一個軟件編制工具包,它提供一套語法規(guī)則,由用戶編制針對具體機(jī)床的專用后處理程序,特點(diǎn)是既靈活又簡便,不過用戶需要額外掌握一種語言,一般提供一個通用的Post軟件包,做后置處理操作時,Post負(fù)責(zé)調(diào)入機(jī)床文件及刀位文件,并根據(jù)刀位文件語句,由Post去調(diào)用機(jī)床文件中相應(yīng)的宏(子程序),該宏將刀位記錄轉(zhuǎn)換成相應(yīng)機(jī)床的指令格式并進(jìn)行必要的計(jì)算。我們主要是采用第

4、一種開發(fā)方法,即自己利用C語言開發(fā)CATIA軟件專用的NC后置處理軟件。三、刀位軌跡與機(jī)床坐標(biāo)、回轉(zhuǎn)角度的關(guān)系用數(shù)控軟件進(jìn)行編程時,按規(guī)定均視工件不同由刀具運(yùn)動來完成加工動作,這樣可得到一個不針對具體機(jī)床的中性刀位文件。實(shí)際上,機(jī)床運(yùn)動的實(shí)現(xiàn)方式各異,有的運(yùn)動由工作臺實(shí)現(xiàn),有的則由刀具運(yùn)動來實(shí)現(xiàn)。在三個直線坐標(biāo)(X、Y、Z)運(yùn)動情況下,編程員一般不用關(guān)心是工作臺運(yùn)動,還是刀具運(yùn)動,因?yàn)闄C(jī)床廠家均按國際標(biāo)準(zhǔn)(右手規(guī)則)來定義機(jī)床的坐標(biāo)系及其運(yùn)動方向。在有回轉(zhuǎn)坐標(biāo)的情況下,情況要復(fù)雜得多:有刀具擺動的,有工作臺回轉(zhuǎn)的,有采用直角銃頭的,還有立臥主軸交替加工的等等,這就要求后處理程序針對不同情形進(jìn)行

5、不同的計(jì)算。在多軸加工時,數(shù)控軟件生成的刀位文件中既包含刀具刀尖點(diǎn)的坐標(biāo)值(X、Y、Z),也包含刀軸方位的方向矢量(dx、dy、dz),這時后置處理程序需要將刀位文件中刀位軌跡坐標(biāo)轉(zhuǎn)換為機(jī)床坐標(biāo)及相應(yīng)的回轉(zhuǎn)角度。四、五軸機(jī)床的結(jié)構(gòu)及轉(zhuǎn)角計(jì)算Table/Table:兩個回轉(zhuǎn)軸均為工作臺,第四軸轉(zhuǎn)動會影響第5軸的方位;(2)Table/Head:一個轉(zhuǎn)軸為工作臺,另一個為主軸頭,兩者互為獨(dú)立;(3)Head/Head:兩個回轉(zhuǎn)軸均為主軸頭,第4軸轉(zhuǎn)動會影響第5軸的方位。對于前兩種情況,一般是選擇兩個互相垂直的坐標(biāo)軸作為回轉(zhuǎn)軸,兩個回轉(zhuǎn)角的計(jì)算及后處理中的坐標(biāo)變換較為簡單。KPU3000五坐標(biāo)數(shù)控加

6、工中心是屬于第3種情況,也就是兩個回轉(zhuǎn)軸均為主軸,具體情況如圖1所示。B角的回轉(zhuǎn)范圍是:-100°+100°C角的回轉(zhuǎn)范圍是:-1851+185°。圖1KPU3000五坐標(biāo)數(shù)控加工中心主軸及轉(zhuǎn)角五、軟件編制思路1 .機(jī)床擺角算法分析為了正確實(shí)現(xiàn)NC后置處理程序的轉(zhuǎn)換,必須了解B、C角的正負(fù)方向。KPU3000數(shù)控機(jī)床的坐標(biāo)系及其運(yùn)動方向符合國際標(biāo)準(zhǔn)(右手規(guī)則)。根據(jù)右手規(guī)則,利用三角函數(shù)的算法,我們就可以根據(jù)各個刀具刀尖點(diǎn)的方向矢量所指向的象限來確定該點(diǎn)的B、C轉(zhuǎn)角了。還要注意的是,當(dāng)方向矢量指向坐標(biāo)軸時,要對B、C角特別處理。根據(jù)分析,KPU3000五軸數(shù)控機(jī)床

7、任何一個點(diǎn)的坐標(biāo)都不是唯一的,任意一點(diǎn)的B角都可以取正值,也可以取負(fù)值。為了防止B角發(fā)生跳變,我們在程序的開始就給用戶一個選擇。在一個NC后置處理過程中,B角在正與負(fù)之間只能選擇一種,下面的算法也是基于這個條件之上的。2 .擺角B取正值的情況擺角B取正值的情況如圖2所示。圖2擺角B取正值(1)C角的計(jì)算方法首先根據(jù)當(dāng)前刀軸方位的方向矢量情況,確定要處理的刀具刀尖點(diǎn)處在哪個象限,同時根據(jù)前一個被處理刀具刀尖點(diǎn)所處的象限不同,確定不同的C角的算法。1)當(dāng)dx>0且dy>0時,表示當(dāng)前被處理刀具刀尖點(diǎn)位于第一象限,止匕時C角的算法為:c=asin(dy/sqrt(dy*dy+dx*dx)

8、/3.1415926*180;2)當(dāng)dx<0且dy>0,表示當(dāng)前被處理刀具刀尖點(diǎn)位于第二象限,此時C角的算法要分兩種情況:根據(jù)前一個被處理刀具刀尖點(diǎn)所處的象限不同而采取兩種不同的算法。當(dāng)前一個刀具刀尖點(diǎn)在第一或第二象限,即前一個點(diǎn)的C擺角為正時,C角的算法為:c=180-asin(dy/sqrt(dy*dy+dx*dx)/3.1415926*180;當(dāng)前一個刀具刀尖點(diǎn)在第三或第四象限,即前一個點(diǎn)的C擺角為負(fù)時,先計(jì)算C角:c=asin(dy/sqrt(dy*dy+dx*dx)/3.1415926*180,然后判斷C角的情況:如果c>5,則表示C角超出了機(jī)床的最大轉(zhuǎn)角范圍,程序

9、終止退出;如果c<5或c=5,則c=-180-c;3)當(dāng)dx<0且dy<0,表示當(dāng)前被處理刀具刀尖點(diǎn)位于第三象限,此時C角的算法要分兩種情況:根據(jù)前一個被處理刀具刀尖點(diǎn)所處的象限不同而采取兩種不同的算法。當(dāng)前一個點(diǎn)在第三或第四象限時,即前一個點(diǎn)的C擺角角為負(fù)值或0時,C角的算法為:c=-(180-asin(-dy/sqrt(dy*dy+dx*dx)/3.1415926*180);當(dāng)前一個點(diǎn)在第一或第二象限時,即前一個點(diǎn)的C角為正值時,先計(jì)算C角:c=asin(-dy/sqrt(dy*dy+dx*dx)/3.1415926*180,然后判斷C角的情況:如果c>5,則表示C

10、角超出了機(jī)床的最大轉(zhuǎn)角范圍,程序終止退出;如果c<5或c=5,則c=180+c;4)當(dāng)dx>0且dy<0,表示當(dāng)前被處理刀具刀尖點(diǎn)位于第四象限,止匕時c角的算法為:c=-asin(-dy/sqrt(dx*dx+dy*dy)/3.1415926*180;5)如果dx=0且dy=0,則C角保持不變;6)如果dx>=0且dy=0,則c=0;7)如果dx=0且dy>0,則c=90;8)如果dx<0且dy=0,分兩種情況:如果上一個刀具刀尖點(diǎn)位于第一或第二象限,則c=180;如果上一個刀具刀尖點(diǎn)在第三或第四象限,則c=-180;9)如果dx=0且dy<0,貝Uc

11、=-90;(2)B角的計(jì)算方法根據(jù)被處理刀軸方位的方向矢量的不同,B角的算法分為以下三種情況:1)如果dz>0,表示B角在090°之間,B角的算法為:b=acos(dz/sqrt(dz*dz+dy*dy+dx*dx)/3.1415926*180;2)如果dz=0且(dx!=0|dy!=0),貝UB角為90;3)如果dz<0,表示B角的值超過了90°,此時,首先計(jì)算b=asin(-dz/sqrt(dz*dz+dy*dy+dx*dx)/3.1415926*180,然后判斷:如果b>10,表示B角的值超過了機(jī)床的極限值100°,則程序終止退出,否則,b

12、=90+b。3.擺角B取負(fù)值的情況二、1)C角的計(jì)算方法首先根據(jù)當(dāng)前刀軸方位的方向矢量情況,確定要處理的刀具刀尖點(diǎn)處在哪個象限,同時根據(jù)前一個被處理刀具刀尖點(diǎn)所處的象限不同,確定不同的C角的算法。1)當(dāng)dx>0且dy>0時,表示當(dāng)前被處理刀具刀尖點(diǎn)位于第一象限,此時C角的算法要分兩種情況,根據(jù)前一個被處理刀具刀尖點(diǎn)所處的象限不同而采取兩種不同的算法。當(dāng)前一個點(diǎn)位于第一或第二象限,即前一個點(diǎn)的C角為負(fù)值或0時,C角的算法為:c=-(180-asin(dy/sqrt(dy*dy+dx*dx)/3.1415926*180;當(dāng)前一個點(diǎn)在第三或第四象限,即前一個點(diǎn)的C角為正值時,先計(jì)算C角:

13、c=asin(dy/sqrt(dy*dy+dx*dx)/3.1415926*180,然后根據(jù)c的值來判斷,如果c>5,表明C角超出了機(jī)床的最大轉(zhuǎn)角范圍,程序終止退出;如果c<5或c=5,則c=180+c;2)當(dāng)dx<0且dy>0,表示當(dāng)前被處理刀具刀尖點(diǎn)位于第二象限,則C角的算法為:c=-asin(dy/sqrt(dy*dy+dx*dx)/3.1415926*180;3)當(dāng)dx<0且dy<0,表示當(dāng)前被處理刀具刀尖點(diǎn)位于第三象限,則C角的算法為:c=asin(-dy/sqrt(dy*dy+dx*dx)/3.1415926*180;4)當(dāng)dx>0且dy&

14、lt;0,表示當(dāng)前被處理刀具刀尖點(diǎn)位于第四象限,此時要根據(jù)前一個被處理刀具刀尖點(diǎn)的位置不同而采取不同的算法:如果前一個刀具刀尖點(diǎn)在第三或第四象限,即前一個刀具刀尖點(diǎn)的C角為正值時,C角的算法為:c=180-asin(-dy/sqrt(dy*dy+dx*dx)/3.1415926*180;如果前一個刀具刀尖點(diǎn)在第一或第二象限,即前一個刀具刀尖點(diǎn)的C角為負(fù)值,先計(jì)算C角:c=asin(-dy/sqrt(dy*dy+dx*dx)/3.1415926*180,在判斷C的情況:如果c>5,則表示C角超出了機(jī)床的最大轉(zhuǎn)角范圍,程序終止退出;否則如果c<5或c=5,則c=-180-c;5)如果d

15、x=0且dy=0,則C角保持不變;6)如果dx>=0且dy=0,要根據(jù)上一個刀具刀尖點(diǎn)的情況來決定C角的算法,如果上一個點(diǎn)在第三或第四象限,則c=180;如果上一個點(diǎn)在第一或第二象限,則c=-180;7)如果dx=0且dy>0,貝Uc=-90;8)如果dx<0且dy=0,貝Uc=0;9)如果dx=0且dy<0,貝Uc=-90。(2)B角的計(jì)算方法根據(jù)被處理刀具刀尖點(diǎn)的法矢量的不同,B角的算法分為以下三種情況:1)如果dz>0,表示B角在-90°0之間,B角的算法為:b=-acos(dz/sqrt(dz*dz+dy*dy+dx*dx)/3.1415926*

16、1802)如果dz=0且(dx!=0|dy!=0),貝Ub=-90;3)如果dz<0,表示B角的值超過了-90°,首先計(jì)算:b=asin(-dz/sqrt(dz*dz+dy*dy+dx*dx)/3.1415926*180,然后判斷b的情況:如果b>10,表示B角超過了機(jī)床的極限值100°,程序終止退出,否則,b=-90-bo3.關(guān)于算法的幾點(diǎn)說明在編制帶B和C擺角的NC后置處理軟件時,需要特別要注意的是:擺角B取正值或取負(fù)值將會影響C角度的算法。當(dāng)B角取正值時,C擺角從正X軸的位置開始算起;當(dāng)B角取負(fù)值時,C擺角從負(fù)X軸的位置開始計(jì)算,而且B角的符號取值不同,也會影響C角的正負(fù)符號。具體可參照上述算法,否則計(jì)算出的B角和C角也將是錯誤的,這點(diǎn)要特別小心處理。4.五軸NC后置處軟件的簡單程序示意圖我

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論