《高级数控编程》PPT课件.ppt

上传人:小飞机 文档编号:5623685 上传时间:2023-08-03 格式:PPT 页数:33 大小:265.49KB
返回 下载 相关 举报
《高级数控编程》PPT课件.ppt_第1页
第1页 / 共33页
《高级数控编程》PPT课件.ppt_第2页
第2页 / 共33页
《高级数控编程》PPT课件.ppt_第3页
第3页 / 共33页
《高级数控编程》PPT课件.ppt_第4页
第4页 / 共33页
《高级数控编程》PPT课件.ppt_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《《高级数控编程》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《高级数控编程》PPT课件.ppt(33页珍藏版)》请在三一办公上搜索。

1、第6章 高级数控编程,6.1 子程序控制指令,数控加工程序分为主程序和子程序,一般地,NC执行主程序的指令,但当执行到一条子程序调用指令M98时,NC转向执行子程序,在子程序中执行到返回指令M99时,再回到主程序。当我们的加工程序需要多次运行一段同样的轨迹时,可以将这段轨迹编成子程序存储在机床的程序存储器中,每次在程序中需要执行这段轨迹时便可以调用该子程序,达到简化数控加工程序的目的。,1子程序的格式,格式:O;子程序号;子程序内容M99;返回主程序 在程序的开始,应该有一个由地址O指定的子程序号,在程序的结尾,返回主程序的指令M99是必不可少的。M99可以不必出现在一个单独的程序段中,作为子

2、程序的结尾,这样的程序段也是可以的:G90 G00 X0 Y100.M99;,2子程序的调用,M98 P;地址P后面所跟的数字中,后面的四位用于指定被调用的子程序的程序号,前面的三位用于指定调用的重复次数。在调用子程序指令中,可以指令重复最多达999次。例如:M98 P51002;调用1002号子程序,重复5次。M98 P1002;调用1002号子程序,重复1次。当一个主程序调用一个子程序时,该子程序可以调用另一个子程序,这样的情况,我们称之为子程序的嵌套。一般可以允许最多达四重的子程序嵌套。,主程序 M98P11000;子程序 M30;O1000;M98P12000;子程序1重嵌套 M99;

3、O2000;M98P13000;2重嵌套 M99;,6.2 比例缩放和坐标旋转变换指令比例缩放指令G50,G51,G51、G50均为模态G代码指令1各轴按相同比例缩放编程格式:G51 X_ Y_ Z_ P_;比例缩放开始;比例缩放有效 G50;比例缩放取消。式中:X Y Z-比例缩放中心坐标(绝对方式)P-比例系数 从比例中心开始,实际移动量为原编程数值的P倍。P值对偏移量无影响。,2各轴按不同比例缩放编程 各个轴可以按不同比例缩放编程,当给定的比例系数为-1时,可获得镜像加工功能。格式:G51 X_ Y_ Z_ I_ J_ K_;比例缩放开始;比例缩放有效 G50;比例缩放取消。式中:X Y

4、 Z-比例缩放中心坐标(绝对方式)I-X轴比例系数 J-Y轴比例系数 K-Z轴比例系数,6.2.2 坐标旋转变换指令G68,G69,该指令可使编程图形按照指定旋转中心和旋转方向旋转一定的角度。1格式:G68 X_ Y_ R_;坐标旋转开始 坐标系旋转方式 G69;取消坐标系旋转指令 式中:X_ Y_-旋转中心的绝对坐标值,指定平面的二个轴(由G17、G18、G19确定),当X、Y省略时,G68指令认为当前的位置即为旋转中心。R_-旋转角度,逆时针定义为正方向,顺时针定义为负方向。,6.3 用户宏程序,使用子程序编程可以重复同样的操作,简化程序的书写工作,但是用户宏程序提供了更丰富的编程功能,它

5、允许使用变量、算术和逻辑操作及条件分支,使得用户可以自行编写用户软件包、固定循环程序。,6.3.1 变量及变量定义,2变量的定义 当指定一个变量时,在“#”后指定变量号。计算机允许赋名给变量来定义变量,宏程序中的变量没有此功能。例:#1也可以用表达式指定变量号,这时表达式要用方括号括起来,如:#1+#2-12。为了在程序中引用变量,可以指定一个字地址其后跟一个变量号。当用表达式指定一个变量时,须用方括号括起来。例:G01 X#1+#2 F#3。,为了将引用的变量值的符号取反,在#号前加“”号。例:G00 X#1;当引用一个未定义的变量时,忽略变量及引用变量的地址。例:#1=0,#2=“空”,则

