版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人研修心得感悟
- 會計(jì)電算化專業(yè)求職信范文
- 亞運(yùn)會心得體會
- 中職學(xué)校開學(xué)典禮教導(dǎo)主任精彩講話稿(5篇)
- 個人情緒管理心得體會范文(19篇)
- 動物聚餐課件教學(xué)課件
- 探究天然植物制備酸堿指示劑及其pH范圍
- 慢性支氣管炎臨床路徑
- 學(xué)校教職工代表大會規(guī)定
- 航空航天用1100MPa MJ螺紋花鍵頭螺栓 征求意見稿
- 呼出氣一氧化氮測定-課件
- 主動脈球囊反搏術(shù)IABP
- SHSG0522023年石油化工裝置工藝設(shè)計(jì)包(成套技術(shù))內(nèi)容規(guī)定
- LNG項(xiàng)目試生產(chǎn)(使用)方案備案材料
- 專業(yè)技術(shù)人員檔案(空表)
- 中等職業(yè)學(xué)校語文考試復(fù)習(xí)課件
- 小學(xué)一年級語文《有趣的漢字》原文、教案及教學(xué)反思(優(yōu)秀3篇)
- 公司員工勞保用品發(fā)放標(biāo)準(zhǔn)和管理辦法
- 詩詞大會訓(xùn)練題庫十二宮格
- 機(jī)械設(shè)計(jì)課程設(shè)計(jì)說明書 11機(jī)電本 劉偉華
- 問卷1:匹茲堡睡眠質(zhì)量指數(shù)量表(PSQI)
評論
0/150
提交評論