什么是 G 代码编程?
编程是所有类型的 CNC 加工的基本技能,即使自动化和新技术似乎正在取代编程任务。每个机械师仍然需要了解他们的程序和工具是如何工作的。无论您是 CNC 编程及其最常用语言 G 代码的新手,还是多年来一直从零开始编写代码,CNC 代码仍然感觉像是一门外语。更糟糕的是,每台机器都说你必须理解的不同方言。你明白他们在说什么吗?以下是您需要了解的 G 代码编程基础知识,以有效理解和编写生产高质量产品的程序。
什么是 G 码?
G 代码是一种用于 CNC 的编程语言,用于指示机器在何处以及如何移动。大多数机器使用不同的 G 代码“方言”,因此代码因类型、品牌和型号而异。每台机器都附有说明手册,显示特定机器的特定功能代码。
G 代码代表“几何代码”,并遵循字母数字模式的一些变体:
N## G## X## Y## Z## F## S## T## M##
N:行号
G:运动
X:水平位置
Y:垂直位置
Z:深度
F:进给速度
S:主轴转速
T:工具选择
M:杂项功能
I 和 J:圆弧的增量中心
R:圆弧半径
字母数字代码用于 G 代码编程,因为它们是一种简单的方法:
- 定义运动和功能 (G##)
- 声明一个位置 (X## Y## Z##)
- 设置一个值(F## 和/或 S##)
- 选择一个项目 (T##)
- 打开和关闭某些东西 (M##),例如冷却液、主轴、分度运动、轴锁等。
例如,
G01 X1 Y1 F20 T01 M03 S500
通常表示以 20 的进给速率线性进给移动 (G01) 到给定的 XY 位置。它使用工具 1,主轴速度为 500。杂项功能因机器而异,因此为了知道什么是m-code的意思是,需要参考机器的使用说明书。
机器运动
机器所能做的一切都基于三种基本的运动类型:
- 快速移动:尽可能快地线性移动到 XYZ 位置
- 进给移动:以定义的进给速率线性移动到 XYZ 位置
- 圆周运动:以定义的进给速率进行圆周运动
每个 G 代码都告诉机器要执行这些基本动作的哪些变体,以及如何执行。
X 和 Y 是水平和垂直位置的笛卡尔坐标,Z 代表机器的深度。这些字母数字将跟随运动/功能命令(G)来声明机器的位置。
接下来,F 确定进给速度(用于进给移动或圆周移动),而 S 确定主轴速度。 T 用于选择工具。编程中使用的其他字母数字可能包括 I、J 和 R,它们与圆心和半径有关。
杂项代码
程序行可能还包括 m 代码,这些代码通常是告诉机器如何执行操作的代码。虽然不能保证在不同机器上都相同,但一些常见的标准 m 代码是:
- M00:程序停止
- M01:可选程序停止
- M02:程序结束
- M03:顺时针转动主轴
- M04:主轴逆时针转动
- M05:主轴停止
- M06:换刀
- M08:冷却液开启
- M09:冷却液关闭
- M30:程序结束/返回开始
- M41:主轴低档范围
- M42:主轴高速档
模态
就像灯会一直亮着直到它关闭一样,G 代码功能(在支持模态的控制器上)将保持活动状态,直到它们被另一个代码停用。换句话说,在任何给定时间只能激活一个功能。要停用某个功能,只需选择一个新功能即可。


例如,假设代码以 X1 Y1 (G00 X1 Y1) 处的线性快速移动开始。如果下一个功能是另一个直线快速移动,则无需再次写入 G00。下一行代码只需要新的位置(比如 X2 Y2),因为模态条件是相同的。然后,将功能更改为直线进给(G01),在下一行编写 G01 将禁用直线快速移动并激活直线进给。
一旦设置了一个条件,它就会一直保持活动状态,直到它被关闭或另一个条件覆盖它。
固定周期
固定循环是一种将完成一项共同任务的所有动作整合到一个代码中的模态条件。


例如,G81 通常是基本钻孔功能的代码。在基本钻孔的情况下,工具必须 1) 移动到孔位置的起点,2) 快速到间隙平面,3) 进给到深度,以及 4) 快速退出。这将是程序中的四行代码,对于每个新的钻孔位置都必须重复!使用固定循环 G81,激活后只需指定孔位置。像 G81 这样的固定循环通过将多个动作合并到一个代码中,显着减少了代码量。


在 G 代码中,还有一些其他常见的固定循环,用于深孔钻、锪孔和攻丝。
模式代码组
模态代码组允许在一行中有多个代码,但一行中的每个组只能有一个代码。这是因为组内的代码会相互覆盖。
G代码的模态组是:
- 第 1 组(运动):G00、G01、G02、G03、G80、G81、G82、G84、G85、G86、G87、G88、G89
- 第 2 组(平面选择 - XY、YZ、ZX):G17、G18、G19
- 第 3 组(绝对/增量模式):G90、G91
- 第 5 组(进给速度模式):G93、G94
- 第 6 组(单位 - 英寸/毫米):G20、G21
- 第 7 组(刀具半径补偿 - CRC):G40、G41、G42
- 第 8 组(刀具长度偏移 – TLO):G43、G49
- 第 10 组(固定循环中的返回模式):G98、G99
- 第 12 组(工作坐标系选择 - WCSS):G54、G55、G56、G57、G58、G59)


后处理器
后处理器是一种翻译器,可将计算机屏幕上计算出的刀具路径图像翻译成机器控制语言。您可以通过搜索与您的机器紧密匹配的示例程序然后修改该程序以精确适合您的机器来创建后处理器。
G代码编程技巧
- 有些机器和控制器会忽略空格。 G01 X1 Y1 Z1 可能与 G01 X1Y1Z1 含义相同。
- Z 轴向上为正。 Z1 将提起工具,而 Z-1 将降低工具。
- 您机器的 G 代码方言将指定是否需要前导零(如 G01,而不是 G1)。
- 方言还将确定是否始终需要小数点(例如 G01 X1. Y1. Z0.5)
- 在尝试运行大型程序之前,最好先运行机器手册中的示例程序。通常,示例程序不起作用,您需要注意问题并设置自己的基准。
开始使用 G 代码
准备好开始使用 G 代码对您的机器进行编程了吗?首先查看您机器的独特编码表。请记住,每台机器都有点不同。 Haas 的函数代码可能与 Anilam 的函数代码不同。您必须知道您的特定机器使用哪些代码来执行您希望它执行的任务。
程序通常以初始化代码 (%) 开头,后跟程序编号。然后,会有一行安全代码。接下来是换刀线。这会将适当的工具放入机器中并设置要使用的速度。大部分程序将是机器的运动和定位。
如果使用行号,最好以至少 5 的增量命名每一行。这样以后如果需要添加代码行,还是会按顺序标注。
完成 G 代码编程后,您通常会使用一系列功能来结束程序,这些功能会停止和重置机器,以便为下一次做好准备。
如果使用得当,G 代码是 CNC 机械师的宝贵工具,可让您充分利用机器的功能。 Fusion 360 等集成 CAD/CAM 解决方案继续简化 CNC 编码流程,因此您不必使用 G 代码手动对零件进行编程。使用 G 代码编程生产高质量零件的速度从未如此快。


工业技术