宏程序编制讲解(北京工业技师学院).ppt

上传人:M****1 文档编号:572130041 上传时间:2024-08-12 格式:PPT 页数:58 大小:388.05KB
返回 下载 相关 举报
宏程序编制讲解(北京工业技师学院).ppt_第1页
第1页 / 共58页
宏程序编制讲解(北京工业技师学院).ppt_第2页
第2页 / 共58页
宏程序编制讲解(北京工业技师学院).ppt_第3页
第3页 / 共58页
宏程序编制讲解(北京工业技师学院).ppt_第4页
第4页 / 共58页
宏程序编制讲解(北京工业技师学院).ppt_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《宏程序编制讲解(北京工业技师学院).ppt》由会员分享,可在线阅读,更多相关《宏程序编制讲解(北京工业技师学院).ppt(58页珍藏版)》请在金锄头文库上搜索。

1、宏程序编程与应用宏程序编程与应用主讲教师:王展超:王展超个人简介:个人简介:l第二届全国数控技能大赛 数控车组 第一名l研究方向:德国DMG 250 车铣复合9轴5联动机床l工作单位:北京市工业技师学院 l联系方式:13401185547 lE-Mail:W什么场合用到变量编程?为什么什么场合用到变量编程?为什么会用到变量编程?会用到变量编程?l手工编程加工公式曲线(计算简单,输入快捷)l有规律的切削路径(作为一个切削模块)l程序间的控制 (程序的调度)l刀具的管理(刀具的磨损)l自动测量 (机内侧头)什么叫宏程序?什么叫宏程序? 在编程时,我们会把能完成某一功能的一系列指令像子程序那样存入存

2、储器,用一个总指令来调用它们,使用时只需给出这个总指令就能执行其功能所存入的这一系列指令称作用户宏程序本体,简称宏程序。 这个总指令称作用户宏程序调用指令。在编程时,编程员只要记住宏指令而不必记住宏程序。用户宏程序与普通程序的区别:用户宏程序与普通程序的区别:l在用户宏程序本体中,能使用变量,可以给变量赋值,变量间可以运算,程序可以跳转;l普通程序中,只能指定常量,常量之间不能运算,程序只能顺序执行,不能跳转,因此功能是固定的,不能变化。l用户宏功能是用户提高数控机床性能的一种特殊功能,在相类似工件的加工中巧用宏程序将起到事半功倍的效果。 数控系统变量表示形式为数控系统变量表示形式为“#”后跟

3、后跟14位位数字,变量种类有三种:数字,变量种类有三种: (1)局部变量:#1#33是在宏程序中局部使用的变量,它用于自变量转移。 (2)公用变量:用户可以自由使用,它对于由主程序调用的各子程序及各宏程序来说是可以公用的。#100#149在关掉电源后,变量值全部被清除,而#500#509在关掉电源后,变量值则可以保存。 (3)系统变量:由后跟4位数字来定义,它能获取包含在机床处理器或NC内存中的只读或读/写信息,包括与机床处理器有关的交换参数、机床状态获取参数、加工参数等系统信息。 宏程序的特点宏程序的特点 宏程序可使用变量,可用变量执行相应操作;实际变量值可由宏程序指令赋给变量。 基本指令:

4、基本指令: 1.宏程序的简单调用格式 宏程序的简单调用是指在主程序中,宏程序可以被单个程序段单次调用。 调用指令格式: G65 P(宏程序号)L(重复次数) (变量分配)。 其中:其中:G65宏程序调用指令宏程序调用指令 P(宏程序号)被调用的宏程序代号; L(重复次数)宏程序重复运行的次数,重复次数为1时,可省略不写; (变量分配)为宏程序中使用的变量赋值。 宏程序与子程序相同的一点是,一个宏程序可被另一个宏程序调用,最多可调用4重2.宏程序的编写格式 宏程序的编写格式与子程序相同。 其格式为: 0(00018999为宏程序号) N10指令 N M99 上述宏程序内容中,除通常使用的编程指令

5、外,还可使用变量、算术运算指令及其它控制指令。变量值在宏程序调用指令中赋给 宏程序切槽宏程序切槽 在用宏程序切槽时用到了宏程序的嵌套,z方向的移动是大的宏程序,x方向的切深嵌套在里面,具体的编程与解释说明见以下部分: 如下对WHILE和IF 做了具体讲解: 1.WHILE语句 2.IF语句 宏程序切槽实体图形宏程序切槽实体图形 根据此图编写槽程序根据此图编写槽程序WHILE语句:语句:n nG00 X52 Z2;n n#2=-14; 是刀具z向的起刀点(因为刀宽为4mm,所以起刀点定在Z-14的位置)n nWHILE#2 GE -30DO2; 是z方向的约束条件,当z等于-30时,z向就不再移

