首页 理论教育 车削半圆弧剖面螺旋槽的NC程序及宏程序设计

车削半圆弧剖面螺旋槽的NC程序及宏程序设计

时间:2023-06-28 理论教育 版权反馈
【摘要】:图3-51中左图是一个半圆形螺旋槽零件,图中的虚线是粗车后、精车前的轮廓线。如果引入变量,把NC程序改成宏程序,不但可大大减少程序段,而且使用也更方便灵活。先介绍用1个变量的宏程序。O345程序和PP345.MPF程序分别是适用于发那科系统和西门子系统的使用2个变量的加工宏程序。

车削半圆弧剖面螺旋槽的NC程序及宏程序设计

图3-51中左图是一个半圆形螺旋槽零件,图中的虚线是粗车后、精车前的轮廓线。如果使用R3mm的圆头车刀,升速段的长度取螺距的2倍即50mm,精车分25刀(这时相邻两刀间的夹角是7.5°)。在用刀尖圆心(即刀心)做对刀点亦即编程用点的前提下,适用于发那科系统的不用变量的精车NC加工程序为O343。

978-7-111-56182-8-Chapter03-53.jpg

图3-51 精车半圆形螺旋槽的编程用图1

O343;

N08 G54 S160 M03;

N09 T0101;

N10 G00 X200 Z180;

N11 G00 X140;

N12 Z57; (Z1=50+7×cos0°)

N13 X100; (X1=100-14×sin0°)

N14 G32 Z-118 F25;

N16 G00 X140;

N16 Z56.940; (Z2=50+7×cos7.5°)

N17 X98.173; (X2=100-14×sin7.5°)

N18 G32Z-118; ……(隐去N19~N102段)

N103 G00 X140;

N104 Z43.069; (Z24=50+7×cos172.5°)

N105 X98.173; (X24=100-14×sin172.5°)

N106 G32 Z-118;

N107 G32 X140;

N108 Z43; (Z25=50+7×cos180°)

N109 X100; (X25=100-14×sin180°)

N110 G32 Z-118;

N111 G00 X200;

N112 Z180 M05;

N113 M30;

这里不用G92指令而用G32指令编程,是为了便于转换成适用于西门数控系统的程序。

PP343.MPF是适用于西门子系统的不用R参数的精车NC加工程序。

PP343.MPF

N08 G54S160 M03

N09 T1 D1

N10 G00 X200 Z180

N11 G00 X140

N12 Z57; Z1=50+7×cos0°

N13 X100; X1=100-14×sin0°

N14 G33 Z-118 K25

N15 G00 X140

N16 Z56.940; Z2=50+7×cos7.5°

N17 X98.173; X2=100-14×sin7.5°

N18 G33 Z-118 ……(隐去N19~N102段)

N103 G00 X140;

N104 Z43.069; Z24=50+7×cos172.5°

N105 X98.173; X24=100-14×sin172.5°

N106 G33 Z-118

N107 G00 X140

N108 Z43; Z25=50+7×cos180°

N109 X100; X25=100-14×sin180°

N110 G33 Z-118

N111 G00 X200

N112 Z180 M05

N113 M02

以上两个程序很长,各有106个程序段。试切后如果觉得分刀数偏多或偏少,重定分刀数后又要重算重编,非常麻烦。此外,这两个程序只适用于精车。

如果引入变量,把NC程序改成宏程序,不但可大大减少程序段,而且使用也更方便灵活。这就上升到一个新的平台。变量越少,编程越简单,但宏程序的通用性也越差。这里分别介绍用1个变量、2个变量和3个变量的加工宏程序。

先介绍用1个变量的宏程序。O344程序和PP344.MPF程序分别是适用于发那科系统和西门子系统的使用1个变量的加工宏程序。

O344;

N05 #8=0; (#8代表刀尖圆心点所在的角度α,此赋初始值)

N08 G54 S160 M03; (设定坐标系指定转速指定主轴正转)

N09 T0101; (指令刀位号和刀补号)

N10 G00 X200 Z180; (到达总出发点)

N11 G00 X140; (X向到达车螺纹每刀出发点,此段中的G00不可省)

