張辰
摘 要:隨著機械行業(yè)的發(fā)展,利用軟件自動編程會逐漸取代手動編程,但運用宏程序編程依然具有較大價值。手動編程是數(shù)控編程的基礎,往往能解決各種“疑難雜癥”,而且手動編程還可以使用變量程序。宏程序最主要的特點是用最簡短的程序段將相對復雜的有規(guī)律的加工零件表示出來,便于修改和保存。宏程序編程是手動編程中最后的堡壘。本文以華中系統(tǒng)為例,對宏程序在編程中的應用進行論述。
關鍵詞:手動編程;宏程序;數(shù)控編程
中圖分類號:TG659 文獻標識碼:A 文章編號:1003-5168(2019)22-0086-03
On the Application of Macro Program in CNC Programming
ZHANG Chen
Abstract: With the development of mechanical industry, the use of software automatic programming will gradually replace manual programming, but the use of macro programming still has use value. Manual programming is the basis of numerical control programming. It can often solve various "difficult problems," and manual programming can also use variable programs, that is, the use of macro programs. The main feature of the macro program is to use the shortest program segment to express relatively complex and regular processing parts for easy modification and preservation. Macro programming should be the last bastion in manual programming. Taking Huazhong system as an example, this paper discussed the application of macro program in programming.
Keywords: manual programming;macro program;NC programming
在數(shù)控加工中,宏程序編程具有靈活性、高效性和便捷性,是手動編程的重要手段。宏程序不僅可以實現(xiàn)程序段之間的循環(huán)往復調用,還可以對非圓規(guī)律輪廓進行編程。
普通加工程序只能描述一個幾何形狀,直接用常數(shù)指定G代碼和移動距離。數(shù)控系統(tǒng)為用戶提供了另一種更自由的編程方式,在程序中加入變量,通過變量與變量之間的賦值、算術運算、邏輯運算和混合運算等方法,實現(xiàn)各種條件轉移、循環(huán)、跳段等功能[1-3]。靈活性、通用性和智能性是宏程序最大的特點,尤其是對于中等難度的零件,更能體現(xiàn)出宏程序的價值。
華中世紀星系統(tǒng)為用戶配備了兩種宏程序功能,類似于高級編程語言,分別為A類宏程序和B類宏程序。A類宏程序與子程序調用類似,相對格式化,B類宏程序較為常用,本文所提到的宏程序均為B類宏程序。
1 宏程序應用概述
1.1 一般程序和宏程序的對比
普通編程所用的數(shù)控指令實際上用的是ISO代碼,每個代碼的功能都是固定的,由系統(tǒng)廠家設置,編程員只需要按照規(guī)定格式編程即可。宏程序功能的用戶可以對數(shù)控系統(tǒng)進行一定的功能擴展,實際上是數(shù)控系統(tǒng)對用戶的開發(fā),也可視為用戶利用數(shù)控系統(tǒng)提供的工具,在數(shù)控系統(tǒng)平臺上進行二次開發(fā),當然這里的開發(fā)和開放都是有條件和限制的。
普通程序與宏程序之間的區(qū)別主要有以下三點:普通程序只能使用常量,而宏程序可以使用變量并給予賦值;普通程序常數(shù)之間不能進行數(shù)學運算,而宏程序的變量之間可以進行大部分的常見數(shù)學運算,如加、減、乘、除、函數(shù)、平方根等;普通程序只能按順序運行,宏程序可以實現(xiàn)條件循環(huán)、無條件跳轉等一系列循環(huán),便于簡化程序或加工規(guī)律曲面等。一般程序和宏程序對比結果見表1。
1.2 宏程序與自動編程程序的對比
任何數(shù)控加工零件只要能用宏程序編程,就算再復雜,其程序量都比較精煉,可以說任何一個合理、優(yōu)化后的宏程序,極少超過50行,轉換成字節(jié),最多不超過2KB,即使是最廉價的數(shù)控設備,其內部程序儲存空間也完全容得下任何復雜的宏程序。此外,為了描述復雜零件的加工運動,宏程序必然會最大限度地使用數(shù)控系統(tǒng)內部的各種指令代碼。因此,數(shù)控系統(tǒng)可以直接進行查補運算,加工效率極高,且速度極快。
首先,CAD/CAM軟件生成的程序通常都很大,非常容易突破數(shù)控設備內部程序儲存空間的限制,大部分程序都需要采用DNC在線加工,顯然機床與電腦之間的傳輸速度成為影響加工速度的“瓶頸”。其次,從用戶的實用角度來說,使用CAD/CAM軟件生成的刀具軌跡與真實曲面輪廓的相符性存在一定弊端。如圖1所示,表面看起來是同樣的半球,但在CAD中卻有很多種不同的建模方法,由于數(shù)學計算原理存在差異,不同方法自動生成的刀具軌跡是不一樣的。
1.3 宏程序編程的技術特點
宏程序編程的技術特點主要有以下幾方面:①將有規(guī)律的形狀或尺寸用最簡短的程序表達出來;②具有極好的易讀性和易修改性,編寫出來的程序非常簡潔,邏輯嚴密;③宏程序的運用是手工編程中最大的亮點和最后的堡壘;④宏程序具有靈活性、智能性、通用性。
對規(guī)則曲面的編程來說,用CAD/CAM軟件編程具有計算量大、程序龐大、加工參數(shù)不易修改等缺點,無論哪一個加工參數(shù)發(fā)生變化,CAD/CAM軟件都要重新計算刀具路徑并重新生成程序,再次傳輸?shù)紺NC設備中才能使用,雖然計算刀具軌跡的速度很快,但這始終是個比較煩瑣的過程,易出錯。而宏程序則把工藝參數(shù)與程序結合,參數(shù)設置非常靈活,且操作員有很大的調整余地。
從模塊化加工角度來看,宏程序非常適合模塊化編程,編程員只需要根據零件圖紙尺寸和不同的數(shù)學模型,就可以完成相應的模塊化編程,應用時把零件的信息、工藝參數(shù)等輸入相應變量即可,避免大量重復性編程,一勞永逸。
2 宏程序編程的運用
宏程序編程大致可分為三大類:分層加工零件的編程、相同內容位置不同零件的編程和形狀相似大小不同零件的編程。三種情況都可以不同程度地對程序進行簡化,減少程序的出錯率,避免重復勞動,提高生產效率。
2.1 分層零件的編程
在數(shù)控程序的編制過程中,經常會遇到一些加工部分切削深度較大,無法用一個切削層完成加工的情況,此時就會用到分層加工。分層加工可以利用子程序實現(xiàn),但這至少需要兩個程序。子程序大多需要用增量來進行編程,既煩瑣又容易出錯。分層加工是數(shù)控編程加工的基礎,也是最為常用的編程方法,若分層次數(shù)較多,用普通的編程方式就顯得十分煩瑣。如圖2所示,此零件為非圓規(guī)律曲線,切削深度為30mm,可以采用宏程序分層,選用直徑25mm的銑刀采用虎鉗裝夾方式進行加工。
普通手工編程若想實現(xiàn)分層加工,只能運用子程序,也就是說需要主程序和至少一個子程序結合使用,相對宏程序而言量大且容易出錯。
2.2 孔系零件的編程
有時也會遇到一些加工內容相同但位置不同的零件,如孔系類零件,孔位按一個基準位置環(huán)形陣列或矩形陣列,但加工孔的動作是不變的。如果按常規(guī)方法進行編程,要利用一些輔助軟件進行畫圖找點,且坐標值一般都精確到小數(shù)點后三位,輸入程序時易出錯,從而對編程帶來不便。如圖3所示,此零件是典型的環(huán)形陣列孔系孔系零件,孔位按工件中心九等分旋轉。
鉆孔動作為重復部分,普通程序需要計算出孔的中心坐標點,然后將各個坐標點寫入程序,且坐標點一般不是整數(shù),需要精確到小數(shù)點后三位,編程復雜,且將程序輸入CNC設備時也非常容易出錯。采用宏程序編程可以大大減少程序量,用變量和計算代替煩瑣的坐標點,提高工作效率。
2.3 同一程序實現(xiàn)尺寸不同,但形狀和加工內容相似
還有一些零件,其外形相似,但有一個或幾個尺寸發(fā)生變化,那么相應的刀具規(guī)格、加工程序等也會發(fā)生變化(見圖4)。如果每一個規(guī)格的零件都編制一個程序,會十分煩瑣。針對該問題,就可以通過宏程序來解決。
為了避免重復性勞動,采用宏程序,將發(fā)生變化的幾個參數(shù)設置為變量,加工時,只需要根據圖紙尺寸對變量賦值,就能實現(xiàn)用同一程序加工系列零件。該方法不僅操作簡單,而且生產效率較高。
3 結語
目前,數(shù)控編程已經成為數(shù)控加工中的關鍵問題之一,利用宏程序編程,不僅能簡化程序,而且能降低程序出錯率,縮短輔助時間,從而提高企業(yè)的經濟效益和生產水平。在自動編程不斷發(fā)展的今天,手工編程也一直沒有被取代,宏程序作為手工編程的標志,一直被運用、簡化和升級,從而不斷地將宏程序的優(yōu)勢發(fā)揮到極致。
參考文獻:
[1]何宏偉.數(shù)控銑工(高級)[M].北京:機械工業(yè)出版社,2011.
[2]張君.數(shù)控機床編程與操作[M].北京:高等教育出版社,2009.
[3]王增杰.數(shù)控加工工藝編程與操作[M].北京:中國勞動社會保障出版社,2008.