广州数控指令代码大全.docx
《广州数控指令代码大全.docx》由会员分享,可在线阅读,更多相关《广州数控指令代码大全.docx(12页珍藏版)》请在冰豆网上搜索。
广州数控指令代码大全
广州数控指令代码大全
2011-01-3102:
13
GSK980TA/D编程教材
《一》编程的基本概念
《二》常用G代码介绍
《三》单一固定循环
《四》复合型固定循环
《五》用户宏程序
《六》螺纹加工
《七》T代码及刀补
《八》F代码及G98、G99
《九》S代码及G96、G97
(注意:
本教材仅供学习参考,实际操作编程时应以广数GSK980T车床数控系统使用手册为准)2007年9月
《一》编程的基本概念:
一个完整的车床加工程序一般用于在一次装夹中按工艺要求完成对工件的加工,数控程序包括程序号、程序段。
(一)程序号:
相当于程序名称,系统通过程序号可从存储器中多个程序中识别所要处理的程序,程序号由字母O及4位数字组成。
(二)程序段:
相当于一句程序语句,由若干个字段组成,最后是一个分号(;)录入时在键入EOB键后自动加上。
整个程序由若干个程序段构成,一个程序段用来完成刀具的一个或一组动作,或实现机床的一些功能。
(三)字段(或称为字):
由称为“地址”的单个英语字母加若干位数字组成。
根据其功能可分成以下几种类型的字段:
▲程序段号:
由字母N及数字组成,位于程序段最前面,主要作用是使程序便于阅读,可以省略,但某些特殊程序段(如表示跳转指令的目标程序段)必须标明程序段号。
为了便于修改程序时插入新程序段,各句程序段号一般可间隔一些数字(如N0010、N0020、N0030)。
▲准备功能:
即G代码,由字母G及二位数字组成,大多数G代码用以指示刀具的运动。
(如G00、G01、G02)
▲表示尺寸(坐标值)的字段:
一般用在G代码字段的后面,为表示运动的G代码提供坐标数据,由一个字母与坐标值(整数或小数)组成。
字母包括:
表示绝对坐标:
X、Y、Z
表示相对坐标:
U、V、W
表示园心坐标:
I、J、K
(车床实际使用的坐标只有X、Z,所以Y、V、J都用不着)
▼表示进给量的字段:
用字母F加进给量值组成,一般用在插补指令的程序段中,规定了插补运动的速度。
▼S代码:
表示主轴速度的字段。
用字母S加主轴每分钟转速(或主轴线速度:
米/分)组成。
▼T代码:
表示换刀及刀补
▼辅助功能:
用字母M及二位数字组成,表示机床的开、停等。
本机床的主要有效M代码为:
M03:
主轴正转。
M04:
主轴反转。
M05:
主轴停。
M08:
开冷却液。
M09:
关冷却液。
M00:
程序暂停。
(暂停后可按“循环起动”按钮继续运行)
M30:
程序结束。
一个程序的最后一个程序段通常用M30来结束程序。
控制尾架及卡盘的M代码本机床无效。
▼其他特殊用途的字段,主要用在一些螺纹车削、循环车削的G代码后面,及用户宏程序中。
《二》常用G代码介绍
(一)基本知识
G代码的主要功能:
直接控制刀具运动。
3个基本概念:
▲插补:
数控机床上,刀具根据指令,沿X轴及Z轴的进给运动。
运动轨迹有:
Z方向的直线----用于车园柱面
X方向的直线----用于车端面
钭直线-------------用于车园锥面
园弧----------------用于车球面
插补运动的实质,即车床数控加工的基本原理:
刀具根据数控系统的指令,沿X轴及Y轴方向分别移动微小的一段距离,刀具的实际移动方向为X、Y二个方向的合成,一连串的这种移动组成了刀具的运动轨迹。
最基本的插补指令:
G01、G02、G03
▲模态代码与非模态代码
模态代码:
程序中的有关字段一经设置后,在以后的程序段中一直有效,如继续保持该状态,不必重新设置。
非模态代码,即一次性代码,只在本程序段有效。
所有的G代码可分为模态与非模态
▲G代码的分组:
共四个组
①00组:
属一次性代码,主要包括二大类:
1、指令本身性质为一次性的,如G50(坐标系设定),G04(暂停)。
2、复合型固定循环,G70—G76,一条指令要重复循环多次。
②01组:
用得最多的一组,主要用于刀具的移动。
主要包括以下几类:
1、快速移动:
G00
2、插补:
G01、G02、G03
3、螺纹:
G32
4、单一型固定循环:
G90、G92、G94
01组为模态指令,一旦被指定,就一直有效,直到被同一组的其他G代码所取代。
下面的02、03组同样为模态指令。
③02组:
只有G96、G97二个,用于控制恒线速的开关,为模态指令。
④03组:
只有G98、G99二个,用于设定进给量的单位(每分钟进给量或主轴每转进给量。
)为模态指令。
(二)常用G代码的使用
▲G50:
坐标轴设定(实际上是:
根据刀具的实际位置,确定工件坐标系的X、Z坐标值)
G50指令执行后,不产生运动,但工件坐标系按指令值作了更新。
使用举例:
G50X100Z250;
其实质含义是:
工件坐标系的X坐标立即被被修改为100,Z坐标修改为250。
,系统立即以新的坐标值显示。
一股用于录入方式下通过对刀建立工件坐标系。
关于工件坐标系(即编程所使用的坐标系):
以车床主轴旋转轴线作为X方向的零位(即径向零位)。
Z轴方向的零位(即轴向零位)可根据工件情况确定,一般以卡盘端面或工件右端面作为零位。
坐标系的正负方向:
以离开工件方向为正,即Z轴为主轴旋转轴线、从左向右为正,X轴为径向走刀方向、从中心向外为正(从车削加工的角度来看,常规的切削进刀方向大都是朝向X、Z轴的负方向)。
当使用绝对值编程时,X坐标始终是正值(除特殊情况外),Z坐标则不一定。
当使用相对值编程时,常规的外园车削均是朝向负方向的,所以U、W值常常是负值。
(相对值编程时,刀具的前进方向与坐标轴正方向一致为正,相反为负,简言之,即进去为负,出来为正)。
▲G00快速移动
使用举例:
G00X50Z200;或用相对坐标:
G00U15W5;
后面带的二个尺寸字段X、Z或U、W用以指示移动的目标位置。
执行G00的结果是使刀具从当前位置向目标位置快速移动。
G00实际上不属于插补命令,执行时X、Z轴各自独立运动,,如某一坐标轴先到达后,该轴先停止运动,另一轴继续(沿X或Z方向)移动。
因此,移动轨迹一般开始是一段钭直线,然后是一段平行于X或Z轴的直线。
使用G00时必须注意刀具是否可能与工件相碰。
▲ G01直线插补
使用举例:
G01X50Z200F20;或用相对坐标:
G01U15W5;
与G00相似,用X、Z或U、W指示插补运动结束时的目标位置。
大多数车削加工,如外园、内孔、端面、锥面均使用G01来完成。
程序中使用G01的注意事项:
①程序中,如果是首次使用G01,必须指定进给量F值,以后如进给量不变,则F字段可省略。
②使用G01前,必须保证刀具的当前位置为正确位置(由于G01中只指定了插补的终点位置,并未指明插补的起点位置)
③G00、G01及其坐标值都是模态指令,下一程序段中可省略相同的字段。
如:
N0010G00Z200;N0020X90;(作用等于G00X90Z200;)
N0030G01Z150F70;N0040X95;(作用等于G01X95Z150F70;)
▲ G02、G03园弧插补
使用举例:
G00X50Z152;(快速定位到起点)
G01G150;
G02X150Z100R50F30;
(X150、Z150为园弧的终点坐标,R50为园弧的半径)
也可以用从起点到园心的坐标距离I、K来表示:
G02X150Z100I50F30;(I50:
指起点至园心的X方向距离为50,Z方向的距离为零,K0可省略。
)
注意事项:
①本车床只使用前刀架,顺逆时针的判断与标准相反。
②本例中园弧从右面小头向左切削,为逆时针,用G02指令。
如从大端处向右面小端加工园弧,则应使用G03。
③I、K的值注意正负号:
从起点向园心的方向与坐标轴正方向一致为正。
④I值属于半径方向的距离,不要用直径计算。
▲ G04暂停
用法举例:
G04P500;(暂停500毫秒,即0.5秒)G04X3.5;(暂停3.5秒)可用于切槽、台阶端面等需要刀具在加工表面作短暂停留的埸合。
《三》单一固定循环G90、G92、G94
单一固定循环把“G00快速接近工件”→”插补运动走刀”→”插补退刀”→”G00快速返回”这四动作组合在一起。
以简化程序。
▲G90:
内外园车削循环
使用举例:
G90X50Z35F0.2 (园柱面车削)
G90X50Z35R2.5F0.2(园锥面车削,R2.5指起点半径与终点半径之差)
注意事项:
①工件余量大时,可多次调用G90,例如:
G90X75Z20F0.2;X70;(由于是模态,相同的字段不必重复键入)X65;
②与G01在用法上的区别:
G01必须事先把刀具用指令移动到正确的起点位置,以保证加工尺寸
G90车削开始时的起点X坐标是由本段自动计算后移动到位的,故在G90的上一个程序段中,应把刀具移动到一个合适的退刀位置。
▲G94的用法与G90相似,用于端面切削,G92在螺纹车削中介绍。
《四》复合型车削固定循环
(1)粗精车指令配合使用的G70—G73,其中G70为精车指令(与G71或G72或G73配合使用),此类指令在程序中的使用由三部分组成,以G71为例说明如下:
#第一部份:
有二个G71程序段,第一个G71用来规定每一次粗车的吃刀深度,退刀量等;第二个G71用来确定与精车程序段的关系,保证精车余量、并开始粗车。
#第二部份:
用来确定精车的轨迹路线,由若干个程序段组成。
供精车时使用,并为粗车时提供数据。
#第三部份:
G70程序段,即实际开始精车的指令。
使用举例:
N20G00X200Z302;(快速定位到粗车起点)
N30G71U5R1F30;(U5:
每次粗车切深5mm-半径方向;R1:
每次退刀1mm)
N40G71P50Q80U0.6W0.2;
(P50:
描述精车轨迹的第一个程序段号是N50)
(Q80:
描述精车轨迹的最后一个程序段号是N80)
(U0.6、W0.2:
留给精车的径向余量、轴向余量)
N50G00X100;(描述精车轨迹的第一个程序段,)
(注意:
1、在此段中径向快速定位到正确的开始精车位置。
2、此段不允许有Z方向的定位。
3、从N50、N80各段不可省略程序段号。
4、从N50到N80各段的X、Z方向坐标值只允许单向减少或单向增大。
)
N60G01Z260F20;N70G01X195Z210;
N80G01Z200;(描述精车轨迹的最后一个程序段)
(可在此处插入换也指令)
N110G70P50Q80;(开始精车,实际执行N50到N80间各程序段)
N120G00X220Z320;(精车结束,退出)
▲上述G71+G70指令的粗车是以多次Z轴方向走刀以切除工件余量,为精车提供一个良好的条件,适用于毛坯是园钢的工件。
▲G72+G70车削循环,与G71相似,但粗车是以多次X轴方向走刀来切除工件余量,适用于毛坯是园钢、各台阶面直径差较大的工件。
▲G73+G70车削循环,基本用法相同,但各次粗车的运动轨迹与精车轨迹相似,适用于一些毛坯为锻件、铸件,这类毛坯已初步具有成品的外形,不宜使用G71、G72指令。
(2)G75外园切槽循环例:
G00X81Z-30;(定位到槽的起点,注意考虑切刀宽度)
G75R0;(R0:
每次X方向退刀0,即直接切到槽底)
G75X50Z-80P16000Q5000R0F50
X,Z:
槽的终点坐标。
P:
X方向每次切入深度(半径值,单位0.001mm)。
Q:
Z方向每次移动量(单位0.001mm),注意应小于切刀宽度。
R:
每次Z方向退刀量。
(3)G76循环指令在螺纹加工中介绍。
《五》螺纹加工
本系统螺纹加工指令有三条:
G32、G92、G76。
公制的导程用F指定,英制的每英寸牙数用I指定。
(1)G32:
是最基本的螺纹加工指令。
用法举例:
G32X15.2Z100F2;
X15.2、Z100是螺纹终点坐标,F2:
导程(单头螺纹即为螺距)为2(若为每英寸牙数,则使用I,如I11,为每英寸11牙。
使用该指令前,应先将刀具定位到正确的起点位置,只要使起点的X坐标小于(内螺纹则为大于)终点的X坐标,即可车出锥螺纹。
刀具在Z轴方向的起点位置应距离工件≥2倍导程。
(2)G92:
为单一固定循环,G92每执行一次,可完成快速进刀--螺纹切削—快速退刀—返回起点。
G92还能在螺纹车削结束时,按要求有规则退出(称为螺纹退尾倒角),因此可在没有退刀槽的情况下车削螺纹。
用法举例:
G92X15.2Z100F2;
意义与G32相同,但在使用G92前,只须把刀具定位到一个合适的起点位置(X方向处于退刀位置),执行G92时系统会自动把刀具定位到所需的切深位置。
而G32则不行:
起点位置的X方向必须处于切入位置。
车锥螺纹举例:
G92X29.2Z150R-1.5I11(R-1.5:
起点半径与终点半径之差。
(3)G76:
为复合型螺纹切削循环,由二个G76程序段组成,指定有关参数后可自动运行多次循环,直到把螺纹车好。
G76根据牙型角(GSK980TA限定为80o,、60o,、55o,、30o,、29o,、0o,GSK980TD没有这种限制)沿钭向逐次切入,以保证刀具为单侧切削刃工作,可避免扎刀的发生。
随着螺纹的逐渐切深,系统按规律减少切削深度,直到达到设定的最小切削深度后,按最小切削深度进刀。
使用举例:
N10G00X80Z280;(快速定位到起点)
N20G76P030660Q50R0.1;(P后面的6位数分别表示:
精车次数3次、螺尾倒角量为6,即退尾长度为螺距的60%,牙型角60度。
)
(Q50:
最小切削深度0.05(半径值、指令中单位为0.001)、
(R0.1:
留给精车的余量0.1(半径值))
N30G76X71Z200R0P1949Q250F3;(X、Z为螺纹终点位置)
(R0:
车锥螺纹时指定起点与终点的半径差,此处R0为直螺纹,可省略)
(P1949:
半径方向的螺纹牙高为1.949,指令中单位为0.001)
(Q250:
:
第一次半径方向切入深度为0.25mm,指令中单位为0.001)。
▲螺纹加工应注意的事项:
①主轴转速:
不应过高,尤其是是大导程螺纹,过高的转速使进给速度太快而引起不正常,一些资料推荐的最高转速为:
使用伺服进给电机时:
导程*主轴每分钟转速不超过3000
②切入、切出的空刀量,为了能在伺服电机正常运转的情况下切削螺纹,应在Z轴方向有足够的空切削长度,一些资料推荐的数据如下:
切入空刀量≥2倍导程;切出空刀量≥0.5倍导程
③螺纹加工过程中不应变换转速。
《七》T代码与刀补:
T代码用来选择刀具号并指定刀补号。
如T0202;第一个02为选择02号刀具,第二02为指定02号刀补值为当前刀补值。
通常刀具号应与刀补号一致,但00号刀补系统设定为取消刀补,即刀补值为零,有时程序要求取消刀补(如在用G50设定坐标系时),可使用如:
T0100;即使用1号刀,同时取消刀补。
《六》F代码及G98、G99:
F代码用于指定进刀量。
G98、G99用于每分钟进给量、每转进给量的变换
系统默认的进给量单位为G98即:
毫米/分钟,普通车床加工一般采用毫米/转,
习惯普通车床每转走刀量的工人可在在插补指令开始前,使用G99指令(如G99F0.15)把系统进给量设置为每转进给量。
然后在插补指令中用F字段确定实际进给量.
《八》S代码及G96、G97、G50S
▲S代码用于指定主轴转速,如S500,即500转/分,但如果在G96恒线速状态下,则为切削加工线速度。
▲G96恒线速、G97取消恒线速、G50S主轴最高转速限制。
加工端面时,如果主轴转速固定,由于加工表面直径的变化,切削速度也随着变化,有可能导致表面粗糙度不一致等现象,恒线速控制可随着工件直径的减小而相应增加主轴转速,有助于提高加工表面质量、提高生产率。
恒线速情况下车端面时,刀具接近工件中心时,转速会变得相当大,这是很危险的,必须使用G50S来限制最高转速:
使用举例:
G50S2000;(限制最高转速为2000转/分)
G96S150;(恒线速开始,指定切削速度为150米/分)
G01X10;(开始车端面)
G97S200;(取消恒线速,指定转速为200转/分
《七》调用子程序(用户宏程序)及G65指令
使用子程序可以减少编程工作量,避免重复劳动,并可使程序结构清晰,便于阅读分析。
GSK980T用户宏程序是一种可以使用变量的子程序,这类子程序被主程序调用时,可以根据变量的不同取值,作出相应的的处理,使用灵活,功能较强。
例:
M98 P0050008;(005:
调用5次;0008:
所调用子程序号为O0008)
M98 P0008;(只调用一次)
说明:
980T的子程序是一个独立的程序,也称为宏程序,应该把子程序作为一个单独的程序进行编写并保存,
子程序的最后一个程序段为:
M99;。
系统执行到M99后,即返回主程序,执行M98的下一程序段。
M98,M99举例
主程序 O0007;
M03 S1500 T0101;
G00 X81 Z0;
M98 P0050008;
G00 X90 Z200;
M30;
子程序 O0008;
G00 W-10;
G01 X0 F150;
G00 X82;
M99;
(2)变量的概念:
为了使宏程序具有更好的通用性,宏程序中的一些数据、如X、Z的坐标值等,可以不具体指定数值,而以变量来代替。
当主程序需要调用宏程序时,可以根据要求对变量赋值,在执行宏程序时,宏程序中的变量便被实际数值所取代。
每个变量有个变量名,GSK980T的变量名用#加变量号组成,如#201,GSK980T的公用变量为#200到#231,可以指定32个公用变量。
(4)G65指令,用以处理变量的各种使用。
G65使用举例:
①G65H01P#201Q150000;
H01:
为变量赋值的指令(必须跟在G65之后);
P#201:
赋值的目标是#201号变量;
Q1500:
赋值的源是150000;实即把Q后面的数值赋给P后面的变量;
此程序段的意思就是#201=150000。
H01赋值指令也可以把一个变量的值赋给另一个变量.。
(注意:
变量赋值为坐标值时单位为0.001mm)
②G65H03P#213Q#213R1;
H03:
变量的减法运算,把Q后面的变量值减去R后面数值(或另一个变量),把所得的差赋值给P后面的变量。
(H02则是加法指令)
此处是把#213号变量减1后重新赋值给#213。
③G65H81P160Q#213R0;
H81:
条件跳转,如果Q后面的变量值等于R后面的数值(或变量值),就跳转到P后面的程序段号去执行,否则,按顺序执行下一个程序段。
H81-H86均是各种不同条件的跳转指令(见手册64页)
此处是判断#213号变量值如果等于零,则跳转到160号程序段执行,不等于零则按原顺序执行。
④G65H80P100;
H80:
无条件跳转到P后面的程序段号执行。
此处即跳至100号程序段。
使用G65指令实现实现循环加工举例
O0007;
M03S1500;
G65H01P#201Q5;(计数器#201号变量赋值为5)
G00X81Z0;
N0030G00W-20;(循环加工第一句,注意使用相对坐标)
G01X0F100;
G00X82;(循环加工最后一句)
G65H03P#201Q#201R1;(计数器#201号变量减1)
G65H82P0030Q#201R0;(计数器#201号不等于0则跳到子N0030继续加工,等于0则执行下一句)
G00X90;
Z200;
M30;
%