N12 Z[50+7∗COS[#8]]; (动点的Z坐标值)

N13 X[100-14∗SIN[#8]]; (动点的X坐标值)

N14 G32 Z-118 F25; (车一刀)

N15 #8=#8+7.5; (计算下一刀的α值)

N16 IF[#8LE180]GOTO11; (如果α未超过180°就继续车)

N17 G00 X200; (X向回到总退回点)

N18 Z180 M05; (Z向回到总退回点)

N19 M30;

PP344.MPF

N05 R8=0; R8代表刀尖圆心点所在的角度α,此处赋初始值

N08 G54 S160 M03; 设定坐标系指定转速指定主轴正转

N09 T1 D1; 指令刀位号和刀补号

N10 G00 X200 Z180; 到达总出发点

N11 MA1:G00 X140; X向到达车螺纹每刀出发点,此段中的G00不可省

N12 Z=50+7∗COS(R8); 动点的Z坐标值

N13 X=100-14∗SIN(R8); 动点的X坐标值(www.xing528.com)

X14 G33 Z-118 K25; 车一刀

N15 R8=R8+7.5; 计算下一刀的α

N16 IF R8<=180GOTOB MA1; 如果α未超过180°就继续车

N17 G00 X200; X向回到总退回点

N18 Z180 M05; Z向回到总退回点

N19 M02

这两个程序各有13个程序段。变量#8/R8代表车螺旋槽起始处刀尖圆心点所在的角度α,令其等于0是初始值,即第1刀的值。N15段中的7.5是分25刀时相邻两刀间的角度间隔值。试切后如果想改成分31刀车,把此值改成6即可。

改变分刀数就必须改变程序中某段等式中的一个数据,这在更改过程中容易出错。如果再增加一个变量,情况就会改善。O345程序和PP345.MPF程序分别是适用于发那科系统和西门子系统的使用2个变量的加工宏程序。

O345;

N05 #8=0; (#8代表刀尖圆心点所在的角度α,此处赋初始值)

N07 #15=7.5; (两刀间的角度间隔Δα,它必须能把180除尽)

N08 G54 S160 M03; (设定坐标系,指定主轴转速且主轴正转)

N09 T0101; (指令刀位号和刀补号)

N10 G00 X200 Z180; (到达总出发点)

N11 G00 X140; (X向到达车螺纹每刀出发点)

N12 Z[50+7∗COS[#8]]; (动点的Z坐标值)

N13 X[100-14∗SIN[#8]]; (动点的X坐标值)

N14 G32 Z-118 F25; (车一刀)

N15 #8=#8+#15; (计算下一刀的α值)

N16 IF[#8LE180]GOTO11; (如果α未超过180°就继续车)

N17 G00 X200; (X向回到总退回点)

N18 Z180 M05; (Z向回到总退回点)

N19 M30;

PP345.MPF

N05 R8=0; R8代表刀尖圆心点所在的角度α,此处赋初始值

N07 R15=7.5; 两刀间的角度间隔Δα,它必须能把180除尽

N08 G54S160 M03; 设定坐标系,指定主轴转速且主轴正转

N09 T1D1; 指令刀位号和刀补号

N10 G00 X200 Z180; 到达总出发点

N11 MA1:G00 X140; X向到达车螺纹每刀出发点

N12 Z=50+7∗COS(R8); 动点的Z坐标值

N13 X=100-14∗SIN(R8); 动点的X坐标值

N14 G33 Z-118 K25; 车一刀

N15 R8=R8+R15; 计算下一刀的α

N16 IF R8<=180GOTOBMA1; 如果α未超过180°就继续车

N17 G00 X200; X向回到总退回点

N18 Z180 M05; Z向回到总退回点

N19 M02

新增加的变量#15(R15)代表起始处相邻两刀间的间隔角度值,令此角度为7.5°对应的是车25刀。用2个变量后,要想改变分刀数,只需改变程序中N07段内等号后的数据即可。这两个程序各有14个程序段。

这里还有一个小小的限制,那就是所赋的数值必须能把180除尽。而要想把这个限制去掉,就得再引入一个变量。O346程序和PP346.MPF程序分别是适用于发那科系统和西门子系统的使用3个变量的加工宏程序。

O346;

N05 #8=0; (#8代表刀尖圆心点所在的角度α,此处赋初始值)

N06 #7=25; (#7代表精车分刀数N

N07 #15=180/[#7-1]; (#15代表两刀间的角度间隔Δα

N08 G54 S160 M03; (设定坐标系,指定主轴转速,指定主轴正转)

N09 T0101; (指令刀位号和刀补号)

N10 G00 X200 Z180; (到达总出发点)

N11 G00 X140; (X向到达车螺纹每刀出发点)

N12 Z[50+7∗COS[#8]]; (动点的Z坐标值)

N13 X[100-14∗SIN[#8]]; (动点的X坐标值)

N14 G32 Z-118 F25; (车一刀)

N15 #8=#8+#15; (计算下一刀的α值)

N16 IF [#8LE180]GOTO11; (如果α未超过180°就继续车)

N17 G00 X200; (X向回到总退回点)

N18 Z180 M05; (Z向回到总退回点)

N19 M30;

PP346.MPF

N05 R8=0; R8代表刀尖圆心点所在的角度α,此处赋初始值

N06 R7=25; R7代表精车分刀数N

N07 R15=180/(R7-1); R15代表两刀间的角度间隔Δα

N08 G54 S160 M03; 设定坐标系,指定主轴转速,指定主轴正转

N09 T1D1; 指令刀位号和刀补号

N10 G00 X200 Z180; 到达总出发点

N11 MA1:G00 X140; X向到达车螺纹每刀出发点

N12 Z=50+7∗COS(R8); 动点的Z坐标值

N13 X=100-14∗SIN(R8); 动点的X坐标值

N14 G33 Z-118 K25; 车一刀

N15 R8=R8+R15; 计算下一刀的α

N16 IF R8<=180 GOTOB MA1; 如果α未超过180°就继续车

N17 G00 X200; X向回到总退回点

N18 Z180 M05; Z向回到总退回点

N19 M02

新增加的变量#7/R7代表分刀数。原来需要赋值的变量#15/R15这里不用赋值(已经用已知值变量的算式给它赋值了),所以需要赋值的仍然是两个变量。改用3个变量后,分刀数就不受限制了。这两个程序各有15个程序段。

变量还可以一个一个地增加,这里不再详列。变量数越多,宏程序的通用性越好。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