<u id="pasup"><big id="pasup"></big></u>

    1. <dl id="pasup"><blockquote id="pasup"></blockquote></dl>

      1. 您好:歡迎光臨余姚舜龍模具培訓學校!
                   
           

        王工解答關于CATIA NC后置處理軟件的開發與應用

        CATIA NC后置處理軟件的開發與應用

         
        一、前言
        隨著國內五坐標數控機床的逐漸增多和數控編程軟件功能的不斷完善,許多廠家都采用數控加工技術來加工一些復雜零件,大大提高了生產效率及加工精度。企業往往購進結構各異、不同國家生產的各類四、五坐標加工中心及數控機床,并使用了多種國內、外數控軟件?!?:好就好::中國權威模具網』
        昌河飛機工業(集團)有限責任公司為滿足直升機研制以及與國外合作生產項目的需要,縮短與當今世界先進機械加工水平的差距,提高公司的機械加工能力,從西班牙ZAYER公司引進了一臺型號為KPU3000的五坐標加工中心。為了盡早使它進入正常應用階段,發揮它的效益,必須盡快解決CATIA 五軸NC后置處理軟件開發這個關鍵問題。由于公司沒有購置CATIA軟件通用后置處理模塊,我們專門成立了CATIA五軸NC后置處理軟件攻關小組。經過努力,成功地利用C語言開發出了針對KPU3000數控機床的五坐標NC后置處理軟件,為公司以后引進更多的五軸,甚至六軸數控加工中心打下了良好的基礎。下面簡要介紹一下該軟件的開發思路和方法。
        二、NC后置處理軟件的4種編制方式
        根據我們了解,NC后置處理軟件的編制一般有以下4種方式:
        (1)利用高級語言將刀位記錄轉換成數控指令代碼,這種方式的優點是靈活性高,缺點是工作量大,程序編制困難。
        (2)軟件商提供一個交互式后處理書寫器(Post Writer),用來確定一些具體參數,用戶回答后,就形成了針對具體機床的后處理軟件。這種方式的優點是簡單方便,缺點是形成的數控文件靈活性差,難以令用戶隨心所欲。
        (3)軟件廠家為各種控制系統和不同布局的機床編制專用后處理程序,優點是無需用戶自己開發,缺點是購新機床時,需補充訂購該機床的專用后處理程序。
        (4)軟件廠家提供一個軟件編制工具包,它提供一套語法規則,由用戶編制針對具體機床的專用后處理程序,特點是既靈活又簡便,不過用戶需要額外掌握一種語言。一般提供一個通用的Post軟件包,做后置處理操作時,Post負責調入機床文件及刀位文件,并根據刀位文件語句,由Post去調用機床文件中相應的宏(子程序),該宏將刀位記錄轉換成相應機床的指令格式并進行必要的計算。
        我們主要是采用第一種開發方法,即自己利用C語言開發CATIA軟件專用的NC后置處理軟件。
        三、刀位軌跡與機床坐標、回轉角度的關系
        用數控軟件進行編程時,按規定均視工件不同由刀具運動來完成加工動作,這樣可得到一個不針對具體機床的中性刀位文件。
        實際上,機床運動的實現方式各異,有的運動由工作臺實現,有的則由刀具運動來實現。在三個直線坐標(X、Y、Z)運動情況下,編程員一般不用關心是工作臺運動,還是刀具運動,因為機床廠家均按國際標準(右手規則)來定義機床的坐標系及其運動方向。
        在有回轉坐標的情況下,情況要復雜得多:有刀具擺動的,有工作臺回轉的,有采用直角銑頭的,還有立臥主軸交替加工的等等,這就要求后處理程序針對不同情形進行不同的計算。
        在多軸加工時,數控軟件生成的刀位文件中既包含刀具刀尖點的坐標值(X、Y、Z),也包含刀軸方位的方向矢量(dx、dy、dz),這時后置處理程序需要將刀位文件中刀位軌跡坐標轉換為機床坐標及相應的回轉角度。
        四、五軸機床的結構及轉角計算
        (1)Table/Table:兩個回轉軸均為工作臺,第四軸轉動會影響第5軸的方位;
        (2)Table/Head:一個轉軸為工作臺,另一個為主軸頭,兩者互為獨立;
        (3)Head/Head:兩個回轉軸均為主軸頭,第4軸轉動會影響第5軸的方位。
        對于前兩種情況,一般是選擇兩個互相垂直的坐標軸作為回轉軸,兩個回轉角的計算及后處理中的坐標變換較為簡單。
        KPU3000五坐標數控加工中心是屬于第3種情況,也就是兩個回轉軸均為主軸,具體情況如圖1所示。B角的回轉范圍是:-100&deg;~+100&deg;;C角的回轉范圍是:-185&deg;~+185&deg;。
        圖1 KPU3000五坐標數控加工中心主軸及轉角
        五、軟件編制思路
        1. 機床擺角算法分析
        為了正確實現NC后置處理程序的轉換,必須了解B、C角的正負方向。KPU 3000數控機床的坐標系及其運動方向符合國際標準(右手規則)。根據右手規則,利用三角函數的算法,我們就可以根據各個刀具刀尖點的方向矢量所指向的象限來確定該點的B、C轉角了。還要注意的是,當方向矢量指向坐標軸時,要對B、C角特別處理。
        根據分析,KPU 3000五軸數控機床任何一個點的坐標都不是唯一的,任意一點的B角都可以取正值,也可以取負值。為了防止B角發生跳變,我們在程序的開始就給用戶一個選擇。在一個NC后置處理過程中,B角在正與負之間只能選擇一種,下面的算法也是基于這個條件之上的。
        2. 擺角B取正值的情況
        擺角B取正值的情況如圖2所示。
        圖2 擺角B取正值
        (1)C角的計算方法
        首先根據當前刀軸方位的方向矢量情況,確定要處理的刀具刀尖點處在哪個象限,同時根據前一個被處理刀具刀尖點所處的象限不同,確定不同的C角的算法。
        1)當dx>0且dy>0時,表示當前被處理刀具刀尖點位于第一象限,此時C角的算法為:c=asin(dy/sqrt(dy*dy+dx*dx))/3.1415926*180;
        2)當dx<0且dy>0,表示當前被處理刀具刀尖點位于第二象限,此時C角的算法要分兩種情況:根據前一個被處理刀具刀尖點所處的象限不同而采取兩種不同的算法。
        ☆當前一個刀具刀尖點在第一或第二象限,即前一個點的C擺角為正時,C角的算法為:c=180-asin(dy/sqrt(dy*dy+dx*dx))/3.1415926*180;
        ☆當前一個刀具刀尖點在第三或第四象限,即前一個點的C擺角為負時,先計算C角:c=asin(dy/sqrt(dy*dy+dx*dx))/3.1415926*180,然后判斷C角的情況:如果c>5,則表示C角超出了機床的最大轉角范圍,程序終止退出;如果c<5或c=5,則c=-180-c;
        3)當dx<0且dy<0,表示當前被處理刀具刀尖點位于第三象限,此時C角的算法要分兩種情況:根據前一個被處理刀具刀尖點所處的象限不同而采取兩種不同的算法。
        ☆當前一個點在第三或第四象限時,即前一個點的C擺角角為負值或0時,C角的算法為:c=-(180-asin(-dy/sqrt(dy*dy+dx*dx))/3.1415926*180);
        ☆當前一個點在第一或第二象限時,即前一個點的C角為正值時,先計算C角:c=asin(-dy/sqrt(dy*dy+dx*dx))/3.1415926*180,然后判斷C角的情況:如果c>5,則表示C角超出了機床的最大轉角范圍,程序終止退出;如果c<5或c=5,則c=180+c;
        4)當dx>0且dy<0,表示當前被處理刀具刀尖點位于第四象限,此時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,分兩種情況:如果上一個刀具刀尖點位于第一或第二象限,則c=180;如果上一個刀具刀尖點在第三或第四象限,則c=-180;
        9)如果dx=0且dy<0,則c=-90;
        (2)B角的計算方法
        根據被處理刀軸方位的方向矢量的不同,B角的算法分為以下三種情況:
        1)如果dz>0,表示B角在0~90&deg;之間,B角的算法為:
        b=acos(dz/sqrt(dz*dz+dy*dy+dx*dx))/3.1415926*180;
        2)如果dz=0且(dx!=0||dy!=0),則B角為90;
        3)如果dz<0,表示B角的值超過了90&deg;,此時,首先計算b=asin(-dz/sqrt(dz*dz+dy*dy+dx*dx))/3.1415926*180,然后判斷:如果b>10,表示B角的值超過了機床的極限值100&deg;,則程序終止退出,否則,b=90+b。
        3. 擺角B取負值的情況
        擺角B取負值的情況如圖3所示。
        圖3 擺角B取負值
        (1)C角的計算方法
        首先根據當前刀軸方位的方向矢量情況,確定要處理的刀具刀尖點處在哪個象限,同時根據前一個被處理刀具刀尖點所處的象限不同,確定不同的C角的算法。
        1)當dx>0且dy>0時,表示當前被處理刀具刀尖點位于第一象限,此時C角的算法要分兩種情況,根據前一個被處理刀具刀尖點所處的象限不同而采取兩種不同的算法。
        ☆當前一個點位于第一或第二象限,即前一個點的C角為負值或0時,C角的算法為:c=-(180-asin(dy/sqrt(dy*dy+dx*dx))/3.1415926*180;
        ☆當前一個點在第三或第四象限,即前一個點的C角為正值時,先計算C角:c=asin(dy/sqrt(dy*dy+dx*dx))/3.1415926*180,然后根據c的值來判斷,如果c>5,表明C角超出了機床的最大轉角范圍,程序終止退出;如果c<5或c=5,則c=180+c;
        2)當dx<0且dy>0,表示當前被處理刀具刀尖點位于第二象限,則C角的算法為:
        c=-asin(dy/sqrt(dy*dy+dx*dx))/3.1415926*180;
        3)當dx<0且dy<0,表示當前被處理刀具刀尖點位于第三象限,則C角的算法為:c=asin(-dy/sqrt(dy*dy+dx*dx))/3.1415926*180;
        4)當dx>0且dy<0,表示當前被處理刀具刀尖點位于第四象限,此時要根據前一個被處理刀具刀尖點的位置不同而采取不同的算法:如果前一個刀具刀尖點在第三或第四象限,即前一個刀具刀尖點的C角為正值時,C角的算法為:c=180-asin(-dy/sqrt(dy*dy+dx*dx))/3.1415926*180;如果前一個刀具刀尖點在第一或第二象限,即前一個刀具刀尖點的C角為負值,先計算C角:c=asin(-dy/sqrt(dy*dy+dx*dx))/3.1415926*180,在判斷C的情況:如果c>5,則表示C角超出了機床的最大轉角范圍,程序終止退出;否則如果c<5或c=5,則c=-180-c;
        5)如果dx=0且dy=0,則C角保持不變;
        6)如果dx>=0且dy=0,要根據上一個刀具刀尖點的情況來決定C角的算法,如果上一個點在第三或第四象限,則c=180;如果上一個點在第一或第二象限,則c=-180;
        7)如果dx=0且dy>0,則c=-90;
        8)如果dx<0且dy=0,則c=0;
        9)如果dx=0且dy<0,則c=-90。
        (2)B角的計算方法
        根據被處理刀具刀尖點的法矢量的不同,B角的算法分為以下三種情況:
        1) 如果dz>0,表示B角在-90&deg;~0之間,B角的算法為:
        b=-acos(dz/sqrt(dz*dz+dy*dy+dx*dx))/3.1415926*180;
        2)如果dz=0且(dx!=0||dy!=0),則b=-90;
        3)如果dz<0,表示B角的值超過了-90&deg;,首先計算:b=asin(-dz/sqrt(dz*dz+dy*dy+dx*dx))/3.1415926*180,然后判斷b的情況:如果b>10,表示B角超過了機床的極限值100&deg;,程序終止退出,否則, b=-90-b。
        3. 關于算法的幾點說明
        在編制帶B和C擺角的NC后置處理軟件時,需要特別要注意的是:擺角B取正值或取負值將會影響C角度的算法。當B角取正值時,C擺角從正X軸的位置開始算起;當B角取負值時,C擺角從負X軸的位置開始計算,而且B角的符號取值不同,也會影響C角的正負符號。具體可參照上述算法,否則計算出的B角和C角也將是錯誤的,這點要特別小心處理。
        4. 五軸NC后置處軟件的簡單程序示意圖
        我們所開發的五軸NC后置處軟件的簡單程序示意圖,如圖4所示。
         
        圖4 簡單程序框圖
        六、結束語
        經過實踐證明,我們開發的NC后置處理軟件能夠將CATIA軟件生成的APT刀位軌跡正確轉換成帶B、C轉角的五軸NC數控加工程序,現已在KPU 3000數控機床上成功投入使用,加工了多個重要飛機零件,得到有關部門的高度評價。
        該軟件采用Turbo C語言開發(篇幅有限,不附軟件清單),軟件可以運行于DOS或Windows環境下。該 NC五軸NC后置處理軟件的成功開發,為發揮五坐標加工中心及CATIA軟件的五坐標編程功用奠定了堅實的基礎。
        上一個:PowerMILL10.0在高強度板拉延模凹模加工中的應用 下一個:沖壓模具的檢修要領

        水多的女孩子面相特征