程禮勇
(四川鴻艦重型機(jī)械制造有限責(zé)任公司,四川 攀枝花 617000)
隨著工業(yè)4.0的推廣,我們國家的現(xiàn)代制造技術(shù)蓬勃發(fā)展,數(shù)控機(jī)床的應(yīng)用得到了飛速的普及,從事數(shù)控加工的技術(shù)工人不斷增加,數(shù)控加工技術(shù)得到了加工企業(yè)的極大重視。數(shù)控編程是數(shù)控加工的關(guān)鍵技術(shù)之一,是數(shù)控加工中不可或缺的重要工作內(nèi)容,其編制效率直接影響數(shù)控加工的質(zhì)量和生產(chǎn)效率。目前,數(shù)控編程主要有軟件自動編程和手工編程[1],軟件自動編程存在一些缺陷和弊病,所編制的程序可讀性差、繁瑣、靈活性不夠好。為了解決這一弊病,就出現(xiàn)了宏程序編程。宏程序是手工編程的高級應(yīng)用和精髓,也是軟件自動編程所不能達(dá)到的高點。
生產(chǎn)加工中會遇到一些數(shù)量少、品種多、形狀相似的工件,按照常規(guī)的編程加工方法加工此類工件,就必須對每一個工件進(jìn)行編程,加工時操作者還需要對每一個工件的程序作調(diào)整,因此生產(chǎn)加工效率低。我們在編程過程中找到它們的共同點,利用宏程序變量運算和程序跳轉(zhuǎn)特性進(jìn)行程序編寫,可以縮短整體編程時間,減少操作者對程序的調(diào)整時間,提高生產(chǎn)加工效率[2]。
用戶宏程序是我們在編程中運用的一種類似高級語言的程序,程序中存有變量,它能把由一種指令實現(xiàn)的某種功能像子程序一樣事先存入存儲器中,用一個命令代表這些功能。程序中只要寫出該代表命令,就能實現(xiàn)這些功能。用戶宏程序是提高數(shù)控機(jī)床效能的一種高級應(yīng)用,在類似工件的加工中巧用宏程序?qū)⑵鸬绞掳牍Ρ兜男Ч?/p>
把由一組指令實現(xiàn)的某種功能像子程序一樣事先存入存儲器中,用一個命令代表這些功能。程序中只要寫出該程序命令,就能實現(xiàn)這些功能。把這一組命令稱為用戶宏程序本體,把代表命令稱為“用戶宏命令”。用戶宏程序本體有時也簡稱宏程序。用戶宏命令也稱為宏程序調(diào)用(見圖1所示)。
圖1 宏程序調(diào)用
1.1.1 變量的表示
用變量符號R和后面的變量號指定,表達(dá)式也可以用于指定變量符號,但必須封閉在括號內(nèi)。比如R1=1,R2=6,R3=R1+R2。
1.1.2 變量的類型
R0~R99—可自由使用;R100~R249—加工循環(huán)傳遞參數(shù)(如程序中沒有使用加工循環(huán),這部分參數(shù)可自由使用);R250~R299—加工循環(huán)內(nèi)部計算參數(shù)(如程序中沒有使用加工循環(huán),這部分參數(shù)可自由使用)。
1.1.3 賦值方式
為程序的地址字賦值時,在地址字之后應(yīng)使用“=”,N、G、L除外。
例:G00 X=R2
1.2.1 指令
主要有:IF 條件 GOTOF 標(biāo)號 、IF 條件 GOTOB 標(biāo)號[3]。
說明:IF—如果滿足條件,跳轉(zhuǎn)到標(biāo)號處;如果不滿足條件,執(zhí)行下一條指令;GOTOF—向前跳轉(zhuǎn);GOTOB—向后跳轉(zhuǎn)。
1.2.2 標(biāo)號
目標(biāo)程序段的標(biāo)記符,必須要由2~8個字母或數(shù)字組成,其中開始兩個符號必須是字母或下劃線。標(biāo)記符必須位于程序段首;如果程序段有順序號字,標(biāo)記符必須緊跟順序號字;標(biāo)記符后面必須為冒號。
1.2.3 條件
計算表達(dá)式,通常用比較運算表達(dá)式,比較運算符見表1。
表1 比較運算符
(1)普通的數(shù)控加工程序只允許使用常量,例如加工圓形軌跡只能用很多點來采用逐步逼近的方式,使得工件由不規(guī)則形狀逐漸向圓形靠攏,對于精度高的工件就需要算出更多的點,讓編程人員花費大量時間。宏程序只需要將變量和公式寫入編程中,通過指令控制,自動進(jìn)行計算加工。
(2)普通程序的常量不能進(jìn)行相互計算,而宏程序變量可以計算,并且還有判斷和跳轉(zhuǎn)功能。
(3)對于自動編程的程序來說,經(jīng)常一個簡單的零件由軟件自動編程出來的程序非常復(fù)雜,且不能跳轉(zhuǎn)、循環(huán)等。
(4)宏程序的容量小,機(jī)床的反應(yīng)速度快,加工效率高。由于宏程序多采用跳轉(zhuǎn)、循環(huán)等功能指令,其程序較短。機(jī)床在執(zhí)行宏程序時,數(shù)控系統(tǒng)的計算機(jī)可以直接進(jìn)行插補(bǔ)運算,加上電機(jī)和數(shù)控機(jī)床的反應(yīng)迅速,加工效率高。
在數(shù)控加工中,宏程序通過編輯子程序和使用全局變量來控制改變刀具路徑和刀具位置;在編程時,不必要記住用戶宏程序功能主體所含的具體指令,只要記住用戶宏程序功能指令即可,同時在修改同類型的程序中,也只需要修改很少部分的變量即可。宏程序具有模塊化的思想和條件,編程時只需要根據(jù)零件幾何信息和不同的數(shù)學(xué)模型即可完成相應(yīng)的模塊化加工程序設(shè)計,應(yīng)用時也只需要把零件信息、加工參數(shù)輸入到相應(yīng)的模塊調(diào)用語句中,能使編程人員從繁瑣的、重復(fù)的編程工作中解脫出來,使得編程效率和生產(chǎn)加工效率得到有效提高。
生產(chǎn)加工中經(jīng)常遇到加工路徑重復(fù)情況,以下是加工錐型件實例(見圖2),其加工刀路見圖3。
圖2 錐型件
圖3 加工刀路
程序:
R0=16;
刀半徑
R1=5
刀尖圓弧半徑
R2=0.5
單邊余量
R17=-40;
當(dāng)前Z
R3=-40;
起點Z
R4=1;
終點Z
R5=5;
深度步長
R6=43;
工件實際厚度
R7=22.5;
大端圓弧半徑
R8=10;
大端倒角半徑
R9=10;
錐度
R10=-10;
啟刀點X
R11=110;
R12=R11-R7-SQRT(R7*R7-(R6/2-R8)*(R6/2-R8));
R13=ACOS((R6/2-R8)/(R7-R8));
R14=180-2R13;
R15=R0-R1+R*COS(R9);
工作刀半徑
R16=R1*SIN(R9)-R1;
附加Z
T1D1;
G54G40G90G0Z50F100;
定點,啟動主軸
M3S1000;
主軸正轉(zhuǎn),1000轉(zhuǎn)/分
REPEAT
IFR17>R4;
R17=R4;
強(qiáng)制等于最后加工點的坐標(biāo)
ENDIF;
R18=R7-(R17-R3)*TAN(R9);
當(dāng)前大端圓弧半徑
R19=R8-(R17-R3)*TAN(R9);
當(dāng)前大端倒角半徑
R20=R6/2-(R17-R3)*TAN(R9);
R30=R18+R15+R2;
R31=R19+R15+R2;
R32=R20+R15+R2;
G0X=R10Y-R32;
Z=R17+R16;
G1X=R12;
G 3RP=R31 AP=R13;
RP=R30 AP=R14;
RP=R31 AP=R13;
G1X=R10;
G0Z5;
STOPRE;
R17=R17+R5;
每次循環(huán)增加的加工量
UNTILR17==R4+R5;
條件滿足結(jié)束循環(huán)
G0Z200;
M30
本程序在加工圓弧倒角時,刀具直徑為32,刀尖圓弧為5的立銑刀。程序中把需要加工的尺寸、刀具大小、加工遞增量的大小等用宏程序中的變量代替,使得在宏程序中只有變量之間的計算,讓主要部分程序非常簡潔明了。利用刀具中心位置理論與實際的偏差,通過走刀的角度和變量控制,讓機(jī)床在走刀的時候能準(zhǔn)確地走出加工軌跡;利用變量自增的循環(huán)刀路,簡單明了的宏程序解決復(fù)雜的工件加工路線,并且加工精度是用宏程序變量控制,我們需要達(dá)到什么精度都只用改變一個變量就能解決,粗加工和精加工也只需要更換宏程序中控制刀具的圓弧半徑和加工余量的一個變量即可,從而精確快速地完成加工任務(wù)。
在普通的程序編制中程序字為一常量,一個程序只能加工一個幾何形狀,比較缺乏靈活性和通用性。在一些實際情況中機(jī)床需要按照一定的規(guī)律動作,或者是加工法完全一樣,只是加工位置在工件上有所不同,如在環(huán)形上加工孔,如果用普通程序編程,那么會相當(dāng)復(fù)雜而且不通用。針對這種情況,用宏程序編程,在程序中使用變量,通過對變量進(jìn)行賦值和一定的運算達(dá)到程序加工的功能。
我們國家的機(jī)械加工行業(yè)擁有大量的數(shù)控車間或數(shù)控機(jī)床,這些數(shù)控機(jī)床每天加工大量的工件,很多公司里都是采用人工手工編程,采用宏程序進(jìn)行歸類編程,會減少編程人員繁瑣的編程時間,并且在實際生產(chǎn)過程中降低操作者的勞動強(qiáng)度,提高生產(chǎn)效率,增加企業(yè)的效益。所以宏程序在先進(jìn)的制造業(yè)和數(shù)控加工編程的實踐中具有重要意義。