数控车床编程学习笔记(Self-Read)

本文最后更新于:2024年11月19日 晚上

数控车床编程学习笔记

前言

本笔记是用来写给自己来看知识点的所以说本笔记没什么含金量,如果有问题请询问作者

2024.9.3基础知识

数控车床铣床历史

1949年美国开始研究数控车/铣床,
1952年第一台立式三轴铣床用于科学研究
机床厂商目前常见有 德国西门子(Siemens) 三菱 日本FANUC 华中等等

举例

收银机 电子管

课程所用机床

<FANUC 0i 沈阳机床厂(车床)>

正常软件流程

  • 定义机床
    • FANUC 0i 沈阳机床厂
  • 定义毛坯(定义毛坯时候要注意多给余量15-20)
    • 圆柱形/U型
  • 选择夹具
  • 放置零件(注意要多往右放点)
  • 刀具选择
    • T01 外圆刀 35° 刀尖半径越小精度越高(0-20) 左偏93°
    • T02 方头切槽刀片 槽底圆弧平0 圆>0
    • T03 60度螺纹刀 外圆
  • 注意每次对刀前将急停按钮向上提,然后电源开,然后点击面板回参考点,往右下回参考点之后才能对刀

按钮释义

  • MDI 手动数据输入模式
  • OFS(OFFSET SETTTING) 参数输入界面(对刀界面,点击形状之后对刀)
  • SHIFT 上档键 用于切换上面下面数字
  • ALTER 替换
  • DELETE 删除
  • INSERT 插入
  • CAN 取消键(相当于普通退格键)
  • EOB 回车换行键(其实就是分号)
  • PROG 程序键
  • POS 位置显示界面
  • SYSTEM 系统参数界面
  • MESSAGE 信息界面
  • CUSTOM GRAPH 图形参数设置界面
  • INPUT 输入键
  • RESET 复位键
  • HELP 帮助键

2024.9.10基础知识+轴类零件加工

数控介绍

  • 数控,全称为计算机数字控制(Computer Numerical Control),是一种通过计算机程序来控制机床加工的技术。数控机床是装备了数控系统的机床,能够根据预先编制的程序自动执行对金属或其他材料的加工任务,包括但不限于切削、铣削、钻孔、磨削等操作。

Kimi(清华AI大模型):数控系统是数控机床的核心组成部分,它负责接收加工程序指令,解释这些指令,并控制机床各部分的运动和工作。一个典型的数控系统包括以下几个主要部分:

  1. 控制系统(Control System)

    • 数控单元(CNC Unit):数控系统的大脑,负责解释和处理输入的程序代码,生成控制机床运动的命令。
    • 伺服电机控制系统:接收数控单元的指令,控制机床各轴的伺服电机,实现精确的运动控制。
  2. 驱动系统(Drive System)

    • 伺服电机(Servo Motor):执行数控单元的命令,驱动机床的各个运动轴。
    • 驱动器(Drive Amplifier):为伺服电机提供电力和控制信号,确保电机按照预定的速度和位置运行。
  3. 操作界面(Operator Interface)

    • 显示屏(CRT/LCD Screen):显示数控程序、机床状态、加工过程等信息。
    • 键盘(Keyboard):用于输入程序代码、编辑程序、输入操作命令等。
    • 手持单元(Handwheel):用于手动控制机床轴的移动,进行精确定位。
  4. 输入/输出设备(I/O Devices)

    • 程序读入设备:如DNC(直接数控)接口、RS232接口、以太网接口等,用于将程序代码输入到数控系统中。
    • 输出设备:如打印机,用于打印加工程序、加工过程的报告等。
  5. 测量和反馈系统(Measurement and Feedback System)

    • 编码器(Encoder):安装在机床的各个运动轴上,用于反馈实际位置信息,确保加工精度。
    • 探头(Probe):用于检测工件的位置、尺寸等,以便于数控系统进行调整。
  6. 辅助控制单元(Auxiliary Control Unit)

    • M代码和S代码控制:用于控制机床的辅助功能,如换刀、冷却液的开关等。
    • PLC(可编程逻辑控制器):用于控制机床的逻辑顺序和辅助功能。
  7. 软件(Software)

    • 操作系统(OS):如Windows、Linux等,为数控系统提供基础的运行环境。
    • 数控编程软件:用于编写和编辑数控加工程序。
    • 实时操作系统(RTOS):确保数控系统的实时性和稳定性。
  8. 电源和冷却系统(Power and Cooling System)

    • 电源模块:为数控系统提供稳定的电力。
    • 冷却系统:确保数控系统在运行过程中不会因为过热而损坏。

