2018年底,因工作需要投入为期一年左右的数控系统学习,从广数到发那科,从编程到操作。为了方便自己今后查找以及共享这些学习资料以利于其他初学者参考,我将记录下整个学习过程。显然这不是一份权威的技术资料,更多的是偏向于几个要点尤其几个重点指令的记录。其中错误之处在所难免,如有同行发现还请指正。
以下是广数GSK980TDa部分:
2018/12/16第一课,基本概念与指令。
一,概念
原点:工件右端中心点
二,指令
M指令:
M00:暂停。程序运行到M00时,刀具停,主轴、切削液不停,按运行键程序继续运行,无时间限制。可写成M0
M01:准停。与M01按键合用,程序运行到M01时,按M01键,刀具、主轴、切削液停。
M03:主轴正转(逆时针)。指令格式:M03 S500
M04:主轴反转。格式: M04 S500
M05:主轴停
M08:冷却液开
M09:冷却液关
M30:程序结束,光标回到开头
M98:调用子程序
M00:返回主程序
F指令:
指令格式1:
G98 M03 S100
G01 X10 Z-10 F100(每分钟100mm)
指令格式2(多用) :
G99 M03 S100
G01 X10 Z-10 F0.2(主轴每转进刀0.2mm)
公制螺纹牙距:G92 X10 Z-20 F0.8(牙距)
T指令:指定刀具也刀补,格式:T0101
O指令:指定程序号,格式:O0001
S指令:
1,指定主轴转速,格式:M03 S500
2,指定恒线速,格式:G96 S180 ; G50 S500
3,指定暂停时间(很少用到):G04 S10
G指令
G00:快速定位 ,格式:G00 X0 Z1
G01:直线走刀,格式:G01 X18 Z-10 F200(或F0.1)
G02:逆圆弧走刀,格式: G02 X10 Z-5 R5 F0.1
G03:顺圆弧走刀 格式 G03 X10 Z-5 R5 F0.1
G04:暂停
G32 G92 G76:螺纹
G50:工件平移
G70:精车
G71:粗车循环,指令格式(外圆):
G71 U(单边进刀量)R(退刀量)F(进刀速度)
G71 P(开始程序号)Q(结束程序号)U(x方向精车余量)W(z方向精车余量)
G71车外圆循环示例:
Q0001
G99 M08 T0101 M03 S500
G00 X110 Z1(假设棒料直径为110MM)
G71 U2 R0.5 F0.1 //粗加工循环
G71 P123 Q321 U0.5 W0.3
N123 G100 X50 //精车程序。此处不能有Z定位
G01 X50 Z0 F0.1
G01 X50 Z-30 F0.1
G01 X100 Z-30 F0.1
N321 G01 X100 Z-50 F0.1
G70 P123 Q321 //精车开始
M09
M05
G00 Z100
M30
2018/12/23第二课,实战练习对刀、外圆G71、简单工件。
对刀注意事项:1号刀对刀,Z0端面输入;X轴测量输入数据。3号刀Z0以轻碰到Z0端面为准。注意T0303输入Z0后显示不为Z0,因为系统当前为T0301,需要:MDI-程序-输入T0303-输入-循环起动,再输入刀补数据。
加工示例:
程序如下(棒料外径35):
O0170 T0101 M03 S600 G99
G00 X35 Z1 G71 U1.5 R0.5 F0.1
//粗车开始
G71 P01 Q02 U0.5 W0.1
N01 G00 X0
G01 X0 Z0 F0.1
G03 X10 Z-5 R5 F0.1
G01 X10 Z-15 F0.15
G01 X16 Z-25 F0.1
G01 X16 Z-32 F0.15
G03 X22 Z-35 R3 F0.1
G01 X22 Z-41 F0.15
G02 X28 Z-44 R3 F0.1
G01 X28 Z-50 F0.15
N02 G01 X28.5 Z-50 F0.2
G70 P01 Q02 //精车开始
G00 Z100
T0303 M03 S600
G00 X28.5 Z-53
G01 X0 Z-53 F0.1
G00 Z100
M30
效果如下:
2018/12/30第三课:内孔G71、径向G72、实战练习挖槽。
1,几个概念。
绝对定位,如X20 Z-10;相对定位,如U10 W-5,U W分别代表代表X Z方向的增量;混合定位,如X20 W-5,即X方向直径20mm,Z方向往左走5mm。
外圆G71加工适用于外径递增;而内孔G71加工只能递减(新款设备或许已突破此限制)。
G71加工内孔示例:
O0001
G99 T0101 M3 S600
G00 X18 Z1 //假设已钻孔至18 G71 U2.5 R0.5 F0.25
G71 P123 Q321 U-1 W0.3 //注意此处X方向的余量为负数,与外圆循环中的U1相反
N123 G00 X40 //不写Z值
G01 X40 Z0 F0.1 G03 X34 Z-3 R3 F0.1
G01 X34 Z-11 F0.1
G02 X26 Z-15 R4 F0.1
G01 X26 W-10 F0.1 //Z方向相对定位
G01 X20 W0 F0.1 G01 U0 W-10 F0.1
N321 G01 U-1 W0 F0.2
G70 P123 Q321
G00 U0 Z100
M30
2,径向循环G72,格式:
G72 W(Z方向进刀量即刀宽) R(退刀量) F
G72 P Q U(X方向余量) W(Z方向余量)
加工示例:
O0001
G99 T0202 M3 S600
G00 X31 Z30
G01 X15.2 W0 F0.08//中间插一刀,给接下来的循环预留出退刀量
G01 X31 W0 F0.3
//槽的右半部分:
G72 W2.7 R0.5 F0.2 //Z方向进刀量为刀宽
G72 P123 Q321 U0.2 W-0.2 //此时Z方向的余量指的是红色箭头所指的端面,故余量为负数
N123 G00 Z13 //1,预留了刀宽; 2,此处不能有X值
G01 X15 W-10 F0.1
N321 G01 U0 Z-29.5 F0.1
G70 P123 Q321
//槽的左半部分:
G72 W2.7 R0.5 F0.1
G72 P456 Q654 U0.2 W0.2
N456 G00 Z-50
G01 X30 W0 F0.2
G01 X15 W10 F0.1
N654 G01 U0 W28 F0.1
G70 P456 Q654
G00 Z100
M30
工件效果如下:
3,G72粗加工的顺序及定位问题。G72先粗加工槽的右半部分,再加工左半部分,加工前定位都是第3行的 G00 X30 Z30
钻孔、扩孔指令G74(轴向车槽循环)
指令格式:
G74 R(e每刀轴向退刀量)
G74 X(U孔径增量) Z(W孔深增量) P(Δi X方向进刀量) Q(Δk Z方向每刀进给长度) R(Δd 切削到Z终点后X方向退刀量) F(进刀速度)
上面写的太乱,精简如下:
G74 R(e)
G74 X(U) Z(W) P(Δi) Q(Δk) R(Δd) F
注意点:
- 盲孔切削时,R(Δd)是千万不能存在的,否则撞刀而亡
- 钻孔程序时,指令中省略掉X(U)因孔径不变;P(Δi)也不存在X进刀量;R(Δd)直进直出无退刀量。
- P Q都是以0.001mm为单位,正数
示例,以下工件先钻头打孔至20*60,扩孔至40*60:
O0001
G99 T0202 M03 S400
G00 X0 Z1 G01 Z0 F0.1//靠进端面
G74 R0.5 G74 Z-60 Q10000 F0.08 //钻孔
G00 Z100 T0303 M03 S600
G00 X20 Z1 G01 Z0 F0.1//不要靠端面
G74 R0.5 G74 X40 Z-60 P5000 Q20000 R0.5 F 0.2 //扩孔
G00 Z100
M30
G75 多槽循环与切断
格式(与G74一样,X Z调换方向而已):
G75 R(e)
G75 X(U) Z(W) P(Δi) Q(Δk) R(Δd) F
各参数含义:
G75 R(e每刀径向退刀量)
G75 X(或U) Z(或W) P(Δi Z方向第刀进刀量) Q(Δk X方向每刀偏移量) R(Δd 切削到底后Z方向退刀量) F(进刀速度)
示例1,多槽:
O0001
G99 M03 S500 T0202
G00 X52 Z-14 G01 Z50 Z-14 F0.1 //不能要这一段,你懂的
G75 R0.25 G75 X40 Z-56 P4000 Q14000 R0 F0.1 //省缺R0表示到底后不退刀
G00 X80 Z100
M30
示例2,较宽的槽:
O0001
G99 M3 S500 T0202
G00 X52 Z-18
G75 R0.25
G75 X30 Z-35 P5000 Q2500 R0 F0.1 //不能有R值你懂的;实际有效刀宽2.5
G00 X80 Z100
M30
示例3,切断工件(图略):
……
G75 R0.5
G75 X0 P5000 F0.1 // Z Q R 都省缺即切断
……
G73 封闭切削循环
格式如下:
G73 U(Δi X轴总退刀量,半径) W(Δk Z轴总退刀量,半径) R(d 切削次数)
G73 P(N123) Q(N321) U(Δu X轴精车余量) W(Δw Z轴精车余量) F_ S_ T_
N123 …精车程序… N321
示例1(假设毛坯为铸件,最大径为72,最小径32,即单边要车掉6MM):
O0001
G00 80 Z80 //刀架让出位置以便换刀
M03 T0101 S800 G99
G00 X68 Z2 //循环的定位
G73 U5.5 W5.5 R3 // 为什么退刀量(半径值)啊?暂时不知道。R3:分三次加工
G73 P123 Q321 U0.5 W0.5 F0.1
N123 G01 X20 Z2 F0.1 //没有用G00,防止撞刀
G01 Z-15
X40 Z-25
Z-55
G02 X60 Z-65 R10
N321 G01 Z-70
G70 P123 Q32 //这段要不要?
G00 X80 Z80
M30
示例2(假设圆棒直径35):
O0001
G99
G00 X80 Z80 //为换刀腾出位置
M03 S800 T0202
G01 X38 Z2 F0.1
G73 U15 R15 //不能有W值,否则退刀有干涉。PS此处退刀量有必要这么大吗?这是几个意思?暂时搞不懂
G73 P123 Q321 U0.3 W0.1 F0.1
N123 G00 X4.09 //不能有Z值
G02 X17.45 Z-16.17 R19.93 F0.1
G03 X19.07 Z-27.91 R7.03
G03 X22.78 Z-43.76 R8.41
N321 G01 X38.5
G70 P123 Q321
G00 X80 Z80
M30
螺纹 G32 G92 G76
普通车外螺纹G32格式:
G32 X(U) Z(W) F
X(或U)Z(或W):螺纹终点坐标(或增量)
F:螺纹导程。别被“导程”这个字眼误导,其实就是牙距——别跟我提什么双线螺纹,人一辈子能碰到几次双线螺纹?
示例(车以下螺纹,假设外外29.8外径已车好,退刀、倒角已车好):
……
G00 X29.2 Z1 //定位到29.2
G32 Z-28 F2 //第一刀,由29.8车到29.2,车掉0.6MM
G00 X30 //
G00 Z1
G00 X28.6 Z1 //定位到28.6
G32 Z-28 F2 //第二刀,29.2车到28.6,0.6MM
G00 X30
Z2
G00 X28 Z1 //定位到28
G32 Z-28 F2 //第三刀,28.6干到28 ,即0.6MM
G00 X30
Z2
G00 X27.5 Z1 //定位
G32 Z-28 F2 //第四刀 28干到27.5 ,即0.5MM
G00 X32
Z1
G00 X27.4 Z1 //定位
G32 Z-28 F2 //第五刀——最后一刀,干到位27.4,进刀0.1精车
G00 X30
Z100
……
G92固定循环车螺纹:
格式:
G92 X(U) Z(W) F L (圆柱螺纹)
G92 X(U) Z(W) R F L (圆锥螺纹)
X(U) Z(W):坐标
F:螺纹导程
L:螺纹线数
R:圆锥螺纹切削起点与终点的半径差(有正负号)
圆柱螺纹示例(假设外径已车到19.85,倒角,退刀槽都车好。PS M20*1.5的牙底径为18.05):
……
G00 X22 Z2 // 安全起见,略远一点(?)
G92 X19.2 Z-19 F1.5 //第一刀。注:之前定位并没有在X19.2处,因运动轨迹是以G00作为起点,再回到G00
X18.6 //第二刀
X18.2 //第三刀
X18.05 //第四刀
G00 X80 Z80 //从G00点快速退刀的
……
圆锥螺纹示例(假设外径车到位。19.85 29.85):
……
G00 X32 Z4
G92 X30.6 Z-18 R-7.5 F1.5 // 第一刀由31.25车到30.6,车掉0.65
X30 //车掉0.6
X29.5//车掉0.5
X29.3//车到0.2
G00 X80 Z80
……
上面有三个数字:31.25,29.3 -7.5怎么来的,说起来太蛋疼,由于跟本文无关,就不列出来了,总之,基本的三角几何算一下就知道了。
复合螺纹切削循环G76(主要应用于粗杆半牙的螺纹根部)
格式:
G76 P(m)(r)(a) Q( Δdmin) R(d)
G76 X(U) Z(W) R(i) P (k) Q ( Δd) F(I)
m:最后精加工的次数 0~99次
r:螺纹根部长度,单位0.1个牙距
a:螺纹角度
Δdmin :粗车最小车削量,半径,正数,0.001mm
d:精车余量 mm
i:螺纹锥度,半径差
k:螺纹高度 0.001mm
Δd:第一次切削深度 0.001mm
F:螺纹导程
I:每英寸牙数
示例(假设螺纹根部的长度为4.4MM 即1.1个牙距):
……
G00 X70 Z4 //定位安全性,隔远一点
G76 P011160 Q200 R0.2
G76 X57.4 Z-65 R0 P2600 Q500 F4
G00 X100 Z100
…..
来个小结,上面各指令的总结:
指令总结对比
指令名称 | 应用工艺 | 格式 | 示例 |
---|---|---|---|
G90 | 轴向固定 | G90 X Z F | G90 X40 Z-30 F0.1 X35 X30 |
G90 | 锥面固定 | G90 X Z R F | G90 X40 Z-30 R-2 R-4 R-6 |
G94 | 径向固定 | G94 X Z F | G94 X40 Z-2.5 F0.1 Z-5 Z-7.5 |
G94 | 锥面固定 | G94 X Z R F | G94 Z40 Z- |
调用子程序
调用格式:
M98 P(调用次数)(子程序号)
子程序返回格式:
M99 P(返回主程序时被执行的程序段号)