数控机床命令详解.docx
- 文档编号:10524464
- 上传时间:2023-02-17
- 格式:DOCX
- 页数:31
- 大小:3.14MB
数控机床命令详解.docx
《数控机床命令详解.docx》由会员分享,可在线阅读,更多相关《数控机床命令详解.docx(31页珍藏版)》请在冰豆网上搜索。
数控机床命令详解
1.3.2数控程序
1.3.2.1程序结构
为运行机床而送到数控系统(cnc)的一组指令称之为程序。
按照指定的指令,刀具沿着直线或圆弧移动,主轴电机按照指令旋转或停止。
在程序中,以刀具实际移动的顺序来指定指令。
一组单步的顺序指令称之为程序段。
一个程序段从识别程序段的顺序号开始,到程序段结束代码结束。
在本书中,用“;”或回车符来表示程序段结束代码(在ISO代码中为LF,而在EIA代码中为CR)。
而加工程序由若干程序段组成;而程序段由一个或若干个指令字组成,指令字代表某一信息单元;每个指令字由地址符和数字组成,它代表机床的一个位置或一个动作;每个程序段结束处应有“EOB”或CR表示改程序段结束转入下一个程序段。
地址符由字母组成,每一个字母、数字和符号都称之为字符。
程序结构举例如表1-3所示。
表1-4为程序范例中出现的字母的解释。
程序段格式是指令字在程序段中排列的顺序,不同数控系统有不同的程序段格式。
格式不符合规定,数控装置就会报警,不执行。
常见程序段格式如表1-5所示。
①程序段序号(简称顺序号):
通常用4位数字表示,即0000~9999,在数字前还冠有标识符号N,如N0001等。
②准备功能(简称G功能):
它由表示准备功能地址符G和两位数字所组成。
③坐标字:
由坐标地址符及数字组成,且按一定的顺序进行排列,各组数字必须具有作为地址代码的字母(如X、Y等)开头。
各坐标轴的地址符一般按下列顺序排列:
X、Y、Z、U、V、W、Q、R、A、B、C、D、E
其中,数字的格式和含义如下。
X50
如:
X50.0都表示沿X轴移动50mm。
X50000
④进给功能F:
由进给地址符F及数字组成,数字所表示选定的进给速度,一帮为四位数字码,单位一般为mm/min或mm/r。
⑤主轴转速功能S:
由主轴地址符S及数字组成,数字表示主轴转速,单位为r/min。
⑥刀具功能T:
由地址符T和数字组成,用以指定刀具的号码。
⑦辅助功能(简称M功能):
由辅助操作地址符“M”和两位数字组成。
M功能的代码已标准化。
⑧程序段结束符号:
列在程序段最后一个有用的字符之后,表示程序段结束。
需要说明的是,在国际上数控机床的指令格式有很多标准规定,它们之间并不完全一致。
随着数控机床的发展,数控系统不断改进和创新,其功能更加强大并且使用方便。
但在不同的数控系统之间,程序格式上存在一定的差异,因此,在具体掌握某一数控机床编程时要反复仔细查阅相关随机文档,以了解其数控系统的编程格式。
1.3.2.2FANUC数控系统编程指令综述
在此以FANUC系统的通用指令为例,说明数控加工中的编程指令。
(1)可编程功能
通过编程并运行这些程序使数控机床能够实现加工的功能,我们称之为可编程功能。
一般可编程功能分为两类:
一类用来实现刀具轨迹控制,即各进给轴的运动,如直线或圆弧插补、进给控制、坐标系原点偏置及变换、尺寸单位设定、刀具偏置及补偿等,这一类功能被称为准备功能,已字母G以及两位数字组成,也被称之为G代码。
另一类功能被称为辅助功能,用来完成程序的执行控制、主轴控制、刀具控制、辅助设备控制等功能。
在这些辅助功能中,Txx用于选刀,Sxxxx用于控制主轴转速。
其他功能由字母M于两位数字组成的M代码来实现。
(2)准备功能(见表1-6)
从表1-6可知G代码被分为了不同的组,这是由于大多数的G代码是模态的。
所谓模态G代码,是指这些G代码不只在当前的程序段中起作用,而且在以后的程序段中一直起作用,知道程序中出现另一个同组的G代码为止,同组的模态G代码控制同一个目标但起不同的作用,他们之间是不相容的。
00组G代码是非模态的,这些G代码只在他们所在的程序段中起作用,标有“◤”的G代码是数控系统启动后默认的初始状态。
对于G01和G00、G90、和G91这两组指令,数控系统启动后默认的初始状态由系统参数决定。
同一程序段中可以有几个G代码出现,但当两个或两个以上的同组G代码出现时,最后出现的(同组的)G代码有效。
在固定循环模式下,任何一个01组的G代码都将使固定循环模态自动取消,成为G80模态。
(3)辅助功能
机床用S代码来对主轴转速进行编程,用T代码来进行选刀编程,其他可编程辅助功能由M代码来实现。
一般的,一个程序段中,M代码最多可以有一个(oi系统最多可有三个)。
M代码列表见表1-7所示。
1.3.2.3插补功能
(1)快速定位(G00)
格式:
G00IP_;
IP_在本书中代表最多5个进给轴地址的组合。
当然,每个地址后面都会有一个数字作为赋给改地址的值,一般机床有3个进给轴,即X、Y、Z(个别机床有五至四个进给轴),所以IP_可以代表加X12.Y119.Z-37.或X287.3Z73.5A45.0等内容。
G00这条指令所作的就是使刀具以较快的速率移动到IP_指定的位置,被指定的个轴之间的运动是互不相关的,也就是说刀具移动的轨迹不一定是一条直线。
G00指令下,快速移动倍率为100%时,各轴运动的速度是机床的最快移动速度,目前的机床通常大于15m/min,该速度不受当前F值的控制。
当各运动轴到达运动终点并发出位置到达信号后,CNC认为该程序段已经结束,并转向执行下一程序段。
说明:
可以用数控系统的内部参数(例如FANUCoi系统No.1401的第一位LRP)选择G00指令的移动轨迹。
①非直线插补定位。
刀具分别以每轴的快速定位移动速度。
刀具轨迹一般不是直线。
②直线插补定位。
刀具轨迹与直线插补(G01)相同。
刀具以不超过每轴的快速移动的速度,在最短的时间内定位。
这两种插补方式的去别如图1-20所示。
(2)直线插补(G01)格式:
G01IP_F_;
G01指令使当前的插补模态成为直线插补模态,刀具从当前位置移动到IP指定的位置,其轨迹是一条直线,F_指定了刀具沿直线运动的速度,单位为mm/min(X、Y、Z轴)。
第一次出现G01指令时,必须指定F值,否则机床报警。
假设当前刀具所在点为X-50.Y-75.,则下面的程序段将使刀具走出如图1-21所示轨迹。
N1G01X150.Y25.F100;
N2X50.Y75.;
可以看到,程序段N2并没有G01,但由于G01指令为模态指令,所以N1程序段中所指令的G01在N2程序段中继续有效。
同样地,指令F001在N2段也继续有效,即刀具沿两段直线的运动速度都是100mm/min。
(3)圆弧插补(G02/G03)
下面所列的指令可以使刀具沿圆弧轨迹运动。
①在XY平面:
G17{GO2/G03}X_Y_{(I_J_)/R_}F_;
②在XY平面:
G18{G02/G03}X_Z_{(I_K_)/R_}f_;
③在YZ平面:
G19{G02/G03}Y_Z_{(J_K_)/R_}F_;
上面指令中字母的解释如表1-8所示。
这里的圆弧方向,对于XY平面来说,是由Z轴的正向往Z轴的负向看XY平面所看到的圆弧方向。
同样,对于XZ平面或YZ平面来说,观测的方向则应该是从Y轴或X轴的正向到Y轴或X轴的负向(适用于右手坐标系如图1-22所示)。
圆弧的终点由地址X、Y和Z来确定。
在G90模态,即绝对值指令方式下,地址X、Y、Z给出了圆弧终点在当前坐标系中的坐标值;在G90模态,即增量值指令方式下,地址X、Y、Z给出的则是在各坐标轴方向上当前刀具所在点到终点的距离。
从起点到圆弧中西,用地址I、J和K分别指令Xp、Yp或Zp轴向的圆弧中心位置。
I、J或K后的数值是从起点向圆弧中心方向的尺量分量,并且,不管指定G90还是指定G91,I、J和K后的值总是增量值,如图1-23所示。
I、J和K必须根据方向指定其符号(正或负)。
I0、J0和K0可以省略。
当Xp、Yp或Zp省略(终点于起点相同,并且中兴用I、J和K指定时,移动轨迹为360度的圆弧(整圆)。
例如:
G02I_;指令一个整圆。
如果在起点和终点之间的半径差在终点超过了系统参数中的允许值时,则机床报警。
对一段圆弧进行编程,除了用给定终点位置和圆心位置的方法外,还可以给定半径和终点位置的方法对一段圆弧进行编程,用地址R来指定半径值,替代给定圆心位置的地址。
在这种情况下,如果圆弧小于180度,半径R为正值;如果圆弧大于180度,半径R用负值指定。
如果Xp、Yp或Zp全都省略,即终点和起点位于相同位置,并且指定R时,程序编制出的圆弧为0度。
编程一个整圆一般使用给定圆心的方法,如果必须要用R来表示,整圆必须打断为四个部分,每个部分小于180度。
例如:
G02R_;(刀具不移动。
)
1.3.2.4进给功能
为切削工件,刀具以指定速度移动成为进给。
指定进给速度的功能称为进给功能。
(1)进给速度
数控机床的进给一般分为两类:
快速定位进给及切削进给。
快速定位的指令G00、手动快速移动以及固定循环时的快速进给和点位之间的运动时出现。
快速定位进给的速度是由机床给定的,所以,快速移动速度不需要编程指定。
用机床操作面板上的开关,可以对快速移动速度施加倍率,倍率值为:
F0,25%,50%,100%。
其中F0:
由机床参数设定每个轴的固定速度。
切削进给出现在G01、G02、或G03以及固定循环中的加工进给情况下,切削进给的速度有地址F在程序中指定。
在加工程序中,F是一个模态的值,即在给定一个新的F值之前,原来编程的F值一直有效。
CNC系统刚刚通电时,F值由机床参数给定,通常该参数在机床出厂是被设为0。
切削进给的速度是一个有方向的矢量,它的方向是刀具运动的方向,数值(即速度的大小)为F的值。
参与进给的各轴之间是插补的关系,它们的运动的合成即是切削进给运动。
F的最大值也有机床参数控制,如果编程的F值大于此值,实际的进给切削速度将限制为最大值。
切削进给的速度还可以由操作面板上的进给倍率开关来控制,实际的切削进给速度应该为F的给定值于倍率开关给定倍率的乘积。
(2)自动加减速控制
自动加减速控制作用于各轴运动的启动和停止的过程中,以减少冲击并使得启动和停止的过程平稳。
为了同样的目的,自动加减速控制也作用于进给速度变换的过程中。
对于不同的进给方式,CNC使用了不同的加减速控制方式。
快速定位进给:
使用线性加减速控制,各轴的加减速时间常数由机床参数控制(例如522~525号参数)。
切削进给:
用指数加减控制,加减速时间常速由机床参数控制(例如530号参数)。
手动进给:
使用指数加减速控制,各轴的加减速时间常数也由机床参数控制(例如601~604号参数)。
(3)切削方式(G64)
为了有一个好的切削条件,希望刀具在加工时要保持线速度的恒定,但是自动加减速控制只作用于每一段切削的进给过程的开始和结束,那么在两个程序段之间的衔接处如何使刀具保持恒定的线速度呢?
在切削方式G64模态下,两个切削进给程序段之间的过渡是这样的:
在前一个运动接近指令指定位置并开始减速是,后一个运动开始加速,这样就可以在两个插补程序段之间保持恒定的线速度。
可以看出在G64模态下,切削进给时,CNC并不检查每个程序段执行时各轴的位置到达信号,而在两个切削进给程序段的衔接处使刀具走出一个小小的圆角。
(4)精确停止(G90)及精确停止方式(G61)
如果在一个切削进给的程序段中有G09指令给出,则刀具接近指令位置是会减速,CNC检测到位置到达信号后才会继续执行下一程序段。
这样,在两个程序段之间的衔接处刀具将走出一个非常尖锐的角,所以在需要加工非常尖锐的角时可以使用这条指令。
使用G61可以实现同样的功能,G61与G09的区别就是G09是一条非模态的指令,而G61是模态的指令,即G90只能在它所在的程序段中起作用,不影响模态的变化,而G61可以在它以后的程序段中一直起作用,直到程序中出现G64为止。
(5)暂停(G04)
作用:
在两个程序段之间产生一段时间的暂停。
格式:
G04P_;或G04X_;
地址P或X给定暂停的时间,以s(秒)为单位,范围是0.001~9999.999s。
如果没有P或X,G04在程序中的作用于G09相同。
1.3.2.5参考点
参考点事机床上的一个固定的店,它的位置由个轴的参考点开关和撞块位置以及各轴伺服电机的零点位置来确定。
使用参考点返回功能,刀具可以非常容易移动到该位置。
参考点可用作刀具自动交换的位置。
用机床参数可在机床坐标系中设定4个参考点。
(1)返回参考点(G28)
格式:
G28IP_;
该指令使主轴以快速定位进给速度经由IP指定的中间点返回机床参考点,中间点的指定既可以是绝对值方式的也可以是增量值方式的,这取决于当前的模态。
一般地,该指令用于整个加工程序结束后使工件移出加工区,以便卸下加工完毕的工件和装卡待加工的零件。
注意:
为了安全起见,在执行该命令以前应该取消刀具半径补偿和长度补偿。
G28指令中的坐标值将被CNC作为中间点储存,另一方面,如果一个轴没有被包含在G28指令中,CNC储存的该轴的中间点坐标值将使用以前的G28指令中所给定的值。
例如:
N1X20.0Y54.0;
N2G28X-40.0Y25.0;中间点坐标值(-40.0,-25.0)
N3G28Z31.0;中间点坐标值(-40.0-25.031.0)
该中间点的坐标值主要由G29指令使用。
(2)从参考点返回(G29)
格式:
G29IP_;
该命令使主轴以快速定位进给速度运动到IP指令指定的位置,然后检查该点是否为参考点。
如果是参考点,则发出该轴参考点返回的完成信号(点亮该抽的参考点到达指示灯);如果不是,则发出一个报警,并中断程序运行。
在刀具偏置的模态下,刀具偏置对G27指令同样有效,所以一般来说执行G27指令以前应该取消刀具偏置(半径偏置和长度偏置)。
如果机床闭锁开关置上位时,CNC不执行G27指令。
(4)返回第二参考点(G30)
格式:
G30IP_;
该指令的使用和执行与G28非常相似,唯一不同的就是G28使被指令轴返回机床参考点,而G30使被指令轴返回第二参考点。
可以使用G29指令被指令轴从第二参考点自动返回到第一参考点。
第二参考点也是机床上的固定点,它和机床参考点之间的距离由机床参数给定,第二参考点指令一般在机床中主要用于刀具交换。
注意:
为了安全起见,于G28一样,在执行该命令以前应该取消刀具半径补偿和长度补偿。
1.3.2.6坐标系
通常编程人员开始编程时,并不知道被加工零件在机床上的位置,他所编制的工件加工程序通常是以工件上的某个点作为工件加工程序的坐标系原点来编写加工程序的,当被加工工件夹压在机床工作台上以后。
所以坐标系原点偏移功能对于数控机床来说是非常重要的。
用编程指令可以使用下列三种坐标系:
①机床坐标系。
②工件坐标系。
③局部坐标系。
(1)选用机床坐标系(G53)
格式:
(G90)G53IP_;
该指令使刀具以快速进给速度运动到机床坐标系中IP_指定的坐标值位置。
一般地,该指令在G90模态下执行。
G53指令是一条非模态的指令,也就是说它只在当前程序段中起作用。
机床坐标系零点与机床参考点之间的距离由机床参数给定,也就是说它只在当前程序段中起作用。
(2)使用预置的工件坐标系(G54~G59)
在机床中,我们可以预置六个工件坐标系,通过数控系统面板上的操作,设置每一个工件坐标系原点相对于机床坐标系原点的偏移量,然后使用G54~G59指令来选用它们,G54~G59都是模态指令,分别对应1号~6号预置工件坐标系。
举例如下,见表1-9所示。
预置1号工件坐标系偏移量:
X-150.000Y-120.000Z-90.000。
预置4号工作坐标系偏移量:
X-430.000Y-330.000Z-120.000。
从以上举例可以看出,G54~G59指令的作用就是将CNC所使用的坐标系原点移到机床坐标系中的预置点,预置方法请参考后面章节的操作部分。
在机床的数控编程中,除非有特指外,插补指令和其他与坐标值有关的指令中的IP_,都是指在当前坐标系中(指令被执行时所使用的坐标系)的坐标位置。
绝大多数情况下,当前坐标系是G54~G59中的一个(G54为上电时的初始模态),直接使用机床坐标系的情况不多。
(3)可编程工件坐标系(G92)
格式:
(G90)G92IP_;
该指令建立一个新的工件坐标系,使得在这个工件坐标系中,当前刀具所在点的坐标值为IP_指令的值。
G92指令是一条非模态指令,但由该指令建立的工件坐标系却是模态的。
实际上,该指令也是给出了一个偏移量,这个偏移量是间接给出的,它是新工件坐标系原点在原来的工件坐标系中的坐标值。
从G92的功能可以看出,这个偏移量也就是刀具在原工件坐标系中的坐标值与IP_指令值之差。
如果多次使用G92指令,则每次使用G92指令给出的偏移量将会叠加。
对于每一个预置的工件坐标系(G54~G59),这个叠加的偏移量都是有效的。
举例如下,如表1-10所示。
预置1号工件坐标系偏移量:
X-150.000Y-210.000Z-90.000。
预置4号工件坐标系偏移量:
X-430.000Y-330.000Z-120.000。
注意:
由于G92设定后无法查对此前刀具和工件的相对位置,且该设定的工件坐标系如果断电、关机等情况时将会消失,故尽量使用预置的工件坐标系G64~G59为好。
除了一些局部切削、小范围加工、临时测试等特殊场合,一般不推荐使用G92功能来设定工件坐标系。
(4)设置局部坐标系(G52)
G52可以建立一个局部坐标系,局部坐标系相当于G54~G59坐标系的子坐标系。
格式:
G52IP_;
该指令中,IP_给出了一个相对于当前G54~G59坐标系的偏移量,也就是说,IP_给定了局部坐标系原点在当前G54~G59坐标系中的位置坐标,即使该G52指令执行前已经由一个G52指令建立了一个局部坐标系。
取消局部坐标系的方法也非常简单,使用G52IP0;即可。
1.3.2.7平面选择
这一组指令用于选择进行圆弧插补以及刀具半径补偿所在的平面。
使用方法,如图1-24所示。
G17-选择XY平面
G18-选择ZY平面
G19-选择YZ平面
关于平面选择的相关指令可以参考圆弧插补及刀具补偿等指令的相关内容。
1.3.2.8坐标系个尺寸单位
绝对值和增量值编程(G90和G91)有两种指令刀具运动的方法:
绝对值指令和增量值指令。
绝对值指令:
绝对值指令是刀具移动到“距坐标系零点某一距离”的点,及刀具移动到坐标值的位置。
增量值指令:
指令刀具从前一个位置移动到下一个位置的位移量。
在绝对值指令模态下,指定的是运动终点在当前坐标系中的坐标值;而在增量值指令模态下,指定的则是各轴运动的距离。
G90和G91这对指令被用来选择使用绝对值模态或增量值模态。
G90为绝对值指令方式,G91为增量值指令方式。
如图1-25所示的实例,可以更好地理解绝对值方式和增量值方式的编程。
1.3.2.9辅助功能
(1)M代码
在机床中,M代码分为两类:
一类由MC直接执行,用来控制程序的执行;另一类由PMC来执行,控制主轴、ATC装置、冷却系统。
①程序控制用M代码。
用于程序控制的M代码有M00、M01、M02、M30、M90、M99,其功能分别讲解如下:
M00-程序暂停。
NC执行到M00时,中断程序的执行,按循环启动按钮可以继续执行程序。
M01-条件程序暂停。
NC执行到M00时,若M01有效开关置为上位,则M01与M00指令有同样效果。
如果M01有效开关置下位,则M01指令不起任何作用。
M02-程序结束。
遇到M02指令时,NC认为该程序已经结束,停止程序的运行并发出一个复位信号。
M30-程序结束,并返回程序头。
在程序中,M30除了起到与M02同样的作用外,还使程序返回程序头。
M98-调用子程序。
M99-子程序结束,返回主程序。
②其他M代码。
M03-主轴正转。
使用该指令使主轴以当前指定的主轴转速逆时针(CCM)旋转。
M04-主轴反转。
使用该指令使主轴以当前指定的主轴转速顺时针(CW)旋转。
M05-主轴停止。
M06-刀具交换(参阅机床操作说明书)。
M08-冷却开。
M09-冷却关。
机床厂家往往将自行开发的机床功能设置为M代码(例如机床开/关门),这些M代码请参阅机床自带的使用说明书。
(2)T代码
机床刀具库使用任意选刀方式,即由两位的T代码。
Txx指定刀具号而不必管这把刀在哪一个刀套中,地址T的取值范围可以是1~99之间的任意整数。
在M06之前必须有一个T代码,如果T指令和M06出现在同一程序段中,则T代码也要写在M06之前。
警告:
刀具表一定要设定正确,如果与实际不符,将会因换刀时编号混乱而造成刀库中刀具与主轴刀具碰撞而严重损坏机床。
(3)主轴转速指令(S代码)
一般机床主轴转速范围是20~6000r/min(转/分钟)。
主轴的转速指令由S代码给出,S代码是模态的,即转速值给定后始终有效,直到另一个S代码改变模态值。
主轴的旋转指令则由M03或M04实现。
1.3.2.10FANUC系统的程序结构
(1)程序结构
早期的NC加工程序,是以纸带为介质存储的,为了保持与以前的系统的兼容性,我们所用的NC系统也可以使用纸带作为存储的介质,所以一个完整的程序还应包括由纸带输入输出程序所必须的一些信息。
这样,一个完整的程序应由下列七部分构成。
①纸带程序起始符(TapeStart)。
该部分在纸带上用来标识一个程序的开始,符号是“%”。
在机床操作面板上直接输入程序时,该符号由NC自动产生。
②前导(LeaderSection)。
第一个换行(LF,ISO代码的情况下)或回车(CR,EIA代码的情况下)前的内容被称为前导部分。
该部分与程序执行无关。
③程序起始符(ProgramStart)。
该符号标识程序正文部分的开始。
ISO代码为LF,EIA代码为CR。
在机床操作面板上直接输入程序时,该符号由NC自动产生。
④程序正文(CrogramSection)。
位于程序起始符和程序结束符之间的部分为程序正文部分,在机床操作面板上直接输入程序时,输入和编辑的就是这一部分。
程序正文的结构请参考下一节的内容。
⑤注释(CommentSection)。
在任何地方,一对圆括号之间的内容为注释部分,NC对这部分内容只显示,在执行时不予理会。
⑥程序结束符(ProgramEnd)。
用来标识程序正文的结束,所用符号如表1-11所示。
ISO代码的LF和EIA代码的CR,在操作面板的屏幕上均显示为“;”。
⑦纸带程序结束符(TapeEnd)。
用来标识纸带程序的结束,符号为“%”。
在机床操作面板上直接输入程序时,该符号由NC自动产生。
(2)程序正文结构
①地址和词。
在加工程序正文中,一个英文字母被称为一个地址,一个地址后面跟着一个数字就组成了一个词。
每个地址有不同的意义,因此它们后面所跟的数字也具有不同的格式和取值范围,地址符的取值范围如表1-12所示。
②程序段结构。
一个加工程序由许多程序段构成,程序段是构成加工程序的基本单位。
程序段由一个或更多词构成并以程序段结束符(FOB,ISO代码为LF,EIA代码为CR,屏幕显示为“;”作为结尾。
另外,一个程序段的开头可以有一个可选的顺序号Nxxxx用来标识该程序段。
一般来说,顺序号有两个作用:
一是运行程序时便于监控程序的运行情况,因为在任何时候,程序号和顺序号总是显
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数控机床 命令 详解
![提示](https://static.bdocx.com/images/bang_tan.gif)