孫 浩
(濟南動力有限公司,山東 濟南 250200)
數控宏程序的編制與應用,是手工編程的最高形式。希望通過本文闡述的的一些數控宏程序實例,可以給同行提供一個解決問題的思路和方法。
筆者在平時的生產中發(fā)現,現場編程人員中,有時因為生產現場的限制,通常無法利用計算機等計算輔助設備,所以各種功能強大的機械輔助軟件,也都會無法應用,如果計算角度,及加工所需要的各種曲線參數,都需要現場編程人員通過查詢相關的手冊,如《機械工人切削手冊》等,來得到相應的計算公式、計算方法及參數,再手動計算或利用計算器來進行計算。其過程非常繁瑣,計算過程中經常會出現各種錯誤,從而影響最終計算結果,進而影響產品的品質。
目前的大部分數控系統,都具有比較完整的數學運算能力,除可以進行普通的運算外,大多數系統還內建了多種數學函數的計算模型,如三角函數、指數函數、開平方、對數等。在生產現場,利用數控系統的數學運算功能,對這些函數進行計算,可以極大地降低數控程序的編寫計算復雜程度,降低手工計算出現錯誤的發(fā)生。
另外,還可以通過系統變量的運算,實現一些繁瑣數據的簡化輸入,如刀具長度補償值,和工件坐標系等,提高了生產效率,縮短生產準備時間,減少因為人為原因而出現的錯誤。
數控編程中的變量,按作用域分為三類:局部變量,公共變量,系統變量。
#1~#33是局部變量。局部變量只在變量自己所在的程序內起作用;例如:當斷電時,這些局部變量被初始化為空變量,只有在調用相應的宏程序時,自變量才會對局部變量進行賦值;
#100~#199,#500~#999 是公共變量。公共變量分為兩種,在不同的程序內,他們的意義沒有什么不同,但是,當數控系統斷電時,變量#100~#199初始化為空變量。變量#500~#999的數據則會保存,即使數控系統斷電也不會丟失。
#1000以上,是系統變量。系統變量用于讀和寫數控系統內的各種參數和數據,例如刀具現在的位置和系統數控系統的當前時間等。
O0002;
#1=30;
#2=SIN[#1];
#500=#2;
M30;
如果對計算結果需要長時間保存,則應該選擇公共變量(#500~#999),如上述編程實例。因為,#1~#33是局部變量,在機床斷電以后,會初始化為空變量。而公共變量#500~#999在機床斷電之后,卻不會丟失。上述實例,運算結果可以在程式自變量#500中查詢。
將此程序保存,以后需要時只要將#1的賦值修改為相應的角度數,以此類推,我們還可以計算cos,tan,atan的具體數值。
數控機床一般有8個以上的刀位,部分多軸機床已經達到了40多個,在沒有對刀儀而加工所需要的刀具又比較多的情況下,由操作人員逐個試切對刀、進行測量,然后再計算各個刀具的長度補償值,進而手動輸入到刀具幾何補償表內,這是是正常生產加工之前,必須要做的一件工作。
但這種方法的效率比較低,并且人工計算很容易出錯,所以其準確性也比較低,這就會直接或間接影響到產品的品質與生產的效率。
為了彌補這一缺陷,筆者通過運行宏程序,讓其利用數控系統自動運算功能,計算每把刀具長度補償值,然后通過G10指令,將其輸到刀具幾何補償表中。G10指令是FANUC系統提供給用戶應用程序之類方式進行參數修改的指令,通過G10與系統中的宏指令相互配合,利用其中的工件坐標系的修改功能,刀具補償值的修改功能運用宏程序,來實現刀具長度補償值和工件坐標系的自動輸入,既節(jié)約了生產準備時間,同時避免了操作者人為輸入錯誤情況的發(fā)生。
O0045
T01;
M06;
M00;(程序暫停,用手輪搖動刀具到到正確的對刀位)
#1=#4120;(讀取機床主軸上的當前刀具號)
#2=715.5;(主軸端面到對刀點的距離)
#3=#5023;(讀取機床Z軸的機械坐標值)
#4=#2+#3;(計算刀具的長度補償)
G90G10L10P#1R#4;(將計算出來的刀長輸入)
G91G30P2G0Z0.;(刀具返回)
G91G30P2G0X0.Y0.Z0.;
M02;
如果是加工中心之類的機床,會存在一個旋轉工作臺的問題。這時,只可以應用同一個工作臺來確定刀具的長度,以保證刀具長度值的統一,上例為簡易數控機床的對刀程序,本文只對其對刀思路進行了一定的分析,至于復雜的多軸數控機床,需要考慮的問題將更多,其對刀的宏程序也將更加復雜。
關于坐標系的更改,我們還可以利用G10 L2 P_IP_與FANUC的系統變量相結合,來更改工件的坐標系,實現工件坐標系的快速建立。防止因為繁瑣數據的輸入而產生錯誤。
利用數控機床系統內部的數學運算功能,可以降低程序編制的計算復雜程度,節(jié)省程序調試計算的時間,通過G10與宏指令的結合,降低編程關鍵數據輸入差錯率,提高編程效率。在生產過程中,善于應用宏指令功能,可以有效提高數控機床的加工性能。筆者希望上述方法,可以對解決一些手工編程中的問題,提供一些解決方法和思路。。
[1]李 峰,白一凡.數控銑削變量編程實例教程[M].北京:化學工業(yè)出版社,2007.
[2]江葉青,朱 蕓,朱明瑞.用FANUC用戶宏程序開發(fā)對刀自動輸入刀長功能[J].制造技術與機床,2010,(5):135-136.