浅谈数控宏程序的应用浙江交通技师学院毕业设计(论文)开题报告设计(论文)题目浅谈数控宏程序的应用学生姓名陈志博专业数控技术与应用指导教师穆士华所属教学系机电系班级技师数控0701引言:数控编程技术是数控加工中重要的部分,编程技术在很大程度上影响着产品的加工精度与效率。现今的数控编程主要分为手工编程和自动编程,对一些不规则的复杂曲面轮廓产品,如:注射模、汽车覆盖件等模具型腔的加工,所以这样的零件程序就需要用CAD/CAM软件来进行自动编程,但自动编程的程序往往很长,在加工过程中空刀运行部分较多,在一定程度上降低了生产加工的效率,因此,在掌握自动编程的同时,还应该熟练掌握手工编程的技巧。提纲:1.阐述宏程序的意义2.说明宏程序的语法规则3.举例几枚工件,利用宏程序加工编程过程4.总结宏程序宏程序的意义在进行手工编程的同时,利用宏程序可以大大减少程序的繁琐性。所谓宏程序又称为变量化,是指在编制程序过程中,用参数(变量)代替具体的数值,通过循环指令实现变量之间的数值计算。宏程序在实际生产中具有许多现实意义:1、减少编程实践使机床具有最佳的工作性能,最大极限得地提高效率以降低成本;2、优化加工工艺加工工艺的优化主要就是程序的优化,是一个反复调整、尝试的过程,这就要操作者能够非常方便地调整程序中的各项加工参数,只要其中任何一项发生,再智能的软件也要根据变化后的加工参数重新计算刀具轨迹,过程耗时费力繁琐,宏程序在这方面就有着强大的优越性,操作者无需触动程序本身,只需对各项参数所对应的自变量赋值做出个别调整就可以将程序优化到最佳的状态,这样体现了宏程序的一个突出的优势。3、用途广,可进行有规律的数学运算机械零件的形状主要是由凸台、凹槽、圆孔、斜平面、回转面组成,很少包含不规则的复杂曲面,构成的几何图素大多都基于三角函数、解析几何,在数学上都可以用三角函数表达式及参数方程加以表达,因此宏程序可以发挥其最大的作用。4、解决生产中的一些复杂加工编程问题机械零件还有一些特殊的应用,即使用CAD/CAM软件也不一定能轻而易举地解决,如变螺距螺纹的加工、用螺旋插补进行锥度螺纹的加工和钻深可变深孔钻加工等,而宏程序就可以发挥会它的优势。宏程序的语法规则1、变量普通加工程序直接用数值指定G代码和移动距离。例如,G01和X100;使用用户宏程序时,数值可以直接指定或用变量指定。当用变量时,变量值可用程序或用MDI面板操作改变。#1=#2+100;G01X#1F300;2、说明变量的表示一般编程方法允许对变量命名,但用户宏程序不行。变量用变量符号(#)和后面的变量号指定。例如:#1;表达式可以用于指定变量号。此时,表达式必须封闭在括号中。例如:#[#1+#2-12];3、变量的类型变量根据变量号可以分成四种类型:变量号变量类型功能#0空变量改变量总是空,没有值能赋给该变量。#1~#33局部变量局部变量只能用在宏程序中储存数据,例如,运算结果。当断电时,局部变量被初始化为空。调用宏程序时,自变量对局部变量赋值。#100~#199#500~#999公共变量公共变量在不同的宏程序中的意义相同。当断电时,变量#100~#199初始化为空。变量#500~#999的数据保存,即使断电也不丢失。#1000~系统变量系统变量用于读和写CNC运行时各种数据的变化,例如,刀具的当前位置和补偿值。4、逻辑判断功能等于EQ格式:#jEQ#k不等于NE格式:#jNE#k大于GT格式:#jGT#k小于LT格式:#jLT#k大于等于GE格式:#jGE#k小于等于LE格式:#jLE#k5、变量值的范围局部变量和公共变量可以为0值或-1047~-10-29或10-29~1047范围中的值:如果计算结果超出有效范围,则发出P/S报警No.111小数点的省略,当在程序中定义变量值时,小数点可以省略。例如:当定义#1=123;变量#1的实际值是123.0。6、变量的引用(1)在地址后指定变量号即可引用其变量值。当用表达式指定变量时,要把表达式放在括号中。例如:G01X[#1+#2]F#3;(2)被引用变量的值根据地址的最小设定单位自动地舍入例如:当系统的最小输入增量为1/1000mm单位,指令G00X#1,并将12.3456赋值给变量#1,实际指令值为G00X12.346。(3)改变引用变量的值的符号,要把负号(-)放在#的前面例如:G00X—#1。(4)当引用未定义的变量时,变量及地址字都被忽略例如:当变量#1的值是0,并且变量#2的值是空时,G00X#1Y#2的执行结果为G00X0。7、未定义的变量当变量值未定义时,这样的变量成为“空”变量。变量#0总是空变量。它不能写,只能读。(a)引用当引用一个未定义的变量时,地址本身也被忽略。当#1=空当#1=0G90X100Y#1↓G90X100G90X100Y#1↓G90X100Y0(b)运算除了用空赋值以外,其余情况下空与0相同。当#1空时当#1=0时#2=#1↓#2=空#2=#1↓#2=0#2=#1×5↓#2=0#2=#1×5↓#2=0#2=#1+#1↓#2=0#2=#1+#1↓#2=0(c)条件表达式EQ和NE中的空不同于0。当#1=空时当#1=0时#1EQ#0↓成立#1EQ#0↓不成立#1NE#0↓成立#1NE#0↓不成立#1GE#0↓成立#1GE#0↓不成立#1GT#0↓#1GT#0↓成立不成立举例零件图编程加工宏程序用于系列零件的加工,此系列零件形状相同,但是部分尺寸不同,如果将这些不同的尺寸用宏变量表示,由程序自动将相关基点坐标进行计算则可用同一个程序完成一个系列零件的加工。以图1为例。该零件的右端面半球球径可取R10与R15,可将球径用变量表示,编程原点设在工件右端面中心,毛坯直径¢45。从图中可以看出编程所需基点A·D·E三点外,B·C点均与球径R相关,下面给出各基点坐标:图1XZA00B2R-RC2R-[60-2*[40-2R]D40-60程序如下:O0034;//程序号T0101;//刀具编号M03S800;//加工主轴正转转速800r/minG98;//每分钟进给G00X42Z0;//定位起刀点G71U2R1;//外轮廓的循环加工进刀量2退刀量1G71P10Q20U0.5W0F150;//P10(标识符下面的N10);Q20(标识符下面N20);U0.5(X方向上的精加工余量直径值);W0(Y方向上的精加工余量直径值);F100(每分钟进给100)N10G01X0;#1=10;//定义赋值G03X[2*#1]Z[-#1]R[#1];//车削半圆R10G01Z[-[-60-[80-4*#1]]];//车削C部分G01X40Z-60;N20G01Z-90;//加工D部分的长度G00X100;//退刀Z100;M05;M30;//程序结束利用宏程序的简洁编制大大的减少了编程时的繁琐而且运用灵活后只需更改其中的赋值便能再次的进行加工上部分的O0272;M03S800;G98;G00X90Z100;N10#24=0;//抛物线顶点处X值#26=0;//抛物线顶点处Z值#17=-10;//常量#22=42;//抛物线开口处直径#6=1;//每次步进量#9=100;//进给率G00X#24Z[#26+5];//加工起点G01Z#26F[2*#9];N30#24=#24+#6;//X向递增#26=[#24*#24]/[#17];//构造抛物线-X2/10G01X2*#24Z#26F#9;N60IF[#24LT#22/2]GOTO30;//如果X值小于开口处直径一半跳转到30句G01X#22Z#26F[3*#9];M05;M30;利用宏程序进行手工编程,可以使手工编程更加容易和灵活,手工编程模式采用宏程序编程可以简化程序,机床在执行此类程序时,动作更加快捷,反应更加迅速,精度更高,在实际生产加工中为提高生产率和产品质量有着非常现实的意义。参考文献:1、王贵民,数控实用技术,北京:机械工程出版社.2002;2、刘跃南,机床计算机数控及其应用,电子机械工程,2005年第21卷第三期;3、裴炳文,数控加工工艺与编程,北京:机械工业出版社,2006;4、李正风,数控加工工艺,上海:上海交通大学出版社,2005;5、陆筠宏程序在曲面体加工中的应用,机械设计与制造2007年10月第十期;6、陶俊,宏程序在数控铣削加工中的运用,盐城工学院学报(自然科学版),2007年06月第二十卷第二期;7、庞继伟、宋嘎,抛物面加工的宏程序实现及数控仿真。