CNC 编程语言 – G 代码和 M 代码
术语 CNC 机器中的首字母缩写词 CNC 表示计算机数字控制。通常,当我们想到CNC加工时,我们会想到CNC机床,但实际上,现代CNC机器代表了一个更广泛的术语。工业机器人和一些计算机控制的测量机也是数控机床。
1952 年,由于航空工业对零件精密加工的需求,John T. Parsons 与 IMB(国际商业机器公司)和 MIT(麻省理工学院)合作开发了第一台 CNC 铣床机器。从那时起,更智能的工业生产已经普及,CNC 加工已应用于所有行业,同时 CNC 编程语言 G 代码和 M 代码的兴起和使用。
什么是G代码和M代码?
纵观数控机床发展的 70 年历史,不仅有 G 代码和 M 代码,各种编程语言都被用于编程。因此,一开始,Parsons 的开拓者机床是在钻孔带的帮助下进行编程的,后来在 1956 年,开发了一种用于 CNC 加工的特殊编程语言(APT 编程语言)。
RS-274 或更广为人知的 G 代码(本文也谈到)是在同一十年中创建的。 G 代码由 APT 编程语言开发,其中包含有关刀具(刀具)位置或几何形状的数据,以及主轴转速、冷却等其他非几何形状的机器功能。RS-274 功能(G 和 M 代码)继承了基础来自 APT 编程语言的少量修改,使程序更短,更方便机器控制单元。
APT | G 和 M 代码 |
转到 {X, Y, Z} | G1, G2, G3 {X, Y, Z} |
FEDRAT | F |
主轴顺时针 /逆时针 | S M3 / M4 |
冷却开启/关闭 | M8 M9 |
FINI | M30 |
RS-274 编程语言通常被称为“G 代码”,因为它主要由 G 功能(G 代码)组成。但它本身也包含同样重要的 M 功能(M 代码)。因此,有必要对这些术语进行定义,即明确、直接地回答以下问题:
- 什么是 G 代码?
- 什么是 M 代码?
- G代码和M代码有什么区别?
什么是G代码?
G 代码,即 G 功能,不同于 M 代码,主要与定义几何有关。很明显,“G代码”名称中的“G”就是“几何”这个词的意思。因此,G代码将包括选择坐标系、工作平面、编程单位、设置编程模式(绝对或增量)、快速和工作模式下的刀具移动等功能。
什么是 M 码?
M 代码或 M 功能是指与机器操作相关的功能。可以说,“M码”中的“M”就是“机器”这个词的意思。通常,在数控机床编程中,这些功能可以包括以下功能:主轴开关、冷却开关、自动换刀等。
G代码和M代码有什么区别?
正如我们所介绍的,G 代码严格指加工零件过程的几何形状,而 M 代码则指机器上的各个功能。可以说,G 代码表示“刀具相对于工件如何运动”,而 M 代码表示“机床在加工过程中做了什么”。
RS-274编程语言除了主要的G代码和M代码功能外,还有很多辅助功能:
- X,Y,Z - 定位点坐标
- I,J,K – 起点与圆心之间的距离坐标(以下示例中为“CC”)
- F-插值速度
- S-主轴转速
- T-工具编号
- H-刀具高度偏置号
- D-刀具半径偏置号
基本 G 代码列表
主要功能 | 说明 | 辅助功能 |
G0 | 快速定位(直线) | X、Y、Z |
G1 | 线性插值 | X、Y、Z、F |
G2 | 顺时针圆插补 | X、Y、Z、I、J、K、F |
G3 | 逆时针圆弧插补 | X、Y、Z、I、J、K、F |
示例 1:
G代码中的语句:G1 X10 Y50 F100
说明:工具以每秒 100 毫米的速度直线移动到想要的点(坐标:X=10 mm,Y=50 mm)。
G代码中的语句:G2 X10 Y50 I10 J40 F100
说明:刀具以每秒100毫米的速度循环(顺时针方向)到目标点(坐标:X=10 mm,Y=50 mm);圆心相对起点位置:X轴+10mm,Y轴+40mm
G代码中的语句:G02 X50 Y10 I40 J-10 F75
说明:工具以每秒 75 毫米的速度循环(顺时针方向)到目标点(坐标:X=50 mm,Y=10 mm);圆心相对起点位置:X轴+40mm,Y轴-10mm。
主要功能 | 说明 | 辅助功能 |
G17 | 为工作平面选择 XY | / |
G18 | 工作平面选择 ZX | / |
G19 | 工作平面选择 YZ | / |
G20 | 单位:英寸(英寸) | / |
G21 | 单位:毫米(mm) | / |
G41 | 刀具半径补偿-左 | D、X、Y、Z |
G42 | 刀具半径补偿-右 | D、X、Y、Z |
G40 | 刀具半径补偿-关闭 | / |
G43 | 刀高偏置补偿 | 高,Z |
G49 | 刀高偏置补偿-关闭 | / |
G54 | 机器坐标系 | / |
G55 | 工作坐标系 | / |
G56 | 工作坐标系 | / |
G57 | 工作坐标系 | / |
G58 | 工作坐标系 | / |
G59 | 工作坐标系 | / |
示例 2:
G代码中的句子: G21 G17 G55
说明:设置编程单位为毫米;选择XY工作平面;选择G55坐标系
G代码中的句子: G43 H1 Z100
说明:将刀高偏置补偿设置为H1(“H1”是CNC机床内存中刀高值保存的位置)并取一个新位置(坐标:Z=100mm)
G代码中的句子: G41 D1 X15
说明:将刀径左补偿设置为D1(“D1”是CNC机床内存中刀径值保存的位置),取一个新的位置(坐标:X=15mm);刀具在到达目标位置时会缓慢地向左移动,当刀具到达目标位置时,刀具半径补偿就完成了。
G代码中的句子: G40 G49
说明:取消刀具半径补偿;取消刀高偏置补偿
主要功能 | 说明 | 辅助功能 |
G90 | 绝对编程:相对于工作坐标系的坐标 | / |
G91 | 增量编程:当前位置相对坐标系i的坐标 | / |
基本 M 代码列表
主要功能 | 说明 | 辅助功能 |
M00 | 程序停止 | / |
M03 | 主轴开启(顺时针) | S |
M04 | 主轴开启(逆时针) | S |
M05 | 主轴关闭 | / |
M06 | 自动化换刀 | T |
M08 | 冷却液开启 | / |
M09 | 冷却液关闭 | / |
M30 | 节目结束 | / |
M98 | 子程序调用 | “子程序名称” |
M99 | 从子程序返回 | / |
如何编程数控机床
CNC编程是关于零件的几何形状和技术的字母数字格式数据(G和M代码),需要在这样的机器上进行处理,但也是另一种编程,它们通常由机器制造商执行。
使用 G 代码对 CNC 机器进行编程主要是基于语句的,这可以在前面的示例中看到,其中 G 功能的解释是解释用 G 代码编写的程序的语句。 CNC编程有几种方法,即生成G代码和M代码:
- 手动编程,
- 正在运行中的编程和
- 使用 CAD(计算机辅助设计)/CAM(计算机辅助制造)系统进行编程。
手动编程
通过手动 CNC 编程,程序员根据自己的知识和经验以及有关机器、工具、机器附件、加工模式的可用信息,应用编程指令,手动编写完成字母数字程序所需的几何和技术信息。手动编程可以组织为以下基本活动:
- 定义加工、基础和工具计划,
- 将几何信息与车间图纸进行转换,用于路线规划
- 工具,并按照加工顺序排列成块,
- 在表格程序表(G 代码)中编写和完成程序和
- 将信息从程序表传输到控制单元内存
编程中
为了不断改进CNC编程的方法,以及将编程放在机器本身上的愿望,为了CNC更大更容易的应用,一些制造商提供了控制单元,他们支持直接在机器上编程本身。虽然从应用CNC之初就有可能在所谓的MDI(手动数据输入)模式下在机床上立即编程,但在操作中编程代表了一种全新的编程方法。
通过这种方法,支持它的控制单元集成了额外的功能,这些功能避免了使用 G 代码进行经典编程。这里的编程归结为操作员和控制单元之间的交互对话,通过键盘和图形用户界面,可以生成简单的加工轮廓以及用于加工的键入循环。控制单元根据输入的查询,执行必要的刀具路径计算,并自动生成 G 代码。
使用 CAD/CAM 系统编程
零件的几何形状,例如用于航空航天、军事和其他行业,具有非常复杂的二阶曲面,需要多轴加工(3 轴、4 轴和 5 轴 CNC 加工) .处理此类表面的复杂程序需要数千个块(句子),其笔迹非常困难且耗时。因此,有必要利用计算机进行工艺准备,即在G代码和M代码的基础上,对加工上述零件的数控机床进行编程。
CAD/CAM编程可归类为计算机CNC编程。 CAD 和 CAM 的集成导致了 NC 编程的改进,特别是在编程简化方面。现在程序员不必考虑定义几何形状,这就是 CAD / CAM 软件所做的。程序员剩下的就是在程序中通过与系统的主动交互,添加其他的技术信息,如夹具、底座、夹紧、刀具和加工模式等。需要强调的是,CAD / CAM和CAPP(计算机辅助工艺规划)的集成,也为这些需求开发了解决方案。
这是在 CAD / CAM 环境中对机器进行编程的程序如下所示:
- CAD 模型的建模,
- 使用可用的 CAM 策略进行加工规划,以处理和计算刀具路径并获取 CL(刀具位置)文件,
- 用于程序验证和检测可能的错误和碰撞的刀具路径模拟和材料去除模拟,
- 使用所选机器的后处理器对 CL 文件进行后处理并获取 G 代码,
- 将 G 代码传送到控制单元。准备工具和工件。将工件放在机器上,
- 检查加工条件和模式,检查速度和加速度,这会显着影响加工质量和
- 在机器上加工工件。
结论
虽然今天有一些不需要 G 和 M 功能知识的编程方法(操作编程和 CAD / CAM CNC 编程),但程序员应该知道它们,因为特殊情况有时需要手动进行编程。积极的是,编程语言 G 和 M 代码可以说是通用的,这意味着知道 G 和 M 代码可以对所有 CNC 机床进行编程,语法差异很小,如果您了解基本知识,很快就能掌握。 G 和 M 代码。您是否担心为您的设计寻找专业的 CNC 编程器?别担心,威肯是一家在CNC加工行业拥有20多年经验的制造商,拥有先进的制造技术和经验丰富的CNC工程师,随时准备满足您的产品设计需求。立即获取报价!
数控机床