东芝系统培训教案.docx
《东芝系统培训教案.docx》由会员分享,可在线阅读,更多相关《东芝系统培训教案.docx(22页珍藏版)》请在冰豆网上搜索。
东芝系统培训教案
加工中心(东芝系统)编程
课题:
CNC编程(东芝系统)
老师:
赵天培时间:
2006-12-5晚和2006-12-12晚
教学目的:
加强CNC技术人员的编程能力,使加工中心程式得以优化。
教学重点:
各代码的用意及机床内部宏程式的设定。
教学难点:
机床内部宏程式的设定。
教具:
主要过程:
先从程序的组成开始,再分讲各G代码的用意,最后讲宏程序的设定及应用。
主要内容:
数控编程技术的基本概概念:
数控编程一般可以分手工编程和自动编程。
手工编程是指编制数控加工程序的各个步骤(零件图样分析、工艺处理、确定加工路线和工艺参数、计算数控机床所需的输入数据、编写零件的数控加工程序单以及程序的校验等)均由人工来完成。
自动编程是指从零件的设计模型(或几何图形)来得到数控加工程序的全过程。
其主要任务是计算加工走刀过程中的刀位点(CutterLocationPoint,简称CL点)。
编程人员只需根据加工对象和工艺要求,借助CAM系统的交互式菜单,对加工中过程和工艺要求进行简单的描述,而由编程系统自动算出加工运动轨迹,并输出零件加工程序。
1.程序的组成:
程序的类型:
主程序、子程序和库程序。
程序的规则:
(1)程序名(个数不能多于8个)。
(2)程序内容(包括各G代码和M代码及子程序)。
(3)程序结尾。
(主程序后一定要有M02或M30)
2.程序内的G代码
2.1平面变换(G35-G39)
⑴功能
G35到G39代码用于将基于G17平面上的程序转换到其他平面并且运行它。
⑵指令
G35┅┅┅┅┅取消平面转换(G17平面)
G36┅┅┅┅┅G18平面
G37┅┅┅┅┅G19平面
G38┅┅┅┅┅G18平面
G39┅┅┅┅┅G19平面
⑶说明
每个G代码与一个工件的对应关系如下:
指令
G35
G36
G37
G38
G39
X
不变
X
Y
-X
-Y
Y
不变
Z
Z
Z
Z
Z
不变
-Y
X
Y
-X
G02
不变
G03
G02
G02
G03
G03
不变
G02
G03
G03
G02
I
不变
I
J
-I
-J
J
不变
K
K
K
K
K
不变
-J
I
J
-I
G41
不变
G42
G41
G41
G42
G42
不变
G41
G42
G42
G41
G12/22
不变
G13/G23
G12/G22
G12/G22
G13/G23
G13/23
不变
G12/G22
G13/G23
G13/G23
G12/G22
刀具长度H
不变
-H
H
H
-H
R
不变
-R
R
R
-R
平面
G17
G18
G19
G18
G19
平面转换功能时编程工件的图形与从每一平面箭头所指方向所观察是一样的,以G17平面为例,按G36~G39选择的自动转换指令变为每一平面适当的值。
(在圆弧切削方式,工件形状依然相同,但起始点可能不一样。
)
在G36方式,举一个例子,X指令不变化,Y和Z指令分别变为Z和-Y指令。
同样,I、J和K指令分别转换为I、K和-J指令,G02/G03、G12/G13、G22/G23和G41/G42分别转变为G03/G02、G13/G12、G23/G22和G42/G41。
2.2英制/米制选择(G70,G71)
⑴功能
用G代码可以选择直线轴的测量单位。
⑵指令
G70英制指令编程单位
G71米制指令编程单位
2.3每分钟进给/每转进给(G94,G95)
⑴功能
用F代码指定的进给速度可以转换为用G94或G95代码,结果可变为主轴每分钟进给或每转进给。
⑵指令
G94………………每分钟进给
G95…………………每转进给
⑶程序举例
G94
G01F100………100(mm/min.或inch/min)
X1000Y1000
G95F10………10(mm/rev.或inch/rev.)
S50
M03
G01Z150*10×50=500(mm/min.或inch/min.)
M05
G94
G00
Z0
M30
2.4固定循环编程
在下面的例子中,选择G17平面(XY平面、Z和Z的平行轴W轴为钻轴)。
⑴固定循环方式的定义
G__X__Y__Z__P__Q__R__F__L__或G__X__Y__P__Q__R__F__L__
G:
G77—G79、G81—G89和G186中的一个
X、Y:
XY平面上孔的坐标(在G91方式为从前面一点到该点的相对值)
Z:
最终切削深度的Z坐标值(在G91方式从R点到该点的增量值)
W:
最终切削深度的W坐标值(在G91方式从R点到该点的增量值)
P:
在孔底的延迟时间
Q:
在G83或G87中每次进给的切削深度(增量值)
R:
间隙点的Z坐标(点R)(在G91中从起始点计算的距离)
F:
进给率
L:
固定循环的重复次数(不指定,有效重复次数为1)
(1)注意事项
⑴在同一个固定循环方式中,仅输入XY的坐标值和想要变更的数据。
在采用其他的固定循环时,G代码、钻孔数据Z、R和F代码是必须指令的。
⑵在指令固定循环的同时,钻孔轴所在的位置为初始点,在同一个固定循环中,这个初始位置是不发生变化的。
如果指令另一个固定循环在指令的同时钻孔轴所在位置是初始点。
⑶X、Y、Z和R的地址数据按照所选的G90或G91方式被看作是增量或绝对的。
Q代码应该增量数据并且不是0。
⑷F代码用于指定固定循环中的进给率。
在同一个定循环中它是模态的,
⑸G80用于取消固定循环。
⑹完成固定循环操作后,在固定循环之前的模态指令再次有效。
当用G80取消固定循环后,在固定循环之前执行进给速度指令再次有效。
⑺在固定循环的段中,除钻孔轴之外的轴是用于钻孔点定位的轴。
⑻如果在绝对方式重复执行固定循环,相同的孔被一次又一次重复加工。
如果在单段方式重复固定循环指令,在每加工一个孔后,轴都停止在段尾结束停止处。
⑼当固定循环开始时,主轴应该在进给前旋转。
⑽S、T和B(第2辅助功能)代码不能指令在固定循环的段中,它们必须在各自的段中指令。
⑾在刀具补偿和3维刀具方式不能指令固定循环。
2.4.1每一种固定循环的操作(XY平面&Z为孔加工轴选择)
(1)G81钻孔循环(点钻循环)
G81(X__)(Y__)Z__R__(P__)F__(L__)
操作
①刀具快速移动到X和Y指定的点。
②刀具快速移动到R点。
③当指定P代码时,冷却液打开。
④刀具切削进给至Z点。
⑤刀具快速返回到R点和I点。
(2)G82钻孔循环(扩孔循环)
G82(X__)(Y__)Z__(P__)R__F__(L__)
操作
①刀具快速移动到X和Y指定的点。
②刀具快速移到R点。
③刀具切削进给至Z点。
④刀具停留P代码指定的时间。
(不指定P代码,停留时间为0)
⑤刀具快速返回到R点或I点。
(3)G83步进钻孔循环
G83(X__)(Y__)Z__Q__R__(J__P__)F__(L__)
J:
刀尖退刀值
P:
延时
操作
①刀具快速移动到X和Y指定的点。
②刀具快速移动到R点。
③刀具切削进给Q指定的值。
④刀具快速返回到R点。
⑤刀具快速移动到距孔底1mm处。
⑥以切削进给,刀具开始加工下一个Q值。
⑦重复步骤③和⑥直到加工深度等于Z代码指定的值。
⑧刀具快速返回到I点或R点。
(4)G84攻丝循环
G84(X__)(Y__)Z__R__(P__)F__(L__)(E__)
操作
①刀具快速在X和Y代码指定的点定位。
②刀具快速移动到点R。
③当指定P代码时,冷却液打开。
④刀具切削进给加工至深度Z。
⑤刀具停留E代码指定的时间。
⑥主轴停止。
⑦主轴反转并且刀具返回到R点。
⑧主轴停止。
⑨在G98方式刀具快速返回到I点。
⑩主轴开始旋转。
当刀具切削进给时,进给倍率无并且不可能进给保持。
*攻丝循环一主轴惯性螺纹操作。
螺纹切削轴的移动与主轴的旋转同步。
即使在主轴停止或在孔底(Z轴)反转时主轴也是随着惯性旋转的。
也就是说,可以进行与螺纹导程完全同步的螺纹攻丝。
用于主轴惯量螺纹切削F代码(螺纹导程)的单位是mm或inch。
F代码的格式如下:
F3。
2mm(0.01mm~999.99mm)
F2.3inch(0.001inch~99.999inch)
操作
①Z轴移动与主轴旋转同步,从R点到P点。
②在Z点输出M05。
Z轴继续移动并与主轴旋转同步。
③当主轴停止检测信号变为高时,Z轴停止。
④输出反向旋转的M03(m04)并且Z轴开始移动且与主轴旋转同步。
⑤当Z轴返回到R点后,与主轴旋转同步的进给被取削。
(5)G85镗孔循环(铰孔)
G85(X__)(Y__)Z__R__(P__)F__(L__)(E__)
操作
①刀具快速移动到X和Y指定的点。
②刀具快速移动到R点
③当指定P代码时,开始间隙冷却。
④刀具切削进给加工至Z点。
⑤用E代码指定刀具的停留时间。
⑥刀具愉以进给速度度回到R点。
⑦在G98方式刀具快速返回到I点。
注1:
当指定E代码时,系统认为先择了攻丝循环。
(与G84指令相比不同点是没有主轴停止并且主轴在孔底在孔底反转)
当刀具以进给速度移动时,进给倍率无效并且不可能实行进给保持。
(6)G86镗孔循环
G86(X__)(Y__)Z__(P__)R__F__(L__)
操作
1刀具快速移动到X和Y指定的点。
2刀具快速移动到R点。
③刀具切削进给移动至Z点。
④用P代码指定刀具的停留时间。
⑤主轴停止。
⑥刀具快速返回到I点或着P点。
⑦主轴再次开始旋转。
(7)G87阶梯循环
G87(X__)(Y__)Z__Q__R__F__(L__)
操作
1刀具快速移动到X和Y指定的点。
②刀具快速移动到R点。
③刀具以切削进给加工增量Q值。
④刀具返回1mm。
⑤刀具切削进给加工一个增量Q值。
⑥重复步骤③到⑤直到加工深度与Z代码指定的值相等。
⑦刀具快速返回到I点或R点。
注1:
点R和点Z之间的距离不需要是增量进给值Q的整数倍。
在这种情况下,最后一次切削进给深度小于Q值。
注2:
可以用设定参数(N0504)指定的任意值,代替上面例子中的1mm。
(8)G88精镗循环
G88(X__)(Y__)Z__I__J__Q__(P__)R__F__(L__)
操作
①刀具快速移动到X和Y指定的点。
②刀具快速移动到R点。
③刀具切削进给移动至Z点。
④用P代码指定刀具的停留时间。
⑤刀具按照Q代码指定的值反回。
如果不指定Q代码,刀具按照参数指定的值(N0510)返回。
⑥主轴信止在预定的位置。
(执行主轴定相停止M19)
⑦刀具按照I和J代码指定的偏移量的值在X和Y方向上快速移动。
⑧刀具快速返回到I点和R点。
⑨刀具按照-I和-J指定的偏移量的值在相应的X和Y方向上快速移动。
⑩主轴再次开始旋转。
注1:
在G17、G18和G19方式,用(I、J)、(K,I)或(J,K)代码指定的值对相应的(X,Y)|(Z,X)或(Y,Z)轴进行偏移。
偏移的量可以忽略。
在这种情况下,参数(N0505—N0507)指定的偏移量有效。
I、J和K与G90方式无关,为增量值。
在定位方式轴偏移时,注意刀具路径。
注2:
I、J和K指定的偏移量是模态的。
直到G88代码取消前一直有效。
(9)G89镗孔循环
G89s(X__)(Y__)Z__(P__)R__F__(L__)
操作
1刀具快速移动到X和Y指定的点。
②刀具快速移动到R点。
③刀具切削进给移至Z点。
④刀具停留用P代码指定的时间。
⑤刀具进给返回到R点。
⑥在G98方式,刀具快速返回到I点。
(10)G77阶梯+节距循环
G77(X__)(Y__)Z__(P__)R__F__(L__)
操作
①刀具快速移动到X和Y指定的点。
②刀具快速移动到R点
③从R点到K点执行步进循环。
④从K点到Z点执行点钻循环。
⑤刀具进给返回到I点或R点。
注1:
R、K和Z应该满足“R>K>Z”或“R注2:
在增量方式,点K和Z是从点R开始的距离。
注3:
不指定K代码,会产生报警。
注4:
Q值是增量值。
(11)G78钻孔循环(变节距钻孔循环)
G78(X__)(Y__)Z__R__Q__F__(L__)
注1:
一定要指定Q和K代码(Q≠0,K≠0,Q>K)
注2:
Q和K的值是增量的。
注3:
切削深度是递减的,例如Q、Q-K、Q-2K。
切削深度=Q-(N-1)K
(12)G79反镗循环
G79(X__)(Y__)Z__I__J__Q__R__F__(L__)(P__)
操作
1刀具快速移动到X和Y指定的点。
2主轴停止在预先设定的位置。
(执行主轴定向停止)
3刀具按照I和J代码指定的值在X和Y方向上快速偏移。
4刀具快速移动到R点。
5刀具按照-I和-J代码指定的值在X和Y方向上快速返回。
6主轴开始旋转。
7刀具进给加工到Z点。
8刀具按照P代码指定的值返回,不指定Q的值,刀具按照参数(N0511)指定
的值返回。
10主轴在原点的位置停止。
(执行主轴定向M19)
11刀具按照I和J代码指定的值在X和Y方向上快速偏移。
12刀具快速返回到I点。
13刀具按照-I和代码指定的值X和Y方向上快速返回。
14主轴开始再次旋转。
注1:
在G17、G18和G19方式,用(I,J)、(K,I)或(J,K)代码指定的值对相应的(X,Y)、(Z,X)或(Y,Z)轴进行偏移。
注2:
偏移的量可以忽略。
在这种情况下,参数(N0505—N0507)指定的偏移量有效。
在定位方式轴偏移时,要注意刀具路径。
在G90或G91方式I、J和K值均是增量的。
(与G90、G91方式无关系)
注3:
I、J和K指定的偏移量是模态的。
一经指定直到G88代码取消前一直有效。
注4:
在G79方式,刀具总是返回到I点,与选择的G98或G99方式无关。
(13)G186多段镗孔循环
G186(X__)(Y__)Z__R__I__J__K__Q__F__(L__)
操作
①刀具快速移动到X和Y指定的点。
②刀具快速移动到R点。
③刀具切削进给移动至I点。
④刀具快速移动到K点。
⑤刀具切削进给移动到J点。
⑥刀具快速移动到Q点。
⑦刀具切削进给移动到Z点。
⑧刀具快速返回到初始点或R点。
①②③处加工。
注1:
不指定Q和Z代码,仅加工①和②处。
注2:
不指定K和J代码,仅加工①处。
注3:
R、I、K、J、Q和Z代码的指定依据G90和G91的方式先择。
在G91方式,“R”是从初始点到该处的距离,“I”从R点到第一切削孔的距离,“K”从I到第2加工孔的距离,“J”从K得开始加工第2孔的深度,“Q”从第2加工孔J到第3加工孔的距离,“Z”从Q处算第3加工孔的加工深度。
注4:
这些值该满足“R>I>K>J>Q>Z”或“R
2.5钻孔图形循环
(1)功能
钻孔图形循环在所有G17、G18和G19代码选择的平面都有效。
另外,选择平面的第一和第二轴用钻孔图形循环移动。
在指令图形循环前应选择平面。
2.5.1在倾角的线段上(G111)
(1)功能
刀具在固定倾角的直线上等间隔的点按照次序定位。
(2)指令
G111I__J__K__(E__E__……)
I:
节距(I>0)
J:
刀具所在的直线和X轴(第一轴)所在的角。
K:
点的数目(K>0)
E:
忽略的号(E>0,3-位,最大为30)指定号的孔被忽略。
2.5.2在倾角的线段上不等距(G112)
(1)功能
刀具在固定倾角的直线上不等间隔的点按照次序定位。
(2)指令
G112I___K__I___K__……I__J__K__
I:
节距(I>0)
J:
刀具所在的直线和X轴(第一轴)所在的角。
K:
点的数目(K>0)
2.5.3网格(G113G114)
(1)功能
刀具在指定的网格点定位。
(2)指令
G113I__J__P__K__(E__E__……)
G114I__J__P__K__(E__E__……)
I:
在G90方式最远点的X(第一轴)坐标。
在G91方式沿着X(第一轴)到最远点的距离。
J:
在G90方式最远点的Y(第二轴)坐标。
在G91方式沿着Y(第二轴)到最远点的距离。
P:
包括在参考点在内在X轴(第一轴)上点的数目(P>0)
K:
包括在参考点在内在Y轴(第二轴)上点的数目(K>0)
E:
忽略的号(E>0,3-位,最大为30)指定号的孔被忽略。
2.5.4圆弧(G115)
(1)功能
刀具在一段圆弧等距的点定位。
(2)指令
G115I__J__Q__K__(E__E__……)
I:
圆弧的半径。
J:
用X轴(第一轴)和从圆弧中心到起点向量所成的角。
不指定机床看作0。
Q:
节距角度。
K:
点的数目。
E:
忽略的号(E>0,3-位,最大为30)指定号的孔被忽略。
2.5.5不等间隔的圆弧(G116)
(1)功能
刀具在一段弧上不等距间隔的点定位。
(2)指令
G116I__J__Q__K__Q__K__……Q__K__
I:
圆弧的半径。
J:
用X轴(第一轴)和从圆弧中心到起点向量所成的角。
不指定机床看作0。
Q:
节距角度。
K:
点的数目。
2.5.6螺栓孔循环(G117)
(1)功能
刀具在圆上均布的点定位。
(2)指令
G117I__J__K__(E__E__……)
I:
圆的半径。
J:
用X轴(第一轴)和从圆弧中心到起点向量所成的角。
不指定机床看作0。
K:
点的数目。
E:
忽略的号(E>0,3-位,最大为30)指定号的孔被忽略。
2.5.7矩形(G118G119)
(1)功能
刀具沿着矩形上的点定位,并且把当前点作为参考点。
(2)指令
G118I__J__K__P__(E__E__……)第一轴开始
G119I__J__K__P__(E__E__……)第二轴开始
I:
在第一轴方向上点的间距。
J:
在第二轴方向上点的间距。
K:
在第一轴方向上点的数目。
P:
在第二轴方向上点的数目。
E:
忽略的号(E>0,3-位,最大为30)指定号的孔被忽略。
2.5.8锯齿网格(G109G110)
(1)功能
刀具沿着类似锯齿状的线上定位,把当前点作为参考点。
(2)指令
G109I±__J±__K__P__Q±___R±___(E±__E±__……)第一轴开始
G111I±__J±__K__P__Q±___R±___(E±__E±__……)第二轴开始
I:
在第一轴方向上点的节距。
J:
在第二轴方向上点的节距。
K:
在第一轴方向上点的数目。
P:
在第二轴方向上点的数目。
R:
在第二轴方向上移动的距离。
E:
忽略的号(E>0,3-位,最大为30)指定号的孔被忽略。
2、6宏程序
2、6.1概述
宏编功能是一种高效而柔性功能,它能够有效增加各种零件和序的适用性。
宏编程有以下几种用途。
(1)存储器中数个程序段组成的内容可以用一个程序段的指令来执行。
(2)变量表达式可以用于代替零件程序地址字的数字值。
(3)无条件转向指令和IF指令能够用于零件程序。
(4)总共使用200个通用变量和56个局部变量。
(5)以程序指令的方法可以设定和变更量。
(6)数值是可以设定到表达式的变量中。
(7)在零件程序中,可用变量表达式代替任意的地址字的数值。
例如:
N0010V32,Z,V40/SQRT[2]
或
N0010X[V32]Z[V40/SQRT[2]]
(它们是等同的),V32的值用于X,并且V40的值开平方后用于Z。
(8)零件程序可以被其他的程序调用并且以下面的方式运行。
程序I
N1
N2程序II
N3$010
N4G72$010,L1---------------------------------------N1000
N1010
N1020
继续执行程序IN1030
N5----------------------------------------------------------------N1000
N6
N7
M02
(9)零件程序能够被模态调用。
在模态用方式时,调用的当前有效的零件程序一直执行到模态调用方式被取消。
可以设定一个值到模态调用指令的变量中。
在程序调用时,这些值被设定到变量中。
2、6.2设定数值到变量
下面3种方法可以把数值设定到变量中。
●设定变量(SV)指令
该指令仅用于设定一个值到变量中。
●程序调用(G72、G74、G75和G和M代码)指令,该指令把存储的程序象子程序一样进行调用。
在此时,可以设定一个值到变量中。
●判断(IF)指令
该指令用于判定一个指定的条件,如果判定的条件为真,执行相关的操作。
这些操作中的某一个是用于设定数定值到变量。
(1)设定变量(SV)指令
该设定变量指令用MDI输入或在零件程序中执行。
该指令的格式如下:
[SV,Vn=数值,Vn=数值,------------,Vn数值]
或
[SV[Vn=数值,Vn=数值,------------,Vn数值]
说明如下:
SV:
设定变量指令(可以忽略)
Vn:
变量号或标号,例如V32、VP等
数值:
用于设定变量的数值(常量(不超过来8位)或变量表达式)
记号SV后必须跟着一个逗号或用方括号扩住表达式。
在变量号数值的组合中,必须用一个逗号分开。
当指定各个变量时,变量和数值必须用逗号或等号分开。
例:
如果指令为[SV,V31=3.4,V32=V34*6],3.4设定到V31,并且把―V34乘以6的结果设定到V32。
用设定变量指令也可以把数值设定到局部变量和标号变量中。
所以,在这种情况下,仅在执行设定变量指令时设定数值到激活的局部变量和标号变量中。
想使通用变量和激活的局部和标号变量未定义(空)时,可以执行下现的程序。
[SV,0]或[0]
[SV,V1=10,0]
[注意]
[1]在前面程序段执行的同时,用设定变量指令指定数值可以进行计算并且存储在变量表中。
[2]仅当指令宏语句时,下一段的译码是连续执行的。
所以,多个程序须连续时,不进行其间的程序段尾停止。
(2)程序调用指令
程序调用指令是把零件程序作为子程序调用的指令。
用该指令,也可以设定数值至变量。
调用程序的过程如下所示:
1单一调用和模态调用
G72$n…………n(或On…………n),Ln[Vn=数值,………,Vn=数值]
和
G74或G75$n…………n(或On…………n),Ln[Vn=数值,………,Vn=数值]
说明如下:
G72:
程序单元一调用指令代码
G74、G75:
程序模态调用指令代码$n……n(或On………n):
程序名
Ln:
重复次数
Vn:
用于数值设定的变量号或标号
例如:
V42,VK
数值勤:
设定到变量中的常数或表达式
在上面指定了方括号。
将等号“=”或逗号用于变量和设定数值的变量之间。
如果有多个变量,用逗号将它们分开。
当