数控系统的设计和功能会根据不同的机床类型和加工需求而有所不同,但上述组成部分是大多数数控系统共有的基本元素。

G M S T O F 基础代码

G00 快速点定位
G01 直线插补(直线加工)

M03 主轴正转
M04 主轴反转
M05 主轴停止
M30 结束程序并回程序头

S500 主轴500转/分
无极调速(变频器)

S1 有级调速(齿轮传动)
S2
S3

Txxxx 刀具
T0101 一号刀具 一号刀偏/补

Oxxxx 程序名
O0001 程序名为0001

简单阶梯轴的加工

1
2
3
4
5
6
7
8
9
10
11
12
13
14
O0001  (程序号O,后面跟的是程序编号,这里是0001)
T0101 (刀具选择指令T,后面跟的是刀具编号,这里是01号刀具)
M03S800 (主轴启动指令M03,S后面跟的是主轴转速,这里是800转/分钟)
G00X50.Z5. (快速定位指令G00,X和Z轴移动到指定位置,这里是X轴到50,Z轴到5)
G00X35.Z5. (快速定位指令G00,移动到X轴35,Z轴保持在5)
G01X35.Z-20.F0.15 (直线插补指令G01,X轴保持在35,Z轴移动到-20,进给率F为0.15)
G01X40.Z-30.F0.15 (直线插补指令G01,X轴移动到40,Z轴移动到-30,进给率F为0.15)
G01X40.Z-40.F0.15 (直线插补指令G01,X轴保持在40,Z轴移动到-40,进给率F为0.15)
G01X44.Z-40.F0.15 (直线插补指令G01,X轴移动到44,Z轴保持在-40,进给率F为0.15)
G01X44.Z-50.F0.15 (直线插补指令G01,X轴保持在44,Z轴移动到-50,进给率F为0.15)
G01X50.Z-50.F0.15 (直线插补指令G01,X轴移动到50,Z轴保持在-50,进给率F为0.15)
G01X100.Z100. (直线插补指令G01,X轴移动到100,Z轴移动到100)
M05 (主轴停止指令M05)
M30 (程序结束指令M30,通常会在程序末尾使用,有些机床会将此指令执行为自动换卷并停止)

2024.9.24两个案例

第一个案例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
O0001  (程序号O,后面跟的是程序编号,这里是0001)
T0101 (刀具选择指令T,后面跟的是刀具编号,这里是01号刀具)
M03S800 (主轴启动指令M03,S后面跟的是主轴转速,这里是800转/分钟)
G00X46.Z5. (快速定位指令G00,X轴移动到46,Z轴移动到5)
X28. (继续G00指令,X轴移动到28)
G01X28.Z0.F0.15 (直线插补指令G01,X轴保持在28,Z轴移动到0,进给率F为0.15)
G03X34.Z-3R3. (圆弧插补指令G03,以半径3的圆弧从当前位置移动到X34Z-3的位置)
G01X34.Z-15. (直线插补指令G01,X轴保持在34,Z轴移动到-15)
G02X44.Z-30.R10. (圆弧插补指令G02,以半径10的圆弧从当前位置移动到X44Z-30的位置)
G01X44.Z-50. (直线插补指令G01,X轴保持在44,Z轴移动到-50)
X48. (继续G01指令,X轴移动到48)
G00X100.Z100. (快速定位指令G00,X轴移动到100,Z轴移动到100)
M05 (主轴停止指令M05)
M30 (程序结束指令M30,通常会在程序末尾使用,有些机床会将此指令执行为自动换卷并停止)

