前段时间,有一师傅接了一批零件,其中有一处需要在数车上加工类似抛物线的轮廓外形,这师傅在数控这行也干了快10多年了,眼看没招,不知道程序如何编写程序,因为他不会宏程序,遇到这种曲线类的零件就傻眼了。
让我给帮帮忙,我用了不到5分钟,帮它编写好了这个程序。
我为什么能够这么快的编写出程序呢?
因为我有一套非常好用的“框架模型编程法”,现成的框架,按照框架来编写,依然一个非常好的宏程序就编写出来了。
模型化编程分为两步:
第一步:设置变量
第二步:复制案例模型
第一步:设置变量
有些变量你一看就知道如何去设置,还有些变量需要我们推理计算得到。
如何设置以及推理计算得到变量?
方法如下:
举个例子,比如在数控车上精加工轮廓曲线(如下简图):
我们知道,不论是圆弧、直线或者曲线,它都是由无数个小点组成的,然后点与点之间用小线段连接起来,从而构成了直线,圆弧,或者曲线。如果点的位置相互紧密,那么加工出来的轮廓就光滑。如下图:
那么我们来看刀路:沿着轮廓曲线走刀即可完成精加工程序。
精加工刀路就这么简单,通过G01X___ Z____ 两轴插补即可完成曲线的加工。
军哥我上面说了:通过走刀路线找出刀路规律
有什么规律呢?
分析如下:
曲线轮廓上随意取了几个点,曲线方程式中的X,Z就表示某一个点在曲线坐标系中的位置,让这个点的位置不断发生变化,并且用G01X___ Z___依次链接这些点位坐标,这就构成了曲线。
规律1:曲线方程式中的X,Z就表示某一个点在曲线坐标系中的位置,给X一个值,那么就会对应个Z值,X与Z满足方程式。(备注:这个曲线方程式中,X为半径,数车上是直径编程,后面需要转换,详见后面程序的转换)
规律2:让这个点的位置不断发生变化, 军哥以往分享过变量的自增减,在这就不在赘述,通过变量的自增减,从而使点位有规律的变化。
根据规律1:我设#24(X)为因变量, #25(Z)为自变量
备注:所谓自变量就是自身会主动发生变化,因变量,是因为其它变量变化而发生变化的变量,属于被动变化
比如:
#24=0
#25=32-[#24/2]*[#24/2]/8
…..
那么#25的结果就是32
如果#24=1那么 #25的结果就是31.969;
如果#24=2 ,那么 #25的结果就是31.875
当#24发生变化,#25也就因#24的变化而变化;#24就属于自变量,#25就属于因变量
根据规律2:我让变量#24自增,即#24=#24+0.1 (变量后面加的数值越小,那么这个曲线上的点位取的就越密集,这样加工出来的轮廓就越光滑)
备注:变量自增是有范围的,自增到多少呢?也就是不超过32,因为曲线(X)值为32
好了,军哥我一边分析一边设了变量,也就是我们设变量的思路框架是这样的:
1, 确定走刀路线,通过走刀路线找出刀路规律;
2, 有数学公式的,变量带入数学公式;
3,没数学关系公式的,可以建立数学关系式,推理求出变量;
设置完变量后,我们第二步复制案例模型结构。
军哥之前说过,能不能编写宏程序就看你心中有没有案例模型,关于案例模型军哥的宏程序系统教程有详细的思路分析,在这直接给程序:
程序如下:
%01111
T0101
S100M03
G00 X0 Z34
#24=0(从X=0处车,赋值为0)
WHILE [#24 LE32]DO1(判断曲线段车完与否)
G01 X#24 Z#25 F100
#24=#24+0.01 (变量自增)
#1=#24/2 (转换为半径)
#25=32-[#1*#1/8] (曲线方程式)
END1
G00 X80 Z100
M30
程序仿真如下:
好了,粗加工程序如何编写呢?
还是按照上面说的设变量的思路框架来分析:
假如毛坯是D34的棒料,首先确定走刀路线
上图为刀路示意图简图:
由毛坯最外(X方向)下刀,然后(Z方向)切削,抬刀,退回下刀点;
(X方向)继续下到一定深度,然后(Z方向)切削,抬刀,退回下刀点;
这样依次循环,类似G90外圆粗车循环。
通过刀路我们发现什么规律?
规律1:粗车的时候X,Z坐标点数值也满足曲线方程式,给X一个值,那么就会对应个Z值,X与Z满足方程式。
规律2:每层切深有规律的递减;(假如每层切2mm ) 第一刀:毛坯D34----D32
第二刀:D32-D30 依次类推。很容易想到军哥讲过的变量递减
根据规律1:我设#24(X)为因变量, #25(Z)为自变量
根据规律2:我让变量#24自减,即#24=#24-1 (后面减1,也就是每层切1mm深)
复制上面精加工案例,然后稍作修改(红色部位为修改的地方)
%01111(微信SOSCNC)
T0101
S100M03
G00 X34Z34 (下刀点)
#24=34(赋值为34,毛坯D34)
T0101
M03 S600
WHILE [#24GE 0]DO1(判断粗车完了没)
G90X#24 Z#25F100 (外圆粗车循环)
#24=#24-1(变量自减)
#1=#24/2 (转换为半径)
#25=32-[#1*#1/8] (曲线方程式)
END1
G00 X80 Z100
M30
程序仿真如下:
好了,军哥我经常说玩宏就是玩变量,如果把编写宏程序看做100分的化,那么设置变量就占到80分。如何去设置变量,方法是军哥的三步框架方法:
1, 确定走刀路线,通过走刀路线找出刀路规律;
2, 有数学公式的,变量带入数学公式;
3,没数学关系公式的,可以建立数学关系式,推理求出变量;
尤其是走刀路线的取舍,这将决定我们如何去编写宏程序。
军哥再举个例子:
比如下面这张图(加工中心上铣椭圆)为例子
1, 确定走刀路线(如下图)
那么刀具沿着椭圆轮廓依次走刀,然后在回到起始点,(从1-2-3-4-5在回到起点1)
规律1:由起点1走一圈在回到起点1,也就是从0度到360°。很容易想到设个角度变量来判断一圈是否走完了。
如:角度变量 ----#1
WHILE [#1LE360 ]DO1 (一圈是否走完)
规律2:刀具沿着椭圆轮廓走刀,那么轮廓上任意一点的X,Y坐标值满足椭圆参数方程式X=a*COSθ Y=b*SINθ
设:椭圆某点变量为:
#24 (X方向)
#25(Y方向)
变量代入方程式即:
#24=35*COS[#1]
#25=15*SIN[#1]
设置完变量后,我们第二步复制案例模型结构。直接上程序:
O0001
G54G00X50.Y0
S1000M3
G00G42X40.Y-5.0D1M08
G02X35.Y0.R5.0F100 (圆弧进刀)
#1=0 (角度初始值)
WHILE[#1LE360]DO1(
#1=#1+0.5 (角度增量)
#24=35*COS[#1] (X)
#25=15*SIN[#1] (Z)
G01X#24Y#25F100
END1
G02X40.0Y5.R5F100 (圆弧退刀)
G0G40X50Y0.
M30
好了,如果分层铣?程序又如何编写呢?
还是先看刀路,(如上图):
具轨迹从第一层到最后一层,每层的刀路除了深度不同外,形状与上一个刀路都是相同的。
规律1:每一层刀路轨迹都是一样,那么编写程序的时候只需要编写一层的程序(如上面程序,只有一层的程序)
规律2:深度变化,逐渐递减,很容易想到深度设变量,让变量自减,如#10=#10-1(变量#10每运算一次,深度方向下降1mm
变量设置完毕,我们第二步复制案例模型结构。
这个程序有两次判断:
第一次:判断椭圆一圈是否加工完(从0°-360°)
第二次:判断深度是否加工到尺寸
我们复制二次嵌套案例模型(一层包着一层的程序结构);
先判断一圈是否加工完,然后在判断深度是否加工到位,那么一圈是否加工完,需要放在里层,里层的一圈加工完,在跳到外层,执行深度方向的判断……
好了,直接上程序。更进一步思路上的分析推荐大家看看我系统宏教程,一步一个脚印,让你学到绝活!
O0001(微信:SOSCNC)
G54G00X50Y0.
S1000M3
#10=-2.(深度变量初始赋值 )
WHILE[#10GE-10]DO1 (判断深度方向是否到尺寸)
G01Z#10F100.
G00G42X40.Y-5.0D1M08
G02X35.Y0.R5.0F100
#1=0 (角度变量初始赋值)
WHILE[#1LE360]DO2 (判断椭圆一圈是否加工完)
#1=#1+0.5 (角度变量自增 )
#24=35*COS[#1]
#25=15*SIN[#1]
G01X#24Y#25F100
END2
G02X40.0Y5.R5F100
G0G40X50Y0.
#10=#10-1. (深度变量自减)
END1
M30
程序仿真如下:
好了,有了上面分享,加工内椭圆,如下图纸:
参数方程式X=a*COSθ Y=b*SINθ
设:椭圆某点变量为:
#24 (X方向)
#25(Y方向)
直接上程序如下:
O0001
(10DIA.)
G54G00X0.Y0.
S1000M3
#10=-2.
WHILE[#10GE-10]DO1
G01Z#10F100.
G00G41X22.Y-8.0D1M08
G03X30.Y0.R8.0F100
#1=0
WHILE[#1LT360]DO2
#1=#1+0.01
IF[#1GE360 ]THEN#1=360
#24=30*COS[#1]
#25=50*SIN[#1]
G01X#24Y#25F100
END2
G03X22.Y8.R8F100
G0G40X0Y0
#10=#10-1.
END1
M30
仿真如下:
好了,今天就分享到这里,学绝活关注邹军爱数控,让你成为有经验的编程高手。扫描关注邹军爱数控微信公众号:cnc120
领取专属 10元无门槛券
私享最新 技术干货