6、动n nG00 Z#2; z方向的当前位置n n#2=#2-2; z方向的移动步距,每次移动2mmn n#1=52; 是x方向的起刀点n nWHILE#1 GE 20DO1; X方向的约束条件,当直径等于20时就不再切削n nG01 X#1F0.2; x方向的切深n nG00 X#1+1; x方向的相对退刀量n n#1=#1-1; x方向的步距(每次切1mm)n nEND1;n nG00 X52;n nEND2; 宏程序切槽的完整程序宏程序切槽的完整程序l l O1234; O1234;l lG40 G97 G99G40 G97 G99; ; l lT0101; WHILET0101; WHI

7、LE#1GE20#1GE20DO1;DO1;l lS1000 M3S1000 M3; G01X; G01X#1#1F0.2;F0.2;l lG00 X52 Z2; G00XG00 X52 Z2; G00X#1+1#1+1; ;l l#2=-14; #1=#1-1;#2=-14; #1=#1-1;l lWHILEWHILE#2GE-30#2GE-30DO2; END1;DO2; END1;l lG00 ZG00 Z#2#2; ; G00 X52G00 X52; ;l l#2=#2-2; END2;#2=#2-2; END2;l l#1=52 G00 X150 Z150;#1=52 G00 X15

8、0 Z150;l l M30; M30;IF语句:语句:G00 X52 Z-2;#1=-14; 是刀具的z向起刀点(刀宽为4mm4mm)N2 #1=#1-2; 是z方向的移动步距方向的移动步距#2=52; 为x方向的起刀点方向的起刀点N1#2=#2-1; 是x方向的步距(每次切深1mm1mm)G01 X#2F0.2; X X方向的当前位置方向的当前位置G00 X#2+1; x x方向的相对退刀量方向的相对退刀量IF #2 GE 21GOTO1; x方向的约束条件(当x的数值切到的数值切到2020时就进行下面程序,不再返时就进行下面程序,不再返回)回)G00 X52; X退刀到52的位置G00

9、Z#1; Z方向的当前位置IF #1 GE -30GOTO2; ; Z Z方向的约束条件,方向的约束条件,当当z z等于等于-30-30时,时,z z向就不在移动向就不在移动 宏程序切槽的完整程序宏程序切槽的完整程序l lO1234;O1234;l lG40G97G99; IFG40G97G99; IF#2GE21#2GE21GOTO1;GOTO1;l lT0101; G00X52;T0101; G00X52;l lS1000M3; G00ZS1000M3; G00Z#1#1; ;l lG00 X52 Z-2; IFG00 X52 Z-2; IF#1GE-30#1GE-30GOTO2;GOTO

10、2;l l#1=-14; G00X200;#1=-14; G00X200;l lN2 #1=#1-2; Z200;N2 #1=#1-2; Z200;l l#2=52; M5;#2=52; M5;l lN1#2=#2-1; M30;N1#2=#2-1; M30;l lG01 XG01 X#2#2F0.2;F0.2;l lG00 XG00 X#2+1#2+1; ; 椭圆实体图形椭圆实体图形椭圆椭圆WHILE语句的标准格式:语句的标准格式:#1=a;#1=a; a :a :为刀具的起刀点在相对椭圆的轴线为刀具的起刀点在相对椭圆的轴线Z Z的正方的正方向向a mma mm处处WHILEWHILE#1

11、GE b#1 GE bDO1;DO1; b b: : 为椭圆加工的终点在相为椭圆加工的终点在相对椭圆的轴线对椭圆的轴线Z Z的负方向的负方向b mmb mm处(如果加工的是一处(如果加工的是一个完整的半椭圆,那个完整的半椭圆,那a a、b b是数值相同符号不同的两是数值相同符号不同的两个数值)个数值)# #2= c2= cSQRTSQRT1-#11-#1#1/d#1/dd d; ; c c: : 椭圆的短半椭圆的短半轴轴 d: d: 椭圆的长半轴(根据椭圆公式求椭圆的长半轴(根据椭圆公式求#2#2,长半,长半轴为轴为d,d,短半轴为短半轴为c,#2c,#2代表代表X X的数值,的数值,#1#1

