我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

您的位置:網(wǎng)站首頁 > 機(jī)械制圖 > 機(jī)械技巧

曲線加工的G代碼程序分析

時(shí)間:2011-07-16 08:34:06 來源:未知
在機(jī)械、模具制造行業(yè),經(jīng)常遇到曲線加工。對于簡單的曲線——圓弧,G代碼提供了G2、C3、I、J、K、R指令,很容易寫出數(shù)控程序。但對于一些復(fù)雜、特殊的曲線——橢圓、拋物線、漸開線等,當(dāng)然還有更加復(fù)雜的高次曲線,常規(guī)的手段就無能為力。筆者根據(jù)多年的工作實(shí)踐,通過借助一些工具軟件,經(jīng)特殊處理,寫出G代碼程序來解決此類問題。常用的方法有三種:①利用G代碼的強(qiáng)大功能,寫出宏程序。②借助工具軟件Mastercam,生成曲線程序。③用C語言(或其他語言)產(chǎn)生程序的主數(shù)據(jù)文件,然后手動在文件頭尾加上功能語句,成為可以運(yùn)行的程序。這三種方法都有各自的優(yōu)、缺點(diǎn)和適用范圍,可以相互補(bǔ)充。

 

1.G代碼的宏程序

 

它提供了變量,算術(shù)運(yùn)算指令(加、減、乘、除),功能函數(shù)(SIN,COS,TAN,…),還有控制指令(IF——GO-TO,WHILE——DO)。巧妙的運(yùn)用這些指令,可以解決很多比較簡單、有規(guī)律的曲線,如正弦曲線、拋物線等。例1:正弦曲線(如圖1)。

主程序主程序

 

 

G65P9910AOB360.C100.F100

 

 

對局部變量設(shè)置

 

#l=0

 

#2=360.00

 

#3=100.00

 

#9=100.00

 

09910(子程序)

 

