mach3 G代码和M代码说明
G代码代码
G00 快速定位
G01 直线切削
G02 顺时针圆弧/螺旋切削 G03 逆时针圆弧/螺旋切削 G04 暂停
G10 设定坐标原点
G12 顺时针圆切削
G13 逆时针圆切削
G15/G16 极坐标指令
G17 选择XY平面
G18 选择XZ平面
G19 选择YZ平面
G20/G21 英制单位/公制单位 G28 返回基准点
G28.1 定义轴基准
G30 返回第二基准点
G31 直探头
G32 切螺纹
G40 取消刀具半径补偿 G41/G42 启用刀具半径补偿左/右 G50 重新设定缩放比例为1 G51 设置轴数据输入缩放比例 G52 选择临时坐标偏移 G53 选择机床绝对坐标系 G54 使用夹具偏移量1
G55 使用夹具偏移量2
G56 使用夹具偏移量3
G57 使用夹具偏移量4 G58 使用夹具偏移量5 G59 使用夹具偏移量6/使用同样夹具偏移量
G61/G64 精确停止模式/恒速模式 G76 螺纹切削循环
G77
G80 取消移动模式 (包括固定循环)
G81 镗孔固定循环
G82 可暂停镗孔固定循环 G83 深孔钻削固定循环 G84 右螺旋切削固定循环 G85/G86/G88/G89 镗孔固定循环
G90 绝对尺寸
G91 增量尺寸
G92 设置偏移量及参数
G92.x 取消G92命令
G94 每分钟仅给模式
G95 每转进给模式
G98 返回固定循环起始点
G99 返回固定循环R点
1、快速直线移动 - G00
对于快速直线移动,程序G00X~Z~中的所有功能字,除了至少选用其中的一个外其它都为可选,如果当前移动模式为G00那么G00也是可选的,刀具可以以协调线性移动的方式以最大进给到达目的点,执行G00命令不会有切削动作发生。
如果启用了刀具半径补偿,刀具的移动将与上面所描述的不同(见刀具补偿)。
如果程序在同一行有G53命令,刀具的移动也同与上述不同(见绝对坐标系)。
2、进给直线切削 - G01
对于以进给直线切削来说,程序G01X~Z~中的所有功能字,除了必须至少使用的之外其它的轴功能字都为可选。如果当前移动模式为G1,那么G1也是可选的,刀具将以协调线形移动的方式以当前进给移动到目的地。
如果在程序中省略了所有的轴功能字将会产生错误。
如果启用了刀具半径补偿,刀具的移动将与上面所描述的不同(见刀具补偿)。
如果程序在同一行有G53命令,刀具的移动也同与上述不同(见绝对坐标系)。
3、进给圆弧切削 - G02和G03
您可以用G02(顺时针圆弧)或G03(逆时针圆弧)来切削圆弧或螺旋。如果启用了刀具半径补偿,刀具移动将与上面所描述的不同(见刀具补偿)。 圆弧的描述方法有两种,我们称它们为圆心格式和半径格式,在圆弧切削模式中半径模式和圆心模式都是可选的。
4、半径模式圆弧切削
在半径格式圆弧切削模式中,指定被选平面内的弧线终点的坐标为圆弧半径,程序G2X~Z~(或把G2换成G3)中,R表示圆弧半径,除了所选平面的两根轴为必选外其他轴都为可选,R数字就是圆弧半径,当半径为正数时圆弧切削的角度在0-180?之间,当半径为负数时圆弧切削的角度在180-359.999?之间。如果圆弧为螺旋线,圆弧终点在平行于螺旋线轴线的坐标平面上的坐标位置也可以指定。
如果出现下列情况将会出错:
? 所选平面上两根轴的功能字都被忽略。
? 圆弧的终点位置就是起点位置。
如果圆弧是圆或半圆,最好不要使用半径格式切削,因为圆弧终点很小的变化可能使圆心位置发生很大的变化(圆弧的中心也会发生很大变化)。如果影响足够大化整误差会导致规定公差之外的切削,如果圆弧接近整圆加工情况很而劣,如果圆弧是半圆(或接近半圆)加工情况比较比较严重,其它的角度(角度从很小到165?或从195?到345?)的圆弧加工出的工件符合要求。
5、圆心格式圆弧切削
在圆心格式圆弧切割中,所选平面内的圆弧终点坐标是根据当前位置与圆弧圆心的偏移量来指定的,如果圆弧终点和与当前点重合是可行的,下面的情况是错误的:
? 在圆弧所在的平面上,如果当前点与圆弧圆心的距离比圆弧终点与圆弧圆心的距离大于0.002毫米/英寸(和系统使用的单位一致)。圆弧的圆心可用I和J功能字来指定,有两种方法来解释它们,第一种是I和J指定与在圆弧起点的当前点相关的点为圆心,也叫增量I/J模式;第二种I和J指定当前坐标系得实际坐标为圆心,也叫绝对IJ模式。I/J模式是在配制下拉菜单状态对话框中设置,I/J模式的选择要与商业化的控制系统兼容,您会发现增量IJ模式是最好的,因为在增量模式中如果圆心位置不在圆弧起点
时您需要同时使用功能字I和J。
程序G2X~Z~I~J~(或用G03代替G02),那么除了必须使用X轴或Z轴的功能字之外,其它的所有轴功能字都是可选的。I和J是圆心与当前位置偏移量或当前坐标的偏移量(这取决于I/J模式),I和J功能字都是可选但必须选择一个,如果出现下列的情况就会导致错误:
? I和J功能字都被忽略。
6、暂停 - G04
暂停对应的程序为G04P~,这可以使得轴在P数字指定的时间(单位为秒或毫秒)内停止,时间单位在配置下拉菜单逻辑对话框中设置。如果时间单位为秒G4P0.5将使得轴暂停0.5秒,如果出现这样的情况会出错:
? P数字为负。
7、设定坐标系刀具偏移量和工件偏移量 - G10
您可以在关于坐标系得章节中找到更多与刀具偏移量和工件偏移量相关的信息。设置刀具偏移量的程序如G10L1P~X~Z~A~,其中P数字必须是从0到255的整数,刀具偏移量设定格式为:刀具号码-P数字指定的刀具偏移量,刀尖半径可以通过A数字设定,上面的程序中包括的轴功能字的数值也可以设定,但是刀具半径并不能通过这种方法来设定。
设定夹具坐标系原点的坐标值可以用程序G10L2P~X~Z~,其中P数字必须是从1到255的整数,设定夹具偏移量的格式为:刀具夹具编号-1~6中的任何一个数字(其中1到6分别对应G54到G59),其他所有轴功能字都是可选的。由P数字指定的坐标值是夹具坐标系原点在绝对坐标中的坐标值,只有程序行中包含轴功能字的那些坐标才会被重置。
如果出现下面的情况将出现错误:
? P数字不识从0到255的整数。
如果原点偏移量(由G92或G93指定)在G10被使用之前就已经生效,在后面的程序中原点偏移量将继续生效。
如果坐标系原点由G10命令设定,在G10执行期间坐标系原点可能起作用也可能不起作用。
如果您不是使用表格上面的保存按钮保存刀具偏移量和夹具偏移量,这些偏移量不会一直有效。
例如:程序G10 L2 P1 x3.5 Z17.2 把第一个坐标系的原点,该坐标系统由 G54 选定,设定在X=3.5、Z=17.2(绝对坐标系坐标值)的位置。
8、平面选择 - G17、G18、G19
G17选择XY平面,G18选择XZ平面,G19选择YZ平面。在G2/3和固定循环中我们将继续讨论选择平面的作用。
9、长度单位长度单位 - G20、G21
G20选择英制单位,G21选择公制单位。您最好在任何移动发生之前在程序中使用G20或G21定义长度单位,且不要再在程序中任何其它地方使用G20和G21,用户应该确保所有的数字适合使用现在的长度单位。也可以见G70/G71,它们与G20/G21同义。
10、返回原点 - G28、G30
返回原点即离开程序指定点回到系统设置得原点,其程序可以使用G28X~Z~(也可以用G30),程序中所有的轴都是可选的,运动的轨迹先是从当前位置到程序指定点然后再回到原点。如果程序没有设定轴功能字,那么中间过程的点就是当前点,因此只需要做一次移动就能回到原点。
11、定义轴基准 - G28.1
G28.1X~Z~可以定义轴基准,轴将以当前进给向复原开关移动。当轴到达轴功能字给定的绝对机床坐标值时,轴将以配置下拉菜单配置基准中设定的进给移动,如果当前绝对位置是基本正确的,系统将会给基准开关发出停止的信号。
G32切一单头螺纹程序G32X~Z~F~在开始螺纹切削之前设定X轴和Z轴位置的命令应该被设在Z轴的安全位置,F为切削螺纹的螺距。X和Z为螺纹切削完成时的位置,如果X代码省略表示X轴位置在切削过程
中不改变。
12、刀具半径补偿 - G40、G41、G42
G40可以取消刀具半径补偿。如果半径补偿已经取消再取消一次也不会出错。只有选择XY平面作为工作平面时刀具半径补偿才会被执行。G41D~可以定义刀具轮廓左移动半径补偿(当刀具半径为正时,刀具轮廓在指定刀具轨迹的左边);G42D~用来定义刀具轮廓右偏移半径补偿(当刀具半径为正时,刀具轮廓在指定轨迹的右边)。D功能字是可选的,如果没有使用D功能字主轴刀具的当前半径将被使用,如果使用了D功能字,D数字通常为刀具号码,但这不是必需的。D数字也可以是0,这样的话半径也为0。如果出现下列情况会导致错误:
? D数字不是整数、非负数或者大于刀具号码。
? 刀具半径补偿启动之后再次命令启用刀具补偿。
在刀具补偿章节中已经描述了启用了刀具半径补偿时机床的表现,注意编写正确的切入和退出程序的重要性。
13、缩放因子 - G50、G51
使用G51X~Z~可以为功能字X、Z、I&J定义缩放比例,其中X、Z分别是给定轴的缩放因子,但是这些缩放因子不会对自身进行缩放。不能在G2或G3程序中使用不同的缩放因子来切割圆弧。使用G50可以把所有的缩放因子重新设置为1.0。
14、临时坐标系偏移量 - G52
使用G52X~Z~可以对当前点以正或负的距离进行偏移,轴功能字表示的是您要使用的偏移量,所有的轴功能字都是可选,但是您至少需要选择一个,如果您一个轴功能字都没有选择,当前点在轴上的坐标不会改变。
如果出现下面的情况将发生错误:
? 所有的轴功能字都被忽略。
在Mach3中G52和G92使用的内部机制是一样的,依次不能一起使用。执行G52命令时,当前坐标系的原点会移动给定的距离。使用G52X0Y0可以取消G52设定的偏移量。
例如:假定在当前坐标系中当前点的坐标为X=4,G52X7设定X轴方向的偏移量为7,这样当前点的X坐标就变为X=-3。一般在夹具坐标系中距离模式为绝对距离模式时使用轴偏移量,这样使用G52可以控制所有的夹具坐标系。
15、绝对坐标系 - G53
G1G53X~Z~(G01也可以用G00代替)可以控制被控点在绝对坐标系中线形移动,其中所有的轴功能字都是可选的,但是至少要选一个。如果它处于G00或G01模式,G00或G01也是可选的。G53不是一个模态指令,也即是说要保持在绝对坐标系中移动在每一个程序行中都要使用G53。被控点将以协调线形移动到达程序指定点,如果G01被执行移动速度就是当前进给(如果机床达不到当前给进给速度,会移动速度会小于当前给进速度);如果G00被执行,移动速度就是最大进给速度(如果机床达不到最大进给速度,移动速度会小于最大进给速度)如果出现下列情况会导致错误:
? 使用G53时没有起用G00或G01。
? 刀具半径补偿启用时使用G53。
16、选择工件偏移量坐标系 - G54至G59&G59P~
G54可以选择工件偏移量#1(也就是1号工件偏移量的六个工件偏移量),系统定义的工件偏移量号码与G代码关系为:(1-G54),(2-G55),(3-G56),(4-G57),(5-G58),(6-G59)。G59P~可以使用1,254 号工件偏移量重的任何一组工件偏移量,P功能字是工件偏移量号码,因此G59P5与G58的功能一样。如果出现下面的情况将出现错误:
? 刀具半径补偿启用的时候使用这些G代码。
17、设定刀具轨迹模式 - G61和G64
G61设定机床精确停止模式,G64设定机床恒速模式,当机床处于其中一种模式时您可以在程序中再次
启用这个模式,精确停止模式和恒速模式在上面的章节中已经介绍。
18螺纹切削 - G76
程序G76X~Z~Q~P~H~I~R~K~L~C~B~T~J~切削一个完整螺纹。
X:X轴结束位置
Z:Z轴结束位置
Q:退刀量
P:导程
H:首次切削深度
I:横向进给角度
R:X轴的开始位置
K:Z轴的开始位置
L:倒角
C:X安全位置
B:最后切削深度
T:锥度
J:最小切削量
19、取消模态移动 - G80
G80可以使所有的轴都停止转动。
如果出现下面的情况会发生错误:
在G80状态下使用轴功能字,除非第0组G代码和轴功能字一起使用。 ?
20、固定循环 - G81至G89
本小节将介绍G81到G89固定循环的使用方法,下面是两个使用G81的例子。固定循环是在当前被选平面上进行,您可以选择XY、YZ或ZX平面,在本小节中当前被选平面都是XY平面,您选择其它平面时效果也是一样的。
您可以选择旋转轴功能字,但最好不要使用旋转轴功能字,因为如果您选择了旋转轴功能字,您就必须确保它的数值和旋转轴当前所在的位置一致,这样才能保证旋转轴不转动。所有的固定循环都使用数控代码中的X、R和Z功能字来定义X、R和Z的位置,其中R是垂直于所选平面的轴的回缩位置,有些循环也使用其它的方法。如果在一列代码中要多次使用固定循环,我们可以使用粘性数字,在第一行程序中使用粘性数字之后,在接下来的程序行中可用可不用,因为如果没有程序改变其数值的话粘性数字在接下来的程序中数值不会改变,R就是这样一个粘性数字。在增量模式中当XY平面为被选平面时,X和R数字分别是相对于当前位置的增量,Z是相对Z轴移动前位置的增量,选择其它平面时也是类似的;在绝对模式中X、R和Z分别是它们在绝对坐标系中的坐标值。L数字是可选的它指定循环的重复次数,因此L不能为零,一般在增量模式中选择重复功能,如果在增量模式中使用了重复循环功能,会按同样顺序在直线上间距相同的地方重复循环。在绝对模式中,当L>1时会在同一个位置重复循环多次,如果您忽略L数字,系统当成L=1处理。L数字不是粘性数字。在增量模式中当被选平面为XY平面并且L>1时,X和Y轴的位置取决于X和Y轴的当前位置和给定的X和Y轴的增量,R位置和Z轴位置在循环的过程中不会改变。每次重复的回缩高度(下面被称为清除碎片的Z轴位置)取决于回缩模式中的设置,这个高度可以是原来的Z轴位置(在G98回缩模式并且Z轴位置在R位置之上),也可以是R位置。
如果出现下面的情况将发生错误:
? 在固定循环中没有X和Z功能字;
? 使用了P数字但是P数字为负数;
? L数字为负数;
? 在固定循环中有固定循环;
? 在固定循环中使用了逆时针进给;