利用數學方程式編寫數控宏程序,讓你牛逼起來
前段時間,有一師傅接了一批零件,其中有一處需要在數車上加工類似曲線的輪廓外形,這師傅在數控這行也干了快10多年了, 眼看沒招,不知道程序如何編寫程序,因為他不會宏程序,遇到這種曲線類的零件就傻眼了。
零件簡圖如下:
老師傅的您覺得如何編寫此零件的程序?歡迎留言交流。
X=0.03*Z²+8為此零件曲線方程式。
你若站在行業高度來看,這類產品種類非常多:
比如拋物線;
比如橢圓;
比如波浪線;
比如雙曲線;
比如卡門曲線;
比如正玄曲線;
等等曲線程序如何編程?
你可能會想,這類零件編程“太復雜”了吧,而且工作中遇到的大多都是些規則零件,想想就難,還是不學了吧。
一個人,總站在自己角度去考慮,路會越走越窄!
一個人,總能站在更多角度考慮,就會越來牛逼!
今天軍哥給你傳授一招:利用數學方程式的套路編寫數控宏程序,讓你瞬間NB起來。
這一招只需兩步驟:
第一步:設定變量帶入方程式
第二步:利用方程式算坐標點
如何來應用這兩步呢?直接看例子!
比如下圖的曲線X=0.03*Z²+8
你還可能會想,我數學不好,數學公式還不知道什么意思,甚至有些還沒聽說過。
軍哥再次強調:
知道某個方程式不NB,能應用方程式才NB,你若能利用軍哥傳授的利用數學方程式的套路來編寫數控程序那就更NB。
仔細看上面零件圖很容易知道:
1,這個曲線方程式中Z的取值范圍是從0到16
2,在這個范圍(0~16)之間,給Z一個數值,就會有對應的X值。X,Z之間的數值滿足此方程式X=0.03*Z²+8
好,上面兩點,很容易理解。
第一步:設定變量帶入方程式
非常的簡單,比如法拉克機床的變量是由“#”和“數字”組成,如#1,#2,#3等等。
隨便指定兩個變量帶入方程式:X=0.03*Z²+8
如:
#1代表Z。
#2代表X。
那么上面方程式就是下面這個方程式了:
#2=0.03*#1*#1+8
第二步:利用方程式算坐標點
#2=0.03*#1*#1+8是X=0.03*Z²+8的方程式。
#1代表(曲線)Z軸的數值。
#2代表(曲線)X軸的數值。
其中:
1,方程式中#1的取值范圍是從0到16。
2,在這個范圍(0~16)之間,給#1一個數值,就會有對應的#2值。#1,#2之間的數值滿足此方程式#2=0.03*#1*#1+8。
比如:#1=0,那么對應的#2值就等于:8
因為把#1的數值代入方程式即可計算出#2的數值。
同理,若:
#1=1,那么#2=8.03
#1=2,那么#2=8.12
#1=3,那么#2=8.27
….
#1=16,那么#2=15.68
假如,#2取的數值越多,點位就越多,然后這些點位之間用小線段連接起來,就構成了此方程式的曲線。若這些點位非常的密集,那么用G01X#1Z#2 插補走出來曲線就越光滑。
那么具體如何利用方程式計算坐標點?
答:變量的自增運算。
法拉克的機床變量自增運算格式如下:
#1=0
N1#2=0.03*#1*#1+8
……..加工程序
#1=#1+0.1
IF [#1LT16]GOTO1
程序由上往下依次運行,當運行到IF語句
是的,如果[#1LT16]就跳轉至指定的N1程序段,又從N1程序段開始往依次往下運行程序,即:
讀取N1#2=0.03*#1*#1+8這個數學方程式。
讀取:…….數控程序。
讀取變量#1=#1+0.1自增運算。
讀取IF [#2LT16]GOTO1語句。
就這樣通過變量的自增運算,計算出#1,#2的數值。
說明:
變量的自增#1=#1+0.1,后面+0.1代表每次運算#1的值增加0.1,
當然后面數值還可以給小點,比如0.01。數值越小,計算出的數據越多,意味這點位越密集,插補走出來曲線就越光滑。
有了#1和#2,那么:
在IF和N1之間合適位置添加一個程序段:G01X#2Z-#1,這就加工出曲線了。
添加到什么位置?
如下(紅色字體位置):
……
#1=2
N1#2=0.03*#1*#1+8
G1X[2*#2]Z-#1F0.1 (轉化為直徑編程,所以2*#2)
#1=#1+0.1
IF [#1LT16]GOTO1
….
先讀取#1,#2的數據,然后在運行G1X[2*#2]Z#1。
好了,上面程序整理如下:
很快,就完成了曲線類零件的編程。