WHILE[#1IE#2]DO1

 

#10=#3*SIN[#1]

 

G90Gl#lY#10F#9

 

#1=#1+10.

 

END1

 

當(dāng)然,此法還可以表達(dá)較復(fù)雜的曲線。宏程序短小精煉,對于存儲空間小的設(shè)備很適用。具有很強(qiáng)的適應(yīng)性,只要改動一兩個(gè)數(shù)據(jù)就可以進(jìn)行粗加工。但其晦澀難懂,邏輯復(fù)雜,過程中的錯(cuò)誤不易發(fā)現(xiàn),對于特別復(fù)雜的曲線無能為力。這種方法對編程人員的要求較高,須非常熟練G代碼,包括不常用的指令,要有相當(dāng)扎實(shí)的高等數(shù)學(xué)知識,還要熟悉數(shù)控加工操作。

Mastercam軟件的應(yīng)用

2.利用Mastercam軟件

此軟件廣泛應(yīng)用于數(shù)控加工,界面親和,易學(xué)易用,能解決G代碼宏程序不能解決的問題。以本文給出的工件為例,如圖2所示,其曲線由一些離散的坐標(biāo)點(diǎn)來定義(用于測量),如附表所示。

用Mastercam處理,操作流程如下:①先創(chuàng)建點(diǎn),按坐標(biāo)值繪制所有已知點(diǎn)。②把所有點(diǎn)按次序聯(lián)成Spline曲線。③選擇加工方式。④生成加工程序。具體步驟如下:

第1步,Create—Point—Position,然后直接輸入坐標(biāo)值,先x軸后y軸,中間用逗號隔開。第2步,待所有給定數(shù)據(jù)輸入完畢后,命令Create—Spline—Auto-matic,系統(tǒng)提示選擇第一個(gè)點(diǎn)、第二個(gè)點(diǎn)及最后一個(gè)點(diǎn),一一點(diǎn)擊完成后,系統(tǒng)自動生成Spline樣條曲線。第3步,命令Toolpaths—Finish—Chain,用鼠標(biāo)點(diǎn)擊曲線的右(末)端,選擇End here命令,確認(rèn)Done后,彈出Tool parameters刀具參數(shù)對話框,根據(jù)需要選擇合適刀具,再切換到Finish parameters對話框,如圖3所示,選擇切削參數(shù)。該過程中要特別注意幾個(gè)重要參數(shù)的確定:①Linearization決定加工精度,其值越小精度越高,則程序也越長,一般0.01就足夠了。②Compensa-tion type意為選擇刀補(bǔ)類型,常用的是Computer和Con-trol兩種。computer是根據(jù)刀具實(shí)際情況計(jì)算出刀具軌跡,生成程序,不用刀補(bǔ);Control則不考慮刀具規(guī)格,生成有刀補(bǔ)的程序。③Compensation direction,選擇刀補(bǔ)方向,一般可根據(jù)加工方式和操作方法而定。以上參數(shù)確定后彈出管理菜單,如圖4所示。第4步,點(diǎn)擊Post鍵,打開后處理對話框,如圖5所示,確定機(jī)床數(shù)控操作系統(tǒng),此處選擇的是FANUC系統(tǒng),文件是MPLFAN。,注意:后處理文件以MPL開頭,其后幾位表示簡寫的數(shù)控操作系統(tǒng)。若想更改為其他系統(tǒng),通過change Post鍵進(jìn)行選擇,且選中Edit命令,然后點(diǎn)擊0K鍵,生成程序。#p#分頁標(biāo)題#e#

該工件的加工經(jīng)過幾次摸索:第一次加工時(shí)直接利用給出點(diǎn)的坐標(biāo)值,將兩點(diǎn)間近似為一條直線,用G1指令寫出程序。結(jié)果加工出來的曲線是19段折線,是離散點(diǎn)過于稀疏造成的。第二次,在AutoCAD2002中把離散點(diǎn)用樣條曲線Spline命令串連起來,用垂線分曲線,等分它在X軸上的投影,將點(diǎn)的坐標(biāo)求出來,增加了點(diǎn)的個(gè)數(shù)。且人為在原有兩點(diǎn)之間插入若干個(gè)點(diǎn),全部寫入程序。此法雖然能解決問題,但很繁瑣,且程序龐大,易出錯(cuò)。第三次,使用Mastercam,采用樣條線把離散的點(diǎn)連起來,直接生成滿足精度要求的程序,與方法二相比,生成程序短小精煉,正確率高。該方法高效、簡單、便捷,可以解決只給定離散點(diǎn)的曲線形式,對操作者要求較低。

曲線加工的數(shù)據(jù)編程

3.用C語言(或其他語言)生成程序的數(shù)據(jù)主體

某產(chǎn)品,其外形是一個(gè)很復(fù)雜的曲線方程,用宏程序很難(甚至不可能)把它寫出來,而Mastercam則無法輸入函數(shù)方程。此時(shí),借助C語言來生成數(shù)據(jù)主體。

例:車工曲線方程如下:

      0≤x≤22.1

      Y=200.2+140.653√b

      b=0.008754(x/168)+6.1455(x/168)2

        -4.87544(x/168)3+0.568749(x/168)4

        +0.76587(x/168)5

    它很難在Mastercam中繪制。用C語言來計(jì)算其離散點(diǎn),過程如下:

    #Include”math.h”

    #Include”conio.h”

    #Include”stdio.h”

    Main ()

   {

    double a,b,d,c,i,e;

    FILE*fp;

  fp=fopen(”d:\s77.txt”,”w+”);

  for(i=0;i<22.1;i=i+0.1)/*③*/

  {

  c=i/168;

  b=0.008754*c+6.1455*c*c-4.87544*c*c*c+

  0.568749*c*c*c*c+0.76587*c*c*c*c*c;

      d=0.3333*log(b);

      e=exp(d);/*①*/

      a=200.2+140.65*e;/*②*/

      printf(“Z=%.4f”,i);

      printf(“X=%.4f\n”,a);

      fprintf(fp,”z%.3fX%.3f\n”,i,a);

   結(jié)果輸出到文件S77.TXT*/

     }

     Printf (”ok”);

     getch ()

   }

程序①②兩句用到了一個(gè)公式a=eIna,b開3次方即是6的1/3方。此程序在TC2.0下通過。

運(yùn)行此程序得到s771.txt文件,用編輯器(任何一個(gè),如記事本)打開,只要在頭尾加上功能句,就是一個(gè)可用的程序。它的原理是:任何曲線可以分成無數(shù)很短的曲線,每個(gè)很短的曲線可以近似地認(rèn)為是一段直線。當(dāng)每段曲線的長度趨于零時(shí),與直線的誤差也趨于零。足夠多的直線連起來可以替代一段曲線,這樣就把曲線轉(zhuǎn)化成有限段的直線。直線的程序很容易實(shí)現(xiàn),問題得到簡化。為了盡可能的減小曲線誤差,每段曲線長度要盡可能的短,所以程序中的循環(huán)步長(控制曲線長度,注③i=i+0.1中的0.1)可以取得很小。但這樣做成的程序會很大,有大量的冗余數(shù)據(jù)產(chǎn)生。曲率與誤差成正比,因?yàn)椴介L固定,在曲率小的地方誤差小,曲率為零(即直線)時(shí)則有大量的無用數(shù)據(jù)(完全可以棄掉而不影響程序),而在曲線曲率大的地方誤差較大。新生代機(jī)床其數(shù)控系統(tǒng)容量都很大,所以不必過多考慮程序的大小,以保證曲線精度(線輪廓度)為第一要?jiǎng)?wù)。如果要生成一個(gè)沒有冗余的短小程序,要用到二次求導(dǎo)等數(shù)學(xué)知識,非常復(fù)雜,在此處不作討論。#p#分頁標(biāo)題#e#