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

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

曲線(xiàn)加工的G代碼程序分析

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

 

1.G代碼的宏程序

 

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

主程序主程序

 

 

G65P9910AOB360.C100.F100

 

 

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

Mastercam軟件的應(yīng)用

2.利用Mastercam軟件

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

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

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

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

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

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

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

例:車(chē)工曲線(xiàn)方程如下:

      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語(yǔ)言來(lái)計(jì)算其離散點(diǎn),過(guò)程如下:

    #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開(kāi)3次方即是6的1/3方。此程序在TC2.0下通過(guò)。

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