数控铣床的程序编制综合篇dq.docx
《数控铣床的程序编制综合篇dq.docx》由会员分享,可在线阅读,更多相关《数控铣床的程序编制综合篇dq.docx(45页珍藏版)》请在冰点文库上搜索。
数控铣床的程序编制综合篇dq
数控铣床的程序编制
一、数控系统和铣削加工的主要功能
1.数控铣床的主要功能
(1)点定位控制功能
(2)连续轮廓控制功能
(3)刀具半径补偿功能
(4)刀具长度补偿功能
(5)比例及镜像加工功能
(6)子程序调用功能
(7)固定循环加工功能
2.数控编程指令功能
3.数控铣削加工程序
编制程序控制数控铣床进行加工的顺序为:
(1)程序段号(指明加工动作顺序的先后)→
(2)设定机床主轴转速→(3)设定机床主轴旋转方向→(4)启动机床主轴→(5)设定加工刀具→(6)工件坐标系设定→(7)从起始点先沿垂直向(Z向)快速接近被加工工件→(8)设定进行加工的平面→(9)设定切削加工的运行速度→(10)指定加工运行轨迹的类型→(11)给定加工运行轨迹的参数(数学处理)→……返回到换刀点→换刀→继续进行加工,直至加工完毕→……→返回到起始点→换为加工开始时的第一把刀具→关闭机床主轴的转动→程序结束。
程序号即为程序的开始部分,为了区别存储器中的程序,每个程序都要有程序编号,在编号前采用程序编号地址码。
程序段号在一个程序中可以采用0~9999中的任意值,但各程序段号一般依其在程序中的先后次序由小到大排列。
程序的内容由若干个程序段组成,程序段由若干字组成,每个字由字母和数字组成。
程序段格式是指一个程序段中字、字符、数据的书写规则,最常采用的为字—地址可变程序段格式。
二、数控编程指令功能简介
1.准备功能(G功能)代码
准备功能也叫G功能或G代码。
它是使机床或数控系统建立起某种加工方式的指令。
G代码由地址G和后面的两位数字组成,从G00~G99共100种。
G代码分为模态代码和非模态代码。
模态代码表示该代码一经在一个程序段中指定,直到出现同组的另一个G代码时才失效。
非模态代码,只在写有该代码的程序段中有效。
2.辅助功能(M功能)代码
辅助功能也称为M功能。
M功能的作用在于控制机床或者系统的辅助功能动作,例如冷却泵的开、关;主轴的正反转;程序的结束等。
辅助功能用字母M及后在两位数字组成。
M00~M99共100个。
3.进给功能(F功能)代码
进给功能也称为F功能,用F功能可以直接指定坐标轴移动的进给速度。
一般有两种表示方法;
(1)代码法
即F后面跟两位数字,表示机床进给量数列的序号,它不直接表示进给速度的大小。
(2)直接代码法
F后面的数字就是进给速度的大小,用字母F与其后的4位整数和3位小数表示。
F代码为续效代码,一经设定后,再未被重新指定前,则表示先前所设定的进给速度持续有效。
4.主轴转速功能(S功能)代码
主轴功能也称主轴转速功能或S功能,用来指定主轴的转速,用字母S和其后的1-4位数字表示。
S功能的单位是r/min。
在编程时,S功能代码只是设定主轴转速的大小,并不会使主轴反转,必须用M指令指定正、反转时,主轴才开始转动。
5.刀具功能(T功能)代码
刀具功能也称T功能,用来进行刀具的选择。
刀具功能用字母T及后面的数字表示。
程序中T代码的数值直接表示选择的刀具号码。
例如T10表示10号刀。
在数控车床中的T代码后面的数字即包含所选刀具号,也包含刀具补偿号,例如T0402表示选择4号刀,调用2号刀具补偿参数进行刀具长度和半径的补偿。
三、加工准备类指令
1.S××——主轴转速
书写格式:
S
2.M03——主轴顺时针旋转
程序里写有M03指令,主轴结合S功能,按给定的S转速,顺时针方向旋转。
3.M04——主轴逆时针旋转
程序里写有M04指令,主轴结合S功能,按给定的S转速,向逆时针方向旋转。
4.M05——主轴停止旋转
程序里出现M05指令,坐标指令运行结束后,主轴旋转立即停止。
5.M08——切削液开
M08功能在本段程序开始执行,打开切削液。
6.M09——切削液关
M09功能在本段程序运行完毕后,关掉切削液。
7、M00——程序停止指令
M00指令实际上是一个暂停指令。
功能是执行此指令后,机床停止一切操作。
按下控制面板上的启动指令后,机床重新启动,继续执行后面的程序。
8、M01——计划停止指令
M01指令的功能与M00相似,不同的是,M01只有在预先按下控制面板上“选择停止开关”按钮的情况下,程序才会停止。
9.M02——程序结束
M02表示加工程序结束,此时主轴停转、切削液关闭,数控装置和机床复位。
该指令写在程序的最后一段。
10、M30——程序结束
M30表示加工程序结束,用户可以返回进行其它功能操作或重新启动机床
11、G21(G20)——米制和英制单位选择
G21和G22指令是两个互相取代的G代码。
数控机床出厂时一般均设定为G21状态。
数控车床的各项参数均以米制单位设定。
如果一个程序开始用G21指令,则表示程序中一些相应的数据是米制的(单位为mm)。
在一个程序中,不能同时使用G20和G21指令,并且必须在坐标系确定之前指定。
G20和G21指令断电前后一致,即停机前使用的G20和G21指令,在下次开机时仍然有效,除非重新设定注意:
SIEMENS数控系统使用代码G71(米制)和G70(英制)来表示。
G20,G21,G22不能在程序的中途切换
12.G17、G18、G19——插补平面选择
书写格式:
G17选择XY平面插补
G18选择XZ平面插补
G19选择YZ平面插补
说明:
(1)G17、G18、G19定义轨迹插补的平面,以免发生混用错误;
(2)当存在G41、G42、G43、G44刀补(刀具半径补偿)时,不得变换定义平面;
(3)考虑加工方便,Z坐标可单独编程,而不必考虑平面的定义。
但编入二坐标联动时,必须考虑平面选择问题;
(4)G17、G18、G19为模态功能,可相互注销,G17为缺省值。
13.G92——工件坐标系设定指令
书定格式:
G92XYZ
说明:
(1)G92指令是将工件坐标系原点设定在相对于刀具起始点的某一空间位置上。
(2)G92指令的作用只是分离工件坐标系原点和刀具起始点,加工中并不产生运动。
(3)G92指令中如果将XYZ各轴数值设置为零时,则工件坐标系原点与刀具起始点重合。
例G92指令编程举例(见右图):
G92X20.0Y10.0Z10.0
14.G90——绝对值方式编程
书定格式:
G90…
例:
如图(a,b)加工直线AB,
在绝对坐标系中表示B点坐标值:
XB=25,YB=50
在增量坐标系中表示B点坐标值为:
UB=20,VB=30
12.G91——增量方式编程
书写格式:
G91…
13.G00——快速定位
书定格式:
G00XYZ
目标点坐标
说明:
(1)使刀具以系统预先设定的速度快速移动定位到所指定的位置。
(2)不运动的坐标可以省略。
(3)目标点的坐标值可以用绝对值,也可以用增量值,小数点前最多允许4位数,小数点后最多允许3位,正数可以省略“+”号。
(4)用G00编程时,也可以写作G0。
(5)当Z轴按照指令远离工作台时,Z轴先运动,X、Y轴再运动。
当Z轴按照指令接近工作台时,X、Y轴先运动,Z轴再运动。
例绝对值方式编程:
G00X170Z150
增量方式编程:
G91G00X160Z140
14.F××——运行速度设定
F后面的数字就是进给速度的大小,单位为mm/min。
用字母F与其后的4位整数和3位小数表示。
例如:
F180表示刀具的进给速度为180mm/min。
总结
数控机床在加工过程中主要进行的是位置控制,通过数控编程,把加工过程中刀具移动的轨迹按一定的顺序和方式编写成加工程序单后输送给数控系统,控制数控机床进行自动加工。
不同的数控系统的程序格式一般都有差异,但程序的结构基本相同。
零件程序的结构组成如下所示:
(%)O××××;程序名
┊;程序段
M02;结束符
在程序段中,首先要进行数控加工前的程序准备就绪,包括以下内容:
1.数控加工中,M03指令设定主轴顺时针旋转,M04指令设定主轴逆时针旋转,M05指令设定主轴停止旋转,M08指令打开切削液,M09指令关闭切削液,M02指令是程序结束F符。
2.数控加工中,用G17、G18、G19指令进行加工坐标平面设定,用G92指令进行工件坐标系设定,用G90指令设定绝对方式编程,用G91指令设定增量方式编程。
3.数控加工中,G00指令使刀具相对于工件从当前位置各轴以预先设定的快移进给速度到程序段所指定的下一个定位点。
其格式为:
G00X_Y_Z_。
G00指令中的快进速度由机床参数设置对各轴分别设定,由于各轴以各自的速度移动,不能保证各轴同时到达终点,因而联动直线轴和合成轨迹并不总是直线。
在完成数控准备类指令后,才能进行编制数控加工运行指令。
将零件程序编制好以后,经过程序校验及加工仿真确认,可以进行加工。
在加工前,还需要进行对刀操作。
对刀是为了确定编程员设定的基准坐标系,即工件坐标系在机床坐标系中的位置。
这个位置由对刀点来确定。
四、基本加工类指令
1.G01——直线插补
书写格式:
G01XYZF
目标点坐标进给速度
说明:
(1)系统通电时,处于G01状态;
(2)不运动的坐标可以省略;
(3)目标点的坐标可以用绝对值或增量值书定,小数点前允许4位,小数点后允许3位,正数可以省略“+”号;
(4)G01起作用时,其进给速度按所给的F值运行。
G90时为终点在工件坐标系中的坐标;
G91时为终点相对于起点的位移量。
G01和F都是模态代码,G01可由G00、G02、G03或G33功能注销。
例:
右图所示路径,要求用G01,坐标系原点O是程序起始点,要求刀具由O点快速移动到A点,然后沿AB、BC、CD、DA实现直线切削,再由A点快速返回程序起始点O,其程序如下:
O0001
N01 G92 X0 Y0
N10G90G00X10Y12S600T01M03
N20 G01 Y28 F100
N30 X42
N40 Y12
N50 X10
N60 G00 X0 Y0
N70 MO5
N80 M02
2.G02——顺时针圆弧插补
书写格式:
G17G02XYIJ
YZJK
XZIK
圆心坐标,是圆心相对于圆弧起点的增量值
圆弧终点坐标,可以用绝对值或增量值书写
G18G02XZIK
G19G02YZJK
3.G03或G3——逆时针圆弧插补
书写格式:
G17G03X_____Y_____I_____J_____
G18G03X_____Z_____I_____K_____
G19G03Y_____Z_____J_____K_____
说明:
1)X、Y在使用G90指令时,圆弧终点坐标是相对编程零点的绝对坐标值。
在使用G91指令时,圆弧终点是相对圆弧起点的增量值。
I、J是圆心坐标,是圆心相对于圆弧起点的增量值,I是X方向,J是Y方向,圆心坐标在圆弧插补时不得省略。
不管是绝对值方式,还是增量方式,圆心坐标总是相对起点的增量值;
2)G02指令编程时,可以直接编过象限圆、整圆等;
3)G02指令后的坐标值,小数点前允许4位,小数点后允许3位。
4)圆弧走向的顺逆应是从垂直于圆弧加工平面的第三轴的正方向看到的回转方向
5)圆弧插补既可用圆弧半径R指令编程,也可用I、J、K指令编程。
在同一程序段中,I、J、K、R同时指令时,R优先,I、J、K指令无效。
6)当用R指令编程时,如果加工圆弧段所对的圆心角为0°~180°,R取正值;如果圆心角为180°~360°,R则取负值。
例小圆弧段:
G90G03X0Y25.0R25.0
或:
G91G03X−25.0Y25.0R25.0
大圆弧段:
G90G03X0Y25.0R−25.0
或:
G91G03X−25.0Y25.0R−25.0
例2、整圆编程要求由A点开始,实现逆时针圆弧插补并返回A点。
G90G03X30Y0I-30J0F80
G91G03X0Y0I-30J0F80
4螺旋线进给-----G02,G03螺旋线插补的进给速度F为合成运动速度。
格式:
例
G91时:
G91G19G02Y30Z-30R30X10F100
G90时:
G90G19G02Y30Z0.0R30.0X10F100
5.G04——暂停指令
书写格式:
G04F(或G04J)
说明:
(1)程序在执行到某段后,需要暂停一段时间:
进行某些人为的调整,这时就可以用G04指令使程序暂停。
当暂停时间一到,继续执行下一段程序。
暂停时间由P后的数值说明,以秒(S)为单位,小数点前允许2位,小数点后2位。
即:
从0.01~99.99S。
(2)G04的程序段里不能有其它指令。
该指令的功能是使刀具作短暂的无进给加工(主轴仍然在转动),经过指令的暂停时间后再继续执行下一程序段,以获得平整而光滑的表面。
G04指令为非模态指令。
其程序段格式为:
G04 X(或P或F或S)
N05 G90 G01 F120 Z-50 S300 M03
N10 G04 X2.5 ;暂停2.5秒
N15 Z70
N20 G04 S30 ;主轴暂停30转
N30 G00 XO Y0 ;进给率和主轴转速继续有效
N40 ……
五、坐标偏置类指令
1.(FANUC数控系统)坐标偏置类指令:
(1)G53——选择机床坐标系
书写格式:
G53G90X____Y____Z_____属于非模态指令,只在本程序段中有效。
在含有G53指令的程序段中,利用绝对值编程的移动指令的坐标位置是相对于机床坐标系的。
(2)G53、G54、G55、G56、G57、G58、G59——选择工件坐标系
书写格式:
G54(或G55~G59)G90X____Y____Z_____(F)
(3)G92——工件坐标系设定指令
格式:
G92X___Y____Z___
说明:
(1)G92指令是将工件坐标系原点设定在相对于刀具起始点的某一空间位置上。
(2)G92指令的作用只是分离工件坐标系原点和刀具起始点,加工中并不产生运动。
(3)G92指令中如果将XYZ各轴数值设置为零时,则工件坐标系原点与刀具起始点重合。
例:
如图所示,使用工件坐标系编程:
要求刀具从当前点移动到A点,再从A点移动到B点。
%3303
N01G54G00G90X40.Z30.;
N02G59;
N03G00X30.Z30.;
N04M30;
当前点AB
六、刀具补偿类指令
1.M06——换刀指令
书写格式:
M06T_____
2.G40——取消刀具半径补偿
书写格式:
G40G01X_____Y_____
说明:
(1)G40必须与G41或G42成对使用;
(2)G40的程序段为撤消刀具半径补偿的程序段,必须采用直线插补G01指令和数值,编入撤消刀补的轨迹。
3.G41——左边刀具半径补偿
书写格式:
G41G01X____Y____
4.G42——右边刀具半径补偿
书写格式:
G42G01X____Y_____
说明:
(1)G41(G42)的切削方向如图所示;
(2)G41(G42)发生前,必须先用T指令选择刀具参数,并在主操作屏上设置刀具参数;
(3)G41(G42)本段程序,必须有G01(G02或G03)功能及对应的坐标参数才有效,以建立刀补;
(4)G41(G42)与G40之间不得出现任何转移加工,如镜像、子程序、跳转等;
(5)当用G41指令时,刀具中心将走在编程轨迹前进方向的左侧;用G42指令时,刀具中心将走在编程轨迹前进方向的右侧。
5.G43——建立刀具长度补偿
书写格式:
G43
用于刀具轴向(Z方向)补偿,可使刀具在Z方向上的实际位移大于或小于程序给定值。
即:
执行结果:
正偏置G43:
Z实际值=Z指令值+(H—)
负偏置G44:
Z实际值=Z指令值-(H—)
G49为取消刀补。
例:
H1----刀具偏移值为20.0
G90G43Z100.0H1;刀具将沿Z轴运动到120.0的位置
七、返回类指令
1.FANUC数控系统返回类指令:
(2)G27——返回参考点检查
书写格式:
G90(G91)G27X_____Y_____Z_____
说明:
1)为了提高加工精度的可靠性和保证被加工工件的正确性,使用该指令检查工件原点的正确与否。
2)当使用G27时,在G90方式下,X、Y、Z值指机床参考点在工件坐标系的绝对值坐标;在G91方式下,X、Y、Z值表示机床参考点相对刀具目前所在位置的增量值坐标。
3)该指令的用法如下:
当执行加工完成结束前,执行G27指令,则刀具以快速定位(G00)移动方式自动返回机床参考点。
4)G27必须将刀具补偿取消后才能生效。
(3)G28——自动返回参考点
书写格式:
G28X_____Y_____Z_____
说明:
1)该指令用来使坐标轴自动返回参考点。
2)使用G28时,X、Y、Z数值为返回参考点所经过的中间点坐标。
指令执行后,X、Y、Z轴都将快速移动定位到中间点,然后在从中间点移动运行到参考点。
例绝对值方式编程举例:
G90G28X300.0Y250.0
增量值方式编程举例:
G91G28X100.0Y150.0
(4)G29——从参考点返回
书写格式:
G29X_____Y_____Z_____
G28、G29编程举例:
M06T02换2号刀;
G90G28Z50.0由A点经过中间点B回到Z轴机床参考点;
M06T03换3号刀;
G29X35.0Y30.0Z5.03号刀由机床参考点经由中间点B快速定位到C点;
八、循环加工类指令
数控加工中,某些加工动作循环已经典型化。
例如,钻孔、镗孔的动作是孔位平面定位、快速引进、工作进给、快速退回等,这样一系列典型的加工动作已经预先编好程序,存储在内存中,可用包含G代码的一个程序段调用,从而简化编程工作。
这种包含了典型动作循环的G代码称为循环指令。
孔加工固定循环指令有G73,G74,G76,G80~G89,通常由下述6个动作构成(见下图):
①X、Y轴定位
②快速运动到R点(参考点)
③孔加工
④在孔底的动作
⑤退回到R点(参考点)
⑥快速返回到初始点。
固定循环的程序格式包括数据形式、返回点平面、孔加工方式、孔位置数据、孔加工数据和循环次数。
数据形式(G90或G91)在程序开始时就已指定,因此,在固定循环程序格式中可不注出。
固定循环的程序格式如下:
G98(G99)G_X_Y_Z_R_Q_P_I_J_K_F_L_
式中第一个G代码(G98或者G99)为返回点平面G代码,G98为返回初始平面,G99为返回R点平面
第二个G代码为孔加工方式,即固定循环代码G73,G74,G76和G81~G89中的任一个
X、Y为孔位数据,指被加工孔的位置
Z为R点到孔底的距离(G91时)或孔底坐标(G90时)
R为初始点到R点的距离(G91时)或R点的坐标值(G90时)
Q指定每次进给深度(G73或G83时),是增量植,Q<0
K指定每次退刀(G73或G83时)刀具位移增量),K>0
I、J指定刀尖向反方向的移动量(分别在X、Y轴向上)
P指定刀具在孔底的暂停时间
F为切削进给速度
L指定固定循环的次数。
G73、G74、G76和G81~G89、Z、R、P、F、Q、I、J、K是模态指令。
G80、G01~G03等代码可以取消固定循环。
1.G73——高速深孔的啄钻循环指令
书写格式:
G98(G99)G73X_Y_Z_R_Q_P_K_F_L_
功能:
该固定循环用于Z轴的间歇进给,使深孔加工时容易排屑,减少退刀量,可
以进行高效率的加工。
说明:
X、Y:
孔的位置。
Q:
为每次向下的钻孔深度(增量值,取负)。
Z:
绝对编程时是孔底Z点的坐标值;K:
为每次向上的退刀量(增量值,取正)。
增量编程时是孔底Z点相对与参照R点的增量值。
F:
钻孔进给速度
R:
绝对编程时是参照R点的坐标值;L:
循环次数(一般用于多孔加工的简化编程)增量编程时是参照R点相对与初始B点的增量值
2.G74——攻左螺纹循环指令
书写格式:
G98(G99)G74X_Y_Z_R_P_F_L_
功能:
攻反螺纹时主轴反转攻丝,到孔底时主轴停止旋转,主轴正转退回。
攻丝时速度倍率不起作用。
使用进给保持时,在全部动作结束前也不停止。
说明:
X、Y:
螺纹孔的位置。
Z:
绝对编程时是孔底Z点的坐标值;
增量编程时是孔底Z点相对与参照R点的增量值。
R:
绝对编程时是参照R点的坐标值;
增量编程时是参照R点相对与初始B点的增量值
P:
为孔底停顿时间。
F:
螺纹导程
L:
循环次数(一般用于多孔加工的简化编程)
3.G76——精镗孔循环指令
书写格式:
G98(G99)G76X_Y_Z_R_P_I_J_F_L_
功能:
精镗时,主轴在孔底定向停止后,向刀尖反方向移动,然后快速退刀。
刀尖反向位移量用
地址I、J指定,其值只能为正值。
I、J值是模态的,位移方向由装刀时确定。
说明:
X、Y:
螺纹孔的位置。
P:
为孔底停顿时间。
Z:
绝对编程时是孔底Z点的坐标值;I:
X轴方向偏移量,只能为正值
增量编程时是孔底Z点相对与参照R点的增量值。
J:
Y轴方向偏移量,只能为正值
R:
绝对编程时是参照R点的坐标值;F:
镗孔进给速度
增量编程时是参照R点相对与初始B点的增量值
L:
循环次数(一般用于多孔加工的简化编程)
4.G81——钻孔循环指令---钻孔循环(定点钻)
书写格式:
G98(G99)G81X_Y_Z_R_F_L_
功能:
G81指令的动作循环,包括X,Y坐标定位、快进、工进和快速返回等动作。
说明:
X、Y:
螺纹孔的位置。
Z:
绝对编程时是孔底Z点的坐标值;
增量编程时是孔底Z点相对与参照R点的增量值。
R:
绝对编程时是参照R点的坐标值;
增量编程时是参照R点相对与初始B点的增量值
F:
钻孔进给速度
L:
循环次数(一般用于多孔加工的简化编程)
一次加工到孔底
5.G82——沉孔的钻孔循环指令
书写格式:
G98(G99)G82X_Y_Z_R_P_F_L_
功能:
此指令主要用于加工沉孔、盲孔,以提高孔深精度。
该指令除了要在孔底暂停外,其他动作与G81相同
说明:
X、Y:
螺纹孔的位置。
Z:
绝对编程时是孔底Z点的坐标值;
增量编程时是孔底Z点相对与参照R点的增量值。
R:
绝对编程时是参照R点的坐标值;
增量编程时是参照R点相对与初始B点的增量值。
P:
孔底暂停时间。
F:
钻孔进给速度。
L:
循环次数(一般用于多孔加工的简化编程)。
6.G83——深孔啄钻循环指令
书写格式:
G