于定文
【摘 要】隨著制造工業(yè)的發(fā)展,數控技術的應用也越來越廣泛,更多公司開始開發(fā)高效的CNC程序,雖然現在很多復雜的零件采用CAD/CAM軟件自動編程,但是由于各種原因,它們沒有也不能代替宏編程。宏程序對專門的需求常有專門的解決辦法。本文針對橢圓在數控車床上的加工談談宏程序的編程方法。
【關鍵詞】數控技術;宏程序;宏指令;橢圓
文章編號:ISSN1006—656X(2013)09 -0110-02
前言:我國目前被譽為“世界工廠”、“制造大國”,我國制造工業(yè)在發(fā)展的同時, 數控技術也得到了最廣泛的應用,現在無論是硬件數控系統(tǒng)還是軟件數控系統(tǒng),其插補的基本原理是相同的,只是實現插補運算的方法有所區(qū)別。最常見的是直線插補和圓弧插補,沒有橢圓、雙曲線、拋物線等插補。為了解決這些編程問題,我們可以采用擬合計算,用宏程序方式進行編制。下面就數控車床加工橢圓來介紹A類和B類宏程序的編程方法:
一、宏程序概念介紹:
用戶宏程序是以變量的組合,通過各種算術和邏輯運算、轉移和循環(huán)等命令,而編制的一種可以靈活運用的程序,只要改變變量的值,即可完成不同的加工或操作。
用戶宏功能主體是一系列指令,相當于子程序體。既可以由機床生產廠提供,也可以由機床用戶自己編制。
宏指令是代表一系列指令的總指令,相當于子程序調用指令。最大特點是,可以對變量進行運算,使程序應用更加靈活、方便。用戶宏功能有A、B兩類。其中A類宏是以G65HxxP#xxQ#xxR#xx的格式輸入的,而B類宏程序則是以直接的公式和語言輸入的和C語言很相似在0i系統(tǒng)中應用比較廣。
A類宏程序:
(一)變量
在常規(guī)的主程序和子程序內,總是將一個具體的數值賦給一個地址。為了使程序更具通用性、更加靈活,在宏程序中設置了變量,即將變量賦給一個地址。
(二) 宏指令G65
包括算術運算、邏輯運算等處理功能。
一般形式: G65 Hm P#i Q#j R#k
式中:
m--宏程序功能,數值范圍01~99;
#i--運算結果存放處的變量名;
#j--被操作的第一個變量,也可以是一個常數;
#k--被操作的第二個變量,也可以是一個常數。
(三)宏功能指令
1. 算術運算指令 包括加、減、乘、除等;
2. 邏輯運算指令 包括或、與、異或;
3. 三角函數指令 正弦、余弦、正切、反正切
4. 控制類指令 無條件轉移、條件轉移、產生PS報警
B類宏程序:
(四)宏程序的簡單調用格式
宏程序的簡單調用是指在主程序中,宏程序可以被單個程序段單次調用。
調用指令格式: G65 P(宏程序號) L(重復次數)(變量分配)
其中:G65――宏程序調用指令
P(宏程序號)――被調用的宏程序代號;
L(重復次數)――宏程序重復運行的次數,重復次數為1時,可省略不寫;
(變量分配)――為宏程序中使用的變量賦值。
宏程序與子程序相同的一點是,一個宏程序可被另一個宏程序調用,最多可調用4重。
(五)宏程序的編寫格式
宏程序的編寫格式與子程序相同。其格式為:
0 ~(0001~8999為宏程序號) //程序名
N10 …… //指令
.
N~ M99 //宏程序結束
上述宏程序內容中,除通常使用的編程指令外,還可使用變量、算術運算指令及其它控制指令。變量值在宏程序調用指令中賦給。
(六)變量
(七)算術運算指令
(八)控制指令
(1)條件轉移
編程格式:IF [條件表達式] GOTO n
以上程序段含義為:
1)如果條件表達式的條件得以滿足,則轉而執(zhí)行程序中程序號為n的相應操作,程序段號n可以由變量或表達式替代;
2)如果表達式中條件未滿足,則順序執(zhí)行下一段程序;
3)如果程序作無條件轉移,則條件部分可以被省略。
4)表達式可按如下書寫:
#j EQ #k 表示=
#j NE #k 表示≠
#j GT #k 表示>
#j LT #k 表示<
#j GE #k 表示≥
#j LE #k 表示≤
(2)重復執(zhí)行
編程格式:WHILE [條件表達式] DO m (m = 1,2,3)
.
.
.
END m
上述“WHILE…END m”程序含意為:
1)條件表達式滿足時,程序段DO m至 END m即重復執(zhí)行;
2)條件表達式不滿足時,程序轉到END m后處執(zhí)行;
3)如果WHILE [條件表達式]部份被省略,則程序段DO m至 END m之間的部份將一直重復執(zhí)行;
二、宏程序編程實例應用:
已知橢圓z向長軸半徑40,X向短軸半徑20,毛坯材料為50棒料,加工右半橢圓,工件坐標系的原點如圖所示,設置在工件的右端面中心位置。編寫如(圖1)所示橢圓A—B段的精加工程序:
(圖1)
(一)以GSK980(當前版本是GSK980TD)數控車系統(tǒng)為代表的A類宏程序應用:
編程分析:
由于橢圓是非圓曲線,用宏程序加工非圓曲線時,其原理是將曲線分成若干段后用直線進行擬合,具體分成段數的多少要根據零件加工精度來確定,精度越高,分段數越多。所以實際加工完成的非圓曲線是由很多極短的折線段構成。
主程序
O1000;
N10 G97G99G40; (指定進給方式和取消刀具半徑補償)
N20 M03S800T0101;(設置主軸轉速選用1號刀和調用1號刀補)
N30 G00G41G00X0Z2; (圓弧半徑左補償)
N40 G65P1001; (調用宏程序)
N50 G01X52F0.2; (退刀)
N60 G40G00X100Z100;
N70 M05;
N80 M30;
橢圓加工宏程序
O1001;
N10 G65 H01 P#100 Q40000; (#100=40mm)
N20 G65 H01 P#101 Q20000; (#101=20mm)
N30 G65 H01 P#102 Q40000; (#102=40mm)(初始值)
N40 G65 H28 P#103 Q#100 P#102;
N50 G65 H05 P#104 Q#103 P#100; (#104=#103/#100)
N60 G65 H04 P#105 Q2000 R#104; (#105=2×#104)
N65 G65 H03 P#106 Q#102 R40;
N70 G01 X#105 Z#102 F100;
N80 G65 H03 P#102 Q#102 R500; (確定Z向步長為0.5 mm。)
N90 G65 H85 P40 Q#102 R0; (條件判斷:當變量#102≧0時,轉移到N40程序段,如果#102﹤0時,繼續(xù)向下執(zhí)行。)
N100 M99
2. 以FANUC-0i數控車系統(tǒng)為代表的B類宏程序應用,編寫如(圖1)所示橢圓A—B段的粗加工程序:
O2000;
N10 G97G99;
N20 M03S800T0101;
N30 G00X52Z2; (快速定位刀具)
N40 #101=50 (確定X向粗加工余量50mm)
N50 WHILE[#101GE0.5]DO1; (建立條件式1,當粗加工余量大于0.5mm時,執(zhí)行1號程序循環(huán)DO1--END1之間的程序)
N60 #101=#101-2; (指定粗加工時的背吃刀量為2mm)
N70 #2=40; (確定Z向坐標初始值)
N80 WHILE[#2GE0]DO2; (建立條件式2,當Z向坐標在運動到終點坐標前,執(zhí)行2號程序循環(huán)DO2--END2之間的程序)
N90 #1=40*SQRT[1-#2*#2/1600];(根據橢圓標準方程公式轉換)
N100 G01X[#1+#101]Z[#2-40]F0.2;(采用G01擬合加工,進給率為0.2mm/r)
N110 #2=#2-1; (指定Z向坐標的變化步距)
N120 END2; (條件式2程序結束)
N130 G00X100Z100;
N140 M05;
N150 M30;
宏指令編程像高級語言一樣,可以使用變量進行算術運算邏輯運算和函數混合運算進行編程。在宏程序形式中,一般都提供循環(huán)判斷分支和子程序調用的方法??删幹聘鞣N復雜的零件加工程序。熟練應用宏程序指令進行編程,可大大精簡程序量,還可以增強機床的加工適應能力。比如可以將拋物線、橢圓等非圓曲線的算法標準化后做成內部宏程序,以后就可以像圓弧插補一樣按標準格式編程調用,相當于增加了系統(tǒng)的插補功能。所以宏程序的編程方法顯得越來越重要。
參考文獻:
[1] 數控編程與加工技術,黃登紅.中南大學出版社;
[2] 數控編程,中國勞動社會保障出版社
[3] 數控車床加工橢圓方法的研究,陳松;
[4] 廣數980TD數控車床編程說明書;
[5]FANUC-0i數控車床編程說明書;