实用标准文案
7.1.5 注释(Comment Section)
在任何地方,一对圆括号之间的内容为注释部分,NC对这部分内容只显示,在执行时不予理会。
7.1.6 程序结束符(Program End)
用来标识程序正文的结束,所用符号如下:
ISO代码 EIA代码 M02LF M30LF M99LF
ISO代码的LF和EIA代码的CR,在操作面板的屏幕上均显示为“;”。
含义 M02CR 程序结束。 M30CR 程序结束,返回程序头。 M99CR 子程序结束。 7.1.7 纸带程序结束符(Tape End)
用来标识纸带程序的结束,符号为“%”。在机床操作面板上直接输入程序时,该符号由NC自动产生。
7.2 程序正文结构
7.2.1 地址和词
在加工程序正文中,一个英 文字母被称为一个地址,一个地址后面跟 着一个数字就组成了一个词。每个地址有不同的意义,它们后面所跟的数字也因此具有不同的格式和取值范围,参见下表:
功能 程序号 顺序号 准备功能 尺寸定义 进给速率 主轴转速 选刀 文档
O N G X,Y,Z R I,J,K F S T 地址 表7.1 取值范围 1~9999 1~9999 00~99 ±99999.999毫米 ±9999.9999毫米 1~100,000毫米每分 1~4000转每分 0~99 主轴转速值 刀具号 程序号 顺序号 指定数控功能 坐标位置值 圆弧半径,圆角半径 圆心坐标位置值 进给速率 含义 实用标准文案 辅助功能 刀具偏置号 暂停时间 重复次数 参数 M H,D P,X P,L P,Q 0~99 1~200 0~99999.999秒 1~9999 1~999 P为0~99999.999 Q为±99999.999毫米 辅助功能M代码号 指定刀具偏置号 暂停时间(毫秒) 调用子程序用 调用子程序用 固定循环参数 指定子程序号 P 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次。 子程序调用指令可以和运动指令出现在同一程序段中: G90 G00 X?75. Y50. Z53. M98 P40035;
该程序段指令X、Y、Z三轴以快速定位进给速度运动到指令位置,然后调用执行4次35号子程序。
包含子程序调用的主程序 ,程序执行顺序如下例: 主程序
1 2
3 子程序 O1010 ;
N10 ……………; N20 ……………; N30 M98P21010;
和其它M代码不同,M98和M99执行时,不向机床侧发送信号。 当NC找不到地址P指定的程序号时,发出PS078报警。
子程序调用指令M98不能在MDI方式下执行,如果需要单独执行一个子程序,可以在程序编辑方式下编辑如下程序,并在自动运行方式下执行。
× ×××; M98 P××××; M02(或M30);
在M99返回主程序指令中,我们可以用地址P来指定一个顺序号,当这样的一个M99指令在子程序中被执行时,返回主程序后并不是执行紧接着调用子程序的程序段后的那个程序段,而是转向执行具有地址P指定的顺序号的那个程序段。如下例:
N50 M98P1010; N60 ……………;
N1020 …………;
N1030 ………
N40 ……………; N1040 …………;
N1060 ……M99;
N1050 …………;
文档
实用标准文案 主程序
子程序 O1010;
N1020 …………; N1030 …………; N1040 …………; N1050 …………; N1060 …………; N1070 M99 P60;
N10 …………; N20 …………; N30 M98P1010; N40 …………; N50 …………; N60 …………; N70 …………;
这种主-子程序的执行方式只有在程序存储器中的程序能够使用。
如果M99指令出现在主程序中,执行到M99指令时,将返回程序头,重复执行该程序。这种情况下,如果M99指令中出现地址P,则执行该指令时, 跳转到顺序号为地址P指定的顺序号的程序段。大部分情况下,我们将该功能与可选跳段功能联合使用。如下例:
N10…………;
N20…………; 可选 关置跳开 N30…………; 于下位时 /N40 M99 P20; N50…………;
N60…………;
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轴快速返回初始点。 G代码 G73 G74 G76 G80 G81 G82 G83 G84 G85 G86 G87 G88 G89
表8.1 孔加工固定循环
孔底动作 返回运动 (Z轴正向) 快速定位进给 高速深孔钻削 左螺纹攻丝 精镗循环 取消固定循环 普通钻削循环 钻削或粗镗削 深孔钻削循环 右螺纹攻丝 镗削循环 镗削循环 反镗削循环 镗削循环 镗削循环 暂停-主轴正转 切削进给 主轴定向,让刀 快速定位进给 - - 暂停 - 快速定位进给 快速定位进给 快速定位进给 切削进给 快速定位进给 快速定位进给 手动 切削进给 应用 加工运动 (Z轴负向) 分次,切削进给 - 切削进给 切削进给 - 切削进给 切削进给 切削进给 切削进给 切削进给 切削进给 切削进给 切削进给 分次,切削进给 - - 主轴停 主轴正转 暂停-主轴停 暂停 暂停-主轴反转 切削进给
文档