fanuc用户宏程序解析

上传人:101****457 文档编号:89242934 上传时间:2019-05-21 格式:PPT 页数:110 大小:1.24MB
返回 下载 相关 举报
fanuc用户宏程序解析_第1页
第1页 / 共110页
fanuc用户宏程序解析_第2页
第2页 / 共110页
fanuc用户宏程序解析_第3页
第3页 / 共110页
fanuc用户宏程序解析_第4页
第4页 / 共110页
fanuc用户宏程序解析_第5页
第5页 / 共110页
点击查看更多>>
资源描述

《fanuc用户宏程序解析》由会员分享,可在线阅读,更多相关《fanuc用户宏程序解析(110页珍藏版)》请在金锄头文库上搜索。

1、用户宏程序,用 户 宏 程 序,用户宏程序,一、变量 二、运算指令 三、控制指令 四、简单练习 五、系统变量 六、宏程序调用,主要内容:,用户宏程序,主程序,宏程序,下一页,用户宏程序,宏程序的适用范围:,形状类似但大小不同(圆、方及其它),其它,自动化功能(刀具长度测量、生产管理等),特殊形状(椭圆、球等),大小相同但位置不同(组孔、阵列等),上一页,用户宏程序,宏程序与子程序的比较:,用户宏程序,宏程序相关的参数,#5(SBM) 用户宏程序语句中, 0: 单程序段不停止 1: 单程序段停止,#6(CCV) 复位(Reset)后,公共变量#100#199 0: 清空 1: 不清空 #7(CL

2、V) 复位(Reset)后,局部变量#1#33 0: 清空 1: 不清空,用户宏程序,#4(NE9) 编辑程序号为90009999的程序 0: 不禁止 1: 禁止,#6(NPE) 程序登录时,对含有M02,M99,M30的程序段 0: 视为登录结束 1: 不视为登录结束,用户宏程序,变量的种类 变量的显示与设定 变量的使用 未定义变量,一、变量,用户宏程序,1. 变量的种类,例: #10, #1005 表达式也可以用于指定变量号,需封闭在括号中。 例: #2-1, #500/2 可在程序段结尾加注释说明变量内容,需用括号封闭。 例: #2=#3-1(TOOL NUMBER);,变量符号(#)+

3、 变量号,变量的表示,用户宏程序,变量的种类,用户宏程序,变量的范围,用户宏程序,2.变量的显示与设定,变量的显示,1.按下MDI面板上的功能键,OFFSET SETTING,2.按几次 键,直至出现,用户宏程序,3.按下 显示宏程序变量值,用户宏程序,4.按 、 显示局部和公共变量值,用户宏程序,公共变量的设定,1.找到显示公共变量的画面。 2.将光标移至欲设定的变量号上。 键入变量号并按 键 按换页键 、 和光标键将光标移至欲设定的变量号上 3.键入数据并按,用户宏程序,3.变量的使用,# i = ,将计算结果赋值给对应的变量号,常数、变量、函数和运算符的组合,表示方法,#1= #2 +

4、100 ; #1= #2 + #18 SIN#5 ;,用户宏程序,变量的定义,当在程序中定义变量值时,小数点可以省略,#1 = 123;,#1,123.000,变量的引用,跟在地址后面的数值可用变量来代替。,G01 X10.0 F#1;,F,把#1值作为F的指令值,G01 X-#1+#2 F#1;,把表达式放在括号中,用户宏程序,把变量用于地址数据的时候,被引用变量的值根据地址的最小设定单位自动地四舍五入,G01 X#1; 当#1赋值为12.3456时,实际指令值为G01 X12.346;,改变引用变量的值的符号,要把负号放在#的前面,G00 X-#1;,用户宏程序,当引用未定义的变量时,变量