第二个案例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
O0001  (程序编号为0001)
T0101 (选择刀具1号刀具)
M03S800 (启动主轴,转速为800RPM)
G00X45.Z5. (快速定位到X45.0,Z5.0的位置)
G01X0.Z0.F0.1 (以0.1的进给率直线切削到X0.0,Z0.0的位置)
G03X24.Z-12.R12. (以半径为12.0的圆弧切削到X24.0,Z-12.0的位置,G03表示顺时针圆弧)
G01Z-20. (直线切削到Z-20.0的位置)
X24. (直线切削移动到X24.0的位置)
X30.Z-30. (直线切削移动到X30.0,Z-30.0的位置)
Z-39. (直线切削移动到Z-39.0的位置)
G02X36.Z-42.R3. (以半径为3.0的圆弧切削到X36.0,Z-42.0的位置,G02表示逆时针圆弧)
G01Z-50. (直线切削到Z-50.0的位置)
G03X42.Z-53.R3. (以半径为3.0的圆弧切削到X42.0,Z-53.0的位置,G03表示顺时针圆弧)
G01Z-58. (直线切削到Z-58.0的位置)
G00X100.Z100. (快速定位到X100.0,Z100.0的位置)
M05 (停止主轴旋转)
M30 (程序结束,返回程序开始位置或卸载介质)

2024.10.15两个案例

第三个案例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
O0001  (程序编号O,后面跟的是程序编号,这里是0001)
T0101 (刀具选择指令T,后面跟的是刀具编号,这里是01号刀具)
M03S800 (启动主轴,转速为800RPM,S后面跟的是主轴转速)
G00X54.Z2. (快速定位指令G00,移动到X轴54.0mm,Z轴2.0mm的位置)
G71U2.R1. (G71是粗车循环,U和R是粗车循环的切削深度和退刀量)
G71P01Q02U0.5W0.2F0.15 (G71粗车循环的详细参数,P和Q指定粗车的起始和结束程序段,U和W是X和Z轴的切削深度,F是进给率)
N01G00X8.991 (程序段N01,快速移动到X轴8.991mm的位置)
G01Z0. (直线插补指令G01,Z轴移动到0.0mm的位置)
G01X12.991Z-2. (直线插补指令G01,X轴移动到12.991mm,Z轴移动到-2.0mm的位置)
Z-16. (直线插补指令G01,Z轴移动到-16.0mm的位置)
G02X20.991W-4.R4. (顺时针圆弧插补指令G02,X轴移动到20.991mm,W轴移动到-4mm的位置,R是圆弧半径4mm)
G01X24.9895 (直线插补指令G01,X轴移动到24.9895mm的位置)
W-15.05 (Z轴移动到-15.05mm的位置)
G03X36.9805Z-46.R17.5 (逆时针圆弧插补指令G03,X轴移动到36.9805mm,Z轴移动到-46mm的位置,R是圆弧半径17.5mm)
G01W-10. (Z轴移动到-10mm的位置)
X43.9875W-8. (X轴移动到43.9875mm,Z轴移动到-8mm的位置)
Z-74. (Z轴移动到-74mm的位置)
N02X48. (程序段N02,X轴移动到48mm的位置)
G70P1Q2F0.1S1000 (精车循环G70,P和Q指定精车的起始和结束程序段,F是进给率,S是主轴转速)
G00X100.Z100. (快速定位指令G00,移动到X轴100mm,Z轴100mm的位置)
M05 (主轴停止指令M05)
M30 (程序结束指令M30,通常会在程序末尾使用,有些机床会将此指令执行为自动换卷并停止)

第四个案例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
O0002  (程序编号O,后面跟的是程序编号,这里是0002)
T0101 (刀具选择指令T,后面跟的是刀具编号,这里是01号刀具)
M03S800 (启动主轴,转速为800RPM,S后面跟的是主轴转速)
G00X54.Z0. (快速定位指令G00,移动到X轴54.0mm,Z轴0.0mm的位置)
G71U2R1 (G71是粗车循环,U是每次切削的横向深度,R是退刀量)
G71P1Q2U0.5W0.2F0.15 (G71粗车循环的详细参数,P和Q指定粗车的起始和结束程序段,U和W是X和Z轴的切削深度,F是进给率)
N01G01X0. (程序段N01,直线插补指令G01,X轴移动到0.0mm的位置)
Z0. (Z轴移动到0.0mm的位置)
G03X24.Z-12.R12 (顺时针圆弧插补指令G03,X轴移动到24.0mm,Z轴移动到-12mm的位置,R是圆弧半径12mm)
G01X24.Z-20. (直线插补指令G01,X轴保持在24.0mm,Z轴移动到-20mm的位置)
X30.Z-30. (X轴移动到30.0mm,Z轴移动到-30mm的位置)
Z-39. (Z轴移动到-39mm的位置)
G02X36.Z-42.R3. (逆时针圆弧插补指令G02,X轴移动到36.0mm,Z轴移动到-42mm的位置,R是圆弧半径3mm)
G01X36.Z-50. (直线插补指令G01,X轴保持在36.0mm,Z轴移动到-50mm的位置)
G03X42W-3R3. (逆时针圆弧插补指令G03,X轴移动到42.0mm,W轴移动到-3mm的位置,R是圆弧半径3mm)
G01X42Z-56. (直线插补指令G01,X轴保持在42.0mm,Z轴移动到-56mm的位置)
N2X50 (程序段N02,X轴移动到50mm的位置)
G70P1Q2F0.1S1000 (精车循环G70,P和Q指定精车的起始和结束程序段,F是进给率,S是主轴转速)
G00X100Z100 (快速定位指令G00,移动到X轴100mm,Z轴100mm的位置)
M05 (主轴停止指令M05)
M30 (程序结束指令M30,通常会在程序末尾使用,有些机床会将此指令执行为自动换卷并停止)

2024.10.29两个案例

第五个案例

底下两个是能跑但是没有倒角

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
O0001
T0101
M03S800
G00X52.Z2.
G73u6.W1.R4
G73P11Q2U0.5W0.2F0.15
N11G00X45.Z1.
G01Z0.
X49.Z-2.
Z-13.36
G03X40.429W-22.269R60.
G02X49.Z-48.R10.
N2G01X50.
G70P11Q2F0.1S1000
G00X100.Z100.
M05
M30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
O0004
T0202
M03S800
G00X52.Z0.
G01X-0.5F0.15
G00X52.Z2.
G71U2.R1.
G71P11Q2U0.5W0.2F0.15
N11G00X17.
G01Z0.
G03X33.Z-8.R8.
G01Z-20.
X39.Z-36.
X49.
W-15.
N2X50.
G70P11Q2F0.1S1000
G00X100.Z100.
M05
M30

这两个才是真正的全部跑出来

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
O0001     (程序编号: O0001)
T0101 (选择刀具1号工具)
M03S800 (主轴正转,转速800RPM)
G00X52.Z0. (快速定位到X52.0,Z0.0的位置)
G01X-0.5F0.15 (以0.15的进给率直线切削到X-0.5)
G00X52.Z2. (快速退回至X52.0,Z2.0的位置)
G71U2.R1. (设置粗车循环,每次切削深度U2.0mm,退刀R1.0mm)
G71P11Q2U0.5W0.2F0.15 (调用G71粗车循环,从程序段N11开始到N2结束,X方向精车余量0.5mm,Z方向精车余量0.2mm,进给率0.15)
N11G00X17. (程序段N11,快速定位到X17.0)
G01Z0. (直线切削到Z0.0)
G03X33.Z-8.R8. (以R8.0的半径切削一个顺时针圆弧到X33.0,Z-8.0)
G01Z-20. (直线切削到Z-20.0)
X39.Z-36. (直线切削到X39.0,Z-36.0)
X49. (直线切削到X49.0)
W-15. (Z轴切削到W-15.0,这里的W应该是Z,可能是笔误)
N2X50. (程序段N2,切削到X50.0)
G70P11Q2F0.1S1000 (精车循环,从程序段N11开始到N2结束,进给率0.1,主轴转速1000RPM)
G00X100.Z100. (快速定位到X100.0,Z100.0的位置,通常为安全位置或换刀位置)
M05 (主轴停止)
M30 (程序结束)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
O0002     (程序编号: O0002)
T0102 (选择刀具2号工具)
M03S800 (主轴正转,转速800RPM)
G00X52.Z0. (快速定位到X52.0,Z0.0的位置)
G01X-0.5F0.15 (以0.15的进给率直线切削到X-0.5)
G0X52.Z5. (快速退回至X52.0,Z5.0的位置)
G73U6.W2.R3 (设置G73粗车循环,每次切削深度U6.0mm,W2.0mm,退刀R3.0次)
G73P1Q2U0.5W0.2F0.15 (调用G73粗车循环,从程序段N1开始到N2结束,X方向精车余量0.5mm,Z方向精车余量0.2mm,进给率0.15)
N1G00X45.Z1. (程序段N1,快速定位到X45.0,Z1.0的位置)
G01Z0. (直线切削到Z0.0)
X49.Z-2. (直线切削到X49.0,Z-2.0)
Z-13.36 (直线切削到Z-13.36)
G03X40.429W-22.269R60. (以R60.0的半径切削一个顺时针圆弧到X40.429,W-22.269)
G02X49.Z-48.R10. (以R10.0的半径切削一个逆时针圆弧到X49.0,Z-48.0)
N2G01X50. (程序段N2,直线切削到X50.0)
G70P1Q2F0.1S1000 (精车循环,从程序段N1开始到N2结束,进给率0.1,主轴转速1000RPM)
G00X100.Z100. (快速定位到X100.0,Z100.0的位置,通常为安全位置或换刀位置)
M05 (主轴停止)
M30 (程序结束)

