G代码
外观
G代码(G-code,又称RS-274),是最为广泛使用的数控(Numerical Control)编程语言,有多个版本,主要在计算机辅助制造中用于控制自动机床。G代码有时候也称为G编程语言。
概要
[编辑]G代码有命令数控机械执行动作的能力,例如执行床台移动或钻孔… 等功能。除了传统工业的数控机械,创客常用的激光雕刻、激光切割及3D打印等器材也会用到G代码。
G代码是由首字“G”再加上2位数字组成的,例如“G01”。
列表
[编辑]CNC铣床和CNC车床的G代码略有不同。部分代码有互斥关系,只要其中一个启动,另外一个就会关闭(如G15、G16)。
以下是各G代码的含有的意义[1]:
| G代码 | 功用 | G代码 | 功用 |
|---|---|---|---|
| G00 | 快速移动 (四轴定位) |
G69 | 坐标旋转取消 |
| G01 | 直线切削 (四轴直线插值) (两轴直线插值有圆角) (两轴直线插值有倒角) |
G70.00 | 方形袋状挖掘加工 |
| G02 | 顺时针圆弧插值 | G70.01 | 圆形袋状挖掘加工 |
| G03 | 逆时针圆弧插值 | G70.02 | 方形笋状自动加工 |
| G04 | 暂停 | G70.03 | 圆形笋状自动加工 |
| G09 | 单行精确定位 | G70.04 | 方形侧铣 |
| G10 | 数据设定模式启动 | G70.05 | 圆形侧铣 |
| G11 | 数据设定模式关闭 | G70.06 | 面铣 |
| G15 | 使用直角坐标规划程式 | G70.07 | 线性钻孔模式 |
| G16 | 使用极坐标规划程式 | G70.08 | 矩阵式钻孔模式 |
| G17 | 选择XY平面 | G70.09 | 圆弧式钻孔模式 |
| G18 | 选择XZ平面 | G70.10 | 轮廓袋状挖掘加工 |
| G19 | 选择YZ平面 | G70.11 | 轮廓袋状侧铣 |
| G20 | 英制单位输入 | G70.21 | 线性物件模式 |
| G21 | 公制单位输入 | G70.22 | 矩阵式物件模式 |
| G28 | 经由指定中途点到主参考点 | G70.23 | 圆弧式物件模式 |
| G29 | 经由指定中途点到达目的点 | G73 | 钻孔加工循环 (快速啄进) |
| G30 | 经由指定中途点到第二、三、四参考点 | G74 | 攻牙加工循环 (左手攻牙) |
| G31 | 选择性忽略 | G76 | 鎕孔加工循环 (精密鎕孔) |
| G33 | 车牙(外螺纹) | G80 | 取消钻孔、攻牙或鎕孔等循环指令 |
| G37 | 自动刀具量测 | G81 | 钻鎕孔加工循环 (一般钻鎕孔) |
| G40 | 刀径补偿取消 | G82 | 钻鎕孔加工循环 (精密深度) |
| G41 | 刀径偏左补偿 | G83 | 钻孔加工循环 (啄进退屑) |
| G42 | 刀径偏右补偿 | G84 | 攻牙加工循环 (右手攻牙) |
| G43 | 刀长补正 | G85 | 鎕孔加工循环 (一般鎕孔) |
| G49 | 刀长补正取消 | G86 | 鎕孔加工循环 (一般鎕孔) |
| G50 | 镜像与比例放大或缩小取消 | G87 | 鎕孔加工循环 (精密逆鎕) |
| G51 | 镜像与比例放大或缩小 | G88 | 鎕孔加工循环 (精密深度停转手退) |
| G52 | 子坐标系设定 | G89 | 鎕孔加工循环 (精密深度) |
| G53 | 以机械坐标快速定位 | G90 | 使用绝对坐标值规划程式 |
| G54 | 选择第一工作坐标系统 | G91 | 使用相对增量值规划程式 |
| G55 | 选择第二工作坐标系统 | G92 | 程式原点设定或暂设原点 |
| G56 | 选择第三工作坐标系统 | G94 | 每分钟进给速度控制 |
| G57 | 选择第四工作坐标系统 | G95 | 每转进给速度控制 |
| G58 | 选择第五工作坐标系统 | G96 | 定表面速度控制开启 |
| G59 | 选择第六工作坐标系统 | G97 | 定表面速度控制关闭 |
| G60 | 精确到位模式取消 | G98 | 加工循环指令退回原起始高度 |
| G61 | 精确到位模式 | G99 | 加工循环指令退回参考高度 R 点 |
| G68 | 坐标旋转 |
范例程式
[编辑]此范例改写自中华民国劳动部劳动力发展署技能检定中心公布之“(18201)铣床-CNC铣床乙级技术士技能检定术科测试试题[2]”而编写的程式。
程式开始与结束皆须加上“%”。
程式中的“O8888”是程式编号,只有数字部分可以更改,首位必须是英文大写“O”。[3]
“G90G80G40G49G17G00”是编程模式的参数,可参照上面G代码部分。[3]
程式最后的“M09、M05、M30”分别代表关闭切削液、主轴停止旋转以及程式结束。[3]
以下是完整的程式:
%
O8888
G90G80G40G49G17G00
G54X2.Y-40.
G43H1Z10.
S3000M03
M08
G01Z-1.F100
G41D1Y-40.
X2.Y-28.F200
X2.Y-22.
X22.Y-22.
X22.Y-13.
G03X22.Y13.R15.
G01X22.Y22.
X2.Y22.
X2.Y28.
X96.Y28.
X96.Y22.
X86.Y22.
X86.Y15.
X78.Y0.
X86.Y-15.
X86.Y-22.
X96.Y-22.
X96.Y-28.
X-4.Y-28.
X-4.Y-40.
G40Y-50.
G00Z10.
X-6.Y-14.
G01Z-1.F100
X2.
Y13.25
X11.F200
Y-13.25
X16.62
X20.7Y0.
X16.62Y13.25
G00Z10.
X110.Y-12.76
G01Z-1.F100
X97.07F200
Y12.91
X93.48Y0.
X97.07Y-12.76
G00Z10.
M09
M05
G91G28Z0.
G91G28Y0.
M30
%