在手工编程过程中,用户宏程序的编制,能极大提高程序编制的效率,因此,我们在数控教学及训练过程中,必须把用户宏程序的编制作为我们数控教学的重要内容之一。从历年全国数控大赛的试题中也不难发现,用户宏程序的编制是运用得极其频繁的。但是,我们很难在目前的教材中找到完整的宏程序的编写的方法及思路。为此,笔者提出了一整套设计用户宏程序的方法,通过利用流程图来设计用户宏程序,提高了编程的效率。
二、用户宏程序简介
用户宏程序有A、B两种,A类宏程序用G65指令编写,其格式如下:
G65 Hm P#i Q#j R#k
其中,m—01~99表示运算命令或转移命令功能;
#i—存入运算结果的变量名;
#j—进行运算的变量名1,可以是常数,常数直接表示,不带#;
#k—进行运算的变量名2,也可以是常数。
意义, #i=#j○#k,表示运算符号,常用意义如表1
表1
G代码
H代码
功能
定义
G65
H01
赋值
#i=#j
G65
H02
加法
#i=#j+#k
G65
H03
减法
#i=#j-#k
G65
H04
乘法
#i=#j×#k
G65
H05
除法
#i=#j÷#k
G65
H80
无条件转移
转向N
G65
H81
条件转移1
IF #j=#k,GOTO N
G65
H82
条件转移2
IF #j≠#k,GOTO N
G65
H83
条件转移3
IF #j>#k,GOTO N
G65
H84
条件转移4
IF #j<#k,GOTO N
G65
H85
条件转移5
IF #j≥#k,GOTO N
G65
H86
条件转移6
IF #j≤#k,GOTO N
G65
H99
产生P/S报警
产生500+1号P/S报警
除此以外,G65指令还可以实现逻辑运算、开平方、取绝对值、三角运算及复合运算等,相关指令见有关书籍,这里不一一介绍。需要指出的是,不同的数控系统,其功能的多少也不一样,用户可参考有关系统的说明书。
B类宏程序由控制语句,调用语句所组成。宏程序可以与主程序做在一起,也可以单独做成一个子程序,然后用G65指令调用。调用方法如下:
G65 P(程序号)〈引数赋值〉或G65 P(程序号) L(循环次数)〈引数赋值〉
所谓引数赋值,是指用A、B、C、D等地址给变量#1、#2、#3、#4等赋值。
B类宏程序的控制指令有三类,与C语言等高级程序设计语言的控制指令很类似。一类是IF语句,格式为:
IF[条件式]GOTO n (n即顺序号)
条件式成立时,从顺序号为n的程序段往下执行,条件式不成立时,执行下一下程序段;第二类是WHILE语句,格式为:
WHILE[条件式] DO m
.
.
.
END m
条件式成立时,从DO m的程序段到END m的程序段重复执行,条件式不成立时,则从END m的下一程序段执行。
第三类是无条件转移指令,格式为:GOTO n。
三、运用流程图编写用户宏程序的一般步骤
运用流程图编写用户宏程序的一般步骤为:一分析零件结构,确定宏程序加工的内容,找出加工工艺路线的律;二将零件加工路线规律用流程图表达出来,并进一步分清楚哪些是程序编制过程中的变量,哪些是常量,从而将一般的流程变成程序流程图;三根据程序流程图,编写零件的加工程序。
四、应用举例
(一)宏程序应用实例一
如图1所示,在一根轴上加工N个槽,每个槽的宽度为a1,槽的间距为a2,槽底直径为b1,棒料直径b2,并且设所给材料足够长,试编写程序加工该零件,现有一零件参数为N=100个槽,槽底直径b1=30mm,槽宽a1=5mm,工件直径b2=40mm,间隔a2=2mm,刀宽=3mm,现编写程序加工。图11零件工艺过程分析
该零件是一个比较简单的例子,在压面机械上用得较多。零件的精度要求不高,为了使程序有更广泛的适应性,将宏程序做成一个子程序,用主程序来调用实现零件的加工。加工时将坐标原点选择在如图所示的位置,X轴离第一个槽的距离为一个间距a2的距离。
零件的加工过程如下将:将刀具移至加工起点→进刀→切削第一个槽→计算下一槽的位置并将刀具移到此位置→加工下一个槽……如此至最后一个槽加工完为止。
将此过程画成流程图,如图2(a)所示。
(a) (b)
图2
2零件加工过程中所使用的变量
通过分析,要加工该零件,需要如下一些变量:
工件直径#200= b2
槽底直径#201= b1
槽宽#202= a1
槽间间隔#203= a2
切槽刀宽度#204
每加工一个槽后,切槽刀在Z轴方向移动的距离#205(等于槽间距加上槽宽)
槽的起点坐标Xs=#206,Zs=#207
槽加工终点的坐标Xf=#208,Yf=#209
计算槽数目的变量#215
加工槽的总数#216
由此画出编制程序所用的流程图,如图2(b)所示。
3根据程序流程图编制程序
宏程序O9061
N10 G65 H83 P160 Q#204 R#202 如果刀宽大于槽完,则结束
N20 G65 H01 P#215 Q0 计数器变量清零
N30 G65 H02 P#205 Q#202 R#203计算#205
N40 G65 H02 P#206 Q#200 R5 工件直径加上5mm作为X方向起点
N50 G65 H02 P#207 Q#203 R#204槽的间距加上一个刀宽
N60 G65 H01 P#207 Q?#207 取负值后作为第一个槽的Z向起点
N70 G65 H01 P#208 Q#201 槽底直径作为槽终点的X坐标
N80 G65 H01 P#209 Q?#205 第一个槽终点Z向坐标
N90 G00 X#206 Z#207 M08 定位到槽加工的位置
N100 G75 R1
N110 G75 X#208 Z#209 P2 Q#204 F20 加工槽
N120 G65 H03 P#207 Q#207 R#205 下一个槽起点Z向坐标计算
N130 G65 H03 P#209 Q#209 R#205 下一个槽终点Z向坐标计算
N140 G65 H02 P#215 Q#215 R1 槽计数器加1
N150 G65 H84 P90 Q#215 R#216判断槽是否加工完毕
N160 M08
N170 M99 结束
主程序 O0001
N10 G65 H01 P#200 Q40工件直径赋值
N20 G65 H01 P#201 Q30槽底直径赋值
N30 G65 H01 P#202 Q5 槽宽赋值
N40 G65 H01 P#203 Q2 槽间间隔赋值
N50 G65 H01 P#204 Q3 切槽刀宽赋值
N60 G65 H01 P#216 Q100 槽数赋值
N70 G00 X100 Z100 起刀点位置
N80 M98 P9061 调用宏程序
N90 M30 程序结束
(二)宏程序应用实例二
对于一些大悬伸(加工深度与刀具直径之比较大)的零件,用普通加工方法总难达到理想效果,此时用插铣法容易保证零件精度,如图3所示的零件,尺寸80很难保证,用插铣法后获得了比较好的效果。曾经有工厂做过类似的程序,但程序只是针对零件本身,适应性不强,当零件的尺寸发生变化后,程序还得发生较大修改。笔者针对这种情况,将程序分为主程序和子程序,当零件的尺寸发生变化后,只需要修改主程序即可,非常方便。
1加工工艺分析
传统加工工艺方法采用多次重复加工。很难消除让刀,并且造成加工应力,最后由于应力释放造成零件的内腔变小。为了解决这个问题,我们将加工分为粗加工和精加工,粗加工采用普通的工艺方法,精加工采用插铣。
建立如图3所示的坐标系,为了保证加工质量,防止划伤已加工过的表面,编程时避免使用钻孔循环指令。加工轨迹如图4所示,在YZ平面内进行以下加工步骤:加工第一刀→沿圆弧退刀→返回Z=3处→沿圆弧进刀→沿X方向移动一个步距→加工第二刀→…。
加工过程中,粗加工尺寸80按79.6加工,而精加工采用宏程序编制高速插铣程序。精加工的具体参数如表2所示
图3零件图及坐标系 图4刀具路径表2精加工参数
加工方式
加工材料
刀具
步距
设置安全高度
顺铣
铝合金
Φ18整体硬质合金加长球头刀
0.05
Z=3
2加工流程图
为增强程序的适应性,本程序刀分为子程序和主程序来编写,子程序起始位置为(0,0,50),刀具在加工过程中的基本路线是按前面所给出的路线来走刀。
由此画出加工流程图如图5(a)所示。(a) (b)
图5
3程序所使用的变量及程序流程图
本程序中所使用的变量如下:
需加工部位X方向的长度:#1;
需加工部位Y方向的长度:#2;
需加工部位Z方向的深度:#3;
X方向的步距:#4;
走刀轨迹中,退(或进)刀时的半径:#5(本例图4中的R10);
中间变量:#6、#7、#8、#9
由所确定的变量及加工流程图,画出程序流程图如图5(b)所示。
4编制程序
子程序:%9001
N10 #1=#1/2#1变量取1/2作为X坐标
N20 #2=#2/2#2变量取1/2作为Y坐标
N30 G00 X#1 X方向定位到加工位置
N40 G41 D1 Y#2 Y方向定位到加工位置
N50 G01 Z3 F3000 M08 下降下安全高度,开冷却液
N60 #6=-(#3-#5) 计算加工终点Z向坐标
N70 #7=#2-2*#5 计算退刀终点Y坐标
N80 G01 Z#6 插铣加工
N90 G02 Y#7 R#5退刀
N100 G01 Z3 返回
N110 G02 Y#2 R#5进刀
N120 #8=#8+#4 X方向总加工长度计数
N130 G91 G01 X-#4 X方向走一个步距
N140 IF #8LE#1 GOTO 80 判别第一侧是否加工完
N150 G90 Y-#2 移至另一侧
N160 G01 Z#6 插铣加工另一侧
N180 G02 Y-#7 R#5 退刀
N190 G01 Z3 返回安全高度
N200 G02 Y-#2 R#5 进刀
N210 #9=#9+#4 X方向总加工长度计数
N220 G91 G01 X#4 X方向移动一个步距
N230 IF #9LE#1 GOTO 160判别另一侧是否加工完
N240 G90 G40 G00 X0 Y0 M09X、Y方向返回起始点
N250Z50Z方向返回起始点
N260 M99 宏程序结束
主程序:%1010
N10 T01选一号刀
N20 M06 换刀
N30 G00 G90 G54 G19 X0 Y0 S5000 M03定位到起始位置,选择坐标平面及坐标系,启动主轴。
N40 G43 H01 Z50 Z方向补偿
N60 G65 P9001 A200 B80.05 C90 D0 E0 F0 I0.05 J10 K0 调用宏程序并给相关变量赋值
N70 M05停止主轴
N80 G49 Z50 Z方向取消补偿
N90 M30程序结束
五、结束语
利用流程图编制用户宏程序,思路清晰,所编制的程序适应性好,是一种值得推广的方法。
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指令执行后,不产生运动,但工件坐标系按指令值作了更新。
使用举例:G50 X100 Z250;
其实质含义是:工件坐标系的X坐标立即被被修改为100,Z坐标修改为250。,系统立即以新的坐标值显示。一股用于录入方式下通过对刀建立工件坐标系。
关于工件坐标系(即编程所使用的坐标系):
以车床主轴旋转轴线作为X方向的零位(即径向零位)。
Z轴方向的零位(即轴向零位)可根据工件情况确定,一般以卡盘端面或工件右端面作为零位。
坐标系的正负方向:以离开工件方向为正,即Z轴为主轴旋转轴线、从左向右为正,X轴为径向走刀方向、从中心向外为正(从车削加工的角度来看,常规的切削进刀方向大都是朝向X、Z轴的负方向)。
当使用绝对值编程时,X坐标始终是正值(除特殊情况外),Z坐标则不一定。
当使用相对值编程时,常规的外园车削均是朝向负方向的,所以U、W值常常是负值。(相对值编程时,刀具的前进方向与坐标轴正方向一致为正,相反为负,简言之,即进去为负,出来为正)。
▲ G00 快速移动
使用举例:G00 X50 Z200;或用相对坐标:G00 U15 W5;
后面带的二个尺寸字段X 、Z 或U、W用以指示移动的目标位置。执行G00的结果是使刀具从当前位置向目标位置快速移动。
G00实际上不属于插补命令,执行时X、Z轴各自独立运动,,如某一坐标轴先到达后,该轴先停止运动,另一轴继续(沿X或Z方向)移动。因此,移动轨迹一般开始是一段钭直线,然后是一段平行于X或Z轴的直线。
使用G00时必须注意刀具是否可能与工件相碰。
▲ G01 直线插补
使用举例:G01 X50 Z200 F20;或用相对坐标:G01 U15 W5;
与G00相似,用X 、Z 或U、W指示插补运动结束时的目标位置。
大多数车削加工,如外园、内孔、端面、锥面均使用G01来完成。
程序中使用G01的注意事项:
①程序中,如果是首次使用G01,必须指定进给量F值,以后如进给量不变,则F字段可省略。
②使用G01前,必须保证刀具的当前位置为正确位置(由于G01中只指定了插补的终点位置,并未指明插补的起点位置)
③G00、G01及其坐标值都是模态指令,下一程序段中可省略相同的字段。
如: N0010 G00 Z200;
N0020 X90;(作用等于G00 X90 Z200;)
N0030 G01 Z150 F70;
N0040 X95; (作用等于G01 X95 Z150 F70;)
▲ G02、G03 园弧插补
使用举例:
G00 X50 Z152;(快速定位到起点)
G01 G150
G02 X150 Z100 R50 F30
(X150、Z150为园弧的终点坐标,R50为园弧的半径)
也可以用从起点到园心的坐标距离I、K来表示:
G02 X150 Z100 I50 F30(I50:指起点至园心的X方向距离为50,Z方向的距离为零,K0可省略。)
注意事项:
①本车床只使用前刀架,顺逆时针的判断与标准相反。
②本例中园弧从右面小头向左切削,为逆时针,用G02指令。如从大端处向右面小端加工园弧,则应使用G03。
③I、K的值注意正负号:从起点向园心的方向与坐标轴正方向一致为正。
④I值属于半径方向的距离,不要用直径计算。
▲ G04 暂停
用法举例:G04 P500;(暂停500毫秒,即0.5秒)
G04 X3.5;(暂停3.5秒)
可用于切槽、台阶端面等需要刀具在加工表面作短暂停留的埸合。
《三》单一固定循环G90、G92、G94
单一固定循环把“G00快速接近工件”→”插补运动走刀”→”插补退刀”→”G00快速返回”这四动作组合在一起。以简化程序。
▲G90:内外园车削循环
使用举例:
G90 X50 Z35 F0.2 (园柱面车削)
G90 X50 Z35 R2.5 F0.2 (园锥面车削,R2.5指起点半径与终点半径之差)
注意事项:
①工件余量大时,可多次调用G90,例如:
G90 X75 Z20 F0.2;
X70;(由于是模态,相同的字段不必重复键入)
X65;
②与G01在用法上的区别:
G01必须事先把刀具用指令移动到正确的起点位置,以保证加工尺寸
G90车削开始时的起点X坐标是由本段自动计算后移动到位的,故在G90的上一个程序段中,应把刀具移动到一个合适的退刀位置。
▲G94的用法与G90相似,用于端面切削,G92在螺纹车削中介绍。
《四》复合型车削固定循环
(1)粗精车指令配合使用的G70—G73,其中G70为精车指令(与G71或G72或G73配合使用),此类指令在程序中的使用由三部分组成,以G71为例说明如下:
#第一部份:有二个G71程序段,第一个G71用来规定每一次粗车的吃刀深度,退刀量等;第二个G71用来确定与精车程序段的关系,保证精车余量、并开始粗车。
#第二部份:用来确定精车的轨迹路线,由若干个程序段组成。供精车时使用,并为粗车时提供数据。
#第三部份:G70程序段,即实际开始精车的指令。
使用举例:
N20 G00 X200 Z302;(快速定位到粗车起点)
N30 G71 U5 R1 F30;(U5:每次粗车切深5mm-半径方向;R1:每次退刀1mm)
N40 G71 P50 Q80 U0.6 W0.2;
(P50:描述精车轨迹的第一个程序段号是N50)
(Q80:描述精车轨迹的最后一个程序段号是N80)
(U0.6、W0.2:留给精车的径向余量、轴向余量)
N50 G00 X100;(描述精车轨迹的第一个程序段,)
(注意:1、在此段中径向快速定位到正确的开始精车位置。
2、此段不允许有Z方向的定位。
3、从N50、N80各段不可省略程序段号。
4、从N50到N80各段的X、Z方向坐标值只允许单向减少或单向增大。)
N60 G01 Z260 F20;
N70 G01 X195 Z210;
N80 G01 Z200;(描述精车轨迹的最后一个程序段)
(可在此处插入换也指令)
N110 G70 P50 Q80;(开始精车,实际执行N50到N80间各程序段)
N120 G00 X220 Z320;(精车结束,退出)
▲上述G71+G70指令的粗车是以多次Z轴方向走刀以切除工件余量,为精车提供一个良好的条件,适用于毛坯是园钢的工件。
▲G72+G70车削循环,与G71相似,但粗车是以多次X轴方向走刀来切除工件余量,适用于毛坯是园钢、各台阶面直径差较大的工件。
▲G73+G70车削循环,基本用法相同,但各次粗车的运动轨迹与精车轨迹相似,适用于一些毛坯为锻件、铸件,这类毛坯已初步具有成品的外形,不宜使用G71、G72指令。
(2)G75外园切槽循环例:
G00 X81 Z-30 (定位到槽的起点,注意考虑切刀宽度)
G75 R0 (R0:每次X方向退刀0,即直接切到槽底)
G75 X50 Z-80 P16000 Q5000 R0 F50
X,Z:槽的终点坐标。
P:X方向每次切入深度(半径值,单位0.001mm)。
Q:Z方向每次移动量(单位0.001mm),注意应小于切刀宽度。
R:每次Z方向退刀量。
(3)G76循环指令在螺纹加工中介绍。
《五》螺纹加工
本系统螺纹加工指令有三条:G32、G92、G76。公制的导程用F指定,英制的每英寸牙数用I指定。
(1)G32:是最基本的螺纹加工指令。
用法举例:G32 X15.2 Z100 F2
X15.2、Z100是螺纹终点坐标,F2:导程(单头螺纹即为螺距)为2(若为每英寸牙数,则使用I,如I11,为每英寸11牙。使用该指令前,应先将刀具定位到正确的起点位置,只要使起点的X坐标小于(内螺纹则为大于)终点的X坐标,即可车出锥螺纹。刀具在Z轴方向的起点位置应距离工件≥2倍导程。
(2)G92:为单一固定循环,G92每执行一次,可完成快速进刀--螺纹切削—快速退刀—返回起点。
G92还能在螺纹车削结束时,按要求有规则退出(称为螺纹退尾倒角),因此可在没有退刀槽的情况下车削螺纹。
用法举例:G92 X15.2 Z100 F2
意义与G32相同,但在使用G92前,只须把刀具定位到一个合适的起点位置(X方向处于退刀位置),执行G92时系统会自动把刀具定位到所需的切深位置。而G32则不行:起点位置的X方向必须处于切入位置。
车锥螺纹举例:G92 X29.2 Z150 R-1.5 I11(R-1.5:起点半径与终点半径之差。
(3)G76:
为复合型螺纹切削循环,由二个G76程序段组成,指定有关参数后可自动运行多次循环,直到把螺纹车好。
G76根据牙型角(GSK980TA限定为80o,、60o,、55o,、30o,、29o,、0o ,GSK980TD没有这种限制)沿钭向逐次切入,以保证刀具为单侧切削刃工作,可避免扎刀的发生。随着螺纹的逐渐切深,系统按规律减少切削深度,直到达到设定的最小切削深度后,按最小切削深度进刀。
使用举例:
N10 G00 X80 Z280;(快速定位到起点)
N20 G76 P030660 Q50 R0.1;(P后面的6位数分别表示:精车次数3次、螺尾倒角量为6,即退尾长度为螺距的60%,牙型角60度。)
(Q50:最小切削深度0.05(半径值、指令中单位为0.001)、
(R0.1:留给精车的余量0.1(半径值))
N30 G76 X71 Z200 R0 P1949 Q250 F3;(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指令(如G99 F0.15)把系统进给量设置为每转进给量。然后在插补指令中用F字段确定实际进给量.
《八》S代码及G96、G97、G50 S
▲S代码用于指定主轴转速,如S500,即500转/分,但如果在G96恒线速状态下,则为切削加工线速度。
▲G96恒线速、G97取消恒线速、G50 S主轴最高转速限制。
加工端面时,如果主轴转速固定,由于加工表面直径的变化,切削速度也随着变化,有可能导致表面粗糙度不一致等现象,恒线速控制可随着工件直径的减小而相应增加主轴转速,有助于提高加工表面质量、提高生产率。
恒线速情况下车端面时,刀具接近工件中心时,转速会变得相当大,这是很危险的,必须使用G50 S来限制最高转速:
使用举例:G50 S2000;(限制最高转速为2000转/分)
G96 S150;(恒线速开始,指定切削速度为150米/分)
G01 X10(开始车端面)
G97 S200;(取消恒线速,指定转速为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使用举例:
①G65 H01 P#201 Q150000;
H01:为变量赋值的指令(必须跟在G65之后);
P#201:赋值的目标是#201号变量;
Q1500:赋值的源是150000;实即把Q后面的数值赋给P后面的变量;
此程序段的意思就是#201=150000。H01赋值指令也可以把一个变量的值赋给另一个变量.。(注意:变量赋值为坐标值时单位为0.001mm)
②G65 H03 P#213 Q#213 R1;
H03:变量的减法运算,把Q后面的变量值减去R后面数值(或另一个变量),把所得的差赋值给P后面的变量。(H02则是加法指令)
此处是把#213号变量减1后重新赋值给#213。
③G65 H81 P160 Q#213 R0;
H81:条件跳转,如果Q后面的变量值等于R后面的数值(或变量值),就跳转到P后面的程序段号去执行,否则,按顺序执行下一个程序段。
H81-H86均是各种不同条件的跳转指令(见手册64页)
此处是判断#213号变量值如果等于零,则跳转到160号程序段执行,不等于零则按原顺序执行。
④G65 H80 P100;
H80:无条件跳转到P后面的程序段号执行。此处即跳至100号程序段。
使用G65指令实现实现循环加工举例
O0007
M03 S1500
G65 H01 P#201 Q5 (计数器#201号变量赋值为5)
G00 X81 Z0
N0030 G00 W-20 (循环加工第一句,注意使用相对坐标)
G01 X0 F100
G00 X82 (循环加工最后一句)
G65 H03 P#201 Q#201 R1 (计数器#201号变量减1)
G65 H82 P0030 Q#201 R0 (计数器#201号不等于0则跳到子N0030继续加工,等于0则执行下一句)
G00 X90
Z200
M30
%
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)