12、为为Z Z的数值,的数值,SQRTSQRT是开方的意思)是开方的意思)G01G01 X X22#2+e#2+eZ Z#1f#1f; ; e: e: 椭圆的椭圆的X X向轴线向轴线相对工件坐标系的偏移量(直径值)相对工件坐标系的偏移量(直径值)f: f: 椭圆的椭圆的Z Z向向轴线相对工件坐标系的偏移量轴线相对工件坐标系的偏移量. .# #1=#1-11=#1-1;步距(每次移动步距(每次移动1mm1mm)END1;END1;注意事项!注意事项!n n当车削凹椭圆时X后括号中的“”取“”;当车削凸椭圆时X后括号中的“”取“+”。n n当椭圆的X轴线向正向偏移则Z后括号中的“”取“+”;当椭圆的X

13、向轴线向负向偏移则Z后括号中的“”取“” 椭圆椭圆IF语句的标准格式语句的标准格式n n#1=a#1=a;a: a: 为刀具的起刀点在相对椭圆的轴线为刀具的起刀点在相对椭圆的轴线Z Z的正方向的正方向a mma mm处处N1#2=b*SQRTN1#2=b*SQRT1-1-#1*#1/c*c#1*#1/c*c; ; b: b:椭圆的短半椭圆的短半轴轴c:c:椭圆的长半轴(根据椭圆公式椭圆的长半轴(根据椭圆公式X/ c+ Y/b=1X/ c+ Y/b=1,SQRTSQRT是开方的意思是开方的意思) )n nG01XG01X2*#2+d2*#2+dZ Z#1e#1eF0.2;F0.2; d: d:椭

14、圆的椭圆的X X向轴线相对坐标零点的偏移量(直径值)向轴线相对坐标零点的偏移量(直径值)e:e:椭椭圆的圆的Z Z向轴线相对零面的偏移量向轴线相对零面的偏移量n n# #1=#1-1; 1=#1-1; 步距(每次移动步距(每次移动1mm1mm)n nIFIF#1 GE -f#1 GE -fGOTO1 GOTO1 f: f:椭圆加工的终止椭圆加工的终止 注意事项!注意事项!n n当车削凹椭圆时X后括号中的“”取“”;当车削凸椭圆时X后括号中的“”取“+”。n n当椭圆的X轴线向正向偏移则Z后括号中的“”取“+”;当椭圆的X向轴线向负向偏移则Z后括号中的“”取“” 根据此图编写椭圆程序根据此图编写

15、椭圆程序 椭圆宏程序实例椭圆宏程序实例n n1. WHILE1. WHILE语句语句n n#1=20#1=20;n nWHILEWHILE#1GE-20#1GE-20DO1;DO1;n n#2=10*SQRT#2=10*SQRT1-1-#1*#1/400#1*#1/400; ;n nG01XG01X-2*#2+50-2*#2+50Z Z#1-25#1-25; ;n n#1=#1-1;#1=#1-1;n nEND1;END1;n n 2. IF 2. IF语句语句n n#1=20#1=20;n nN1#2=10*SQRTN1#2=10*SQRT1-1-#1*#1/400#1*#1/400; ;n

16、 nG01XG01X-2*#2+50-2*#2+50Z Z#1-25#1-25F0.2;F0.2;n n#1=#1-1;#1=#1-1;n nIFIF#1GE-20#1GE-20GOTO1;GOTO1; 椭圆加工的完整程序椭圆加工的完整程序l lO1234;O1234;l lG40G97G99; G01XG40G97G99; G01X-2*#2+50-2*#2+50Z Z#1-25#1-25F0.2;F0.2;l lT0101; #1=#1-1;T0101; #1=#1-1;l lS1000 M3; END1S1000 M3; END1l lG00 X50 Z2; G00 X50;G00 X5

17、0 Z2; G00 X50;l lG73 U5 R5; N20 G00 G40 Z2;G73 U5 R5; N20 G00 G40 Z2;l lG73 P10 Q20 U0.5 F0.2; G70 P10 Q20;G73 P10 Q20 U0.5 F0.2; G70 P10 Q20;l lN10 G0 G42 Z-5; G00 X200;N10 G0 G42 Z-5; G00 X200;l l#1=20#1=20; Z200;Z200;l lWHILEWHILE#1GE-20#1GE-20DO1; M5;DO1; M5;l l#2=10*SQRT#2=10*SQRT1-#1*#1/4001-#

