官术网_书友最值得收藏!

2.2 執行方法和順序

子程序調用指令可以和運動指令出現在同一程序段中。例如:

G90 G00 X-75.Y50.Z53.M98 P40035;

該程序段指令快速定位到指令位置,然后調用執行4次35號子程序。

包含子程序調用的主程序,程序執行順序如下:

和其他M代碼不同,M98和M99執行時,不向機床側發送信號。當數控系統找不到地址符P指定的程序號時,發出報警。子程序調用指令M98不能在MDI方式下執行,如果需要單獨執行一個子程序,可以在程序編輯方式下編輯如下程序,并在自動運行方式下執行。

× ×××;

M98 P××××;

M02(或M30);

在M99返回主程序指令中,可以用地址符P來指定一個順序號,當這樣的一個M99指令在子程序中被執行時,返回主程序后并不是執行緊接著調用子程序的程序段后的那個程序段,而是轉向執行具有地址符P指定的順序號的那個程序段。例如:

主程序

N10 …;

N20 …;

N30 M98 P1010;

N40 …;

N50 …;

N60 …;

N70 …;

子程序

O1010;

N1020 …;

N1030 …;

N1040 …;

N1050 …;

N1060 …;

N1070 M99 P60;

這種主-子程序的執行方式只有在程序內存中的程序能夠使用。如果M99指令出現在主程序中,執行到M99指令時,將返回程序頭,重復執行該程序。這種情況下,如果M99指令中出現位址符P,則執行該指令。

【例2-1】 在120mm×120mm×23mm的45鋼材料上,使用?18mm的高速鋼立銑刀加工如圖2-1所示的方形臺階,取零件上表面的中心為工件原點,編寫加工程序。

圖2-1 方形臺階

主程序

O7;

N10 G54 G17 G90 G80 G40 G49;(建立工件坐標系,加工狀態初始化)

N20 M03 S560;(主軸啟動)

N25 G00 X-80.0 Y-80.0;(快速定位到毛坯外面一點)

N30 Z50.0;(Z方向降刀)

N40 Z0;

N50 M98 P20008;(調用2次8號子程序銑削加工外形輪廓)

N60 G90 G00 Z150.0;(抬刀)

N70 M05;(主軸停)

N80 M30;(程序結束)

子程序

O8;

N10 G91 G01 Z-4.0 F300;(刀具深度方向每次切深4mm)

N20 G90 G41 G01 X-48.0 D01 F120;(建立刀具半徑補償)

N30 Y48.0;(切削加工)

N40 X48.0;(切削加工)

N50 Y-48.0;(切削加工)

N60 X-80.0;(切削加工)

N70 G40 G00 X-80.0;(取消刀具半徑補償)

N80 M99;(子程序返回)

【例2-2】 在2A12鋁合金材料上使用?8mm的鍵槽銑刀加工如圖2-2所示的字母“N”,每個字母的深度為2mm,工件上表面的左下角點為工件原點,編寫加工程序。

圖2-2 字母“N”形凹槽

主程序

O10;

N10 G54 G17 G90 G80 G40 G49;(建立工件坐標系,加工狀態初始化)

N20 M03 S720;(主軸啟動)

N25 G00 X15.0 Y50.0;(快速定位到第一個字母“N”的左下角角點)

N30 Z40.0;(Z方向降刀)

N40 Z2.0;

N50 M98 P20;(調20號子程序加工字母“N”)

N60 G90 G00 X50.0 Y50.0;(快速定位到第二個字母“N”的左下角角點)

N70 M98 P20;(調20號子程序加工字母“N”)

N80 G90 G00 X85.0 Y50.0;(快速定位到第三個字母“N”的左下角角點)

N90 M98 P20;(調20號子程序加工字母“N”)

N100 G90 G00 X 15.0Y10.0;(快速定位到第四個字母“N”的左下角角點)

N110 M98 P20;(調20號子程序加工字母“N”)

N120 G90 G00 X50.0 Y10.0;(快速定位到第五個字母“N”的左下角角點)

N130 M98 P20;(調20號子程序加工字母“N”)

N140 G90 G00 X85.0 Y10.0;(快速定位到第六個字母“N”的左下角角點)

N150 M98 P20;(調20號子程序加工字母“N”)

N160 G90 G00 Z40.0;(抬刀)

N170 M05;(主軸停)

N180 M30;(程序結束)

子程序

O20;

N10 G91 G01 Z-4.0 F30;(刀具深度方向切深2mm)

N20 G01 Y20.0 F150;(切削加工)

N30 G01 X 20.0 Y-20.0;(切削加工)

N40 G01 Y20.0;(切削加工)

N50 G00 Z4.0;(刀具抬高)

N60 M99;(子程序返回)

【例2-3】 在120mm×120mm×30mm的45鋼材料上,使用合金立銑刀加工如圖2-3所示帶過渡圓角的臺階,取零件上表面的中心為工件原點,編寫加工程序。

圖2-3 帶過渡圓角的臺階

主程序

O0001;

G91 G28 Z0;(機床返回參考點)

G28 X0 Y0;

T01 M06;(調用?10mm的立銑刀)

G90 G54 G17 G80 G40;(機床加工狀態初始化)

M3 S3200;(主軸啟動)

G0 X0 Y-80.;(刀具在水平方向定位到毛坯外一點)

G43 Z50. H1;(降刀)

Z0;

M98 P100002;(調用10次2號子程序)

G0 Z150.;

M5;

M30;

子程序

O0002;

G91 G1 Z-1.0 F200;(每次下刀1mm)

D01;(刀具半徑補償13.0mm)

M98 P3;(調用3號子程序完成外形輪廓加工)

D02;(刀具半徑補償5.0mm)

M98 P3;

M99;(子程序返回)

子程序

O0003;

G90 G1 G42 X-30.;(建立刀具半徑補償)

G2 X0 Y-50. R30.;(圓弧切入工件)

G1 X45.;

G3 X50. Y-45. R5.;

G1 Y45.;

G3X45. Y50. R5.;

G1 X-45.;

G3 X-50. Y45. R5.;

G1 Y-45.;

G3 X-45. Y-50. R5.;

G1 X0;

G2 X30. Y-80. R30.;(圓弧切出工件)

G40 G1 X0;(取消刀具半徑補償)

M99;(子程序返回)

主站蜘蛛池模板: 兰坪| 扬中市| 屯留县| 双辽市| 镇雄县| 闸北区| 双峰县| 江陵县| 长寿区| 乌鲁木齐市| 溧阳市| 武夷山市| 蒙阴县| 宣化县| 曲周县| 宿松县| 扶沟县| 文登市| 定襄县| 绿春县| 阿荣旗| 旅游| 华宁县| 保德县| 攀枝花市| 云霄县| 临泽县| 永昌县| 龙山县| 胶南市| 巨鹿县| 山西省| 星座| 郑州市| 成都市| 东莞市| 涟水县| 怀远县| 马山县| 绩溪县| 扶沟县|