您好,欢迎访问三七文档
FANUCj加工中心宏程序(2012-06-0210:32:17)标签:加工中心分类:加工中心秘籍数控铣宏程序培训材料一.什么是宏程序?用变量的方式进行数控编程二.宏程序与普通程序的区别。普通程序宏程序只能使用常量可以使用变量,并给变量赋值常量之间不可以运算变量之间可以运算程序只能顺序执行,不能跳转程序可以跳转三.变量#1~#33在宏程序中储存数据,在程序中对其赋值。赋值是将一个数据赋予一个变量。例如#1=0,表示#1的值就是0,其中#1代表变量,#是变量符号,0就是给变量#1赋的值。例如G0X0Y0;#1=100;#1=50;G01X100F500;G0X0Y0;#2=50;G01X#1F500;G0X0Y0;G01X[#1+#2]F500;四.变量之间的运算变量之间可以进行加,减,乘,除函数等各种运算例如#1=60;#2=SIN#1;运算顺序和一般数学上的定义相同例如#1=#2+3*SIN#4括号嵌套最里层的括号优先例如#6=COS[[[#5+#4]*#3+#2]*#1]比较难理解的一种情况#1=10;G0X#1Y0;#1=#1+1;G0X#1Y0;五.转移和循环在程序中使用GOTO和IF可以改变程序执行顺序1.GOTO语句—--无条件转移例如G0X0Y0;G01X100Y100F100;X500;GOTO01;Y500;N01X550;Y550;G0Z200;2.IF语句1).IF[条件表达式]GOTOn如果指定的表达式满足,则转移到标有顺序号n的程序段,如果不满足指定的条件表达式,则顺序执行下一个程序段。例如IF[#1GT100]GOTO01;G0X0Y0;N01X200;运算符运算符含义EQ等于=NE不等于≠GT大于GE大于或等于≥LT小于LE小于或等于≤典型例子#1=0;#2=1;N01IF[#2GT100]GOTO02;#1=#1+#2;#2=#2+#1;GOTO01;N02M30;3.循环(WHILE语句)在WHILE后制定一个条件表达式,当指定条件满足时,则执行从DO到END之间的程序,否则,转到END后的程序段例如#2=10;#3=20;WHILE[#2LT#3]DO01;#2=#2-1;END01;实例运用O2012(螺旋铣孔)#1=50;圆孔直径#2=40;圆孔深度#3=30;刀具直径#4=0;Z坐标设为自变量,赋值为0#17=1;Z坐标每次递增量#5=[#1-#3]/2;刀具回转直径S1000M3;G54G90G00X0Y0Z30;G00X#5Z[-#4+1];G01Z-#4F200;WHILE[#4LT#2]DO01;#4=#4+#17;G03I-#5Z-#4F1000;END01;G03I-#5;G01X[#5-1];G0Z100;M30;O2013(群孔)#1=40;最内圈孔圆心所在直径#2=30;每列孔间隔#3=12;孔的列数#4=10;空间隔#5=6;每列孔个数S1000M3;G54G90G00X0Y0Z30G16;#6=1;WHILE[#6LE#3]DO01;#7=1;WHILE[#7LE#5]DO02;#8=#1/2+[#7-1]*#4#9=[#6-1]*#2;G98G81X#8Y#9Z-60R3F100;#7=#7+1;END02;#6=#6+1;END01;G80Z30;G15;M30;O2013(可变式深孔钻)#1=3;每次进给钱的缓冲高度#2=20;第一次钻深#3=0.5;递减比例#4=35;孔总深的#5=5.;R点M3S1000;G54X0Y0;G0Z#5;WHILE[#4GT0]DO01;G01Z-#2F1000;G0Z#5;Z[-#2+#1];#7=#2*#3;#2=#2+#7;#4=#4-#2;END01;G0Z100;M30;O2014(铣平面)#1=1000;工件长度#2=1000;工件宽度#3=10;刀具直径#4=-#2/2;Y设为自变量,初始值赋值为-#2/2#14=0.8*#3;递增量#5=[#1+#3]/2+2.;开始X坐标S1000M3;G54G90G00X0Y0Z30;X#5Y#4;Z0;WHILE[#4LT#2/2]DO01;G01X-#5F1000;#4=#4+#14;Y#4;X#5;#4=#4+#14;Y#4;END01;G0Z30;M30;另一种编程方式#1=1000;工件长度#2=1000;工件宽度#3=10;刀具直径#4=-#2/2;Y设为自变量,初始值赋值为-#2/2#14=0.8*#3;递增量#5=[#1+#3]/2+2.;开始X坐标S1000M3;G54G90G00X0Y0Z30;X#5Y#4;Z0;N01G01X-#5F1000;#4=#4+#14;Y#4;X#5;#4=#4+#14;Y#4;IF[#4LT#2/2]GOTO01;G0Z30;M30,O2015(铣三角形)#1=1000;三角形高#2=0.;#3=1.X方向减增量#4=1.5;Z方向递减量G43Z53H01;WHILE[#1GT0]DO01;G01Z#1F1000;X#2;Z[#1-#4];X[-#2-#3];#2=[#2+#3];#1=#1-2*#4;END01;G0Z300;M30;O2016(铣圆形)基本数学知识圆的方程式;标准方程X2+Y2=R2参数方程X=R*COSAY=R*SINA在宏程序中SQRT是平方根的意思,例如#12=#2,那么#1=SQRT#2所以则有X=SQRT[R2-Y2]Y=SQRT[R2-X2]#1=50;圆半径#4=1;每次下降深度#6=2500;半径的平方G43Z60.H01;WHILE[#1GT-50]DO01;G01Z#1F2000;#7=SQRT[#6-#1*#1];X#7;#5=#1-#4;Z#5;#8=SQRT[#6-#5*#5];X-#8;#1=#1-2*#4;END01;Z200;M30;O2017(铣椭圆)基本数学知识椭圆方程标准方程X2/A2+Y2/B2=1参数方程X=A*COSαY=B*SINα(中心在原点)其中A为长半轴B为短半轴#1=50;长半轴#2=30;短半轴#3=0.;G90G1X#1Y0.;G43Z0.H01;G01Z-10.;WHILE[#3GT360]DO01;#13=#1*COS#3;#14=#1*SIN#3;G01X#13Y#14F1000;#3=#3+1.;END01;G0Z100.;M30;O2018(铣球)M3S1000;G0G54G90X0Y0;#1=10;#4=90;G43Z50H21;Z[#1+1];WHILE[#4GT-90]DO01;#5=#1*SIN#4;#6=#1*COS#4;G0X#6Y0;GOZ#5F1000;G03I-#6;#4=#4-2;END01;G0Z200.;M30;O2019(两个圆柱垂直相接)#1=35.;#10=1444;#11=3364#2=SQRT[#10-#1*#1];#3=SQRT[#11-#2*#2];G54G90G80X-#3Y#2;G43Z40H12;G01Z#1F1000;WHILE[#1GT0]DO01;G01Z#1;#2=SQRT[#10-#1*#1];#3=SQRT[#11-#1*#1];G02X-#3Y-#2R-58F1000;#1=#1-2;G01Z#1F1000;#2=SQRT[#10-#1*#1];#3=SQRT[#11-#2*#2];G03X-#3Y#2R-58F1000;#1=#1-1;END01;G0Z100;M30;Everyonehaveagoodfuture加工中心编程实例(转)(2008-04-2619:59:34)转载▼标签:杂谈对下图进行宏程序编制:(60分钟编写,30分钟讲解)【教学内容】:1华中数控系统的宏指令基本上就和高级语言(如FOXBASE、BASIC等)一样直接采用数学表达式的形式,比较直观、容易理解。用户可以使用变量进行算术运算、逻辑运算和函数的混合运算,此外宏程序还提供了循环语句、分支语句和子程序调用语句,利于编制各种复杂的零件加工程序,减少乃至免除手工编程时进行繁琐的数值计算,以及精简程序量。2宏变量及常量的使用华中数控系统使用#0、#1、...、#1199等作变量名,直接用#1=...、#2=...等形式设定变量和赋值。在一个程序中宏指令和NC系统指令可混合使用,主、子程序的调用关系用M98、M99指令进行。2.1变量种类有三种:(1)局部变量:#1~#33是在宏程序中局部使用的变量,它用于自变量转移。(2)公用变量:用户可以自由使用,它对于由主程序调用的各子程序及各宏程序来说是可以公用的。#100~#149在关掉电源后,变量值全部被清除,而#500~#509在关掉电源后,变量值则可以保存。(3)系统变量:由#后跟4位数字来定义,它能获取包含在机床处理器或NC内存中的只读或读/写信息,包括与机床处理器有关的交换参数、机床状态获取参数、加工参数等系统信息。编程中变量的用途有四个,运算;递增量或递减量;与一个表达式比较之后,决定是否实现跳转功能的条件分支;将变量值传送到零件程序中去。其中运算又包括:算术运算(赋值、加、减、乘、除、绝对值、四舍五入整数化、舍去小数点以下部分);函数运算(正弦、余弦、正切、反正切、平方根);逻辑操作(与、或);比较操作(等于、大于、小于、大于或等于、小于或等于、不等于)2.2宏变量及常量(1)宏变量#0~#49当前局部变量#50~#199全局变量(2)常量PI:圆周率πTRUE:条件成立(真)FALSE:条件不成立(假)2.3运算符与表达式(1)算术运算符:+,-,*,/(2)条件运算符EQ--=NE--≠GT--GE--≥LT--LE--≤(3)逻辑运算符AND,OR,NOT(4)函数SIN--正弦COS--余弦TAN--正切ATAN--反正切ABS--求绝对值INT--取整SIGN--取符号SQRT--求平方根EXP--指数函数(5)表达式用运算符连接起来的常数,宏变量构成表达式。例如:175/SQRT[2]*COS[55*PI/180];#3*6GT14;赋值语句格式:宏变量=常数或表达式把常数或表达式的值送给一个宏变量称为赋值。例如:#2=50/SQRT[2]*COS[50*PI/180];#3=160.0;条件判别语句IF,ELSE,ENDIF格式:IF条件表达式...(满足条件时执行的程序行)ELSE...(不满足条件时执行的程序行)ENDIF循环语句WHILE,ENDW格式:WHILE条件表达式...(满足条件时执行的程序行)ENDW3、数控程序的编制了解完宏指令编程的一些基本知识后,对前面的零件进行数控加工程序的编制。所采用的数控系统为国产华中系统。3.1根据图纸要求确定加工工艺(1)加工方式:立铣。(2)加工设备和材料:HNC-21/22M数控系统的钻铣床;直径80mm,长16mm的棒料。(3)加工刀具:直径Φ10的立铣刀。(4)切削用量:参照《工艺手册》有关资料选择主轴转速600rpm,进给速度200mm/min。(5)工艺路线:工艺路线采用顺铣加工。(6)定位夹紧:采用V型块定位安装平口钳上,平口钳安装在工作台上。3.2加工程序的编制(1)确定工件坐标系选择圆的圆心为工件坐标系X、Y轴零点,工件表面为Z轴零点,建立工件坐标系。(2)数学处理在编制程序之前要计算每一圆弧的起点坐标和终点坐标值,有了坐标值方能正式编程。计算过程此处不再赘述,算得的基点坐标图3.1分别为:第1个点的坐标:X=0.000Y=40.000第2个点的坐标:X=8.981Y=12.361第3个点的坐标:X=38.042Y=12.361第4个点的坐标:X=14.531Y=-4.721第5个点的坐标:X=23.511Y=-32.361第6个点的坐标:X=0.000Y=-15.279第7个点的坐标:X=-23.511Y=-32.361第8个点的坐标:X=-14.531Y=-4.721第9个点的坐标:X=-38.042Y=12.361第10个点的坐标:X=-8
本文标题:宏程序 文档
链接地址:https://www.777doc.com/doc-3455541 .html