蔣雙慶
摘要:數控加工已成為當今世界機械加工行業領先技術的代表,而數控宏程序的應用程度就更加體現出了數控加工水平的高低和對機床的利用率,直接關系到加工難度與加工效率。本文以數控宏指令為基礎,以華中數控操作系統為例,通過機械加工和無數次的宏程序的加工,總結B類宏程序編程方法與技巧。
關鍵詞:數控;宏指令;方法與技巧;華中數控
宏指令編程像高級語言一樣,可以使用變量進行算術運算、邏輯運算和函數混合運算的程序編寫形式,能提供循環、判斷、分支和子程序調用的方法。由于宏程序指令允許使用變量算術和邏輯運算及條件轉移,可將相同加工操作編為通用程序,不僅使程序應用更加靈活,而且可大大精簡程序量。
在數控加工中經常會遇到復雜輪廓的加工(如拋物線、橢圓、雙曲線、半球、螺旋線等),用普通的手工編程方法處理周期長、計算量大、精度差、容易出錯,難以滿足生產要求。隨著數控技術的發展,先進的數控系統不僅向用戶編程提供了一般的準備功能和輔助功能,而且為編程提供了擴展數控功能的手段,華中世紀星數控系統的宏程序編程,應用靈活、形式自由,具備計算機高級語言的表達式、算術和邏輯運算機類似的程序流程,使加工程序簡練易懂,可實現普通編程難以實現的功能。
1.? B類宏指令(華中數控)
1.1 B類宏指令變量的類型
B類宏是在A類宏的基礎上發展起來的,隨著數控技術的不斷完善,在運用宏加工時就出現了一些運算問題,B類宏也就在這個前提下發展起來了,B類宏的好處在于能夠經行四則運算,大大減少了宏的程序長度,大大減少了編程時間。
1.2 B類宏指令變量的賦值、算術運算和邏輯運算
通常在計算機中每個變量都有其變量名,計算機允許使用變量名,但是數控系統中用戶宏程序不能直接使用變量名,采用變量符號(#)和后面的變量號指定變量。表達式可以用指定的變量號。此時,表達式必須封閉在括號中。
2.? B類宏程序的編程技巧
很多人都認為宏程序比較難編寫。通過研究我找到了一種利用填充式的方法進行宏程序的編寫,就算不能理解宏程序的人員也能進行編寫,通過簡單的數字填充來編寫宏程序。宏程序就是一種利用邏輯運算的方法來編寫宏程序的,如:橢圓公式中我們可以利用改變X軸的坐標值,從而使Z軸的坐標值隨之改變。在這個方程式中可以對X的值經行賦初值和結束值,然后通過X值的步進值來改變X的坐標值。因是對宏程序編程方法進行研究的,所以以下實例零件只對宏程序部分進行分析和編寫。
實例一
零件分析:零件是橢圓的一個輪廓零件,橢圓長半軸為40,短半軸為30,并且本橢圓的Z坐標值既有正值又有負值,所以我們在這里就有二種方法來進行編寫,一種方法是把橢圓在90度的位置分為兩部分來編寫。一部分為0到90度,另一部分為90到146度,在0到90度時Z軸坐標為正,在90到146度時Z軸坐標為負。另一種方法是利用三角函數的方法來編寫,利用同一個角度的正弦與余弦的平方和為1的特性,進行編寫。
分段編寫方式:
利用宏程序編程六步法編寫過程如下
①起點賦值?? 起始點為零件的最右端,X坐標為0,程序為:#1=0
②終點循環?? 終始點為橢圓輪廓的最高點,X坐標為30,因為30為X值的最大值,所以變量#1應該小于或等于30,程序為:WHILE #1 LE [30]
③輪廓公式?? 利用X的值來表示Z的值,通過橢圓公式可得#2=4*SQRT[900-#1*#1]/3
④輪廓插補?? 通過圖可知,編程原點為零件的最右端,橢圓圓心與編程原點不是在一個點上,在編程坐標系中,編程原點坐標為(0,0),橢圓原點坐標為(0,-40)。當把編程原點向橢圓原點移動時,X軸不變,移動量為0,Z軸向負方向移動,移動量為40。程序為:G1 X[2*[#1+0]] Z[#2+[-40]],簡寫為:G1 X[2*#1] Z[#2-40]。
⑤變量步進?? 因為自變量X的值是從0向30來移動的所以步進量應該是依次遞加的方式,布進量越小,走刀輪廓越是接近橢圓輪廓。程序為:#1=#1+0.1
三角函數編程方法
①起點賦值?? 起始點為零件的最右端,自變量為極角α值為0,程序為:#1=0
②終點循環?? 終始點為橢圓輪廓的結束點,極角α為146,因為146為極角α值的最大值,所以變量#1應該小于或等于146,程序為:WHILE #1 LE [146]
③輪廓公式?? 利用極角α來表示x的值,通過橢圓公式可得#2=30*SIN[#1*PI/180],利用極角α來表示Z的值,通過橢圓公式可得#3=40*COS[#1*PI/180]
④輪廓插補? 通過圖可知,編程原點為零件的最右端,橢圓圓心與編程原點不是在一個點上,在編程坐標系中,編程原點坐標為(0,0),橢圓原點坐標為(0,-40)當把編程原點向橢圓原點移動時,X軸不變,移動量為0,Z軸向負方向移動,移動量為40。程序為:G1 X[2*[#2+0]] Z[#3+[-40]],簡寫為:G1 X[2*#2] Z[#3-40]。
⑤變量步進?? 因為自變量X的值是從0向146來移動的所以步進量應該是依次遞加的方式,布進量越小,走刀輪廓越是接近橢圓輪廓。程序為:#1=#1+0.5
⑥結束循環?? ENDW
利用三角函數編程方法編寫的宏程序如下:
#1=0
WHILE #1 LE [146]
#2=30*SIN[#1*PI/180]
#3=40*COS[#1*PI/180]
G1 X[2*#2] Z[#3-40]
#1=#1+0.1
ENDW
注:PI:圓周率、在數控系統中三角函數不識別角度,只識別弧度的定義,所以需要把角度轉換成為弧度。
參考文獻:
[1]彭效潤.數控車(高級).中國勞動社會保障出版社
[2]楊繼宏.數控加工工作手冊.化學工業出版社
[3]謝輔軒.數控機床編程與操作技術.湖南應用技術學院機電工程學院內部用書
科研項目:湖南省教育廳資助科研項目《機械加工宏程序簡易編程法及其應用的研究》(課題批準號:12C1151)的研究成果。