當前位置:編程學習大全網 - 編程語言 - 求(我已經付圖) 在FANUC 0I系統上加工正弦曲線的程序,詳細 程序的每壹步要有解釋!

求(我已經付圖) 在FANUC 0I系統上加工正弦曲線的程序,詳細 程序的每壹步要有解釋!

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

主程序主程序

G65P9910AOB360.C100.F100

對局部變量設置

#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

當然,此法還可以表達較復雜的曲線。宏程序短小精煉,對於存儲空間小的設備很適用。具有很強的適應性,只要改動壹兩個數據就可以進行粗加工。但其晦澀難懂,邏輯復雜,過程中的錯誤不易發現,對於特別復雜的曲線無能為力。這種方法對編程人員的要求較高,須非常熟練G代碼,包括不常用的指令,要有相當紮實的高等數學知識,還要熟悉數控加工操作。

此軟件廣泛應用於數控加工,界面親和,易學易用,能解決G代碼宏程序不能解決的問題。以本文給出的工件為例,如圖2所示,其曲線由壹些離散的坐標點來定義(用於測量),如附表所示。

用Mastercam處理,操作流程如下:①先創建點,按坐標值繪制所有已知點。②把所有點按次序聯成Spline曲線。③選擇加工方式。④生成加工程序。具體步驟如下:

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

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

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

例:車工曲線方程如下:

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語言來計算其離散點,過程如下:

#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%26lt;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);

結果輸出到文件S77.TXT*/

Printf (”ok”);

getch ()

  • 上一篇:小學二年級美術說課稿優秀範文集錦
  • 下一篇:求"用JAVA編寫的計算器程序代碼"
  • copyright 2024編程學習大全網