5、及地址字都被忽略,G00 X#1 Y#2; 当#1=0,#2为空时, G00 X0;,程序号、顺序号和任选程序段跳转号不能使用变量,O#1; N#3 Y200.0; /#2 G00 X10.;,用户宏程序,4.未定义变量,当变量值未定义时,这样的变量成为变量,变量#0 总是空变量,它不能写只能读,未定义变量的引用,当引用一个未定义的变量时,地址本身也被忽略,用户宏程序,未定义变量的计算,除了用赋值以外,其余情况下与0 相同,用赋值,用户宏程序,条件表达式,EQ和NE中的不同于0,用户宏程序,示例,用户宏程序,二、运算指令,运算命令的种类 运算顺序,用户宏程序,1.运算命令的种类,加减乘除,用户

6、宏程序,下取整(FIX):舍去小数点以下部分 上取整(FUP):将小数后部分进位到整数部分,数据处理,用户宏程序,1.0,2.0,-1.0,-2.0,1.0,1.234,-2.0,1.679,计算相应的变量值#1,下取整(FIX):舍去小数点以下部分 上取整(FUP):将小数后部分进位到整数部分,用户宏程序,三角函数的角度单位为度。如:9030表示为90.5,三角函数,用户宏程序,反三角函数的取值范围,#1=SIN90; #1=COS90; #1=TAN45; #1=ATAN1/1; #1=ATAN-1/-1;,1,0,1,123.000,123.000,#1 #1 #1 #1 #1,用户宏程

7、序,其它函数,#2=2; #1=SQRT#2;,1.414,#1,用户宏程序,逻辑运算,对32位的每一位按二进制进行逻辑运算,用户宏程序,29 25 4,00011101,00011001,00000100,从BCD转为BIN: #i= BIN#j; 从BIN转为BCD: #i= BCD#j;,用户宏程序,2. 运算顺序, 函数 乘除运算( ,/,AND ) 加减运算(+, - , OR , XOR ),#1=#2 + #3 SIN#4;,用户宏程序,可以利用 来改变运算顺序,可嵌套5次,可以使用函数名前面的两个字母来指定该函数。 ROUNDRO FIXFI,用户宏程序,三、控制指令,GOTO

8、 语句 IF 语句 WHILE 语句,用户宏程序,1.无条件转移(GOTO 语句),GOTO n; n:程序段号(1- 99999),无条件地转移到程序段n去。,n也可用变量或表达式来代替 GOTO 10; GOTO #10;,用户宏程序,IF GOTO n;,若满足,下步操作转移到程序段号为n的程序段去。 若不满足,执行下个程序段。,2. 条件转移(IF语句),IF THEN ;,若满足,执行THEN后的宏程序语句,只执行一个语句。 IF#1 EQ #2 THEN #3=0;,用户宏程序,条件表达式,条件不满足时执行的操作,条件满足时,是,否,IF,GOTO,上一页,用户宏程序,#j 和 #

9、k 也可用来代替。,条件表达式,用户宏程序,N1 ; IF#2 GT 10 GOTO 5; GOTO 1; N5 ;,无条件转移,条件转移,IF GOTO #1; N1 ; GOTO 9; N2 ; GOTO 9; N3 ; GOTO 9; N9 ;,#1=1时,#1=2时,#1=3时,用户宏程序,3. 循环(WHILE语句),WHILE DO m; (m=1,2,3),条件成立时执行的程序,END m;,DO m和 END m必须成对使用,并以 其中的m作为识别号相互识别。 m的范围为1,2,3。可以根据需要多次使用。,用户宏程序,END1; 程序 WHILE DO 1;,DO的区域不能交叉

10、,DO 一定要在END之前规定,识别号( 1,2,3)可多次使用,用户宏程序,可以从DO区域的内部向外部转移,不可以从DO区域的外部向内部转移,DO 循环可以嵌套3级,用户宏程序,G00 G91 X100.0; Y100.0;,要求:对以上动作重复执行三次。,设#1为动作执行次数,初始值为零。,#1=0; G00 G91 X100.0; Y100.0; #1=1; G00 G91 X100.0; Y100.0; #1=2; G00 G91 X100.0; Y100.0; #1=3;,#1=0; WHILE#1 LT 3 DO 1; G00 G91 X100.0; Y100.0; #1=#1+1

