FANUC用户宏程序解析课件.ppt
《FANUC用户宏程序解析课件.ppt》由会员分享,可在线阅读,更多相关《FANUC用户宏程序解析课件.ppt(110页珍藏版)》请在三一办公上搜索。
1、用户宏程序,用 户 宏 程 序,用户宏程序,一、变量二、运算指令三、控制指令四、简单练习五、系统变量六、宏程序调用,主要内容:,用户宏程序,主程序,宏程序,下一页,用户宏程序,宏程序的适用范围:,形状类似但大小不同(圆、方及其它),其它,自动化功能(刀具长度测量、生产管理等),特殊形状(椭圆、球等),大小相同但位置不同(组孔、阵列等),上一页,用户宏程序,宏程序与子程序的比较:,用户宏程序,宏程序相关的参数,#5(SBM) 用户宏程序语句中, 0: 单程序段不停止 1: 单程序段停止,#6(CCV) 复位(Reset)后,公共变量#100#1990: 清空1: 不清空#7(CLV) 复位(Re
2、set)后,局部变量#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面板上的功能键,OFFSETSETTING,2.按几次 键,直至出现,用户宏程序,3.按下 显示宏程序变量值,用户宏程序,4.按 、 显示局部和公共变量值,用户宏程序,公共变量的设定,1.找到显示公共变量的画面。2.将光标移至欲设定的变量号上。键入变量号并按 键按换页键 、 和光标键将光标移至欲设定的变量号上3.键入数据并按,用户宏程序,3.变量的使用,# i = ,将计算结果赋值给对应的变量号,常数、变量、函数和运算符的组合,表示方法,#1= #2 + 100 ;#1= #2 + #18 SIN#5 ;
4、,用户宏程序,变量的定义,当在程序中定义变量值时,小数点可以省略,#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;,用户宏程序,当引用未定义的变量时,变量及地址字都被忽略,G00 X#1 Y#2;当#1=0,
5、#2为空时, G00 X0;,程序号、顺序号和任选程序段跳转号不能使用变量,O#1;N#3 Y200.0;/#2 G00 X10.;,用户宏程序,4.未定义变量,当变量值未定义时,这样的变量成为变量,变量#0 总是空变量,它不能写只能读,未定义变量的引用,当引用一个未定义的变量时,地址本身也被忽略,用户宏程序,未定义变量的计算,除了用赋值以外,其余情况下与0 相同,用赋值,用户宏程序,条件表达式,EQ和NE中的不同于0,用户宏程序,示例,用户宏程序,二、运算指令,运算命令的种类 运算顺序,用户宏程序,1.运算命令的种类,加减乘除,用户宏程序,下取整(FIX):舍去小数点以下部分上取整(FUP)
6、:将小数后部分进位到整数部分,数据处理,用户宏程序,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,用户宏程序,其它函数,#2=2;#1=SQRT#2;,1.414,#1,用户宏程序,逻辑
7、运算,对32位的每一位按二进制进行逻辑运算,用户宏程序,29254,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 语句 IF 语句 WHILE 语句,用户宏程序,1.无条件转移(GOTO 语句),GOT
8、O 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 和 #k 也可用来代替。,条件表达式,用户宏程序,N1 ;IF#2 GT 10 GOTO 5;GOTO
9、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的区域不能交叉,DO 一定要在END之前规定,识别号( 1,2,3)可多次使用,用户宏程序,可以从DO区域的内部向外部转移,不可以从
10、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;END1;,用户宏程序,常用格式,(当前值)=(初值);WHILE (当前值)比较(目标值) DO m;(执行循环操作);(当
11、前值)=(当前值)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 前次钻孔深度坐标,用户宏程序,#26= - 30.0;#17= - 10.0;#1= 0;#2= 0;WHILE#1 GT #26 DO1; #1=#1+#17; G00 G90 Z
12、#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; #1= #26; G00 G90 Z#2; G01 Z#1 F300; G00 Z0; #2= #1;END1;,使用IF语句限制最终钻孔深度,N1,计算当次钻孔深度坐标,与最终
13、钻孔深度比较,钻孔最终深度赋值,每次钻孔深度赋值,当次钻孔深度坐标初始化,前次钻孔深度坐标初始化,记录当次钻孔深度,用户宏程序,#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; #2= #1; #3= 1.0;END1;,N1,钻孔最终深度赋值,每次钻孔深度赋值,当次钻孔深度坐标初始化,前次钻孔深度坐标初始化,计算当次钻孔深度坐标,记录当次钻孔深度,与最终钻孔深度比
14、较,钻孔深度空程量初始化,钻孔深度空程量赋值,用户宏程序,#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; #3= 1.0;END1;M30;,N1,钻孔最终深度赋值,每次钻孔深度赋值,当次钻孔深度坐标初始化,前次钻孔深度坐标初始化,计算当次钻孔深度坐标,记录当次钻孔深度,与最终钻孔深度比较,钻孔深度空程量初始化,
15、钻孔深度空程量赋值,初始点坐标赋值,进给速度赋值,返 回,用户宏程序,铣圆内腔,#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 +
16、#26; G00 W-#6+#4; G01 U-#24 F#9; #4=#3; G00 U#4*2 W#4; U#24- #4*2;END1;M30;,O9999; #3=1.0; #4=0; #6=10.0; #9=300.0; #24=20.0; #26=48.0;,#26,#3,#6,#24,#3: 空程量#6:每次切削量#9: 切削速度#24: X方向切削量#26: Y方向切削量,N1,用户宏程序,O9999;#1=500;WHILE#1 LE 507 DO1; #1=#0 ; #1=#1+1;END1;M30;,O9999;#1=0;WHILE#1 LE 9 DO1; #500+#1
17、=SIN#1*10 ; #1=#1+1;END1;M30;,将#500#507的值设为,计算SIN0SIN90的值并赋值给#500#509,用户宏程序,O9999;#1=501;#506=#500;WHILE#1 LE 505 DO1;IF#506 GT #1 GOTO1;#506=#1;N1 #1=#1+1;END1;M30;,O9999;#2=501;WHILE#2 LE 505 DO2; #1=#2; #506=#2-1; WHILE#1 LE 505 DO1; IF#506 GT #1 GOTO1; #506=#1; #1=#2-1; #2-1=#506; #1=#1+1; END1;
18、 #2=#2+1;END2;M30;,N1,用户宏程序,五、系统变量,刀具补偿值 CNC报警 时间信息 模态信息 位置信息 工件零点偏移,用户宏程序,刀具补偿值,示 例,用户宏程序,CNC报警,表达式后为不超过26个字符的报警信息屏幕上显示报警号和报警信息,报警号为#3000的值加上3000,#3000=1 (WRONG DATA INPUT);,屏幕显示:,3001 WRONG DATA INPUT,例:,示 例,用户宏程序,时间信息,示 例,用户宏程序,自动运行控制,当电源接通时,#3003的值为0当单程序段停止无效时,即使操作面板上的单程序段开关设为ON,也不执行单程序段停止。当不指定等
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FANUC 用户 程序 解析 课件
链接地址:https://www.31ppt.com/p-1480929.html