6、G00 X#1 Y#2的执行结果是G00 X0。3变量值的范围 地方变量和公共变量可以有值0和在下述范围内的值:10471019或 10291047。4未定义的变量 当变量的值未定义时,被看作“空”变量,变量#0总是“空”变量,是一个只读变量。,6.3.2 变量的类型,在FANUC系统中通常将变量分为四类。其中,局部变量和公共变量用户可以在自编宏程序中自行定义使用。系统变量能用来读、写系统内部NC数据。表6-1:变量类型分类表,6.3.3 变量的赋值与运算,1变量的赋值 在宏程序中,一个变量的值可以通过赋值的形式来定义。可以为一个变量赋常数值,如:#1=12.234,也可以将一个变量中的值赋给

7、另一个变量,通常也称为变量替换如:#2=#1,此时变量#2中原来的值被替换为12.234,即变量#2被变量#1替换,而变量#1中的值保持不变。变量表达式中的运算值可直接赋给变量如:#3=#1+#2。,2算术运算(1)算术运算格式(2)三角函数运算(3)ROUND功能(4)上进位和下进位成整数。(5)算术和逻辑操作的缩写方式。,表6-12变量算术和逻辑运算表,3运算操作的优先权 运算操作的优先顺序由高至低依次是:(1)函数。(2)乘、除、与运算(*,/,AND,MOD)这样的操作。(3)加、减、或、异或(+,OR,XOR)这样的操作。(4)关系运算 使用方括号可以改变优先级,内层方括号优先。方括

8、号最多可用五层,超出五层,出现118号报警。需要注意的是:方括号用于封闭表达式,圆括号用于程序注释语。如果除数是零或TAN90,则会产生112号报警。,6.4 宏指令及语句格式6.4.1 转移和循环指令,分支指令(GOTO语句)GOTO语句(无条件分支);IF语句(条件分支:if,then);WHILE语句(循环语句while)。(1)无条件分支(GOTO语句)功能:转向程序的第N句。当指定的顺序号大于19999时,出现128号报警,顺序号可以用表达式。格式:GOTO n;n是顺序号(19999),(2)条件分支(IF 语句)功能:在IF后面指定一个条件表达式,如果条件满足,转向第N句,否则执

9、行下一段。格式:IF 条件表达式 GOTO n;其中,一个条件表达式一定要有一个操作符,这个操作符插在两个变量或一个变量和一个常数之间,并且要用方括号括起来,既表达式 操作符 表达式。操作符见下表:,表6-13逻辑表达式操作符表,2循环指令(WHILE语句)(1)功能:在WHILE 后指定一个条件表达式,条件满足时,执行DO到END之间的语句,否则执行END后的语句。(2)格式:WHILE 条件表达式 DO m;(m1,2,3)条件满足:END m;程序 m只能在1、2、3中取值,数13可以多次使用。否则出现126号报警。,条件不满足,(3)嵌套:嵌套层数最多3级:WHILE 条件式1 DO1

10、;;WHILE 条件式2 DO2;;WHILE 条件式3 DO3;;END 3;;END 2;END1;,使用IFGOTO语句跳出循环体:WHILE DO1;IF GOTOn;END1;Nn;使用IFGOTO语句不能从外部转入循环体内:IF GOTO n;WHILE DO1;N n;END1;,6.4.2 宏程序的调用,1宏程序的调用宏程序可以用下列指令方式调用:单一调用指令 G65;模态调用指令 G66、G67;定义G指令宏程序调用;定义M指令宏程序调用;G指令子程序调用;M指令子程序调用。,2宏程序调用和子程序调用之间的区别(1)用G65,可以指定一个自变量并对其赋值(传递给宏程序的数据)

