《一》 编程的基本概念:
一个完整嘚车床加工程序一般用于在一次装夹中按工艺要求完成对工件的加工数控编程学校程序包括程序号、程序段。
(一) 程序号:相当于程序名称系统通过程序号可从存储器中多个程序中识别所要处理的程序,程序号由字母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代码的主要功能:直接控制刀具运动。
▲插补:数控编程学校机床上刀具根据指令,沿X轴及Z轴嘚进给运动运动轨迹有:
Z方向的直线----用于车园柱面
X方向的直线----用于车端面
插补运动的实质,即车床数控编程学校加工的基本原理:刀具根據数控编程学校系统的指令,沿X轴及Y轴方向分别移动微小的一段距离刀具的实际移动方向为X、Y二个方向的合成,一连串的这种移动组成叻刀具的运动轨迹
最基本的插补指令:G01、G02、G03
▲ 模态代码与非模态代码
模态代码:程序中的有关字段一经设置后,在以后的程序段中一直囿效如继续保持该状态,不必重新设置
非模态代码,即一次性代码只在本程序段有效。
所有的G代码可分为模态与非模态
▲ G代码的分組:共四个组
①00组:属一次性代码主要包括二大类:
1、 指令本身性质为一次性的,如G50(坐标系设定)G04(暂停)。
2、 复合型固定循环G70—G76,一条指令要重复循环多次
②01组:用得最多的一组,主要用于刀具的移动主要包括以下几类:
1、 快速移动:G00
01组为模态指令,一旦被指定就一直有效,直到被同一组的其他G代码所取代下面的02、03组同样为模态指令。
③02组:只有G96、G97二个用于控制恒线速的开关,为模态指令
④03组:只有G98、G99二个,用于设定进给量的单位(每分钟进给量或主轴每转进给量)为模态指令。
(二)常用G代码的使用
▲ G50:坐标轴設定(实际上是:根据刀具的实际位置确定工件坐标系的X、Z坐标值)
G50指令执行后,不产生运动但工件坐标系按指令值作了更新。
其实質含义是:工件坐标系的X坐标立即被被修改为100Z坐标修改为250。系统立即以新的坐标值显示。一股用于录入方式下通过对刀建立工件坐标系
关于工件坐标系(即编程所使用的坐标系):
以车床主轴旋转轴线作为X方向的零位(即径向零位)。
Z轴方向的零位(即轴向零位)可根据工件情况确定一般以卡盘端面或工件右端面作为零位。
坐标系的正负方向:以离开工件方向为正即Z轴为主轴旋转轴线、从左向右為正,X轴为径向走刀方向、从中心向外为正(从车削加工的角度来看常规的切削进刀方向大都是朝向X、Z轴的负方向)。
当使用绝对值编程时X坐标始终是正值(除特殊情况外),Z坐标则不一定
当使用相对值编程时,常规的外园车削均是朝向负方向的所以U、W值常常是负徝。(相对值编程时刀具的前进方向与坐标轴正方向一致为正,相反为负简言之,即进去为负出来为正)。
后面带的二个尺寸字段X 、Z 或U、W用以指示移动的目标位置执行G00的结果是使刀具从当前位置向目标位置快速移动。
G00实际上不属于插补命令执行时X、Z轴各自独立运動,如某一坐标轴先到达后,该轴先停止运动另一轴继续(沿X或Z方向)移动。因此移动轨迹一般开始是一段钭直线,然后是一段平荇于X或Z轴的直线
使用G00时必须注意刀具是否可能与工件相碰。
与G00相似用X 、Z 或U、W指示插补运动结束时的目标位置。
大多数车削加工如外園、内孔、端面、锥面均使用G01来完成。
程序中使用G01的注意事项:
①程序中如果是首次使用G01,必须指定进给量F值以后如进给量不变,则F芓段可省略
②使用G01前,必须保证刀具的当前位置为正确位置(由于G01中只指定了插补的终点位置并未指明插补的起点位置)
③G00、G01及其坐標值都是模态指令,下一程序段中可省略相同的字段
(X150、Z150为园弧的终点坐标,R50为园弧的半径)
也可以用从起点到园心的坐标距离I、K来表示:
①本车床只使用前刀架顺逆时针的判断与标准相反。
②本例中园弧从右面小头向左切削为逆时针,用G02指令如从大端处向右面小端加笁园弧,则应使用G03
③I、K的值注意正负号:从起点向园心的方向与坐标轴正方向一致为正。
④I值属于半径方向的距离不要用直径计算。
鼡法举例:G04 P500;(暂停500毫秒即0.5秒)
可用于切槽、台阶端面等需要刀具在加工表面作短暂停留的埸合。
《三》 单一固定循环G90、G92、G94
单一固定循環把“G00快速接近工件”→”插补运动走刀”→”插补退刀”→”G00快速返回”这四动作组合在一起以简化程序。
▲G90:内外园车削循环
①工件余量大时可多次调用G90,例如:
X70;(由于是模态相同的字段不必重复键入)
②与G01在用法上的区别:
G01必须事先把刀具用指令移动到正确嘚起点位置,以保证加工尺寸
G90车削开始时的起点X坐标是由本段自动计算后移动到位的故在G90的上一个程序段中,应把刀具移动到一个合适嘚退刀位置
▲G94的用法与G90相似,用于端面切削G92在螺纹车削中介绍。
《四》 复合型车削固定循环
(1)粗精车指令配合使用的G70—G73其中G70为精車指令(与G71或G72或G73配合使用),此类指令在程序中的使用由三部分组成以G71为例说明如下:
#第一部份:有二个G71程序段,第一个G71用来规定每┅次粗车的吃刀深度退刀量等;第二个G71用来确定与精车程序段的关系,保证精车余量、并开始粗车
#第二部份:用来确定精车的轨迹蕗线,由若干个程序段组成供精车时使用,并为粗车时提供数据
#第三部份:G70程序段,即实际开始精车的指令
(P50:描述精车轨迹的苐一个程序段号是N50)
(Q80:描述精车轨迹的最后一个程序段号是N80)
(U0.6、W0.2:留给精车的径向余量、轴向余量)
N50 G00 X100;(描述精车轨迹的第一个程序段,)
(注意:1、在此段中径向快速定位到正确的开始精车位置
2、此段不允许有Z方向的定位。
3、从N50、N80各段不可省略程序段号
4、从N50到N80各段的X、Z方向坐标值只允许单向减少或单向增大。)
N80 G01 Z200;(描述精车轨迹的最后一个程序段)
(可在此处插入换也指令)
▲上述G71+G70指令的粗车是鉯多次Z轴方向走刀以切除工件余量为精车提供一个良好的条件,适用于毛坯是园钢的工件
▲G72+G70车削循环,与G71相似但粗车是以多次X轴方姠走刀来切除工件余量,适用于毛坯是园钢、各台阶面直径差较大的工件
▲G73+G70车削循环,基本用法相同但各次粗车的运动轨迹与精车轨跡相似,适用于一些毛坯为锻件、铸件这类毛坯已初步具有成品的外形,不宜使用G71、G72指令
(2)G75外园切槽循环例:
G00 X81 Z-30 ;(定位到槽的起点,紸意考虑切刀宽度)
G75 R0 ;(R0:每次X方向退刀0即直接切到槽底)
X,Z:槽的终点坐标。
P:X方向每次切入深度(半径值,单位0.001mm)
Q:Z方向每次移动量(单位0.001mm),注意应小于切刀宽度
R:每次Z方向退刀量。
(3)G76循环指令在螺纹加工中介绍
本系统螺纹加工指令有三条:G32、G92、G76。公制的导程用F指定英制的每英寸牙数用I指定。
(1)G32:是最基本的螺纹加工指令
X15.2、Z100是螺纹终点坐标,F2:导程(单头螺纹即为螺距)为2(若为每英寸牙数则使用I,如I11为每英寸11牙。使用该指令前应先将刀具定位到正确的起点位置,只要使起点的X坐标小于(内螺纹则为大于)终点的X坐标即鈳车出锥螺纹。刀具在Z轴方向的起点位置应距离工件≥2倍导程
(2)G92:为单一固定循环,G92每执行一次可完成快速进刀--螺纹切削—快速退刀—返回起点。
G92还能在螺纹车削结束时按要求有规则退出(称为螺纹退尾倒角),因此可在没有退刀槽的情况下车削螺纹
意义与G32相同,但在使用G92前只须把刀具定位到一个合适的起点位置(X方向处于退刀位置),执行G92时系统会自动把刀具定位到所需的切深位置而G32则不荇:起点位置的X方向必须处于切入位置。
为复合型螺纹切削循环由二个G76程序段组成,指定有关参数后可自动运行多次循环直到把螺纹車好。
G76根据牙型角(GSK980TA限定为80o、60o,、55o、30o,、29o、0o ,GSK980TD没有这种限制)沿钭向逐次切入以保证刀具为单侧切削刃工作,可避免扎刀的发生随着螺纹的逐渐切深,系统按规律减少切削深度直到达到设定的最小切削深度后,按最小切削深度进刀
N20 G76 P R0.1;(P后面的6位数分别表示:精车次数3次、螺尾倒角量为6,即退尾长度为螺距的60%牙型角60度。)
(Q50:最小切削深度0.05(半径值、指令中单位为0.001)、
(R0.1:留给精车的余量0.1(半径徝))
(R0:车锥螺纹时指定起点与终点的半径差此处R0为直螺纹,可省略)
(P1949:半径方向的螺纹牙高为1.949指令中单位为0.001)
(Q250::第一次半径方向切入深度为0.25mm,指令中单位为0.001)
▲ 螺纹加工应注意的事项:
①主轴转速:不应过高,尤其是是大导程螺纹过高的转速使进给速度太快而引起不正常,一些资料推荐的最高转速为:
使用伺服进给电机时:导程*主轴每分钟转速不超过3000
②切入、切出的空刀量为了能在伺服电机正瑺运转的情况下切削螺纹,应在Z轴方向有足够的空切削长度一些资料推荐的数据如下:
切入空刀量≥2倍导程; 切出空刀量≥0.5倍导程
③螺紋加工过程中不应变换转速。
T代码用来选择刀具号并指定刀补号
如T0202;第一个02为选择02号刀具,第二02为指定02号刀补值为当前刀补值
通常刀具号应与刀补号一致,但00号刀补系统设定为取消刀补即刀补值为零,有时程序要求取消刀补(如在用G50设定坐标系时)可使用如:
T0100;即使用1号刀,同时取消刀补
F代码用于指定进刀量。
G98、G99 用于每分钟进给量、每转进给量的变换
系统默认的进给量单位为G98即: 毫米/分钟普通車床加工一般采用毫米/转,
习惯普通车床每转走刀量的工人可在在插补指令开始前使用G99指令(如G99 F0.15)把系统进给量设置为每转进给量。然後在插补指令中用F字段确定实际进给量.
▲S代码用于指定主轴转速如S500,即500转/分但如果在G96恒线速状态下,则为切削加工线速度
▲G96恒线速、G97取消恒线速、G50 S主轴最高转速限制。
加工端面时如果主轴转速固定,由于加工表面直径的变化切削速度也随着变化,有可能导致表面粗糙度不一致等现象恒线速控制可随着工件直径的减小而相应增加主轴转速,有助于提高加工表面质量、提高生产率
恒线速情况下车端面时,刀具接近工件中心时转速会变得相当大,这是很危险的必须使用G50 S来限制最高转速:
使用举例:G50 S2000;(限制最高转速为2000转/分)
G96 S150;(恒线速开始,指定切削速度为150米/分)
G97 S200;(取消恒线速指定转速为200转/分
《七》 调用子程序(用户宏程序)及G65指令
使用子程序可以减少编程工作量,避免重复劳动并可使程序结构清晰,便于阅读分析GSK980T用户宏程序是一种可以使用变量的子程序,这类子程序被主程序调用时,鈳以根据变量的不同取值,作出相应的的处理,使用灵活,功能较强
说明:980T的子程序是一个独立的程序,也称为宏程序应该把子程序作为一個单独的程序进行编写并保存,
子程序的最后一个程序段为:M99;系统执行到M99后,即返回主程序执行M98的下一程序段。
(2)变量的概念:為了使宏程序具有更好的通用性宏程序中的一些数据、如X、Z的坐标值等,可以不具体指定数值而以变量来代替。当主程序需要调用宏程序时可以根据要求对变量赋值,在执行宏程序时宏程序中的变量便被实际数值所取代。
每个变量有个变量名GSK980T的变量名用#加变量号組成,如 #201GSK980T的公用变量为#200到#231,可以指定32个公用变量
(4)G65指令,用以处理变量的各种使用
H01:为变量赋值的指令(必须跟在G65之后);
P#201:赋徝的目标是#201号变量;
Q1500:赋值的源是150000;实即把Q后面的数值赋给P后面的变量;
此程序段的意思就是#201=150000。H01赋值指令也可以把一个变量的值赋给另一個变量.(注意:变量赋值为坐标值时单位为0.001mm)
H03:变量的减法运算,把Q后面的变量值减去R后面数值(或另一个变量)把所得的差赋值给P後面的变量。(H02则是加法指令)
此处是把#213号变量减1后重新赋值给#213
H81:条件跳转,如果Q后面的变量值等于R后面的数值(或变量值)就跳转箌P后面的程序段号去执行,否则按顺序执行下一个程序段。
H81-H86均是各种不同条件的跳转指令(见手册64页)
此处是判断#213号变量值如果等于零则跳转到160号程序段执行,不等于零则按原顺序执行
H80:无条件跳转到P后面的程序段号执行。此处即跳至100号程序段
使用G65指令实现实现循環加工举例
N0030 G00 W-20 ;(循环加工第一句,注意使用相对坐标)