加工中心局部坐标系g52设定_邹军:利用局部坐标系,编写圆周铣孔宏程序案例...

邹军写文章的目标:让每篇文章都能解决你一个问题

分享一个利用局部坐标系完成圆周铣孔宏程序例子。

如下图,零件一周(360度)均匀分布了60个孔。

8ee60da29dbfc697592a005c9435d487.png

螺旋插补加工这60个孔,如果用软件编写程序,程序量非常大,如果机床内存小,估计保存不下这么大的程序。短小精悍是宏程序一大特点,给你分享一个如何用宏程序编写此程序。

讲三个知识点:

一、螺旋插补铣孔

螺旋插补铣刀路就像弹簧一样,有这么一个规律:

c4681902c78c8c109b0ed7510ba49e02.png

每旋转一圈的同时Z需要下一定深度,也就是说Z方向的下刀有规律的递增。

假如我任意设置个变量如#4,并且让#4也有规律的递增。这在宏程序中称作变量的自增运算。

FANUC系统变量自增格式为:#4=#4+1

#4=#4+1其后面的+1代表这个运算式每运算一次变量#4就增加1。(当然,根据需要你也可以+2,代表每运算一次变量#4就增加2。)

如何实现变量的自增运算,这就需要配合宏程序的语句,比如WHILE语句。

FANUC系统的WHILE语句格式如下:

WHILE[    ] DO 2

……

END2

学过英文的人看到此语句应该明白大致意思,当XXX的时候就执行XXX。

中括号中为条件,也就是说中括号中的条件成立,那么就执行WHILE 到END之间的程序。不成立就执行END后面程序。

我们来看具体一个孔的简图,我随意设置了几个变量,如下简图。

比如孔直径#1,孔深#2,刀具直径#3。

8dd20760822a40dddb924cc126cd0335.png

那么注意观察下面的语句,变量#4的自增,是如何配合WHILE语句的。

#4=0

WHILE[#4LT#2] DO 2

#4=#4+1

……

END2

……

我设定的条件是:【#4LT#2】

注意,设置的条件是【#4LT#2】,也就是当#4的值小于#2那么就执行WHILE 到END之间程序。这说明什么?

假如孔深是2,即#2=2

我们看上面程序运行的过程:

#4=0

#2=2

WHILE[#4LT#2] DO 2

#4=#4+1

……

END2

……

1,      程序读取#4,#2后得知变量的值分别为0和3

2,      读取WHILE语句后,得知设置的条件是#4小于#2,那么“机床”判断了下,条件满足,于是就执行WHILE与END之间程序段。注意,条件满足就执行WHILE与END之间程序段。不满足就执行END后面程序段。

3,      在执行WHILE与END之间程序时候,读取了#4=#4+1,此时#4的值为1了。

4,      接着执行下面程序段至到END2程序后返回WHILE语句,“机床”再次做了判断#4小于#2吗?小于#2,所以又执行WHILE与END之间的程序。

5,      机床又读取了#4=#4+1 ,此时#4的值为2,接着又按顺序执行程序段,当程序运行到END后,又返WHIEL语句,机床”再次做了判断#4小于#2吗?此时#4的值为2, 2不小于2,条件不满足了,所以就执行END之后的程序段了。

变量的自增配合WHILE语句,就这么一次次累加起来,至到不满足我们设置的条件。

那么在WHILE与END之间写上螺旋插补铣孔程序段,这不就完成了螺旋插补铣孔程序?

我利用上面WHILE语句结构,添加螺旋插补铣孔程序段,程序如下:

e6008ff1c1fec575cbed4121e51eb401.png

二、G52指令的应用

上面螺旋插补铣孔宏程序,坐标系是以孔为中心来编写的。而实际图纸的孔是在D1200的外圆上,怎么解决呢?

这就用到了G52,在工件坐标系(G54-G59)内再设定子坐标系。

格式:

G52 X_ Y_ Z_   (设定局部坐标系)

……….

G52 X0 Y0 Z0  (注销局部坐标系)

06250c80a6865c21c90adafec9db289d.png

用心看一下上面程序。

用心看下右侧图示。

简单吗?

很有用,不信,你现在把程序和图形对照看三遍,你就秒懂了。

三,宏程序的嵌套

所谓嵌套其实就是一个语句包裹着另外一个语句,比如下面WHILE语句的嵌套。

987109ddfafe99065d8f7809f8757b95.png

“WHILE[#1 GT 0] DO1”包裹着“WHILE[#2 GT 0]DO2”语句!

关于嵌套循环,有很多可圈可点之处,因篇幅原因我直接上程序,简单分析嵌套运行的过程。

2270926eb999a87c0894842e1cc5ab53.png

0bf91389180ab4b82fa6a70f2d0e5cc3.png

上面程序,当程序执行到“WHILE[#5LT360]DO1”这一行的时候,它发现有“DO1”但还不知道与之对应的“END1”在哪,于是它只能按顺序往下执行。

当执行到“WHILE[#4LT#2]DO2”语句时,它发现了“END2”,于是系统就执行“WHILE[#4LT#2]DO2” 与“END2”之间的程序。

当执行完“DO2”与“END2”之间的程序后,也就是螺旋插补铣完一个孔后,条件不满足了,它往END2下面执行,发现了“END1”这时候系统已经知道这是个嵌套循环程序。

于是又返回“WHILE[#5LT360]DO1 语句,再次做判断,看看中括号中的条件满足与否,满足就按顺序执行。不满足也就是一周孔加工完毕,则执行END1后面的G91G28Z0.程序段。

好了,先分享到这儿,好东西,你要学!

特别推荐:

邹军:一套给您赋能的数控高级编程教程

邹军:数控编程高手是如何炼成的

邹军:很多行业顶尖高手,都在悄悄掌握数控刀具知识

8a87a7a954a28eaeb6ad20b83d979d15.png

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值