11、,而M98没有这个功能。(2)当M98段含有另一个NC语句时(如:G01 X100.0 M98 Pp),则执行命令之后调用子程序,而G65无条件调用一个宏程序。(3)当M98段含有另一个NC语句时(如:G01 X100.0 M98 Pp),在单段方式下机床停止,而使用G65时机床不停止。(4)用G65地方变量的级要改变,而M98不改变。,表614自变量的方法,3宏程序单一调用指令(G65)功能:G65被指定时,地址P所指定的用户宏程序被调用,数据(自变量)能传递到用户宏程序中。格式:G65 Pp Ll;其中:p要调用的宏程序号 l重复的次数(缺省值为1,取值范围19999)自变量表中定义的值将

12、传递给宏程序中的变量。通过使 用自变量表,值被分配给相应的系统变量。,4宏程序的模态调用指令(G66、G67)功能:一旦指定了G66,那么在以后的含有轴移动命令的段执行之后,地址P所指定的宏程序被调用,直到发出G67命令,该调用方式被取消。格式:G66 Pp L1;其中:P:要调用的程序号 L:重复的次数(缺省值为1,取值范围19999)自变量:传递给宏程序的变量值。,6.5 用户宏程序应用实例,例圆周等分孔加工:编制一个宏程序加工圆上等分孔,孔深为Z。圆周的半径为I,起始角度为A,等分间隔角度为B,钻孔数为H,等分圆的中心坐标为(X,Y)。(X,Y)100ABBBYX调用格式:G65 P91

13、00 Xx Yy Zz Rr Ii Aa Bb Hh;X:圆心的X坐标(#24)Y:圆心的Y坐标(#25)Z:孔深(#26)R:快速趋近点坐标(#18)50F:切削进给速度(#9)I:圆半径(#4)A:第一孔的角度(#1)B:增量角(指定负值时为顾时针)(#2)0,0H:孔数(#11),主程序:O002;G90 G92 X0 Y0 Z100;G65 P9100 X100 Y50 R30 Z-50 F500 I100 A0 B45 H5;M02;宏程序:O9100;#3=#4003;储存03组G代码 G81Z#26R#18F#9K0;钻孔循环,也可以使用L0 IF#3 EQ 90 GOTO1;在

14、G90方式转移到N1#24=#5001+#24;计算圆心的X坐标#25=#5002+#25;计算圆心的Y坐标 N1 WHILE#11 GT 0 DO1;直到剩余孔数为0#5=#24+#4COS#1;计算X轴上的孔位#6=#25+#4SIN#1;计算Y轴上的孔位 G90 X#5 Y#6;移动到目标位置之后执行钻孔#1=#1+#2;更新角度#11=#11-1;孔数-1 END1;G#3 G80;返回原始状态的G代码M99;,图6-10 矩形型腔加工示意图,例矩形型腔的加工:如图6-10所示,XY对称中心为G54原点,顶面为Z0面。矩形内腔尺寸为:长 宽4R(圆角深)。加工方式为:使用平底立铣刀,每

15、次从中心下刀,以回字形进给,若12,则先Y后X,全部采用顺铣,走完最外圈后提刀返回中心,进给至下一层继续,直至到达预定深度。自变量参数对应的局部变量A矩形内腔X方向边长Length1B矩形内腔Y方向边长Width2C铣刀直径3JZ坐标(绝对值)初始值为05M矩形四角圆角Radius13QZ坐标(绝对值)每次递增量(每层切深即层间距q)17,表6-19 变量和参数,(2)子程序自变量O283 子程序名5=0;目标值(绝对值)18=13-3/2-10*6;每角在角圆角处刀具作圆弧运动的半径IF18LE0GOTO4;如果180,跳转至N4行G01 Y12 F3000;以G01移动至图中1点X-11,

16、R18;以G01移至图中2点,圆角过度18Y-12,R18;以G01移至图中3点,圆角过渡18X11,R18;以G01移至图中4点,圆角过渡18X12,R18;以G01移至图中5点,圆角过渡18X 0;以G01移至图中1点,1圈结束10=10-1;10依次递减GOTO 5;无条件跳转至N5行END 2;循环2结束(最外圈已走完)N99 G00 Z30;在个深度上的加工结束,G00提刀至安全高度X0 Y0;G00快速回到G54原点,准备下层加工5=5+17;Z坐标(绝对值)依次递增17(层间距q)END 1;循环1结束(此时5=4)M99;程序结束(3)子程序调用G65 P283 A_B_C_J_M_Q_;,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号