曾艷
當今世界上機械加工行業(yè)技術(shù)的典范,數(shù)控加工已經(jīng)是當之無愧的處在這個位置上了。而當前數(shù)控加工技術(shù)水平和在操作中對機床的利用率,則在一定程度反映出了數(shù)控宏程序在實際操作中的應用程度。這兩個方面是直接關(guān)系到加工難度和加工效率的重要因素。數(shù)控加工正在不斷發(fā)展,與此同時,自動編程軟件也跟隨時代的潮流不斷升級,這些軟件的使用,確實為實際操作解決了不少復雜的加工編程問題。但是,不可避免要面臨一個問題,就是自動編程軟件所生成的加工程序,特別是復雜性面,它的數(shù)據(jù)量較大,對傳輸又提高了不少要求。
1宏程序簡介
1.1宏程序的普遍含義
經(jīng)常被我們使用的某一或多個序列的指令,像子程序一樣被存入一個儲存空間,這個操作過程就是普遍意義上的宏程序。之后,我們再用一個總的指令來代表他們,在使用時就可以更加便捷的用一個指令走完所有程序,使需要的功能得以執(zhí)行。通常情況下,我們把這一組的指令稱為宏程序的本體,簡單的稱作宏程序,而這其中的各個指令,則又被稱作是用戶調(diào)用宏程序的指令。程序員在編程時,對于宏指令各自所代表的含義,這個是最為關(guān)鍵的地方,而對宏程序本身,如果條件不夠的話,沒必要準確記牢。再簡單一點來說,宏即為MACRO,它的中文意識是宏大、巨大。而這個含義并不是指它的程序巨大,更多的是代表它可以在指定的時間內(nèi)完成計算量更大的任務(wù),而程序本身卻并不長,一般來說都是很短的。
1.2宏程序與普通程序的區(qū)別
宏程序與普通程序的不同之處主要體現(xiàn)在宏程序的主體上,可以用改變的量,然后對更改的值進行一個給值,變量之間不是固定一成不變的,而是相互之間可以運算,程序的運行也同樣可以跳躍,不需要固定的按照順序進行。而在普通程序中,這一點是它們做不到的。因為普通程序只能夠指定常量,而常量之間既不能進行運算,也不能進行跳躍運行。只能死板的按順序執(zhí)行,這是一種固定程序。換種方式來講,對于普通程序,它可改變的量少,所以與宏程序相比較,宏程序更加靈活多變的特性,適用于形狀相同尺寸不同的任何一個加工部位,只要是需要的并且是同一個形狀的,它就可以進行操作。這種模式在很大程度上減少了系統(tǒng)內(nèi)存的占用量。至此,宏程序?qū)?shù)控加工的可加工范圍進行了擴大,也簡化了不少程序。
1.3宏程序的分類
通常情況下,宏程序主要有兩類,一個是A類,另一個是B類。
2 A類宏指令詳解
根據(jù)變量號的不同,A類宏指令可分為#100~#131、#500~#531、#1~#99、#1000~,其中,前兩種的變量類型是公共變量,而第三種則是系統(tǒng)變量。第一種在功能上而言,是公用于各個宏程序的,也就是含義相同,但是當機床斷電后就會被清零,開機時的設(shè)置也默認是零。第二種公共變量和第一種一樣,也是在各個宏程序中公用的,含義相同。但不同的是,它在使用時,哪怕機床斷電了,其數(shù)據(jù)仍然保留,這種被稱為是非易失性變量,也可以稱之為保持性變量。而后兩種作為系統(tǒng)變量,在使用時系統(tǒng)是什么狀態(tài),這種變量就會相應是這種狀態(tài),這種變量的用途是固定的,用于表示接口的輸入或者輸出、刀具的補償、各個軸承當前的位置等等。需要注意的是,并不是所有的變量都可以改變的,有些變量則只能讀取但是不能更改。
2.1 A類宏指令變量的不同形式
在A類宏指令中,一般格式有G65、 Hm、 P#i、 Q#j、 R#k。其中G65可以轉(zhuǎn)換為P#i,而Q#j和R#k可以轉(zhuǎn)換成G65。對于一般格式中的m,則表示的是01-99,代表宏程序的運算功能;#i代表儲存運算結(jié)果的變量號;#j是進行運算的變量號1,也可以是一個常數(shù)。#k是進行運算的變量號2,它也可以是一個常數(shù)。
2.2 A類宏指令變量的指令運算方式
在程序中,使用一定的運算方法對變量#j、#k進行運算,而這其中的運算法則是根據(jù)Hm決定的,并把計算出來的結(jié)果都存儲在#i里,為接下來的運算或者是機床的運動保留相關(guān)的依據(jù)。
2.3 調(diào)用格式
這個命令的運算方式和子程序的調(diào)用方式是一樣的,都是運用M98啟用,而使用M99就可以調(diào)回。
3 B類宏指令詳解
3.1 B類宏指令的變量種類
對于B類宏指令變量的變量號,則分為#0、#1~#33、#100~#149、#500~#531、#1000~這五類變量號。而根據(jù)變量的不同類別劃分,第一種是空變量,它的作用是使得這個變量的數(shù)值保持為零。第二種稱為局部變量,它在整個程序里一般是用來表達運行結(jié)果,需要注意,這種變量在機器停止供電時會自動被歸零,同時,作為一種局部變量,其在不一樣的宏中使用的含義也是不盡一致的。而第三種和第四種則都被稱作公共變量,這兩者在宏程序里屬于公共的,換一種說法而言就是代表的意思相同。但兩者不同的點在于,第三種變量號在機器停止供電時會自動被歸零,這種一般稱作易失型變量;而第四種在機器停電后仍能保留,這種則可以稱作是非易失型變量。第五種被稱作系統(tǒng)變量,是一種具有固定使用方法的變量,他的大小能夠體現(xiàn)系統(tǒng)當時的狀況,用來表示接口的輸入或者輸入量,或者各軸承的現(xiàn)行位置等。有些變量只能讀取但是不能改變。
3.2 B類宏指令變量的非模態(tài)調(diào)用指令格式
對于這類指令格式,一般的格式有G65、P p、以及L l。式子中的p代指宏程序的號碼,而l代指的是使用的頻次,而變量賦值是表示宏程序里所選用的具體數(shù)值。
4宏程序的編程
4.1 零件的加工分析
4.1.1對零件工藝的分析
以下圖流線型零件的加工為例。零件的上半部分是球體、圓臺、圓柱體的組合體,這些組合體需要球頭銑刀的加工,相對于宏程序來說,普通程序?qū)@一步驟的實現(xiàn)是非常困難的。但是如果采用G17在xy的平面上走刀的話,這種編程相對來說會比較簡單,但是通常情況下,為追求更高的表面平滑度,走刀的頻次如果增加太多次,就會導致生產(chǎn)效率低下,并且這種方式也會使機床的壽命加劇縮短,但如果采用沿著周邊的輪廓進行走刀,雖然這種方式的編程編寫的更加復雜,但是由于走刀的次數(shù)降得很低,效率有了大幅度的提高,所以在該簡單零件的加工上,普遍采用的是周向走刀的方式進行程序編寫。
4.1.2對夾具的確認
刀具的零件一般采用的是長方體的設(shè)計,因此使用平口鉗裝夾的方式比較常見。同時,根據(jù)零件的尺寸,再更多的考慮到表面的粗糙程度以及加工的效率等原因,使用?10cm銑頭的銑刀加工。而在編程中的原點和坐標系的設(shè)定位置,一般來說原點將會設(shè)定在工作上物件的表面中心位置,這種設(shè)定方法有利于后面的計算。
4.1.3對刀具運動軌跡及方向的確定
為了使零件的表面質(zhì)量有一個更好的效果,一般來說會使用順銑的方式,從左上開始進刀。在計算走刀路徑時要著重計算好劃分開的各個簡單物體在交點的坐標。
4.2 A類宏指令的主編程
O0033;
G91G28Z0;
S1000M03;
G90G17G54G00X-76.0Y21.0M08;
Z-10.0;
M98 P3301;
G00Z30.0M09;
M05;
M30;
4.3 B類宏指令的主編程
O0034;
G91G28Z0;
S1000M03;
G90G17G54G00X-76.0Y21.0M08;
Z-10.0;
G65P3301L1A15.0B10.0C6.0I90.0;
G00Z30.0M09;
M05;
M30;
4.4兩種宏程序之間的比較
通過以上實例可以看出,由于B類宏程序條理清晰,同時還具有前期易編程、后期易檢查修改等特點,所以它更受工作者的喜愛,目前大多數(shù)比較先進的FANUC系統(tǒng),都在使用B編程。而A類會選擇用在較早的FANUC系統(tǒng)上,這類編程對編程員的工作素養(yǎng)要求更高,并且需要更有耐心和細心,所以使用頻率不及B類高。
5結(jié)束語
數(shù)控加工的出現(xiàn)提高了加工的精確度、減輕了工人的工作負擔;數(shù)控宏程序的使用,在一定程度上減輕了編程工作的復雜度,提升編程效率,希望在以后的發(fā)展中能更加精進,不斷突破。
(作者單位:福建龍巖技師學院)