第六个案例

2024.11.19

第七个案例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
O0001
T0101
M03S800
G00X42.Z2.
G71U2.R1.
G71P1Q2U0.5W0.2F0.15
N1G00X0.
G01Z0.
G03X14.Z-7.R7.
G01X14.Z-18.
X20.
W-18.
X24.Z-42.
W-6.
G02X38.W-7.R7.
G01Z-66.
N2GX42.
G70P1Q2F0.1S1000
G00X100.Z100.
M05
T0202
M03S600
G00X24.Z-36.
G01X15.
G04X1.5
G01X24.
G00X100.Z100.
T0303
G00X24.Z-15.
G92X19.1Z-33.F2.
X18.5
X17.9
X17.5
X17.4
G00X100.Z100.
M05
M30

第八个案例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
O0002
T0101
M03S800
G00X42.Z2.
G71U2.R1.
G71P1Q2U0.5W0.2F0.15
N1G00X0.
G01Z0.
G03X11.Z-5.R5.
G01X11.Z-11.
X20.
G01X24.Z-41.
G02X38.Z-10.R7.
G01Z-60.
N2X42.
G70P1Q2F0.1S1000
G00X100.Z100.
M05
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
T0202
M03S600
G00X24.Z-35.
G01X19.
G04X1.5
G01X24.
G00X100.Z100.
T0303
G92X24.Z2.F2.
X23.2
X22.6
X22.
X21.5
X21.4
X21.4
G00X100.Z100.
M05
M30

2024.11.19真

案例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
O001
T0101
M03S800
G00X52.Z2.
G71U2.R1.
G71P1Q2U0.5W0.2F0.15
N1G00X12.
G01Z0
X16.Z-2.
Z-22.
X25.35Z-23.08
G03X30.Z-26.R3.
G01X43.78Z-28.13
G03X48.Z-31R3.
G01W-1
N2X50.
M05
M03S1000
G70P1Q2F0.1
G00X100.Z100.
M05
M30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
O003
T0103
M03S800
G00X52.Z0
G01X-0.5F0.15
G00X52.Z2.
G72W2.R1.
G72P1Q2U0.5W0.2F0.15
N1G00Z-19.
G01X48.
G02X43.78Z-16.13R3
G01X30.Z-14.
G02X24.95Z-11.04R3.
G01X12.Z-10.
G01X5.58Z-1.9
G02X0Z0R3.
N2G01Z1.
M05
M30S1000
G70P1Q2F0.1
G00X100.Z100.
M05
M30

案例

1
1

数控车床编程学习笔记(Self-Read)
http://haozi520.github.io/2024/10/15/CNCC/
作者
HaoziOpO Studio Offical
发布于
2024年10月15日
更新于
2024年11月19日
许可协议