18、1*#1/400; M30; M30; IF语句完整格式省略,(IF语句也一样,只要加上循环就可以),在FANUC-0i系统中宏程序只能加在G73中。 抛物线加工实体抛物线加工实体抛物线抛物线WHILE语句的标准格式:语句的标准格式:#1=a#1=a;a: a: 为刀具的起刀点在抛物线轴线为刀具的起刀点在抛物线轴线Z Z的方向的方向a a mmmm处处WHILEWHILE#1 GE -b#1 GE -bDO1;DO1; b: b: 为椭圆为椭圆z z向的加工长度向的加工长度# #2=SQRT2=SQRT-#1*5/3-#1*5/3; ; ( (根据抛物线公式根据抛物线公式Z=-Z=-3/5*X

19、*X,3/5*X*X,求其中的求其中的X X值,也就是值,也就是#2#2,其中,其中SQRTSQRT是是开平方的意思)开平方的意思)G01G01 X X 2*#2+c2*#2+cZ Z#1#1; ; c: c: 为抛物线的为抛物线的X X向轴线向轴线相对工件坐标系的偏移量(直径值),相对工件坐标系的偏移量(直径值),“ “ ” ”取取“ “+ +” ”时为凸,取时为凸,取“ “- -” ”时为凹时为凹#1=#1-1; #1=#1-1; 步距(每次移动步距(每次移动1mm1mm)END1;END1; 抛物线抛物线IF语句的标准格式语句的标准格式#1=a;a: a: 为刀具的起刀点在抛物线轴线为刀

20、具的起刀点在抛物线轴线Z Z的方向的方向a a mmmm处处N1 #2=SQRT-#1*5/3; ( (根据抛物线公式根据抛物线公式Z=-3/5*X*X,Z=-3/5*X*X,求其中的求其中的X X值,也就是值,也就是#2#2,其中,其中SQRTSQRT是开平方的意思)是开平方的意思)G01 X2*#2+bZ#1; b:b:为抛物线的为抛物线的X X向向轴线相对坐标零点的偏移量(直径值),轴线相对坐标零点的偏移量(直径值),“ “ ” ”取取“ “+ +” ”时为凸,取时为凸,取“ “- -” ”时为凹时为凹#1=#1-1; (Z方向的步距,每次移动1mm)IF#1 GE -cGOTO1; c

21、:c:为椭圆为椭圆z z向的加工长度向的加工长度 抛物线抛物线IF语句的另一种形式语句的另一种形式#1=a;N1 #2=SQRT(+)#1*5/3; “+”“+”号可省号可省略略G01 X2*#2+bZ-#1;#1=#1+1;IF#1 LE cGOTO1;假设抛物线是向Z的正方向,再用Z-#1;把抛物线对称到负方向 根据此图编写抛物线程序根据此图编写抛物线程序 抛物线宏程序实例抛物线宏程序实例n n1. WHILE1. WHILE语句语句n n#1=0#1=0;n nWHILEWHILE#1 GE -15#1 GE -15DO1;DO1;n n#2=SQRT#2=SQRT-#1*5/3-#1*

22、5/3; ;n nG01 XG01 X2*#2+302*#2+30Z Z#1#1; ;n n#1=#1-1;#1=#1-1;n nEND1;END1;n n2. IF2. IF语句语句n n#1=0#1=0;n nN1 #2=SQRTN1 #2=SQRT-#1*5/3-#1*5/3; ;n nG01XG01X2*#2+302*#2+30Z Z#1#1; ;n n#1=#1-1;#1=#1-1;n nIFIF#1 GE -15#1 GE -15GOTO1;GOTO1; 抛物线加工的完整程序抛物线加工的完整程序l lO1234;O1234;l lG40 G97 G99G40 G97 G99; ;

23、G01G01 X X2*#2+302*#2+30Z Z#1#1; ;l lT0101; #1=#1-1;T0101; #1=#1-1;l lS1000 M3S1000 M3; END1; END1;l lG00 X42 Z1G00 X42 Z1; ; G00 X42G00 X42; ;l lG73 U5 R5G73 U5 R5; ; N20 G00 G40 Z2N20 G00 G40 Z2; ;l lG73 P10 Q20 U0.5 F0.2G73 P10 Q20 U0.5 F0.2; ; G70 P10 Q20G70 P10 Q20; ;l lN10 G00 G42 Z0N10 G00 G4

