上兩篇文章我分別用了兩個不同類型的案例,闡述了《利用數(shù)學公式編寫數(shù)控程序》的步驟: 第一步:設(shè)定變量帶入方程式 第二步:利用方程式算坐標點 這兩個步驟看起來非常簡單,簡單的就像是廢話一樣,但是真正領(lǐng)會應(yīng)用的人,100個里面也許連1個都沒有。 為什么會這樣說呢? 這不,有朋友在工作中遇到曲線類的零件加工,讓我?guī)兔帉懗绦颍ㄈ缦聢D): 方法都教給他了,他為什么自己不能編寫呢? 他說我那兩步驟行不通,此曲線方程式是:Y=32/X-0.1 而他們車間的數(shù)控車床都只有X和Z軸,并沒有方程式中的Y。 學的太死板,甚是令人擔憂。 來來來,先來看這個曲線(如下圖): 如上圖所示: 水平軸為X軸; 垂直軸為Y軸; 而數(shù)控車編程而言: 水平軸為Z軸; 垂直軸為X軸; 繪圖時候,曲線方程式是按繪圖界面給的坐標軸,所以編程的時候,曲線方程式中的Y相當于X軸,X相當于Z軸 因此,曲線方程式Y(jié)=32/X-0.1 需更改為:X=32/Z-0.1 那么 第一步:設(shè)定變量帶入方程式 #1代表(曲線)X軸的數(shù)值; #2代表(曲線)Z軸的數(shù)值; 那么#1=32/#2-0.1就是X=32/Z-0.1的方程式了。 有了第一步,接下來進行第二步: 利用方程式算坐標點 從上面圖紙很容易得知,#2的取值范圍是從30到2,也就是說曲線Z方向的數(shù)值Z=30 到Z=2就結(jié)束了。 若#2=30 ,那么 #1=0.966666 因為把#2的數(shù)值帶入#1=32/#2-0.1方程式中,即可計算出#1的數(shù)值 同理: 若#2=29.999,那么#1=0.966670 若#2=29.998,那么#1=0.966738 若#2=29.997,那么#1=0.966773 ……. #2=29.996,#2=29.995,#2=29.994,……至到#2=2, 幾萬個數(shù)據(jù),那么編寫出的程序會有好幾萬行。 其實上面正是軟件自動出程序的算點方法,正是這樣,軟件生成的程序會有非常多的點位坐標。 在這,關(guān)于軟件編程軍哥強調(diào)兩點: 1, CAD/CAM軟件在建模時的計算精度。, 2, CAD/CAM軟件在生成NC刀路軌跡時的計算精度。 就如同上面我給變量取值一樣: 若#2=29.999,那么#1=0.966670 若#2=29.998,那么#1=0.966738 若#2=29.997,那么#1=0.966773 經(jīng)過四舍五入,計算出的數(shù)據(jù)就不精準了,從而加工出的曲線零件精度就不高了。 如何來解決? 這也是我一直強調(diào)的利用宏程序來編寫數(shù)控程序,一切就不同了。 那么如何計算這么多點位坐標? 答:變量的自增減運算 法拉克的機床變量自減運算格式如下: #2=30 N10#1=32/#2-0.1 ……..加工程序 #2=#2-0.01 IF [#2GT2]GOTO10 ……. 程序由上往下依次運行,當運行到IF語句 是的,IF語句中設(shè)置的條件是: [#2GT2] ,意思是#2的數(shù)值大于2 如果這個條件滿足,程序就會跳轉(zhuǎn)至指定的N10程序段,又從N10程序段開始往依次往下運行程序,即: 每當讀取#2=#2-0.01變量就會做一次運算 就這樣機床直接通過曲線方程式和變量自運算,計算出#1,#2的數(shù)值。 若在IF和N10之間的合適位置添加一個程序段:G01X#1Z#2,這就加工出曲線了。 添加到什么位置? 如下(紅色字體位置): #2=30 N10#1=32/#2-0.1 G1X[2*#1]Z#2F0.1 #2=#2-0.01 IF [#2GT2]GOTO10 也就是先讀取#1,#2的數(shù)據(jù),在運行加工的曲線段程序。 你或許注意到上面紅色字體并不是:G01X#1 Z#2 而是G1X[2*#1]Z#2 因為#1是半徑值,[2*#1]換算成直徑編程。 程序如下: 很快就完成了精加工程序。 好了,以上兩步驟價值巨大,你若泛泛一看,覺得知道了,那么你將很難挖掘出更多有價值的東西。 大家切記:知道,不等于會 比如,上面零件粗加工程序又如何編寫呢? 再比如,橢圓,雙曲線,拋物線,二次方程,卡門曲線等等曲線類零件又如何編寫程序? 更進一步, T型螺紋,大螺距螺紋,圓弧半牙型螺紋,蝸桿等等類型的零件又如何來編寫程序? 想想就難? 實際,凡事一定有方法,只是你暫時沒找到而已 。 我曾經(jīng)強調(diào)過:“復(fù)雜事情簡單化,簡單事情流程化”,這種“流程化的思維”非常有價值,數(shù)控高級編程宏程序,對于一個新手確實難,但是我們可以把編程這件事變得很簡單,并且變成一個流程, 比如上面我傳授的兩步方法,就可以看成一個流程。 流程化的編程思路在過去我也只是透露了一部分,現(xiàn)在我打算把它融入到我的編程教程中來,在我的《鄒軍數(shù)控宏程序編程教程》中,除了學到宏程序基礎(chǔ)知識,具備零件加工的編程能力外,你還可以學到: 1、流程化的編程(新增) 2、具備開發(fā)G代碼的能力 3、用數(shù)學公式來編寫宏程序的技巧 4、掌握宏程序的調(diào)用、宏程序誤差處理方法 5、模塊化編程 6、參數(shù)化編程 7、宏程序用于生產(chǎn)管理 8,宏程序自動化方面的應(yīng)用 其實,新增加的流程化編程思路我去年就設(shè)計好了,一直沒有輕易放出來,為什么呢? 因為我還沒有準備好,因為我后面要專門出一套關(guān)于《流程化的編程教程》,準備找些合作伙伴,從而放大其價值。(關(guān)于這個計劃,年后機會成熟我會詳細公布。) 關(guān)注鄒軍愛數(shù)控,學習好絕招 |
|