数控加工工艺、编程与操作07项目七-非圆弧曲面零件加工

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

项目七:非圆弧曲面零件加工7.1导入项目图7—1所示椭圆手柄,材料为45钢,毛坯为φ30x115mm的棒料。要求制定零件的加工工艺,编写零件的数控加工程序,进行仿真加工检验加工程序的正确性。7.2知识学习数控系统一般只有直线和圆弧插补功能,无法直接对椭圆、双曲线、抛物线等非圆曲线进行插补加工。对非圆弧曲面编程,需要用直线段或圆弧段逼近非圆曲线。常用的是直线逼近,即在允许的编程误差条件下,用若干直线段逼近零件轮廓非圆曲线,得到一系列的节点,如图7-2所示。显然,逼近线段的近似区间越小,逼近误差越小,但节点数越多,程序段也会越多。这种情况下,需要用宏程序编程,简化数控程序。图7-2直线逼近7.2知识学习7.2.1用户宏程序1.概念将能完成某一功能的一组指令用一个总指令作为代表,执行时只需写出这个总指令就能执行其功能。这一组命令称为用户宏程序。“总指令”称为用户宏命令。用户宏程序可以实现变量赋值、加减运算、逻辑判断及条件转移等功能。2.变量用一个可赋值的代号代替具体的数值,这个代号就称为变量。数值可以直接指定或用变量指定。⑴变量的表示变量由符号“#”和变量号(数字)组成,变量号可以是整数,如:#1、#2、…;或是一个表达式,如:#[#1+#2-l0]。表达式必须封闭在括号中。⑵变量的引用引用的变量作为数值跟在相应的地址符后面。例:#102=60.0;#104=100.0;等同为:G01Z-60.0F100.0;G01Z-#102F#104;7.2知识学习⑶变量的类型有空变量、局部变量、公共变量(全局变量)、系统变量4种,由变量号区分。各类变量的功能见表7-1。表7-1变量类型变量号变量类型功能#0空变量初始化为空的变量。空变量总是空,可以读取,但不能写入。#0通常为空变量。#1~#33局部变量只能在宏程序中存储数据,其作用范围只能是定义该变量的宏程序,即同一代号的局部变量服务于不同的宏程序,可以赋予不同的值。当系统掉电后,变量中的数据将被丢失。#100~#199公共变量是在主程序和不同的宏程序中通用的变量。在不同的宏程序中,同一代号的公共变量是同一变量。系统掉电时,该类变量中的数据将被丢失。#500~#999意义同上。系统掉电时,该类变量中的数据将不会丢失。#1000以上系统变量用于读和写CNC的各种数据,例如刀具的当前位置和补偿值等。⑷变量的取值范围局部变量和公共变量的取值范围是:-1047~-10-29,0,10-29~1047。变量的取值范围与变量的功能字有关,例如引用变量的是刀具功能字T,那么这个变量只能取正整数值,且不能超过刀位号数。7.2知识学习⑸变量的引用除了程序号、顺序号和任选程序段跳转号之外,其它功能字都可以引用变量。①地址字引用变量格式:X变量Y变量Z变量或X[表达式]Y[表达式]Z[表达式]例如:X#6Y#8Z#10或X[#1+#3-2]。变量或表达式的值根据地址的最小设定单位自动四舍五入。如果要改变变量值的符号,只需将“-”放在变量的前面,如:X-#3。当地址字引用未定义的变量(空变量)时,变量和地址字都将被系统忽略。如:假定变量#3的值是0,变量#4是空变量(未赋值),那么指令G00X#3Y#4的效果与指令G00X#3的效果是一样的。②辅助功能字、进给字、刀具功能字、主轴功能字都可以引用变量。但变量的值必须与相应功能字的要求一致。。⑹变量的赋值#1=5,表示将数值5赋给变量#1。赋值有如下要求:①赋值号“=”左边只能是变量,右边可以是表达式、数值或变量;②一个赋值语句只能给一个变量赋值;③可以多次绐一个变量赋值,新变量值将取代原变量值;④当“=”右边是表达式时,赋值语句具有运算功能,其运算顺序与数学运算顺序相同。7.2知识学习3.运算指令变量运算包括算术运算、函数运算和逻辑运算。常用变量运算指令,见表7-2。表7-2常用变量运算指令名称运算符举例名称运算符举例变量的定义和替换=#i=#j正弦函数SIN#i=SIN[#j]加+#i=#j+#k反正弦函数ASIN#i=ASIN[#j]减-#i=#j-#k余弦函数COS#i=COS[#j]乘*#i=#j*#k反余弦函数ACOS#i=ACOS[#j]除/#i=#j/#k正切函数TAN#i=TAN[#j]或OR#i=#J.OR.#k反正切函数ATAN#i=ATAN[#j]异或XOR#i=#j.XOR.#k平方根SQRT#i=SQRT[#j]与AND#i=#j.AND.#k取绝对值ABS#i=ABS[#j]运算的先后顺序是:表达式中括号的运算(括号用“[]”,括号的嵌套不能超过5层)、函数运算、乘除运算、加减运算。7.2知识学习4.控制指令在程序中使用控制指令可以控制程序的执行顺序。常用的控制指令有三种。⑴无条件转移语句(GOTO语句)编程格式:GOTOn;指令说明:程序运行无条件转移到顺序号为n的程序段。n可以取1~99999的数,也可以用表达式。例:N10GOTO30;N20……;……;N30……;⑵条件转移语句(IF…语句)IF语句用来有条件改变程序的执行顺序。条件转移语句有两种编程格式。①IF[条件表达式]GOTOn。如果条件表达式满足(真),则转移到顺序号为n的程序段执行;否则继续往下执行。程序段号n可以由变量或表达式替代。例:N10IF[#2GT20]GOTO20;……N20G00X0Y0;……7.2知识学习②IF[条件表达式]THEN宏语句;如果条件表达式满足(真),执行THEN后面的宏语句;否则继续往下执行。例:IF[#1EQ#2]THEN#3=10;注意:条件表达式必须含有比较运算符。比较运算符见表7-3。表7-3比较运算符运算符名称英文注释运算符名称英文注释EQ等于EQUALGE大于或等于GREATTHANOREqualNE不等于NEQUALLT小于LESSTHANGT大于GREATTHANLE小于或等于LESSTHANOREQUAL应用举例:求1~100中偶数的和。09100#l=0;(存储和数变量的初值)#2=2;(被加数变量的初值)NlIF[#2GT100]GOTO2;(当被加数大于100时转移到N2)#1=#1+#2;(计算和数)#2=#2+2;(下—个被加数)GOTOl;(转到N1)N2M30;(程序结束)7.2知识学习⑶循环语句(WHILE语句)WHILE语句用来有条件地重复执行某些程序段的数控程序。编程格式:WHILE[条件表达式]DOm;(m=1、2、3)……ENDmWHILE与END之间的程序段叫做循环体,当条件表达式满足(真)时,重复执行循环体;当条件表达式不满足(假)时,执行END下面的程序段。指令说明:①DO后面的数字与END后面的数字要一致,且只能是1、2或3;②WHILE和[条件表达式]不可省略,否则程序会进入无限循环;③WHILEDOm和ENDm必须成对使用,且识别号m可重复使用,如图7-3a所示;④循环可以嵌套,最大循环嵌套3层,如图7-3b所示;⑤循环体不可交叉,如图7-3c所示;⑥不能由循环体外转入循环体内,如图7-3d所示;⑦可由循环体内转出循环体外,如图7-3e所示。7.2知识学习7.2知识学习5.宏程序调用指令将含有宏语句的数控加工程序作为子程序,在主程序中调用。一般数控系统有M指令调用方式和G指令调用方式。M指令调用方式:用M98指令调用,其调用格式与普通子程序调用格式一样。G指令调用方式:在调用宏程序的同时,将变量的初值传递给宏程序中的相应变量。⑴非模态调用指令G65编程格式:G65P_L_自变量赋值;式中:P_——要调用的程序号;L_——重复次数(1~9999,省略L值时,默认值为1);自变量赋值——自变量赋值由地址符及数值(带小数点)构成,由它给调用的宏程序中相应的局部变量赋予实际数值。O1111......G65P9999L2A10.B20.......M30O9999#3=#1+#2;IF[#3GE180]GOTO100;G00U#3;N100M99;图7-4G65编程举例例:宏程序非模态调用G65的编程实例如图7-4所示。程序执行结果:数据10.0赋给#1,数据20.0赋给#2,#3=30.0,机床动作G00U30.0。7.2知识学习⑵自变量赋值向宏程序本体传递数据时,须由自变量赋值来指定,其值可以有符号和小数点,且与地址无关。局部变量与其对应的自变量赋值有两种类型。①自变量赋值I:用英文字母后加数值进行赋值,每个字母赋值一次。除I、J、K外,其余字母赋值不必按字母顺序进行。见表7-4。②自变量赋值Ⅱ:使用A、B、C和Ii、Ji、Ki(i为1~10,用于确定自变量指定的顺序,编程中不写),同组的I、J、K必须按字母顺序指定。见表7-5。不赋值的地址可以省略。表7-4自变量赋值I地址与局部变量的对应关系地址变量号地址变量号地址变量号A#1E#8T#20B#2F#9U#21C#3H#11V#22I#4M#13W#23J#5Q#17X#24K#6R#18Y#25D#7S#19Z#26表7-5自变量赋值Ⅱ地址与局部变量的对应关系地址变量号地址变量号地址变量号A#1K3#12J7#23B#2I4#13K7#24C#3J4#14I8#25I1#4K4#15J8#26J1#5I5#16K8#27K1#6J5#17I9#28I2#7K5#18J9#29J2#8I6#19K9#30K2#9J6#20I10#31I3#10K6#21J10#32J3#11I7#22K10#337.2知识学习自变量赋值注意以下几点:①尽量使用自变量赋值I进行赋值。如果自变量赋值I和Ⅱ混合赋值,CNC内部自动识别自变量赋值I和Ⅱ,以从左到右书写的顺序,较后赋值的自变量类型有效。例:②没有小数点的自变量数据的单位为机床实际系统的最小设定单位。建议在宏程序调用中一律使用小数点。③调用可以四级嵌套。包括非模态调用(G65)和模态调用(G66),但不包括子程序调用(M98)。④局部变量嵌套从0级到4级,主程序是0级。用G65调用宏程序(第1级)时,主程序的局部变量(0级)被保存,再重新为宏程序(第1级)准备了另外一套变量#1~#33(1级),可以再向它赋值。当M99时,控制返回到调用的程序,此时,局部变量级别减1,并恢复宏程序调用时保存的局部变量值。A→#1=1.0B→#2=2.0I→#4=-3.0I→#7=4.0D→#7=5.0G65P0010A1.0B2.0I-3.0I4.0D5.0;⑶模态调用指令(G66)格式:066P_L_自变量赋值;......;G67;(取消用户宏程序)当程序执行了模态调用指令G66后,在至G67指令取消之前,每执行一段有移动指令的程序段,就调用一次宏程序,在没有移动指令的程序段不执行调用。式中:P、L、自变量赋值意义同G65。7.2知识学习图7-5G66编程举例O1112:G66P9100L2A1.0B2.0;S400G00G90X100.0;S800;G01X=80.0;G67;:M30;O9100:G00Z=#1;G01Z=#2F100;::M99如图7-5所示,G66P9000L2A1.0B2.0;模态调用宏程序O9100两次,并且传送变量值#1=1.0、#2=2.0。G00G90X100.0;这个指令段移动X轴后也要执行宏程序调用两次,变量值也传送两次。其它两个程序段也是一样,直至G67取消模态宏程序调用为止。7.2.2车削非圆弧曲面编程1.抛物线曲面工件加工加工如图7-6所示的抛物线曲面零件,工件坐标如图所示。⑴自变量赋值地址与对应的局部变量及自变量的引入:①加工步距0.01mm通过地址A赋予#1;②抛物线参数15通过地址C赋予#3;③加工终点Z坐标-30通过地址D赋予#7;④X坐标初值0通过地址E赋予#8;⑤进给速度0.05mm/r通过地址F赋予#9。⑵加工程序见表7-6。7.2知识学习7.2知识学习表7-6抛物线曲面加工程序主程序程序说明O0091N20G50X200.0Z200.0;N30M03S800;N40T0101;N50G4

1 / 25
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功