资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,单击此处编辑母版标题样式,*,*,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,FANUC系统宏程序根底知识,姜仁义,宏程序简介,在数控编程中,利用宏程序能让程序变得灵活、简洁。宏程序与普通的程序不同就在于它可以进行数值计算、逻辑判断、系统控制等。宏程序主要针对复杂零件的加工,如:曲面、曲线、型腔、固定循环等。,针对某些零件利用宏程序可以把几十条甚至上百条的程序简化成几句程序。在当今自动编程软件日益流行之际,人们觉得手工编程似乎显得“无用武之地,但是针对某些特殊零件的加工,宏程序还是它有一定的优势,也是自动编程所无法替代的,所以说宏程序在我们工作当中还是起着很重要的作用。,书中常说宏程序是手工编程的堡垒,宏程序的分类,宏程序分为A类和B类宏程序,A类宏程序属于老系统所使用,由于编程比较麻烦,慢慢的已被淘汰。但目前局部的国产系统仍使用A类宏程序,如GSK、KND系统等。,B类宏程序因其编程简捷直观,目前被广泛使用。,本章主要以介绍B类宏程序为主,A类宏程序只做简单了解。,1.FANUC系统变量号为#表示。,#1#33为局部变量,局部变量只能用在宏程序中存储数据,例如运算结果。当断电时局部变量被初始化为空,调用宏程序时自变量对局部变量赋值。,#100#199为公共变量,当系统断电后初始化为空。,#500#999为公共变量,当系统断电后数据被保存,不丧失。,#1000以上为系统变量如读取刀偏、系统年份时间修改、单段及倍率的控制等,2.常用的运算符号及功能:,运算符号 含 义,E Q 等 于,N E 不等于,G T 大 于,G E 大于或等于,L T 小 于,L E 小于或等于,功 能,格 式,正 弦 SIN,余 弦 COS,正 切 TAN,绝对值 ABS,平方根 SQRT,舍 入 ROUND,上取整 FIX,下取整,FUP,计算数值或条件表达必须用方括号括上,如:X2+3;,X#1+#2;,如取负值负号应放在括号前面,Z-3+1;,如先算加减后乘除应表示为,X20+40/10-3;,条件表达和循环,1无条件转移:,GOTON;N为要转移的程序段。,GOTO10表示转移到N10段的程序。,2有条件转移:,IF 条件表达 GOTO10;,当指定的条件表达式满足时,转移到标有顺序号N的程序段,如果指定的条件表达式不满足时,执行下个程序段。,IF#1 LE 1 GOTO1;如果条件满足,#1小于或等于1的话,那么就转移到标有N1的程序段中,如果条件不满足,程序往下执行,不进行转移.,举例:,#1=0,N10 G0 X 100.Z 0;假设条件满足转移到此程序段中,(程序局部),IF#1 LE 10 GOTO10;假设条件不满足执行下面程序,G0 X 50.Z50.;,3循环指令:,WHILE条件表达 DO1;,当条件表达式满足时,循环标有END1之间的程序,如果表达式不满足时,不做循环,执行END1之后的程序。,WHILE#2GT10 DO1;当#2大于10的话,循环到END1之间的程序,当条件不满足时,结束循环,程序往下执行。循环最多可以3级嵌套。,举例:,#100=10;,WHILE#100GT0 DO1;条件满足时执行此程序,段到END1之间的程序,(程序局部),END1;(条件不满足执行下满的程序),G0 X 100.;,关于循环控制的本卷须知,G65 宏程序非模态调用,格式:G65 P_ X_ Z_ A_ B_ C_;G65为自变量,直接对相对应的变量号赋值,被调用的程序内无需再赋值,P表示被调用的程序号。,X对应#24,Z对应#26,A对应#1,B对应#2,C对应#3。,被调用的程序最多可以4级嵌套,被调用的程序可以再执行程序调用。被调用的程序结束符为M99。,G66 宏程序模态调用,格式相同,但不同于G65的是G66为模态调用,当执行完被调用的程序,返回到主程序时,假设主程序段出现轴移动,如G0或G1,那么它执行完轴移动后再去调用宏程序,直到主程序中出现G67,才能停止调用。,G67 取消宏程序模态调用,宏程序非模态调用:,G65 P9001 A100 B200 C300;,G0 X300.;,M30;,被调用的宏程序:,O9001;,G0 X#1;(此时X值为100,G1 X#2;(此时X值为200,G1 Z#3;(此时Z值为300,M99;,宏程序模态调用:,G66 P9001 A100 B200 C300;,G0 X300.;,G0 X400.;,G67;,M30;,被调用的宏程序:,O9001;,G0 X#1;(此时X值为100,G1 X#2;(此时X值为200,G1 Z#3;(此时Z值为300,M99;,例题一,利用宏程序加工一件直径为200,长度为300的轴,要求:只走一刀精车;,O1234;,M3 S200 T101;,#101=200;,#102=-300;,G0 X#101;,Z2.;,G1 Z#102 F0.2;,G0 X300.Z300.;,M30;,例题二,根据上题利用宏程序完成由粗到精的加工,毛坯直径为225,每次粗车3mm,精车留量1mm;,O1234;,M3 S200 T101;,G0 X230.;,Z2.;,#1=1(精车次数;,#101=222留量;,#102=-300加工长度;,N10WHILE#101GE200DO1;,G0 X#101;,G1 Z#102 F0.25;,G0 U5.Z2.;,#101=#101-3每次粗车3mm;,END1;,#101=200精车最终尺寸;,#1=#1-1精车控制;,IF#1EQ0GOTO10;,G0 X300.Z300.;,M30;,抛物线加工,G1 X 0 Z 0 F0.3;,#1=0;,#2=0;,WHILE#1 LE 12 DO1;,G1X#1*2Z#2;,#1=#1+0.5;,#2=-#1*#1/12;,END1;,椭圆加工参数编程,程序:#1=0(角度赋值),WHILE#1LE90 DO1;循环,#2=25*SIN#1;(X坐标计算),#3=25*COS#1-25.;Z坐标计算,-25取Z轴的负方向,G1 X#2 Z#3 F0.3;直线拟合,#1=#1+0.5;角度计算,END1;,椭圆加工 椭圆标准方程编程,程序:#1=25;长半轴赋值,N10#2=25*SQRT1-#1*#1/25*25;(X轴计算),G1 X#2 Z#1-25 F0.3;直线拟合,#1=#1-1.;Z轴每次负方向进1,IF#1 GE 0 GOTO10;条件转移,G0 X 100.Z100.;,椭圆粗加工,O0023,M3S100T101,#5=70,N10G0X80.Z3.,G0X0Z1.,G1Z0F0.3,N10#1=0,WHILE#1LE90DO1,#2=60*SIN#1+#5,#3=60*COS#1-60,G1X#2Z#3F0.3,#1=#1+5,END1,#5=#5-5,IF#5GE0GOTO10,G0Z200.,习题1,程序:O1234;,M3 S500 T101 G40;,G0 X 32.Z 2.;,G73 U15.W0 R5;,G73 P1 Q2 U0.4 W0 F0.35;,N1 G0 X 0;,G1 G42 Z0 F0.35;,#1=0;,WHILE#1 LE 145 DO1;,#2=30*SIN#1;,#3=30*COS#1-30;,G1 X#2 Z#3 F0.25;,#1=#1+0.5;,END1;,G3 X 29.98 Z-60.R20.,G1 Z-80.F0.3;,N2 G0 G40 U5.;,G70 P1 Q2;,G0 X 100.Z100.;,M30;,4利用宏程序分层车削轴承内套滚道局部,程序:O0110,M3S100T101,G0X195.,Z-55.,#100=1(精车次数控制),#101=1.5切除量,N10#1=189.86X向起点,#2=167.44X向终点,WHILE#101GE0DO1循环车削,G0G41X#1+#101Z-52.17,G3X#2+#101Z-8.37 R96.64 F0.3,G0G40X195.,Z-55.,#101=#101-0.6粗车每次0.6mm,END1,#101=0去除量重新赋值,#100=#100-1次数重新赋值,IF#100EQ0GOTO10精车次数表达,G0G40X195.,Z300.,M30,谢 谢,
展开阅读全文