一般程序段由下列功能字组成:
N —— G —— X —— Y —— Z —— F —— S —— T —— M ——
程序号 准备功能 坐标值 进给速度 主轴速度 刀具 辅助功能
(一)准备功能
准备功能字G代码,用来规定刀具和工件的相对运动轨迹(即指令插补功能)、机床坐标系、坐标平面、刀具补偿、坐标偏置等多种加工操作。我国机械工业部根据ISO标准制定了JB3208-83标准,规定G代码由字母G及其后面的二位数字组成,从G00到G99共有100种代码,如表1-3所示。
G代码分模态代码和非模态代码。
表1-3 G功能代码
| 代码 (1) | 模态代码组别 (2) | 功 能 (3) |
| G00 | a | 点定位 |
| G01 | a | 直线插补 |
| G02 | a | 顺时针圆弧插补 |
| G03 | a | 逆时针圆弧插补 |
| G04 | 暂停 | |
| G05 | 不指定 | |
| G06 | a | 抛物线插补 |
| G07 | 不指定 | |
| G08 | 加速 | |
| G09 | 减速 | |
| G10~G16 | 不指定 | |
| G17 | c | XY平面选择 |
| G18 | c | ZX平面选择 |
| G19 | c | YZ平面选择 |
| G20~G32 | 不指定 | |
| G33 | a | 螺纹切削,等螺距 |
| G34 | a | 螺纹切削,增螺距 |
| G35 | a | 螺纹切削,减螺距 |
| G36~G39 | 永不指定 | |
| G40 | d | 刀具补偿/偏置注销 |
| G41 | d | 刀具左补偿 |
| G42 | d | 刀具右补偿 |
| G43 | (d) | 刀具正偏置 |
| G44 | (d) | 刀具负偏置 |
| G45 | (d) | 刀具偏置+/+ |
| G46 | (d) | 刀具偏置+/- |
| G47 | (d) | 刀具偏置-/- |
| G48 | (d) | 刀具偏置-/+ |
| G49 | (d) | 刀具偏置0/+ |
| 代码 (1) | 模态代码组别 (2) | 功 能 (3) |
| G50 | (d) | 刀具偏置0/- |
| G51 | (d) | 刀具偏置+/0 |
| G52 | (d) | 刀具偏置-/0 |
| G53 | f | 直线偏移,注销 |
| G54 | f | 直线偏移X |
| G55 | f | 直线偏移Y |
| G56 | f | 直线偏移Z |
| G57 | f | 直线偏移XY |
| G58 | f | 直线偏移XZ |
| G59 | f | 直线偏移YZ |
| G60 | h | 准确定位1(精) |
| G61 | h | 准确定位2(中) |
| G62 | h | 快速定位(粗) |
| G63 | 攻螺纹 | |
| G64~G67 | 不指定 | |
| G68 | (d) | 刀具偏移,内角 |
| G69 | (d) | 刀具偏移,外角 |
| G70~G79 | 不指定 | |
| G80 | e | 固定循环注销 |
| G81~G89 | e | 固定循环 |
| G90 | j | 绝对尺寸 |
| G91 | j | 增量尺寸 |
| G92 | 预置寄存 | |
| G93 | k | 时间倒数,进给率 |
| G94 | k | 每分钟进给 |
| G95 | k | 主轴每转进给 |
| G96 | i | 恒线速度 |
| G97 | i | 每分钟转数(主轴) |
| G98~G99 | 不指定 |
(二)坐标功能字
坐标功能字(又称尺寸字)用来设定机床各坐标的位移量。它一般使用X、Y、Z、U、V、W、P、Q、R、A、B、C、D、E等地址符为首,在地址符后紧跟“+”(正)或“-”(负)及一串数字,该数字一般以系统脉冲当量(指数控系统能实现的最小位移量,即数控装置每发出一个脉冲信号,机床工作台的移动量,一般为0.0001~0.01mm)为单位,不使用小数点。一个程序段中有多个尺寸字时,一般按上述地址符顺序排列。
(三)进给功能字
该功能字用来指定刀具相对工件运动的速度。其单位一般为mm/min。当进给速度与主轴转速有关时,如车螺纹、攻丝等,使用的单位为mm/r。进给功能字以地址符“F”为首,其后跟一串数字代码。
(四)主轴功能字
该功能字用来指定主轴速度,单位为r/min,它以地址符“S”为首,后跟一串数字。
(五)刀具功能字
当系统具有换刀功能时,刀具功能字用以选择替换的刀具。它以地址符“T”为首,其后一般跟二位数字,代表刀具的编号。
以上F功能、T功能、S功能均为模态代码。
(六)辅助功能字
辅助功能字M代码主要用于数控机床的开关量控制,如主轴的正、反转,切削液开、关,工件的夹紧、松开,程序结束等。M代码从M00-M99共100种。我国标准JB3208-83的有关规定见表1-4所示。
(1)M00程序停止;(2)M01选择停止;(3)M02程序结束;(4)M30纸带结束。
表1-4 M功能代码
| 代 码(1) | 功能与程序 段运动同时开始(2) | 功能在程序段 运动完后开始(3) | 功 能(4) |
| M00 | * | 程序停止 | |
| M01 | * | 计划停止 | |
| M02 | * | 程序结束 | |
| M03 | * | 主轴顺时针方向 | |
| M04 | * | 主轴逆时针方向 | |
| M05 | * | 主轴停止 | |
| M06 | # | # | 换刀 |
| M07 | * | 2号切削液开 | |
| M08 | * | 1号切削液开 | |
| M09 | * | 切削液关 | |
| M10 | # | # | 夹紧 |
| M11 | # | # | 松开 |
| M12 | # | # | 不指定 |
| M13 | * | 主轴顺时针方向切削液开 | |
| M14 | * | 主轴逆时针方向切削液开 | |
| M15 | * | 正运动 | |
| M16 | * | 负运动 | |
| M17~M18 | # | # | 不指定 |
| M19 | * | 主轴定向停止 | |
| M20~M29 | # | # | 永不指定 |
| M30 | * | 纸带结束 | |
| M31 | # | # | 互锁旁路 |
| M32~M35 | # | # | 不指定 |
| 代 码(1) | 功能与程序 段运动同时开始(2) | 功能在程序 段运动完后开始(3) | 功 能(4) |
| M36 | * | 进给范围1 | |
| M37 | * | 进给范围2 | |
| M38 | * | 主轴速度范围1 | |
| M39 | * | 主轴速度范围2 | |
| M40~M45 | # | # | 不指定或齿轮换档 |
| M46~M47 | # | # | 不指定 |
| M48 | * | 注销M49 | |
| M49 | * | 进给率修正旁路 | |
| M50 | * | 3号切削液开 | |
| M51 | * | 4号切削液开 | |
| M52~M54 | # | # | 不指定 |
| M55 | * | 刀具直线位移,位置1 | |
| M56 | * | 刀具直线位移,位置2 | |
| M57~M59 | # | # | 不指定 |
| M60 | * | 更换工件 | |
| M61 | * | 工件直线位移,位置1 | |
| M62 | * | 工件直线位移,位置2 | |
| M63~M70 | # | # | 不指定 |
| M71 | * | 工件角度移位位置1 | |
| M72 | * | 工件角度移位位置2 | |
| M73~M89 | # | # | 不指定 |
| M90~M99 | # | # | 永不指定 |