11、; END1;,用户宏程序,常用格式,(当前值)=(初值); WHILE (当前值)比较(目标值) DO m; (执行循环操作); (当前值)=(当前值)1; ENDm;,用户宏程序,四、简单练习,深孔加工 铣圆内腔 粗车外圆 数据计算,用户宏程序,深孔加工,G00 G90 Z0; G01 Z-10. F300; G00 Z0; G00 Z-10. ; G01 Z-20. F300; G00 Z0; G00 Z-20. ; G01 Z-30. F300; G00 Z0 ;,G00 G90 Z#2; G01 Z#1 F300; G00 Z0;,#1 当次钻孔深度坐标 #2 前次钻孔深度坐标,用户

12、宏程序,#26= - 30.0; #17= - 10.0; #1= 0; #2= 0; WHILE#1 GT #26 DO1; #1=#1+#17; G00 G90 Z#2; G01 Z#1 F300; G00 Z0; #2=#1; END1;,使用WHILE语句限制循环次数,钻孔最终深度赋值,每次钻孔深度赋值,当次钻孔深度坐标初始化,前次钻孔深度坐标初始化,计算当次钻孔深度坐标,记录当次钻孔深度,用户宏程序,#26= - 30.0; #17= - 10.0; #1= 0; #2= 0; WHILE#1 GT #26 DO1; #1= #1 + #17; IF#1 GE #26 GOTO1;

13、#1= #26; G00 G90 Z#2; G01 Z#1 F300; G00 Z0; #2= #1; END1;,使用IF语句限制最终钻孔深度,N1,计算当次钻孔深度坐标,与最终钻孔深度比较,钻孔最终深度赋值,每次钻孔深度赋值,当次钻孔深度坐标初始化,前次钻孔深度坐标初始化,记录当次钻孔深度,用户宏程序,#26= -30.0; #17= -10.0; #1= 0; #2= 0; #3= 0; WHILE#1 GT #26 DO1; #1= #1+ #17; IF#1 GE #26 GOTO1; #1= #26; G00 G90 Z#2 + #3; G01 Z#1 F300; G00 Z0;

14、#2= #1; #3= 1.0; END1;,N1,钻孔最终深度赋值,每次钻孔深度赋值,当次钻孔深度坐标初始化,前次钻孔深度坐标初始化,计算当次钻孔深度坐标,记录当次钻孔深度,与最终钻孔深度比较,钻孔深度空程量初始化,钻孔深度空程量赋值,用户宏程序,#26= -30.0; #18= 3.0; #17= -10.0; #9= 300; #1= #18; #2= #18; #3= 0; WHILE#1 GT #26 DO1; #1=#1+ #17; IF#1 GE #26 GOTO1; #1=#26; G00 G90 Z#2+#3; G01 Z#1 F#9; G00 Z#18; #2= #1; #

15、3= 1.0; END1; M30;,N1,钻孔最终深度赋值,每次钻孔深度赋值,当次钻孔深度坐标初始化,前次钻孔深度坐标初始化,计算当次钻孔深度坐标,记录当次钻孔深度,与最终钻孔深度比较,钻孔深度空程量初始化,钻孔深度空程量赋值,初始点坐标赋值,进给速度赋值,返 回,用户宏程序,铣圆内腔,#5:圆半径的增量 #18:最终圆弧半径,O9999; #5= 10.0; #18= 45.0; #1= 0; #2= 0; WHILE#1 LT #18 DO 1; #1= #1+ #5; IF#1 LE #18 GOTO1; #1= #18; G01 G91 Y#1- #2 F300; G02 J-#1; #2= #1; END1; M30;,N1,当次圆弧半径,前次圆弧半径,用户宏程序,粗车外圆,WHILE#26 GT 0 DO1; #26=#26- #6; IF#26 GE 0 GOTO 1; #6=#6 + #26; G00 W-#6+#4; G01 U-#24 F#9; #4=#3; G00 U#4*2 W#4; U#24- #4*2;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号