高级数控编程:子程序调用及编程举例

高级数控编程:子程序调用及编程举例,第1张

高级数控编程:程序调用及编程举例

一次装夹加工多个形状相同或刀具运动轨迹相同的零件,即一个零件有重复加工部分的情况下,为了简化加工程序,把重复轨迹的程序段独立编成一程序进行反复调用, 这重复轨迹的程序称为子程序,而调用子程序的程序称主程序。

子程序的调用

子程序的`调用方法如图1-2所示。需要注意的是,子程序还可以调用另外的子程序。从主程序中被调用出的子程序称一重子程序,共可调用四重子程序,如图1-3所示。

 

在子程序中调用子程序与在主程序中调用子程序方法一致。

格式:M98 P L

说明:P:子程序名

L:重复调用次数,省略重复次数,则认为重复调用次数为1次

例:M98 P123 L3

表示程序号为123的子程序被连续调用3次,如图1-4所示。

子程序中必须用M99指令结束子程序并返回主程序。

应用举例:

加工如图1-5所示轮廓,以知刀具起始位置为(0,0,100),切深为10mm,试编制程序。

图1-6

相关知识点:

●在使用子程序编程时,应注意主、子程序使用不同的编程方式。一般主程序中使用G90指令,而子程序使用G91指令,避免刀具在同一位置加工。

●当子程序中使用M99指令指定顺序号时,子程序结束时并不返回到调用子程序程序段的下一程序段,而是返回到M99指令指定的顺序号的程序段,并执行该程序段。

编程举例:如图1-6所示。

子程序执行完以后,执行主程序顺序号为18的程序段。

华兴数控子程序调用:

G20 子程序调用指令;

G22 子程序定义;

G24 子程序结束返回。

编程实例:假设子程序为 N99

P00(主程序名)

T0101 M8

M3 S800

G0 X100 Z200

G20 N99.** (调用程序库里子程序N99,小数点后面的数字表示调用次数,不编表示只调用一次。子程序结束后进入下一段)

G0 X100 Z200

M5 M9

M2

N99(子程序名)

G22 N99(定义此段程序为子程序N99)

G0 X50 Z0

G1 X0 F100

G0 X50 W1

G24 (子程序结束)

例:在一块平板上加工6个边长为10mm的等边三角形,每边的槽深为-2mm,工件上表面为Z向零点。其程序的编制就可以采用调用子程序的方式来实现(编程时不考虑刀具补偿)。

设置G54:X=-400,Y=-100,Z=-50。

主程序:

O10

N 10 G54 G90 G01 Z40 F2000 //进入工件加工坐标系

N20 M03 S800//主轴启动

N30 G00 Z3 //快进到工件表面上方

N40 G01 X 0 Y8.66 //到1#三角形上顶点

N50 M98 P20 //调20号切削子程序切削三角形

N60 G90 G01 X30 Y8.66 //到2#三角形上顶点

N70 M98 P20 //调20号切削子程序切削三角形

N80 G90 G01 X60 Y8.66 //到3#三角形上顶点

N90 M98 P20 //调20号切削子程序切削三角形

N100 G90 G01 X 0 Y -21.34 //到4#三角形上顶点

N110 M98 P20//调20号切削子程序切削三角形

N120 G90 G01 X30 Y -21.34 //到5#三角形上顶点

N130 M98 P20//调20号切削子程序切削三角形

N140 G90 G01 X60 Y -21.34 //到6#三角形上顶点

N150 M98 P20//调20号切削子程序切削三角形

N160 G90 G01 Z40 F2000 //抬刀

N170 M05//主轴停

N180 M30//程序结束

子程序:

O20

N10 G91 G01 Z -2 F100 //在三角形上顶点切入(深)2mm

N20 G01 X -5 Y-8.66 //切削三角形

N30 G01 X 10 Y 0 //切削三角形

N40 G01 X 5 Y 8.66//切削三角形

N50 G01 Z 5 F2000 //抬刀

N60 M99 //子程序结束


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11150349.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存