FANUC系统多头螺纹的编程方法
发那科多头螺纹加工方法 在加工每条螺纹时,起刀点要移动一个螺距的距离,使用G92车床螺纹加工指令即可加工出多头螺纹。 G92指令格式: G92 X(U)_ Z(W)_F_; 其中x,z是螺纹重点坐标,F是导程值, T0101 M3S600 #1=8 N10 G0X30 Z[#1] G92X23.2 Z-50 F6 X22.6 X
发那科多头螺纹加工方法
在加工每条螺纹时,起刀点要移动一个螺距的距离,使用G92车床螺纹加工指令即可加工出多头螺纹。 G92指令格式:
G92 X(U)_ Z(W)_F_;
其中x,z是螺纹重点坐标,F是导程值,
T0101
M3S600
#1=8
N10 G0X30 Z[#1]
G92X23.2 Z-50 F6
X22.6
X22.4
X22.24
#1=#1-1.5
IF [#1 GE 5] GOTO 10
G0 X100 Z100
M5
M30
数控车床车滚花加工宏程序
滚花加工大多在普通车床上进行,但利用宏程序通过精巧的宏程序也能加工出滚花效果 1 多头螺纹车削功能车网纹花
此加工原理是将网纹看成正反交错的多头螺纹。传统的加工工艺为先车制除滚花及φ1.6孔以外的工序,再用搓花工装搓花,最后加工φ1.6孔。由于滚花处形位公差要求比较高,且二次装夹造成了工期长,废品率高。后改用新的加工工艺,由于零件的所有工步是一次装夹完成,所以加工精度很容易得到保证。具体宏程序如下:
CNC纵切自动车床(走心式)多头螺纹的指令格式:
<1>
G32IP- F- Q- ; (IP- : 终点 ,F- : 长轴方向螺距 ,Q- : 螺纹起始角 )
…………
N4:
T0404 M03 S200; 调4号刀;主轴正转
G0X5. Z-2.; 至循环起始点
#1=0; 设定螺纹角度起始点
WHILE[#1LT360000]DO1; 设定循环条件
G0X2.85; 进入坐标起点
G32Z5.5 F12. Q#1; 车螺纹
X5.
G0Z-2.; 返回循环起始点 #1=[#1+24000]; 设定下一个螺纹角度起始点 END1;
T0; 取消刀补
M05;
T0404 M04 S200; 以下车左旋螺纹
G0X5. Z-2.;
<2>
#1=0;
WHILE[#1LT360000]DO1;
G0X2.85;
G32Z5.5 F12. Q#1;
X5.
G0Z-2.;
#1=[#1+24000];
END1;
T0;
M05;
…………
2 利用乱扣现象车网纹花
乱扣是车螺纹时的一种常见现象。利用这一现象也可以车出网纹花。但此方法比较适宜螺纹头数少且螺旋升角小的滚花零件,同时可提高主轴转速。应用时还看具体情况,本文旨在介绍一种方法。如图1零件。程序如下:
…………
N4:
T0404 M03 S1200; 调4号刀;主轴正转
G0X5. Z-2.; 设定循环起始点
#1=-2.; 设定进刀起点(Z轴)
#2=-14.; 设定进刀终点(Z轴)
WHILE[#1GE#2]DO1; 设定循环条件
G32X2.85 Z 5.5 F12.; 车螺纹
G0X5.
#1=[#1-1.G0Z#1;
X2.85
END1;
<3>
G0X20.;
T0;
M05;
T0404 M04 S1200; 以下车左旋螺纹
G0X5. Z-2.;
#1=-2.;
#2=-14.;
WHILE[#1GE#2]DO1;
G32X2.85 Z 5.5 F12.;
G0X5.
#1=[#1-1.];
G0Z#1;
X2.85;
END1;
G0X20.;
T0;
M05;
…………. 3 利用主轴锁定功能车直纹滚花
此方法的加工原理是主轴锁定后(分度值越小越好,有利于精确分度),在被加工零件表面
纵向拉出一条条沟槽,连续的沟槽就构成了直纹滚花。如图2零件,程序如下:
…………
N5;
M50; 主轴锁定 T0606 G0X5.2 Z-2.; 设定起点 #1=0;
WHILE[#1 LT 359.]DO1; 设定循环条件 <4>
G0 C#1; 角度起点 G01 G98 Z5. F300 ; 进刀 U0.5 ; 退刀 G0 Z-2.;
X5.2
#1=[#1+12.] ; 设定下一角度 END1 ;
G0X20. Z-1. ;
M51 ; 主轴锁定解除
T0 ; 取消刀补
由浅入深宏程序9-车床旋转椭圆宏程序的编制
要对斜椭圆进行编程,首先要知道单个坐标点旋转所用的公式。如下图所示,单个点逆时针旋转一定角度,
公式推导如下: s = r cos(a + b) = r cos(a)cos(b) r sin(a)sin(b) (1.1) t = r sin(a + b) = r
sin(a)cos(b) + r cos(a) sin(b) (1.2) 其中 x = r cos(a)
要对斜椭圆进行编程,首先要知道单个坐标点旋转所用的公式。如下图所示,单个点逆时针
旋转一定角度,公式推导如下:
s = r cos(a + b) = r cos(a)cos(b) – r sin(a)sin(b) (1.1) t = r sin(a + b) = r sin(a)cos(b) + r cos(a) sin(b) (1.2)
其中 x = r cos(a) , y = r sin(a)
代入(1.1), (1.2) ,
s = x cos(b) – y sin(b) (1.3)
t = x sin(b) + y cos(b) (1.4)
根据下图,原来的点(#1,#2),旋转后的点(#4,#5),则公式:
#4=#1*COS[30]- #2*SIN[30]
#5=#1*SIN[30]+ #2*COS[30]
下图中椭圆旋转了30度,即#1=30旋转前后的点坐标的坐标原点都是椭圆中心。
程序如下:
T0101
M3S800
G0X82Z5
#6=16 工件毛坯假设为直径90mm,#6为每层切削时椭圆弧向+X的偏移量。 N5 G0X[#6+30+40] 斜椭圆与端面的交点直径为70
G1Z0F0.1
#3=0
N10 #1=30*COS[#3] 对应角度#3的椭圆上的一个点的坐标,此为未旋转的椭圆上的点
#2=20*SIN[#3]
#4=#1*COS[30]- #2*SIN[30] 旋转30度之后的坐标值
#5=#1*SIN[30]+ #2*COS[30]
#7=2*#5+#6+40 坐标平移后的坐标。
#8=#4-26
G1X[#7]Z[#8]F0.1 沿小段直线插补加工
#1=#1+3 递减3度,此值越小,工件表面越光滑。 IF [#1 LE 90] GOTO 10条件判断是否到达终点。
G1X92 直线插补切到工件外圆之外 G0Z5
#6=#6-4
IF [#6 GE 0] GOTO 5 G0X150Z150
M5
宏程序编制-左右交替切削梯形螺纹
梯形螺纹宏程序编制,左右交替加工
数控车加工梯形螺纹,用宏程序左右车削编程加工
用成型刀加工,刀宽1mm,螺纹槽槽底宽度1.6mm,螺距为6mm,尺寸如图所示:
图片1
图片2 每次切深0.2mm,左右交替切削,编程如下: T1D1
M3S800
G0X62Z10
R1=0.6 左右交替切削的距离
R2=0.2 每次切深0.2mm
R4=10 Z轴初始值
KK: R3=60-2*R2 每次走刀的加工直径
R4=R4+R1 每次走刀的起点Z坐标
G0X=R3 Z=R4 定位的起刀点
G33 Z-55 K6 完成本次切削
G0X62 退刀
Z10 移至工件外
R1=-1*R1 使R1值变号,以此实现左右交替
R2=R2+0.2 切深递进
IF R2<=4 GOTOB KK 判断是否到达切深 G0 X52 Z=R4+R1 因为切到槽底时只有一侧先到达,另一侧也需加工
G33 Z-55 K6 完成另一侧槽底加工 G0X100
Z100
M5
M30
利用宏程序编制数控车床斜椭圆程序
编程计算题:请利用宏程序或子程序编制粗、精加工程序 答案: 提示:如果采用三角函数计算椭圆起点和终点,会造成一定的计算误差。所以应该采用坐标系的平移和角度变换进行计算。 已知AB=20AOB=30 求出AOB=AB/AO AO=40 所以椭圆长轴为40短轴为30 在xoy坐标系
编程计算题:请利用宏程序或子程序编制粗、精加工程序
答案:
提示:如果采用三角函数计算椭圆起点和终点,会造成一定的计算误差。所以应该采用坐标系的平移和角度变换进行计算。
已知AB=20 ?AOB=30
求出 ?AOB=AB/AO
AO=40
所以椭圆长轴为40短轴为30
在xoy坐标系中求出起点与终点
起点x=37.7 y=10
在XOY坐标系求椭圆起点:X=xCOS30+ySIN30
X=37.7*COS30+10*SIN30
X=37.649 将x=-10 y=28.55代入公式求出椭圆终点:
X=xCOS30+ySIN30
X=5.6125 将计算出的起点和终点值带入公式X=A*COSα求出起点和终点的角度值:
起点:37.649=40COSα
COSα=0.941225
?α=-19.741
终点:5.6125=40*COSα
COSα=0.1403125
?α=81.93
参考加工程序为:(西门子802D)
G40G64
T1D1
M3S1200
G0X100Z2
R1=10
N1 G1X=R1+60 Z0
Z-12.3
R2=-19.741
N2 R3=40*COS〈R2〉
R4=30*SIN〈R2〉
R5=R3*COS〈30〉-R4*SIN〈30〉 R6=R3*SIN〈30〉-R4*COS〈30〉 G1X=R1+40+2*R6 Z=R5-50 R2=R2+1
IF R2〈=81.93 GOTOB N2
G1X=R1+97.1 Z=-60
Z-110
G0X150
Z2
R1=R1-2
IF R1〉=0 GOTOB N1
G0X100
Z150
M5
M2
车床椭圆宏程序 粗精加工宏程序
椭圆宏程序,最经典,最需要掌握的,也是比较基本的一种车床宏程序,希望对朋友们有帮助
图片1
G99G40G21
M03S700
G0X42Z5
(开始粗加工,从外分层向里切)
#2=18 设置分层初始值
N10 #1=30*SQRT[1-#2*#2/20*20] 计算椭圆上对应#2=18的#1值 #3=2*#2 计算X轴坐标值
#4=#1-30+0.1 计算Z轴坐标值,0.1为给精加工留的余量 G0X[#3] 刀具快速移动至切削直径
G1Z[#4]F0.2 第一层走刀
G1U2 利用增量坐标从切削直径向外退离工件1mm G0Z5 快速退刀至Z5,为下次进刀做准备
#2=#2-2 变量递减2mm,作为下次切削直径
IF #2GE0 GOTO 10 终点判断,是否到达0,等于0时也会切削,之后-2时会跳出循环,执行下一段
(精加工,从工件坐标系远点开始切削椭圆,用小直线段模拟椭圆进行加工) M03S1500
G0X0
G1Z0F0.1
#2=0 初始值与粗加工不同
N20 #1=30*SQRT[1-#2*#2/20*20] #3=2*#2
#4=#1
G01X[#3]Z[#4]F0.1
#2=#2+0.5 这里0.5决定了划分的小段直线大小,值越小加工出来的椭圆面越光滑
IF #2LE20 GOTO 20
G0X100Z100
M5
M30
巧用G50实现一次装夹,多件加工
G50W_; 的含义
假设加工2mm的垫片,为了节省时间,可以一次装夹加工6个,但工件内径只用
一次加工。在切了第一片后执行G50W4,使坐标系向负向偏移4mm(2.0厚
+1.5mm切刀+0.5mm余量),再加工,总偏移5次,最后退到合适位置,再执行
G50W-20.0把整个坐标系的偏移量全偏移回来,即恢复原状。
G50 X_Z_; 当其为绝对坐标值时,X_Z_就是指当前刀具位置,即指定刀具当前位
置,建立坐标系(可由其指定的坐标值反推出坐标原点的位置)。
如果是增量(G50 W_),则用指令值该值与原来的刀具位置坐标值相加建立新的
坐标系,但刀具位置不变,坐标系偏移。
坐标系向负方向移动,比如原来刀具在Z50,而执行完G50W10后,刀具位置变为
Z60,执行此句时,机床并未移动,只是坐标系向卡盘方向移动10mm
所以机床在执行G50W-4 这句时,机床不动,但只是坐标系向卡盘方向偏移4,而再执行原来的程序时,
就会按照新的坐标系执行。
车削编程如何判断圆弧的顺逆方向
车床车削圆弧顺逆方向判断规则
车床车削刀补方向判断1
车床刀补方向判断2
车床车削编程时,刀补方向的判断依据:对于后置刀架,沿着刀具前进的方向看去(观察者在刀具后面,向着刀具前进的方向观察),刀具在编程轨迹的右侧则使用右刀补G42;在左侧的,则使用左刀补G41。 所以同样切削外圆表面,向左走刀和向右走刀,其使用的刀补方式也不一样。对于前置刀架,情况正好相反,如下图所示。
总规则:无论前置刀架还是后置刀架,编程时都只看车床零件图纸轴线上半部分图形,即全都按照后置刀
架的依据判断。
刀补方向判断3
车床刀补方向判断4
手柄零件图及椭圆宏程序
西门子椭圆宏程序,fanuc椭圆宏程序,发那科车床宏程序教程
毛坯直径20mm,外圆车刀刀尖圆弧0.4mm
手柄fanuc宏程序
O123
T0101;
M3S800;
G90G0X25Z3;
#5=18;
N10 G0X[#5];
G1Z0F0.2;
#1=14.8;
N20 #2=9*SQRT[1-#1*#1/225];
#3=2*#2+#5;
#4=#1-15;
G1X[#3]Z[#4];
#1=#1-0.6;
IF[#1 GE -6.87]GOTO 20;
G1X[16+#5]Z-21.87 G2X[16+#5]Z-47.28R43;
G1Z-60;
X25;
G0Z3;
#5=#5-2;
IF[#5GE0]GOTO 10; G0X100;
Z100;
M5;
M30;
手柄图纸
Siemens宏程序
主程序:
T1D1
M3S800
G90G0X22Z3 CYCLE95(―L1‖, ……… )
G0X100
Z100
M5
M30
子程序L1:
G0X0
G1Z0
R1=14.8
KK:R2=9*SQRT(1-R1*R1/225)
R3=2*R2
R4=R1-15
G1 X=R3 Z=R4
R1=R1-0.6
IF R1>=-6.87 GOTOB KK
G1X16Z-21.87
G2 X16 Z-47.28 CR=43
G1Z-60
X22
RET
由浅入深宏程序8-车床任意位置椭圆宏程序的编制
不在轴线上的椭圆宏程序编制也没有什么特殊的,只是改下偏置的数值罢了。 椭圆的参数方程为: X=a*COS Y=b*SIN 可改写为: #1=30*cos[#3] #3 为参数方程对应的中角度 #2=20*sin[#3]
图中椭圆长半轴 30mm ,短半轴 20mm ,椭圆中心位置如图所示,不在轴线上,
不在轴线上的椭圆宏程序编制也没有什么特殊的,只是改下偏置的数值罢了。 椭圆的参数方程为:X=a*COSθ
Y=b*SINθ
可改写为: #1=30*cos[#3] #3为参数方程对应的中角度
#2=20*sin[#3]
图中椭圆长半轴30mm,短半轴20mm,椭圆中心位置如图所示,不在轴线上,因此在计算编程
所用的坐标值时,X方向要再加上40,Z方向要减去30+10=30 相应程序如下:
T0101
M3S800
G0X82Z5
#6=36
N5 G0X[#6+40]
G1Z-10F0.1
#3=0
N10 #1=30*COS[#3]
#2=20*SIN[#3]
#4=2*#2+#6+40 计算出的为半径值,需转化为直径值才能与直径编程对应。
#5=#1-30-10
G1X[#4]Z[#5]F0.1 沿小段直线插补加工
#1=#1+3 递减3度,此值越小,工件表面越光滑。 IF [#1 LE 90] GOTO 10条件判断是否到达终点。
G1X82 直线插补切到工件外圆之外 G0Z5
#6=#6-4
IF [#6 GE 0] GOTO 5
G0X150Z150
M5
M30
由浅入深宏程序6-利用椭圆标准方程编制数控车宏程序 如果看了前几篇,那么接下来这两篇加工椭圆的宏程序应该很容易理解。 椭圆标准方程X*X/a*a+Y*Y/b*b=1 ,其中a为长半轴,b为短半轴,若将X和Y用参数变量代替可改写为 #1*#1/a*a+#2*#2/b*b=1 椭圆可沿长半轴#1方向划分成无数小段直线,然后求出其相应端点坐标
如果看了前几篇,那么接下来这两篇加工椭圆的宏程序应该很容易理解。
椭圆标准方程X*X/a*a+Y*Y/b*b=1,其中a为长半轴,b为短半轴,若将X和Y用参数变量代替可改写为#1*#1/a*a+#2*#2/b*b=1
椭圆可沿长半轴#1方向划分成无数小段直线,然后求出其相应端点坐标,再求出相对的数控车床中的坐标,再按直线进行编程加工。如下图所示:
图片1
假设椭圆a=30,b=20,只加工半个椭圆,则此段椭圆精加工轨迹为: G0X0
G1Z0F0.1
#1=30
N10 #2=20*SQRT[1-30*30/#1*#1] SQRT表示开平方 #3=#1-30 椭圆的原点在工件坐标左侧30,所以椭圆上所有点坐标Z要减20 #4=2*#2 方程计算出的为半径值,需转化为直径值才能按直径编程。 G1X[#4]Z[#3]F0.1 沿小段直线插补加工
#1=#1-1 递减一小段距离,此值越小,椭圆越光滑。
IF [#1GE0] GOTO 10 条件判断是否到达终点。
G1X42 直线切出外圆
如果要再加上分层的粗加工,设偏移量为#5,则程序改为
T0101
M3S800
G0X42Z5
#5=36
N5 G0X[#5]
G1Z0F0.1
#1=30
N10 #2=20*SQRT[1-30*30/#1*#1] SQRT表示开平方 #3=#1-30 椭圆的原点在工件坐标左侧30,所以椭圆上所有点坐标Z要减20 #4=2*#2 方程计算出的为半径值,需转化为直径值才能按直径编程。 G1X[#4]Z[#3]F0.1 沿小段直线插补加工
#1=#1-1 递减一小段距离,此值越小,椭圆越光滑。
IF [#1GE0] GOTO 10 条件判断是否到达终点。
G1X42 直线插补切出外圆
G0Z5
#5=#5-4
IF [#5 GE 0] GOTO 5
G0X150Z150
M5
M30
以上程序分内外二层循环,外层循环为分层加工,内层循环为小段直线插补一条四分之一椭圆弧。
由浅入深宏程序5-圆的参数方程编制宏程序车半球面 圆的标准方程为: X=R*COS Y=R*SIN 可改写为: #1=20*cos[#3] #3 为参数方程对应图纸中角
度 #2=20*sin[#3] 使用参数方程比圆的标准方程具有一个优点,从下图中可以看出,使用标准方程式,
在工件最右端,划分直线坡度较大,从右至左划分线段不均匀,而使用圆
圆的标准方程为:X=R*COSθ
Y=R*SINθ
可改写为: #1=20*cos[#3] #3为参数方程对应图纸中角度
#2=20*sin[#3]
使用参数方程比圆的标准方程具有一个优点,从下图中可以看出,使用标准方程式,在工件最右端,划分直线坡度较大,从右至左划分线段不均匀,而使用圆的参数方程所划分的直线段是按照圆周方向划分的,因此分布均匀,从而使用零件表面加工质量好。
相应程序修改如下:
T0101
M3S800
G0X42Z5
#6=36
N5 G0X[#6]
G1Z0F0.1
#3=0
N10 #1=20*COS[#3]
#2=20*SIN[#3]
#4=2*#2+#6 圆的方程计算出的为半径值,需转化为直径值才能与直径编程对应。 #5=#1-20
G1X[#4]Z[#5]F0.1 沿小段直线插补加工
#1=#1+3 递减3度,此值越小,圆弧越光滑。
IF [#1 LE 90] GOTO 10 条件判断是否到达终点。
G1X42 直线插补切到工件外圆之外
G0Z5
#6=#6-4
IF [#6 GE 0] GOTO 5
G0X150Z150
M5
M30
由浅入深宏程序4-圆的标准方程编制宏程序车半球面 我们知道无论什么样的曲线,数控系统都是 CAD/CAM 软件在处理时都会将其按照内部的算法划分成小段的直线进行加工,接下来我们利用圆的方程来将直线划分成小段直线在利用宏程序对其加工。下图为圆的标准方程 图片1
我们知道无论什么样的曲线,数控系统都是CAD/CAM软件在处理时都会将其按照内部的算法划分成小段的直线进行加工,接下来我们利用圆的方程来将直线划分成小段直线在利用宏程序对其加工。下图为圆的标准方程
X*X+Y*Y=R*R, 若将X和Y用参数变量代替可改写为 #1*#1+#2*#2=R*R 圆弧可沿#1方向划分成无数小段直线,然后求出其相应端点坐标,再求出相对的数控车床中的坐标,再按直线进行编程加工。如下图所示:
则此段圆弧精加工轨迹为:
G0X0
G1Z0F0.1
#1=20
N10 #2=SQRT[20*20-#1*#1] SQRT表示开平方
#3=#1-20 圆的原点在工件坐标左侧20,所以圆弧上所有点坐标Z要减20 #4=2*#2 圆的方程计算出的为半径值,需转化为直径值才能与直径编程对应。 G1X[#4]Z[#3]F0.1 沿小段直线插补加工
#1=#1-0.5 递减一小段距离,此值越小,圆弧越光滑。
IF [#1GE0] GOTO 10条件判断是否到达终点。
G1X42 直线切出外圆
如果要再加上分层的粗加工,设偏移量为#5,则程序改为
T0101
M3S800
G0X42Z5
#5=36
N5 G0X[#5]
G1Z0F0.1
#1=0
N10 #2=SQRT[20*20-#1*#1] SQRT表示开平方
#3=#1-20 圆的原点在工件坐标左侧20,所以圆弧上所有点坐标Z要减20 #4=2*#2+#5 圆的方程计算出的为半径值,需转化为直径值才能与直径编程对应。 G1X[#4]Z[#3]F0.1 沿小段直线插补加工
#1=#1-0.5 递减一小段距离,此值越小,圆弧越光滑。
IF [#1 GE 0] GOTO 10条件判断是否到达终点。
G1X42 直线插补切出外圆
G0Z5
#5=#5-4
IF [#5 GE 0] GOTO 5
G0X150Z150
M5
M30
以上程序分内外二层循环,外层循环为分层加工,内层循环为小段直线插补一条圆弧。
由浅入深宏程序3-宏程序车半球面
图片1 在不使用循环切削加工圆弧时,可以有几种不同的方式来安排走刀轨迹,本篇文章采用将圆弧段沿 X 方向偏移,由外籍内的加工方式进行。如图所示 R20 圆弧,假设刀具每次单边切深 2mm ,直径每刀吃 4mm ,则由端面切入的位置可以计算出需要切削: 40/4=10
在不使用循环切削加工圆弧时,可以有几种不同的方式来安排走刀轨迹,本篇文章采用将圆弧段沿X方向偏移,由外籍内的加工方式进行。如图所示R20圆弧,假设刀具每次单边切深2mm,直径每刀吃4mm,则由端面切入的位置可以计算出需要切削:
40/4=10刀
每条圆弧起点和终点的Z坐标不变,但X坐标都同时向+X方向偏移一个相同的值,因此可设偏移量为#1,初始值为#1=36
圆弧起点 X坐标为 #2=0+#1
圆弧终点 X坐标为 #3=40+#1
宏程序编制如下:
T0101
M3S800
G0X42Z5
#1=36 赋初始值,即第一个圆弧直径偏移量
N10#2=0+#1 计算圆弧起点的X坐标
#3=40+#1 计算圆弧终点的X坐标
G0X[#2] 快速到达切削直径
G1Z0F0.1 直线切至圆弧起点
G3X[#3]Z-20R20F0.1 切削圆弧
G1X42 直线插补切削至外圆
G0Z5 退至端面外侧
#1=#1-4 直径方向递减4mm
IF [#1 GE 0] GOGO 10 如果#1 >= 0,即此表达式满足条件,则程序跳转到N10继续执行。 G0X150Z150 当不满足#1 >=0,即#1<0,则最后一条圆弧已经切完,跳出循环。
M5
M30
由浅入深宏程序2-宏程序之销轴粗精加工
由浅入深宏程序2-宏程序之销轴粗精加工
由浅入深宏程序2-宏程序之销轴粗精加工
本篇文章利用宏程序简单模仿数控系统的外圆车削循环功能。在此用前一篇的图纸与程序
原程序:
T0101
M3S800
G0X82Z5 粗加工开始
#2=0.05 Z向的加工余量
#3=0.5 外圆方向的加工余量
#4=0.3 每层切削后的回退量
#1=76+2*#3 考虑了精加工余量的第一次切削直径
N10G0X[#1] 将变量赋给X,则X方向进刀的直径则为#1变量中实际存储值。N10是程序 G1Z[-40+#2]F0.2 段的编号,用来标识本段,为后面循环跳转所用。 X[#1+#4] 每次切削只回退#4的值
G0Z5
#1=#1-4 单边切深为2mm,直径方向每次递减4mm
IF [#1GE40] GOGO 10 如果#1 >= 40,即此表达式满足条件,则程序跳转到N10继续执行。 M03S1200 当不满足#1 >= 40,即#1<40,则跳过循环判断语句,由此句继续向后执行。 G0X40 由此开始精加工
G1Z-40F0.1
X82
G0X150Z150
M5
M30
由浅入深宏程序1-宏程序入门基础之销轴加工
车床销轴加工,实现最简单的宏程序
由浅入深宏程序1-宏程序入门基础之销轴加工
对于没有接触过宏程序人,觉得它很神秘,其实很简单,只要掌握了各类系统宏程序的基本格式,应用指令代码,以及宏程序编程的基本思路即可。
对于初学者,尤其是要精读几个有代表性的宏程序,在此基础上进行模仿,从而能够以此类推,达到独立编制宏程序的目的。本教程将分步由浅入深的将宏程序讲解给大家,作者水平有限,也希望各位同仁提供更好的思路。
下面大家先看一个简单的车床的程序,图纸如下:
要求用外圆刀切削一个短轴,这里只列举程序的前几步:
T0101
M3S800
G0X82Z5
G0X76
G1Z-40F0.2 X82
G0Z5
G0X72
G1Z-40F0.2 X82
G0Z5
G0X68
G1Z-40F0.2 X82
G0Z5
G0X68
G1Z-40F0.2 X82
G0Z5
........ G0X40
G1Z-40F0.2 X82
G0Z5
G0X150Z150 M5
M30
从上面程序可以看出,每次切削所用程序都只是切削直径X有变化,其他程序代码未变。
因此可以将一个变量赋给X,而在每次切削完之后,将其改变为下次切削所用直径即可。
T0101
M3S800
G0X82Z5
#1=76 赋初始值,即第一次切削直径
N10G0X[#1] 将变量赋给X,则X方向进刀的直径则为#1变量中实际存储值。N10是程序
G1Z-40F0.2 段的编号,用来标识本段,为后面循环跳转所用。
X82
G0Z5
#1=#1-4 每行切深为2mm,直径方向递减4mm
IF [#1GE40] GOGO 10 如果#1 >= 40,即此表达式满足条件,则程序跳转到N10继续执行。 G0X150Z150 当不满足#1 >= 40,即#1<40,则跳过循环判断语句,由此句继续向后执行。 M5
M30
FANUC数控系统利用宏程序G12改刀具半径补偿值的方法 宏变量及常量 (1)变量 在常规的主程序和子程序内,总是将一个具体的数值赋给一个地址。为了使程序更具有通用性,更加灵活,在宏程序中设置了变量,即将变量赋给一个地址。 ? 变量的表示 变量可以用#号和跟随其后的变量序号来表示:# i (i =1,2,3,)
宏变量及常量
(1)变量
在常规的主程序和子程序内,总是将一个具体的数值赋给一个地址。为了使程序更具有通用性,更加灵活,在宏程序中设置了变量,即将变量赋给一个地址。
? 变量的表示 变量可以用―#‖号和跟随其后的变量序号来表示:# i (i =1,2,3,……) 例:#5,#109,#501。
? 变量的类型 变量根据变量号可以分成4种类型
? 变量值的范围 局部变量和公共变量可以有0值或下面范围中的值,1047~ -10-29或10-29~1047,如果计算结果超出有效范围则发出P/S报警。
? 变量的引用 将跟随在一个地址后的数值用一个变量来代替,即引入了变量i 。 例:对于F#103,若#103=50时,则为F50;
对于Z - #110,若#110=100,则Z为 -100;
对于G#130,若#130=3时,则为G03。
FANUC宏程序的条件表达式运算符
运算符 含义
EQ 等于
NE 不等于
GT 大于
GE 大于或等于
LT 小于
LE 小于或等于
H代码的几何补偿值 G10L10P R ; D代码的几何补偿值 G10L12P R ; H代码的磨损补偿值 G10L11P R ;
D代码的磨损补偿值 G10L13P R ;
P:刀具补偿号
R:绝对值指令(G90)方式时的刀具补偿值。增量值指令(G91)方式时的刀具补偿值为该值与指定的刀具补偿号的值相加。
举例说明:G10L12P1R#2
本程序段中刀补值D01被修改为#2所存储的数值。其中G10L12表示修改半径补偿,P1表示修改1号补偿值——即D01,R#2表示修改为何数值,也可以跟常数。