1、FANUC O加工中心编程说明书第一篇:编程1. 综述1.1 可编程功能通过编程并运行这些程序而使数控机床能够实现的功能我们称之为可编程功能。一般可编程功能分为两类:一类用来实现刀具轨迹控制即各进给轴的运动,如直线/圆弧插补、进给控制、坐标系原点偏置及变换、尺寸单位设定、刀具偏置及补偿等,这一类功能被称为准备功能,以字母G以及两位数字 组成,也被称为G代码。另一类功能被称为辅助功能,用来完成程序的执行控制、主轴控制、刀具控制、辅助设备控制等功能。在这些辅助功能中,Tx x用于选刀,Sx x x x用于控制主轴转速。其它功能由以字母M与两位数字组成的M代码来实现。1.2 准备功能本机床使用的所有
2、准备功能见表1.1: 表1.1G代码分组功能*G0001定位(快速移动)*G0101直线插补(进给速度)G0201顺时针圆弧插补G0301逆时针圆弧插补G0400暂停,精确停止G0900精确停止*G1702选择X Y平面G1802选择Z X平面G1902选择Y Z平面G2700返回并检查参考点G2800返回参考点G2900从参考点返回G3000返回第二参考点*G4007取消刀具半径补偿G4107左侧刀具半径补偿G4207右侧刀具半径补偿G4308刀具长度补偿G4408刀具长度补偿*G4908取消刀具长度补偿G5200设置局部坐标系G5300选择机床坐标系*G5414选用1号工件坐标系G5514
3、选用2号工件坐标系G5614选用3号工件坐标系G5714选用4号工件坐标系G5814选用5号工件坐标系G5914选用6号工件坐标系G6000 单一方向定位G6115精确停止方式*G6415切削方式G6500宏程序调用G6612模态宏程序调用*G6712模态宏程序调用取消G7309深孔钻削固定循环G7409反螺纹攻丝固定循环G7609精镗固定循环*G8009取消固定循环G8109钻削固定循环G8209钻削固定循环G8309深孔钻削固定循环G8409攻丝固定循环G8509镗削固定循环G8609镗削固定循环G8709反镗固定循环G8809镗削固定循环G8909镗削固定循环*G9003绝对值指令方式*
4、G9103增量值指令方式G9200工件零点设定*G9810固定循环返回初始点G9910固定循环返回R点从表1.1中我们可以看到,G代码被分为了不同的组,这是由于大多数的G代码是模态的,所谓模态G代码,是指这些G代码不只在当前的程序段中起作用,而且在以后的程序段中一直起作用,直到程序中出现另一个同组的G代码为止,同组的模态G代码控制同一个目标但起不同的作用,它们之间是不相容的。00组的G代码是非模态的,这些G代码只在它们所在的程序段中起作用。标有*号的G代码是上电时的初始状态。对于G01和G00、G90和G91上电时的初始状态由参数决定。如果程序中出现了未列在上表中的G代码,CNC会显示10号报
5、警。同一程序段中可以有几个G代码出现,但当两个或两个以上的同组G代码出现时,最后出现的一个(同组的)G代码有效。在固定循环模态下,任何一个01组的G代码都将使固定循环模态自动取消,成为G80模态。1.3 辅助功能本机床用S代码来对主轴转速进行编程,用T代码来进行选刀编程,其它可编程辅助功能由M代码来实现,本机床可供用户使用的M代码列表如下(表1.2): 表1.2M代码功 能M00程序停止M01条件程序停止M02程序结束M03主轴正转M04主轴反转M05主轴停止M06刀具交换M08冷却开M09冷却关M18主轴定向解除M19主轴定向M29刚性攻丝M30程序结束并返回程序头M98调用子程序M99子程
6、序结束返回重复执行 一般地,一个程序段中,M代码最多可以有一个。2. 插补功能2.1 快速定位(G00)G00给定一个位置。格式:G00 IP ;IP_在本说明书中代表任意不超过三个进给轴地址的组合,当然,每个地址后面都会有一个数字作为赋给该地址的值,一般机床有三个或四个进给轴即X,Y,Z ,A所以IP_可以代表如 X12. Y119. Z-37. 或 X287.3 Z73.5 A45. 等等内容。G00这条指令所作的就是使刀具以快速的速率移动到IP 指定的位置,被指令的各轴之间的运动是互不相关的,也就是说刀具移动的轨迹不一定是一条直线。G00指令下,快速倍率为100时,各轴运动的速度:X、Y
7、、Z轴均为15m/min,该速度不受当前F值的控制。当各运动轴到达运动终点并发出位置到达信号后,CNC认为该程序段已经结束,并转向执行下一程序段。位置到达信号:当运动轴到达的位置与指令位置之间的距离小于参数指定的到位宽度时,CNC认为该轴已到达指令位置,并发出一个相应信号即该轴的位置到达信号。G00编程举例:起始点位置为X-50,Y-75. ;指令G00 X150. Y25.;将使刀具走出下图所示轨迹(图2.1)。 图 2.12.2 直线插补(G01)格式:G01 IP-F-;G01指令使当前的插补模态成为直线插补模态,刀具从当前位置移动到 IP指定的位置,其轨迹是一条直线,F-指定了刀具沿直
8、线运动的速度,单位为mm/min(X、Y、Z轴)。该指令是我们最常用的指令之一。假设当前刀具所在点为X-50. Y-75.,则如下程序段N1 G01 X150. Y25. F100 ;N2 X50. Y75.;将使刀具走出如下图(图2.2)所示轨迹。大家可以看到,程序段N2并没有指令G01,由于G01指令为模态指令,所以N1程序段中所指令的G01在N2程序段中继续有效,同样地,指令F100在 N2段也继续有效,即刀具沿两段直线的运动速度都是100mm/min。2.3 圆弧插补(G02/G03)下面所列的指令可以使刀具沿圆弧轨迹运动:在X-Y平面G17 G02 / G03 X_ Y_ ( I_
9、J_ ) / R_ F_ ;在 X-Z平面G18 G02 / G03 X_ Z_ ( I_ K_ ) / R_ F_ ;在 Y-Z平面G19 G02 / G03 Y_ Z_ ( J_ K_ ) / R_ F_ ;序号数据内容指 令含 义1平面选择G17指定X-Y平面上的圆弧插补G18指定X-Z平面上的圆弧插补G19指定Y-Z平面上的圆弧插补2圆弧方向G02顺时针方向的圆弧插补G03逆时针方向的圆弧插补 3终点位置G90 模态X、Y、Z中的两轴指令当前工件坐标系中终点位置的坐标值G91 模态X、Y、Z中的两轴指令从起点到终点的距离(有方向的)4起点到圆心的距离I、J、K中的两 轴指令从起点到圆心
10、的距离(有方向的)圆弧半径R圆弧半径5进给率F沿圆弧运动的速度在这里,我们所讲的圆弧的方向,对于X-Y平面来说,是由Z轴的正向往Z轴的负向看X-Y平面所看到的圆弧方向,同样,对于X-Z平面或Y-Z平面来说,观测的方向则应该是从Y轴或X轴的正向到Y轴或X轴的负向(适用于右手坐标系如下图所示)。圆弧的终点由地址X、Y和Z来确定。在G90模态,即绝对值模态下,地址X、Y、Z给出了圆弧终点在当前坐标系中的坐标值;在G91模态,即增量值模态下,地址X、Y、Z给出的则是在各坐标轴方向上当前刀具所在点到终点的距离。在X方向,地址I给定了当前刀具所在点到圆心的距离,在Y和Z方向,当前刀具所在点到圆心的距离分别
11、由地址J和K来给定,I、J、K的值的符号由它们的方向来确定。对一段圆弧进行编程,除了用给定终点位置和圆心位置的方法外,我们还可以用给定半径和终点位置的方法对一段圆弧进行编程,用地址R来给定半径值,替代给定圆心位置的地址。R的值有正负之分,一个正的R值用来编程一段小于180度的圆弧,一个负的R值编程的则是一段大于180度的圆弧。编程一个整圆只能使用给定圆心的方法。3. 进给功能3.1 进给速度上一章,我们讲述了基本插补命令的用法以及一些相关指令,同时,也涉及到了一些与进给速度有关的一些知识,在本节中,我们将归纳性地讨论这些问题。数控机床的进给一般地可以分为两类:快速定位进给及切削进给。快速定位进
12、给在指令G00、手动快速移动以及固定循环时的快速进给和点位之间的运动时出现。快速定位进给的速度是由机床参数给定的,并可由快速倍率开关加上100、50、25及F0的倍率。快速倍率开关在100的位置时,快速定位进给的速度对于X、Y、Z三轴来说,都是15000mm/min。快速倍率开关在F0的位置时,X、Y、Z三轴快速定位进给速度是2000mm/min。快速定位进给时,参与进给的各轴之间的运动是互不相关的,分别以自己给定的速度运动,一般来说,刀具的轨迹是一条折线。切削进给出现在G01、G02/03以及固定循环中的加工进给的情况下,切削进给的速度由地址F给定。在加工程序中,F是一个模态的值,即在给定一
13、个新的F值之前,原来编程的F值一直有效。CNC系统刚刚通电时,F的值由549号参数给定,该参数在机床出厂时被设为100mm/min。切削进给的速度是一个有方向的量,它的方向是刀具运动的方向,模(即速度的大小)为F的值。参与进给的各轴之间是插补的关系,它们的运动的合成即是切削进给运动。F的最大值由527号参数控制,该参数在机床出厂时被设为4000mm/min,如果编程的F值大于此值,实际的进给切削速度也将保持为4000mm/min。切削进给的速度还可以由操作面板上的进给倍率开关来控制,实际的切削进给速度应该为F的给定值与倍率开关给定倍率的乘积。3.2 自动加减速控制自动加减速控制作用于各轴运动的
14、起动和停止的过程中,以减小冲击并使得起动和停止的过程平稳,为了同样的目的自动加减速控制也作用于进给速度变换的过程中。对于不同的进给方式,NC使用了不同的加减速控制方式:快速定位进给:使用线性加减速控制,各轴的加减速时间常数由参数控制(522525号参数)。切削进给:用指数加减速控制,加减速时间常数由530号参数控制。手动进给:使用指数加减速控制,各轴的加减速时间常数也由参数控制,参数号为601604。3.3 切削方式(G64)一般地,为了有一个好的切削条件,我们希望刀具在加工工件时要保持线速度的恒定,但我们知道自动加减速控制作用于每一段切削进给过程的开始和结束,那么在两个程序段之间的衔接处如何
15、使刀具保持恒定的线速度呢?在切削方式G64模态下,两个切削进给程序段之间的过渡是这样的:在前一个运动接近指令位置并开始减速时,后一个运动开始加速,这样就可以在两个插补程序段之间保持恒定的线速度。可以看出在G64模态下,切削进给时,NC并不检查每个程序段执行时各轴的位置到达信号,并且在两个切削进给程序段的衔接处使刀具走出一个小小的圆角。3.4 精确停止(G09)及精确停止方式(G61)如果在一个切削进给的程序段中有G09指令给出,则刀具接近指令位置 时会减速,NC检测到位置到达信号后才会继续执行下一程序段。这样,在两个程序段之间的衔接处刀具将走出一个非常尖锐的角,所以需要加工非常尖锐的角时可以使
16、用这条指令。使用G61可以实现同样的功能,G61与G09的区别就是G09是一条非模态的指令,而G61是模态的指令,即G09只能在它所在的程序段中起作用,不影响模态的变化,而G61可以在它以后的程序段中一直起作用,直到程序中出现G64或G63为止。3.5 暂停( G04 )作用:在两个程序段之间产生一段时间的暂停。格式:G04 P-;或G04 X-;地址P或X给定暂停的时间,以秒为单位,范围是0.0019999.999秒。如果没有P或X,G04在程序中的作用与G09相同。4. 参考点和坐标系4.1 机床坐标系本机床的坐标系是右手坐标系。主轴箱的上下运动为Z轴运动,主轴箱向上的运动为Z轴正向运动,
17、主轴箱向下的运动为Z轴负向运动;滑座的前后运动为Y轴运动,滑座远离立柱的运动为Y轴的正向运动,滑座趋向立柱的运动为Y轴的负向运动;工作台的左右运动为X轴运动,面对机床,工作台向左运动为X轴的正向运动,工作台向右运动为X轴的负向运动。可以看到,只有Z轴的运动是刀具本身的运动,X、Y轴则是靠工作台带动工件运动来完成加工过程的。为了方便起见,在本说明书中对于X、Y轴运动的描述是刀具相对于工件的运动。相对位置固定的机床坐标系的建立,是靠每次NC上电后的返回参考点的操作来完成的。参考点是机床上的一个固定的点,它的位置由各轴的参考点开关和撞块位置以及各轴伺服电机的零点位置来确定。本机床返回参考点后,参考点
18、在机床坐标系中的坐标值为X0,Y0,Z0。X轴行程为0-600毫米,Y轴行程为0-400毫米,Z轴行程为0-510毫米。4.2 关于参考点的指令( G27、G28、G29及G30 )4.2.1 自动返回参考点(G28)格式:G28IP-;该指令使指令轴以快速定位进给速度经由IP指定的中间点返回机床参考点,中间点的指定既可以是绝对值方式的也可以是增量值方式的,这取决于当前的模态。一般地,该指令用于整个加工程序结束后使工件移出加工区,以便卸下加工完毕的零件和装夹待加工的零件。 注意:为了安全起见,在执行该命令以前应该取消刀具半径 补偿和长度补偿。执行手动返回参考点以前执行G28指令时,各轴从中间点
19、开始的运动与手动返回参考点的运动一样,从中间点开始的运动方向为正向。G28指令中的坐标值将被NC作为中间点存储,另一方面,如果一个轴没有被包含在G28指令中,NC存储的该轴的中间点坐标值将使用以前的G28指令中所给定的值。例如:N1 X20.0 Y54.0;N2 G28 X-40.0 Y-25.0; 中间点坐标值(-40.0,-25.0)N3 G28 Z31.0; 中间点坐标值(-40.0,-25.0,31.0)该中间点的坐标值主要由G29指令使用。4.2.2 从参考点自动返回(G29)格式:G29 IP-;该命令使被指令轴以快速定位进给速度从参考点经由中间点运动到指令位置,中间点的位置由以前
20、的G28或G30(参考4.2.4)指令确定。一般地,该指令用在G28或G30之后,被指令轴位于参考点或第二参考点的时候。在增量值方式模态下,指令值为中间点到终点(指令位置)的距离。4.2.3 参考点返回检查(G27)格式:G27 IP-;该命令使被指令轴以快速定位进给速度运动到IP指令的位置,然后检查该点是否为参考点,如果是,则发出该轴参考点返回的完成信号(点亮该轴的参考点到达指示灯);如果不是,则发出一个报警,并中断程序运行。在刀具偏置的模态下,刀具偏置对G27指令同样有效,所以一般来说执 行G27指令以前应该取消刀具偏置(半径偏置和长度偏置)。在机床闭锁开关置上位时,NC不执行G27指令。
21、4.2.4 返回第二参考点(G30)格式:G30 IP-;该指令的使用和执行都和G28非常相似,唯一不同的就是G28使指令轴返回机床参考点,而G30使指令轴返回第二参考点。G30指令后,和G28指令相似,可以使用G29指令使指令轴从第二参考点自动返回。第二参考点也是机床上的固定点,它和机床参考点之间的距离由参数给定,第二参考点指令一般在机床中主要用于刀具交换,因为机床的Z轴换刀点为Z轴的第二参考点(参数#737),也就是说,刀具交换之前必须先执行G30指令。用户的零件加工程序中,在自动换刀之前必须编写G30,否则执行M06指令时会产生报警。第二参考点的返回,关于M06请参阅机床说明书部分:辅助
22、功能。被指令轴返回第二参考点完成后,该轴的参考点指示灯将闪烁,以指示返回第二参考点的完成。机床X和Y轴的第二参考点出厂时的设定值与机床参考点重合,如有特殊需要可以设定735、736号参数。 警告:737号参数用于设定Z轴换刀点,正常情况下不得改动,否则可能损坏ATC(自动刀具交换)装置。 注意:与G28一样,为了安全起见,在执行该命令以前应该取消刀具半径补偿和长度补偿。4.3 工件坐标系通常编程人员开始编程时,他并不知道被加工零件在机床上的位置,他所编制的零件程序通常是以工件上的某个点作为零件程序的坐标系原点来编写加工程序,当被加工零件被夹压在机床工作台上以后再将NC所使用的坐标系的原点偏移到
23、与编程使用的原点重合的位置进行加工。所以坐标系原点偏移功能对于数控机床来说是非常重要的。在本机床上可以使用下列三种坐标系:(1)机床坐标系。(2)工件坐标系。(3)局部坐标系。4.3.1 选用机床坐标系(G53)格式:(G90)G53 IP_;该指令使刀具以快速进给速度运动到机床坐标系中IP_指定的坐标值位置,一般地,该指令在G90模态下执行。G53指令是一条非模态的指令,也就是说它只在当前程序段中起作用。机床坐标系零点与机床参考点之间的距离由参数设定,无特殊说明,各轴参考点与机床坐标系零点重合。4.3.2 使用预置的工件坐标系(G54G59)在机床中,我们可以预置六个工件坐标系,通过在CRT
24、-MDI面板上的操作,设置每一个工件坐标系原点相对于机床坐标系原点的偏移量,然后使用G54G59指令来选用它们,G54G59都是模态指令,分别对应16预置工件坐标系,如下例:预置1工件坐标系偏移量:X-150.000 Y-210.000 Z-90.000。预置4工件坐标系偏移量:X-430.000 Y-330.000 Z-120.000。程序段内容终点在机床坐标系中的坐标值注 释N1 G90 G54 G00 X50. Y50.;X-100, Y-160选择1坐标系,快速定位。N2 Z-70.;Z-160N3 G01 Z-72.5 F100;Z-160.5直线插补,F值为100。N4 X37.4
25、;X-112.6(直线插补)N5 G00 Z0;Z-90快速定位N6 X0 Y0 A0;X-150, Y-210N7 G53 X0 Y0 Z0;X0, Y0, Z0选择使用机床坐标系。N8 G57 X50. Y50. ;X-380, Y-280选择4坐标系N9 Z-70.;Z-190N10 G01 Z-72.5;Z-192.5直线插补,F值为100 (模态值)N11 X37.4;X392.6N12 G00 Z0;Z-120N13 G00 X0 Y0 ;X-430, Y-330从以上举例可以看出,G54G59指令的作用就是将NC所使用的坐标系的原点移动到机床坐标系中坐标值为预置值的点,预置方法请
26、查阅本手册的操作部分。在机床的数控编程中,插补指令和其它与坐标值有关的指令中的IP- 除非有特指外,都是指在当前坐标系中(指令被执行时所使用的坐标系)的坐标位置。大多数情况下,当前坐标系是G54G59中之一(G54为上电时的初始模态),直接使用机床坐标系的情况不多。4.3.3 可编程工件坐标系(G92)格式:(G90)G92 IP-;该指令建立一个新的工件坐标系,使得在这个工件坐标系中,当前刀具所在点的坐标值为IP-指令的值。G92指令是一条非模态指令,但由该指令建立的工件坐标系却是模态的。实际上,该指令也是给出了一个偏移量,这个偏移量是间接给出的,它是新工件坐标系原点在原来的工件坐标系中的坐
27、标值,从G92的功能可以看出,这个偏移量也就是刀具在原工件坐标系中的坐标值与 IP-指令值之差。如果多次使用G92指令,则每次使用G92指令给出的偏移量将会叠加。对于每一个预置的工件坐标系(G54G59),这个叠加的偏移量都是有效的。举例如下:预置1工件坐标系偏移量:X-150.000 Y-210.000 Z-90.000。预置4工件坐标系偏移量:X-430.000 Y-330.000 Z-120.000。程序段内容终点在机床坐标系中的坐标值注 释N1 G90 G54 G00 X0 Y0 Z0;X-150, Y-210, Z-90选择1坐标系,快速定位到 坐标系原点。N2 G92 X70. Y
28、100. Z50.;X-150, Y-210, Z-90刀具不运动,建立新坐标系,新坐标系中当前点坐标值为 X70, Y100, Z50N3 G00 X0 Y0 Z0;X-220, Y-310, Z-140快速定位到新坐标系原点。N4 G57 X0 Y0 Z0;X-500, Y-430, Z-170选择4坐标系,快速定位到 坐标系原点(已被偏移)。N5 X70. Y100. Z50.;X-430, Y-330, Z-120快速定位到原坐标系原点。4.3.4 局部坐标系(G52)G52可以建立一个局部坐标系,局部坐标系相当于G54G59坐标系的子坐标系。格式:G52 IP_;该指令中,IP_给出
29、了一个相对于当前G54G59坐标系的偏移量,也就是说,IP_给定了局部坐标系原点在当前G54G59坐标系中的位置坐标,即使该G52指令执行前已经由一个G52指令建立了一个局部坐标系。取消局部坐标系的方法也非常简单,使用G52 IP0;即可。4.4 平面选择这一组指令用于选择进行圆弧插补以及刀具半径补偿所在的平面。使用方法:G17选择XY平面G18选择ZX平面G19选择YZ平面关于平面选择的相关指令可以参考圆弧插补及刀具补偿等指令的相关内容。5. 坐标值和尺寸单位5.1 绝对值和增量值编程(G90和G91)有两种指令刀具运动的方法 :绝对值指令和增量值指令。在绝对值指令模态下,我们指定的是运动终点在当前坐标系中的坐标值;而在增量值指令模态下,我们指定的则是各轴运动的距离。G90和G91这对指令被用来选择使用绝对值模态或增量值模态。G90绝对值指令G91增量值指令通过上例,我们可以更好地理解绝对值方式和增量值方式的编程。6. 辅助功能6.1 M代码在机床中,M代码分为两类:一类由NC直接执行,用来控制程序的执行;另一类由PMC来执行,控制主轴、ATC装置、冷却系统。M代码表见表1.2。6.1.1 程序控制用M代码用于程序控制的M代码有M00、M01、M02、M30、M98、M99,其功能分别
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1