FANUC-- 0系统操作编程说明书 17
0~99999.999 Q为±99999.999毫米 7.2.2 程序段结构 一个加工程序由许多程序段构成,程序段是构成加工程序的基本单位。程序段由一个或更多的词构成并以程序段结束符(EOB,ISO代码为LF,EIA代码为CR,屏幕显示为“;”)作为结尾。另外,一个程序段的开头可以有一个可选的顺序号N××××用来标识该程序段,一般来说,顺序号有两个作用:一是运行程序时便于监控程序的运行情况,因为在任何时候,程序号和顺序号总是显示在CRT的右上角;二是在分段跳转时,必须使用顺序号来标识调用或跳转位置。必须注意,程序段执行的顺序只和它们在程序存储器中所处的位置有关,而与它们的顺序号无关,也就是说,如果顺序号为N20的程序段出现在顺序号为N10的程序段前面,也一样先执行顺序号为N20的程序段。如果某一程序段的第一个字符为“/”,则表示该程序段为条件程序段,即可选跳段开关 在上位时,不执行该程序段,而可选跳段开关在下位时,该程序段才能被执行。 7.2.3 主程序和子程序
加工程序分为主程序和子程序,一般地,NC执行主程序的指令,但当执行到一条子程序调用指令时,NC转向执行子程序,在子程序中执行到返回指令时,再回到主程序。
当我们的加工程序需要多次运行一段同样的轨迹时,可以将这段轨迹编成子程序存储在机床的程序存储器中,每次在程序中需要执行这段轨迹时便可以调用该子程序。
当一个主程序调用一个子程序时,该子程序可以调用另一个子程序,这样的情况,我们称之为子程序的两重嵌套。一般机床可以允许最多达四重的子程序嵌套。在调用子程序指令中,可以指令重复执行所调用的子程序,可以指令重复最多达999次。 一个子程序应该具有如下格式: O××××; 子程序号 ????; ????;
????; 子程序内容 ????;
M99; 返回主程序
在程序的开始,应该有一个由地址O指定的子程序号,在程序的结尾,返回主程序的指令M99是必不可少的。M99可以不必出现在一个单独的程序段中,作为子程序的结尾,这样的程序段也是可以的: G90 G00 X0 Y100. M99;
在主程序中,调用子程序的程序段应包含如下内容: M98 P×××××××; 在这里,地址P后面所跟的数字中,后面的四位用于指定被调用的子程序的程序号,前面的三位用于指定调用的重复次数。
M98 P51002;调用1002号子程序,重复5次。 M98 P1002; 调用1002号子程序,重复1次。 M98 P50004;调用4号子程序,重复5次。
子程序调用指令可以和运动指令出现在同一程序段中:
2015-12-14
FANUC-- 0系统操作编程说明书 18
G90 G00 X?75. Y50. Z53. M98 P40035;
该程序段指令X、Y、Z三轴以快速定位进给速度运动到指令位置,然后调用执行4次35号子程序。
包含子程序调用的主程序 ,程序执行顺序如下例: 主程序 1 2 3 子程序 N10 ?????; O1010 ;
N20 ?????; N1020 ????; N30 M98P21010; N1030 ??? N40 ?????; N1040 ????; N50 M98P1010; N1050 ????; N60 ?????; N1060 ??M99;
和其它M代码不同,M98和M99执行时,不向机床侧发送信号。 当NC找不到地址P指定的程序号时,发出PS078报警。
子程序调用指令M98不能在MDI方式下执行,如果需要单独执行一个子程序,可以在程序编辑方式下编辑如下程序,并在自动运行方式下执行。 × ×××; M98 P××××; M02(或M30);
在M99返回主程序指令中,我们可以用地址P来指定一个顺序号,当这样的一个M99指令在子程序中被执行时,返回主程序后并不是执行紧接着调用子程序的程序段后的那个程序段,而是转向执行具有地址P指定的顺序号的那个程序段。如下例: 主程序 子程序
N10 ????; O1010;
N20 ????; N1020 ????; N30 M98P1010; N1030 ????; N40 ????; N1040 ????; N50 ????; N1050 ????; N60 ????; N1060 ????; N70 ????; N1070 M99 P60; 这种主-子程序的执行方式只有在程序存储器中的程序能够使用。
如果M99指令出现在主程序中,执行到M99指令时,将返回程序头,重复执行该程序。这种情况下,如果M99指令中出现地址P,则执行该指令时, 跳转到顺序号为地址P指定的顺序号的程序段。大部分情况下,我们将该功能与可选跳段功能联合使用。如下例:
N10????;
N20????; 可选可选 N30????; 跳开关置跳开关置 /N40 M99 P20; 于下位时 于上位时 N50????; N60????;
2015-12-14
FANUC-- 0系统操作编程说明书 19
N70 M02;
当可选跳段开关置于下位时,跳段标识符不起作用,M99P20被执行,跳转到N20程序段,重复执行N20及N30(如果M99指令中没有P20,则跳转到程序头,即N10程序段),当可选跳段开关置于上位时,跳段标识符起作用,该程序段被跳过,N30程序段执行完毕后执行N50程序段,直到N70M02;结束程序的执行。值得注意的一点是如果包含M02、M30或M99的程序段前面有跳段 标识符“/ ”,则该程序段不被认为是程序的结束。 8. 简化编程功能
8.1 孔加工固定循环(G73,G74,G76,G80~G89) 应 用孔加工固定循环功能,使得其它方法需要几个程序段完成的功能 在一个程序段内完成。表8.1列出了所有的孔加工固定循环。一般地,一个孔加工固定循环完成以下6步操作(见图8.1): 1、X、Y 轴快速定位。 2、Z轴快速定位到R点。 3、孔加工 4、孔底动作。 5、Z轴返回R点。
6、Z轴快速返回初始点。
表8.1 孔加工固定循环 G加工运动 孔底动作 返回运动 应用 代(Z轴负向) (Z轴正码 向) G分次,切削- 快速定位高速深孔7进给 进给 钻削 3 G切削进给 暂停-主轴切削进给 左螺纹攻7正转 丝 4 G切削进给 主轴定向,快速定位精镗循环 7让刀 进给 6 G- - - 取消固定8循环 0 G切削进给 - 快速定位普通钻削8进给 循环 1 G切削进给 暂停 快速定位钻削或粗8进给 镗削 2 G分次,切削- 快速定位深孔钻削8进给 进给 循环 3 G切削进给 暂停-主轴切削进给 右螺纹攻
2015-12-14
FANUC-- 0系统操作编程说明书 20
84 G85 G86 G87 G88 G89 反转 切削进给 - 切削进给 丝 镗削循环 切削进给 主轴停 快速定位进给 快速定位进给 手动 镗削循环 切削进给 主轴正转 反镗削循环 镗削循环 切削进给 暂停-主轴停 暂停 切削进给 切削进给 镗削循环
对孔加工固定循环指令的执行有影响的指令主要有G90/G91及G98/G99指令。图8.2(a)及图8.2(b)示意了G90/G91对孔加工固定循环指令的影响。 G98/G99决定固定循环在孔加工完成后返回R点还是起始点,G98模态下,孔加工完成后Z轴返回起始点;在G99模态下则返回R点。
一般地,如果被加工的孔在一个平整的平面上,我们可以使用G99指令,因为G99模态下返回R点进行下一个孔的定位,而一般编程中R点非常靠近工件表面,这样可以缩短零件加工时间,但如果工件表面有高于被加工孔的凸台或筋时,使用G99时非常有可能使刀具和工件发生碰撞,这时,就应该 使用G98,使Z轴返回初始点后再进行下一个孔的定位,这样就比较安全。参见图8.3(a)、图8.3(b)。 G99(返回R点) G98(返回初始点) 图8.3(a) 图8.3(b) 下个孔定位 初始点 初始点 2015-12-14
相关推荐: