當前位置:編程學習大全網 - 編程語言 - 數控車床的G90編程

數控車床的G90編程

它提供變量、算術運算指令(加減乘除)、函數function(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(子程序)

而[#1IE#2]DO1

#10=#3*SIN[#1]

G90Gl#lY#10F#9

#1=#1+10.

END1

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

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

Mastercam加工,操作過程如下:①先創建點,根據坐標值畫出所有已知點。②將所有點依次連接成樣條曲線。③選擇加工方法。(4)生成加工程序。具體步驟如下:

步驟1,create-point-position,然後直接輸入坐標值,先X軸再Y軸,用逗號隔開。第二步,輸入所有給定數據後,命令create-Spline-auto-matic,系統會提示選擇第壹點、第二點和最後壹點。逐個點擊後,系統會自動生成樣條曲線。第三步,命令刀軌-精加工-鏈,用鼠標點擊曲線的右(端)端,選擇此處結束命令。確認完成後,彈出刀具參數刀具參數對話框,根據需要選擇合適的刀具,然後切換到精加工參數對話框,如圖3所示,選擇切削參數。在這個過程中,要特別註意幾個重要參數的確定:①線性化決定加工精度。值越小精度越高,程序越長,壹般0.01就夠了。②補償類型是指選擇刀具補償的類型。計算機和控制是常用的。計算機根據刀具的實際情況計算刀具軌跡,生成無刀具補償的程序;控制生成帶有刀具補償的程序,而不管刀具規格。③補償方向,選擇刀具補償的方向,壹般取決於加工方法和操作方法。確定上述參數後,彈出管理菜單,如圖4所示。第四步,點擊Post鍵打開後置處理對話框,如圖五,確定機床的CNC操作系統。這裏選擇的是FANUC系統,文件是MPLFAN。註意:後處理文件以MPL開頭,後面的數字代表縮寫的NC操作系統。如果要換到另壹個系統,可以通過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語言計算其離散點,過程如下:

#包含“math.h”

#包含“conio.h”

#包含“stdio.h”

主()

{

雙a,b,d,c,I,e;

FILE * fp

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

for(I = 0;i % 26lt22.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 ");

獲取()

}

  • 上一篇:幼兒園遊戲教案五篇
  • 下一篇:是瑪麗亞凱莉的海豚音高還是維納斯的海豚音高?
  • copyright 2024編程學習大全網