铣床网,温度计,古龙,果蔬,红军
当前位置:主页 > 文章 > 正文

车床宏程序车网纹,用数控车床车一个外圆,宏程序应该怎么写?需要注意什么?

时间:

针对这个问题,可分为两个方面进行回答,第一,如何针对一个外圆编制宏程序?第二,需要注意什么事项?

一、编程方面

首先,以一个外圆加工为例,毛坯直径为100mm,系统为FANUC。

加工思路:采用90°外圆车刀,背吃刀量为2mm,即每次直径去除4mm!

1.采用WHILE[ 表达式]DO1

....

END1

主要参考程序如下:

%O1

G99M3S1000T0101

G0X102

Z2

#1=100

#2=80

WHILE[#1GE#2]DO1

#1=#1-4

G01X#1F0.1

Z-40

G0X102

Z2

END1

Z100

M5M30

仿真效果如下图所示:

2.采用IF[ 表达式]GOTON

参考程序如下:

%O2

G99M3S1000T0101

G0X102

Z2

#1=100

#2=80

N1#1=#1-4

G01X#1F0.1

Z-40

G0X102

Z2

IF[#1GE#2]GOTO1

Z100

M5M30

二、注意事项

通过以上两种编程方法,不难看出,宏程序其实并不难,难的是思路和语法问题!但是在用宏程序时,个人认为有以下三点需要特别注意一下!

1.首先,这个零件的加工是否适合采用宏程序?本例可以采用G90,G80等单一外圆车削指令就可以,没必要这么麻烦。所以,要根据具体的零件来选择什么就时候用宏!

2.以上宏程序的编制是采用FANUC系统,如果你用的是其它数控系统,那么在语法上就有区别了,比如:

1)华中系统

WHILE[#1GE#2];没有DO1

#1=#1-4

G01X#1F0.1

Z-40

G0X102

Z2

ENDW;END1改为ENDW

其它是没有任何地方需要修改的!

2)新代系统

WHILE(#1>=#2)DO;GE改>=,DO1变改DO

#1=#1-4

G01X#1F0.1

Z-40

G0X102

Z2

ENDWHILE;END1改ENDWHILE

如果是IFGOTO

N1;

#1=#1-4;

G01X#1F0.1;

Z-40;

G0X102;

Z2;

IF(#1>=#2)GOTO1;

ENDIF

此外,在新代系统中还有其它的注意事项,在此就不一一区别了!

3)西门子系统

R1=100

MA1:R1=R1-4

G1 X=R1F0.1

Z-40

G0X102

Z2

IFR1>=80GOTOBMA1

Z100

注意西门子和以上的语法的区别!

4)广数系统

广数系统,有的支持A类宏程序,需要利用G65调用,个人认为比较麻烦,比如

无条件转移语句GOTO 1,采用A类:

G65H80P1=GOTO 1

G65H81就是有条件转移的了!

有的支持B类宏程序,B类基本上和发那科区别不大,可以直接使用!

3.在编制程序或校验程序时,有的时候宏的思路是对的,格式也对,但是就是不运行。因此特别要注意一些变量较多时,建议大家给每一个变量赋值,不然系统有时是无法识别的,这里面的道理不好解释,如果你学过电脑编程的话,应该能明白这个道理,是语法的问题!

最后,针对这个问题,通过以上两个方面进行回答,不知是否解释清楚了,本人水平有限,不当之处,请批评补充,祝好!

本人曾经从事数控十几年,也很热爱这个行业。不敢说自己技术有多么高超,但绝对担得起数控业的中坚力量。残酷的现实让我不得不放弃这个行业,真是感慨万千啊。做数控找不到老婆、买不起房!这是我个人悲哀,可能也是许多现今技术工人的悲哀吧!如今只能在这里寄托一丝情怀……