24、2 Z0; ; G00 X200G00 X200; ;l l#1=0#1=0; Z200;Z200;l lWHILEWHILE#1 GE -15#1 GE -15DO1; M5;DO1; M5;l l#2=SQRT#2=SQRT-#1*5/3-#1*5/3; M30; M30; WHILE语句与语句与IF语句的区别语句的区别1.两种语句返的方向不同两种语句返的方向不同(1 1)WHILEWHILE语句向后返语句向后返 例:例:WHILEWHILE#1 GE 20#1 GE 20DO1;DO1; G01 G01 X X#1#1F0.2; F0.2; 假设机床执行到此假设机床执行到此句时句时#1#

25、1=20=20,它会继续往下执行,执行到,它会继续往下执行,执行到#1=#1-1#1=#1-1后后#1#1的值变为的值变为1919,不再满足约束条件,不再满足约束条件所以就不会返回去。(所以就不会返回去。(X X方向切到方向切到2020) G00 G00 X X#1+1#1+1; ; # #1=#1-11=#1-1; ; END1 END1; ;(2)IF语句向前返语句向前返例:例: N1N1 #2=#2-1; #2=#2-1; G01X G01X#2#2F0.2;F0.2;假设机床执行到此句时假设机床执行到此句时#2#2=20=20,它,它会继续往下执行,执行到会继续往下执行,执行到IFIF

26、#2 GE 20#2 GE 20GOTO1GOTO1; ;仍然仍然满足条件,它会继续返回到满足条件,它会继续返回到N1 #2=#2-1N1 #2=#2-1; ;而现在的而现在的X X值值就会变为就会变为1919,不再满足约束条件,而后再执行一次,不再满足约束条件,而后再执行一次 G01XG01X#2#2F0.2;F0.2;最后就执行最后就执行下面的程序(下面的程序(X X方向方向已经切到已经切到1919) G00X G00X#2+1#2+1; IF IF#2 GE 20#2 GE 20GOTO1GOTO1; ; 2.从上面的切槽程序可以看出,IF语句要比WHILE语句的字数要少很多。3.由于返

27、回的方向不同,在加工中WHILE语句少读一句,IF语句要多读一句。SIEMENS系统(车床)宏程序应用说明:宏程序是用变量编程,西门子系统的变量号用R表示。例如用普通编程方法编写的:G01X-10用宏程序可表示为:R1=-10G01 X=R1条件转移:IF GOTOB:向后跳转IF GOTOF:向前跳转用普通编程方法编写的GO1X100用变量可表示为:R1=0AA:R1=R1+1G01X=R1IF R1100 GOTOB AAR1是自变量,初始值为0,R1=R1+1表示的是自变量的递增数值为1,当程序每次走过此行时,R1的值增加1,R1 100是条件式,IF R1100 GOTOB AA此行的

28、意思是如果自变量R130+0.4 GOTOB BB 定义槽深10mm,如果 R330mm程序向后跳转 到标记处BB,0.4为精加工 余量G0X50 刀具到达X轴起刀点G1Z=R2IF R2-30+0.2 GOTOB AA 定义槽宽为20mm,0.2是精加工余量G0X50G01Z-13 精加工X30Z-16G0X50Z-30G01X30Z-16G0X50 退刀G0X100Z100M05M302:椭圆基本格式R1=0 定义变量R1初始值为0AA:R2=bSQRT(1-R1R1/aa)根据椭圆方程所得,a是椭圆的长半轴,b是椭圆短半轴,SQRT是开平方符号。G1X=2R2+X Z=R1-Z 设定椭圆

29、的位置和形状,+2为凸形,-2为凹形,X、Z分别是工件轴线和椭圆轴线的距离(直径制)。R1=R1-1 设定加工步距IF R1=n GOTOB AA 如过变量R1=-20 GOTOB AAPP:X42G0G40X100Z100M05M09M303:抛物线基本格式:R1=0 设定变量R1的初始值为0AA:R2=SQRT(-R1n) 根据抛物线基本 格式所得,式中SQRT为开平方符号,n是系数G01X=2R2+n Z=R1 加工路径,+2是凸形 ,n是X轴起点数值R1=R1-1 变量增量值为1mmIF R1-30 GOTOB AA 如果变量R1 -30程序向后跳转到标记处:AA编程举例:T1TcT1D1G0G40X100Z100M03S1000G0X52Z2CYCLE95( )G0G42OO:R1=0AA:R2=SQRT(-R15/3)G01X=2R2+30 Z=R1R1=R1-2IF R1-60 GOTOB AAPP:X52G0X100Z100M05M30

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

最新文档


当前位置:首页 > 高等教育 > 研究生课件

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