
公式曲线宏程序教案.ppt
36页数控车公式曲线程序编制数控车公式曲线程序编制整理ppt一、宏程序概述一、宏程序概述 在程序中使用变量,通过对变量进行赋值及处理的方法达到程序功能,这种有变量的程序叫宏程序二、宏程序分类二、宏程序分类 宏程序分为A类和B类;我们一般常用的是B类宏程序 A类:G65 H P Q R G65:调用变量 H:宏程序功能,01-99 P:运算结果 Q:被操作第一变量名 R:被操作第二变量名 两类 如:G65 H02 P﹟1 Q﹟2 R﹟3 A类宏程序较难记忆,应用较麻烦 B类:通过算术和逻辑运算进行赋值 如:﹟1=﹟2+﹟3 B类更接近使用习惯,故平时多用B类 整理ppt三、运算符与表达式三、运算符与表达式(1)运算符及指令类型功能运算符格式说明算术运算符和+﹟1=﹟2+﹟3 差-﹟1=﹟2-﹟3积×﹟1=﹟2×﹟3商÷﹟1=﹟2/﹟3条件运算符等于EQ﹟1EQ﹟3﹟1=﹟3不等于NE﹟1NE﹟2﹟1≠﹟2小于LT﹟2LT﹟3﹟2<﹟3小于或等于LE﹟1LE﹟3﹟1≤﹟3大于GT﹟2GT﹟3﹟2>﹟3大于或等于GE﹟2GE﹟3﹟2≥﹟3逻辑运算符或OR﹟1OR﹟3 与AND﹟2AND﹟3异或XOR﹟2XOR﹟3函数正弦SIN﹟2=SIN[﹟3]余角用角度单位指令 如:90°30′为90.5°余弦﹟2=COS[﹟3]正切TAN﹟2=TAN[﹟3]反正切ATAN﹟2=ATAN[ ﹟3]平方根SQRT﹟2=SQRT[﹟3] 绝对值ABS﹟2=ABS[﹟3]整理ppt(2)表达式①循环控制语句(WHILE语句语句) 编程格式:WHILE[条件表达式条件表达式]Dom(1、、2、、3);; · · ·ENDm; 当条件表达式的条件满足时,执行WHILE到END当中的程序段,否则转到下一条,执行最多3重 WHILE [ ]DO1; · · ·WHILE [ ]DO2; · · ·WHILE [ ]DO3; · · ·END3; · · ·END2; · · ·END1;整理ppt②条件判别语句(IF与GOTO语句) 编程格式 IF[条件表达式条件表达式] GOTOn;; 其中n为程序段号,条件成立时转到n段处执行,条件不成立时顺序执行整理ppt四、编制宏程序加工公式曲线的一般步骤四、编制宏程序加工公式曲线的一般步骤(一)选择自变量1、公式曲线中的X和Z坐标任意一个都可以作为自变量;2、一般选择变化范围大的作为自变量。
车削加工中通常选Z坐标为自变量;3、根据表达式的方便情况来确定X或Z作为自变量;4、宏变量的定义完全可以根据个人习惯设定二)确定定义域自变量的起止点坐标值是相对于公式曲线自身坐标系的坐标值(椭圆自身坐标原点为椭圆中心)其中起点坐标为自变量的初始值,终点坐标为自变量的终止值三)用自变量表示因变量的表达式 进行函数变换,确定因变量相对于自变量的宏表达式整理ppt五、数控车削加工宏程序编程实例五、数控车削加工宏程序编程实例例例1..运用宏程序编制车削加工如图所示外圆零件,已知毛坯材料直径Ø60mm.分析: 图中可以看出,编程所需节点中除D、E外,A、B、C三点坐标值均与球半径R有关,若用变量#1表示R,则编程:整理pptO0001;G00G40G97G99S500M03T0101F0.2; (选择粗加工参数)#1=20; (将半径值“20”赋值给变量#1)X62.0Z[#1+2]; (到快速移动到循环点)G00G42X0; (精加工外轮廓起始程序段)G01Z#1; (A点)G03X[2*#1]Z0R#1; (B点)G01Z[-#1]; (C点)X55.0Z-50.0; (D点)Z-62.0; (E点)G40X62.0; G00X200.0Z200.0M05;(精加工外轮廓结束程序段)M30;整理ppt例例2. 运用宏程序编制车削加工如图所示螺纹零件,已知毛坯材料直径Ø35mm.O0002;G00G40G97G99S250M03T0202; (选择加工参数)X27.0Z5.0; (快速移动到循环点)#1=24; (螺纹公称直径赋值)#2=0.2; (每次吃刀深度赋值,初始值)N1 IF[#1LT22.05]GOTO2; (加工到小径尺寸循环结束)G92X[#1]Z-22.0F1.5; (螺纹加工循环) #1=#1-#2; (改变螺纹加工直径) IF[#1LT22.35]THEN#2=0.1; (直径小于22.35时每次吃刀深度为0.1)IF[#1LT22.15]THEN#2=0.05; (直径小于22.15时每次吃刀深度为0.05)GOTO1; (转向程序段1) N2G92X22.05Z-22.0F1.5; (在小径处精加工一刀)G00X200.0Z200.0M05;M30;分析:其他尺寸已加工完毕,只编制宏程序加工螺纹:整理ppt六、二次曲线方程六、二次曲线方程1.椭圆曲线 X=acosθ (a>b) Z=bsinθZ=acosθ (a>b)X=bsinθ整理ppt 2.抛物线抛物线整理ppt3.双曲线双曲线标准方程及参数方程标准方程及参数方程 (a>0 b>0) 整理ppt4.4.正弦曲线正弦曲线5.余弦曲线余弦曲线注意:其实余弦曲线可看作点正弦曲线在Z向适当平移后得到的,即位置不同的正弦曲线整理ppt七、二次曲线编程实例七、二次曲线编程实例例例1::编制如图椭圆部分的程序WHILEWHILE循环:(标准方程)循环:(标准方程)O0001;G00G40G97G99S500M03T0101F0.2; (选择加工参数)X42.0Z37.0; (刀具快进接近工件)G00 G42 X0; (刀具定位到X0位置并加上补偿)G01 Z0; (刀具工进到Z0)#1=35.0; (Z赋初值)WHILE[#1GE0]DO1; (若Z值大于等于0时执行循环1)N1 #2=18*SQRT[1-[#1*#1]/[35*35]]; (计算X坐标值)#3=#1; (Z坐标值)G01X[2*#2]Z[#3]F0.08; (直线插补逼近椭圆曲线)#1=#1-0.5(该值要大于刀尖的圆弧半径值); (Z坐标值加增量)END1; (循环1结束)G01X36.0Z0;X38.C1.;Z-30.;X40; G00X200.0Z200.0M05;M30;整理pptWHILEWHILE循环:(参数方程)循环:(参数方程)O0001;G00G40G97G99S500M03T0101F0.2; (选择加工参数)X42.0Z37.0; (刀具快进接近工件)G00 G42 X0; (刀具定位到X0位置并加上补偿)G01 Z0; (刀具工进到Z0)#1=0; (角度赋初值)WHILE[#1LE90]DO1; (若θ值小于等于90°时执行循环1)N1 #2=35.*COS[#1]; (计算X坐标值)#3=18.*SIN[#1]; (计算Z坐标值)G01X[2*#2]Z[#3]F0.08; (直线插补逼近椭圆曲线)#1=#1+0.5; (角度值加增量)END1; G01 X36.0 Z0; (循环1结束)X38.C1.;Z-30.;X40; G00X200.0Z200.0M05;M30;整理pptIFIF…GOTOGOTO…( (标准方程标准方程) )O0001;G00G40G97G99S500M03T0101F0.2; (选择加工参数)X42.0Z37.0; (刀具快进接近工件)G00 G42 X0; (刀具定位到X0位置并加上补偿)G01 Z0; (刀具工进到Z0)#1=35.0; (Z赋初值)N1 IF[#1LT0]GOTO2; (若Z值小于0时执行循环2)#2=18*SQRT[1-[#1*#1]/[35*35]]; (计算X坐标值)#3=#1; (计算Z坐标值)G01X[2*#2]Z[#3]F0.08; (直线插补逼近椭圆曲线)#1=#1-0.2(此值要大于等于刀具半径补偿值); (Z坐标值加增量)GOTO1; (转向程序段1)N2G01X36.0Z-35.0;X38.C1.;Z-30.;X40; G00X200.0Z200.0M05;M30;整理pptIFIF…GOTOGOTO…( (参数方程参数方程) )O0001;G00G40G97G99S500M03T0101F0.2; (选择加工参数)X42.0Z37.0; (刀具快进接近工件)G00 G42 X0; (刀具定位到X0位置并加上补偿)G01 Z0; (刀具工进到Z0)#1=0; (角度赋初值)N1 IF[#1GT90]GOTO2; (若θ值大于90°时执行循环2)#2=35.*COS[#1]; (计算X坐标值)#3=18.*SIN[#1]; (计算Z坐标值)G01X[2*#2]Z[#3]F0.08; (直线插补逼近椭圆曲线)#1=#1+0.5;(角度值加增量)GOTO1; (转向程序段1)N2G01X36.0Z-35.0;X38.C1.;Z-30.;X40; G00X200.0Z200.0M05;M30;整理ppt例例2 2::编制如图椭圆部分的程序编制如图椭圆部分的程序(1)编程方法一:用IF语句编程 O0001; G0G40G99G97S500M03T0101F0.2; X0 Z2.; ﹟1=35.0; N10IF[﹟1LT0]GOTO20; ﹟2=20*SQRT[35*35-﹟1*﹟1]/35; G01X[2*﹟2] Z[﹟1-35.0]; (Z=-[35-﹟1]=[﹟1-35.0]) ﹟1=﹟1-0.2 (此值要大于等于刀具半径补偿值); GOT010; N20 G01 X40.0 Z-40.0; X45.0; Z-65.0; X51.0; G00 X200.0 Z200.0 M05; M30;整理ppt (2)编程方法二:用WHILE语句编程 WHILE语句与IF语句相反,当条件成立时则执行循环程序内容。
O0002; G00G40G99G97S500M03T0101F0.2;X0. Z2.0; ﹟1=35.0;WHILE[﹟1GE0] DO1;﹟2=20﹡SQRT[35﹡35-﹟1﹡﹟1]/35; G01X[2﹡﹟2] Z[﹟1-35.0]; (Z=-[35-﹟1]=[﹟1-35.0]) ﹟1=﹟1-0.2 (此值要大于等于刀具半径补偿值);END1;G01 X40.0 Z-40.0; X45.0; Z-65.0; X51.0;G00 X200.0 Z200.0 M05;M30;以上两种方法所编程序只可完成单次走刀精加工,通过刀具改变磨耗值来实现多次走刀的粗加工及精加工但此方法要跳刀多次,较为麻烦,影响加工效率整理ppt((3)用循环加工指令()用循环加工指令(G71,,G73,,G70)编程)编程 在华中系统中应用G71,G73都可以进行宏编程的嵌套;在FANUC系统用G73进行嵌套 O0003; N1;G00G40G99G97S500M03T0101F0.2; X52.0 Z2.0; G73U25 R10; G73 P10 Q11 U0.5 W0.05; N10 G00 G42 X0; G01 Z0.; ﹟1=35.0; WHILE [﹟1 GE0]DO1; · · · N11 G40 X51.0; G00 X200.0 Z200.0 M05;N2; G00G40G99G97S500M03T0101F0.08; X52.0 Z2.0; G70 P10 Q11; G00 X200.0 Z200.0 M05;M30;整理ppt例例3::编制如图椭圆部分的程序编制如图椭圆部分的程序整理ppt步骤:1、选择表达式;2、选择自变量;3、确定定义域;4、确定因变量;5、G01直线插补逼近椭圆曲线。
参考程序如下:O0001;G00G40G97G99S500M03T0101F0.2; X52.0Z2.0; G00 G42 X0; G01 Z0;X30.1C1.;X32.1Z-20.;X42.R4.95;Z-34.769; #1=13.231; N1 IF[#1LT0]GOTO2; #2=12*SQRT[1-[#1*#1]/[20*20]]; #3=#1; G01X[2*#2+24]Z[#3-48]F0.08; #1=#1-0.2 (此值要大于等于刀具半径补偿值) ; GOTO1; N2G01X48.;Z-60.;X52.; G00X200.0Z200.0M05;M30;整理ppt练习练习例例4:编制如图椭圆部分的程序:编制如图椭圆部分的程序参考程序如下:O001;G00 G40G97G99S600M3F0.25T0101;X52.Z2.;G00G42X0;G01Z0;X36.C1.;Z-4.063;#1=7.937;#2=-7.937;WHILE[#1GE#2]DO1#3=8*SQRT[1-[#1*#1]/[12*12]];#4=#1;G01X[48-2*#3]Z[#4-12];#1=#1+0.2 (此值要大于等于刀具半径补偿值);END1;G01X36.;Z-22.928;G03X38.68Z-27.928R10.;G01X48.Z-36.;Z-60.;G00X52.;X200.Z200.;M05;M30;整理ppt例例5::编制如图椭圆部分的程序参考程序如下:O001;G00 G40G97G99S600M3F0.25T0101;X52.Z2.;G00X20S1200M3F0.08;G01Z0;X35.874;#1=15.0;#2=-13.229;WHILE[#1LE#2]DO1#3=12*SQRT[400-#1*#1]/20;#4=#1;G01X[#3+20]Z[#4-15];#1=#1-0.2 (此值要大于等于刀具半径补偿值);END1;G01X38.;Z-42.R4.;X48.C1.;Z-43.;N11G00X52.;X200.Z200.;M05;M30;整理ppt例例6::编制如图椭圆部分的程序分析:利用旋转转换矩阵: 注:椭圆顺时针旋转时,注:椭圆顺时针旋转时,β角取负值;逆时针旋角取负值;逆时针旋转时,转时,β角取正值。
角取正值则有 整理得到:整理ppt 旋转矩阵公式的推导旋转矩阵公式的推导旋转变换就是将平面上任意一点绕原点旋转θ角,一般规定逆时针为正,顺时针为负如图所示:在XOY坐标系中,将A点绕X轴逆时针旋转θ角到B点,其中A(x1,y1),B(x2,y2),OA=OB=r则有A: B:则B 点坐标为:得到矩阵变换公式整理pptO0001;G00G40G99G97S500M03T0101F0.2;X56.0 Z2.0;G0 X26.87;G01 Z0;﹟1=13.35;WHILE [﹟1 GE-16.17] DO1;﹟2=10﹡SQRT[1-[﹟1﹡﹟1]/[20*20]];﹟3=﹟1﹡SIN[-20]+﹟2﹡COS[-20];﹟4=﹟1﹡COS[-20]-﹟2﹡SIN[-20]; G01 X[50+2﹡﹟3] Z[﹟4-10]; ﹟1=﹟1-0.2 (此值要大于等于刀具半径补偿值); END1; G01 X50.0 Z- 27.16; Z-40.0; G40 X56.0; G00 X200.0 Z200.0 M05; M30; 整理ppt例例7::编制如图椭圆部分的程序在车床上所用椭圆旋转计算公式如下:在车床上所用椭圆旋转计算公式如下:Z′=ZCOSZ′=ZCOS- -XSIN根据编程用是宏程序,只要计算出旋根据编程用是宏程序,只要计算出旋转后椭圆的起点和终点的转后椭圆的起点和终点的Z坐标值就可坐标值就可以了如上图以了如上图椭圆的起点:椭圆的起点:X- -9.176,,Z4.246;;椭圆的终点:椭圆的终点:X- -5.176,,Z- -19.319;;旋转后椭圆的起点:旋转后椭圆的起点:Z=4.246×COS6×COS - -15-(-15-(-9.176×SIN-15) ×SIN-15) =1.725旋转后椭圆的终点:旋转后椭圆的终点:Z=- -19.39×(COS-×(COS-15)-(-15)-(-5.176×SIN-15) ×SIN-15) =- -20.07;;参考程序如下:参考程序如下:G0X60Z5G1X50F0.5G1X50F0.5Z-38.435Z-38.435##1=1.7251=1.725((Z Z值)值)WHILE[WHILE[##1GE-20]DO11GE-20]DO1##2=10**SQRT[1-##1*#*#1/400] ##3=3=##2 2**COS[-15] +COS[-15] +##1 1**SIN[-15]SIN[-15]##4=4=##1 1**COS[-15] -COS[-15] -##2 2**SIN[-15]SIN[-15]G1X[68.352--2*#*#3]Z[3]Z[##4 4--42.861] 42.861] ##1=1=##1-0.011-0.01 (此值要大于等于刀具半径补偿值)END1END1G1X58G1X58Z-74Z-74G0X100G0X100Z150Z150M30 整理ppt例例8::编程下图的粗精加工程序参考程序如下:O0001;G00G40G99G97S500M03T0101F0.2; X47.0 Z2.0;G73 U20.0 R10;G73 P10 Q11 U0.5 W0.05;N10 G00 G42 X0; G01 Z0; ﹟1=0;(Z为自变量) WHILE [﹟1 GE-22.5] DO1; ﹟2=SQRT[-10﹡﹟1];(因变量X) G01 X[2﹡﹟2] Z[﹟1]; ﹟1=﹟1-0.25 (此值要大于等于刀具半径补偿值); END1;G01 X30.0 Z22.5;Z-45.0;N11 G40 X40.0;G00 X200.0 Z200.0 M05;N2; G00G40G99G97S500M03T0101F0.08;X47.0 Z2.0; G70 P10 Q11; G00 X200.0 Z200.0 M05; M30; 整理ppt例例9 9::编程下图的粗精加工程序参考程序: O0001; G00G40G99G97S500M03T0101F0.2; X52.0 Z2.0; G73 U25.0 R10; G73 P10 Q11 U0.5W0.05; N10 G0 G42 X0; G01 Z0; ﹟1=0;(X为自变量) WHILE [﹟1 GE13]DO1; ﹟2=-0.1﹡﹟1﹡﹟1; G01 X[2﹡﹟1] Z[﹟2]; ﹟1=﹟1+0.2 (此值要大于等于刀具半径补偿值); END1; G01 x26.0 z-16.9; Z-37.0; ﹟3=0;(Z为自变量) N4 IF [﹟3 LE-5]GOTO5; ﹟4=8﹡SQRT[5﹡5-﹟3﹡﹟3]/5;G01 X[2﹡﹟4+42.0] Z[﹟3-37.0]; ﹟3=﹟3-0.2; GOTO4; N5G01 X46.0 Z-42.0; Z-63.0; N11 G40 X52.0; G00 X200.0 Z200.0 M05; N2; G00G40G99G97S500M03T0101F0.08; X52.0 Z2.0; G70 P10 Q11; G00 X200.0 Z200.0 M05; M30;整理ppt例例10::编程下图的粗精加工程序参考程序如下:O0001; N1; G00G40G99G97S500M03T0101F0.2; X42.0 Z2.0;G73 U10.0 R4;G73 P10 Q11 U1.2 W0.05;N10 G00 G42 X30.0; G01 Z-15.0; ﹟1=14.53; WHILE [﹟1GE-19.46] DO1; ﹟2=10﹡SQRT[13﹡13+﹟1﹡﹟1]/13;G01 X[2﹡﹟2] Z[﹟1-29.53];﹟1=﹟1-0.2 (此值要大于等于刀具半径补偿值);END1;G01 X36.0 Z-48.99;Z-61.0;N11 G40 X42.0;G00 X200.0 Z200.0 M05;N2;G00G40G99G97S500M03T0101F0.08;X42.0 Z2.0;G70 P10 Q11;G00 X200.0 Z200.0 M05;M30;整理ppt例例11::编程下图的粗精加工程序参考程序:O0001;N1; G00G40G99G97S500M03T0101F0.2;X81.0 Z2.0;G73 U36 R18;G73 P10 Q11 U1.2 W0.05;N10 G0 G42 X0;G01 Z0;﹟1=17.32;(Z为自变量) WHILE [﹟1 GE0] DO1;﹟2=-10﹡SQRT[10﹡10+﹟1﹡﹟1]/10; G01 X[2﹡﹟2+40] Z[﹟1-17.32];﹟1=﹟1-0.2 (此值要大于等于刀具半径补偿值);END1;G01 X20.0 Z-17.32; G02 X36.0 Z-33.32 R20.0; G03 X60.0 Z-57.32 R30.0; G01 W-15.0; G02 X72.0 W-6.0 R6.0; G01 Z-89.0; N11 G40 X81.0; G00 X200.0 Z200.0 M05; N2; G00G40G99G97S500M03T0101F0.08; X81.0 Z2.0; G70 P10 Q11;G00X200.0 Z200.0 M05; M30;整理ppt例例12::编程下图的粗精加工程序参考程序 方法一: O0001;(以Z为自变量) N1; G00G40G99G97S500M03T0101F0.2; X32.0 Z2.0; G73 U7.0 R4; G73 P10 Q11 U1.2 W0,05; N10 G0 G42 X20.0; G01 Z0; ﹟1=3; ﹟2=30; (Z长度) ﹟10=30;(Z坐标为自变量) WHILE [﹟10 GE0] DO1; ﹟11=﹟10﹡360/﹟2; ﹟12=﹟1﹡SIN[﹟11] ; G01 X[2﹡﹟12+20] Z[﹟10-30]; ﹟10=﹟10-0.2 (此值要大于等于刀具半径补偿值); END1; G01 Z-30.0; N11 G40 X32,.0; G00 X200.0 Z200.0 M05; N2; G00G40G99G97S500M03T0101F0.08; X32.0 Z2.0; G70 P10 Q11; G00 X200.0 Z200.0 M05; M30;整理ppt方法二: O0001; N1;G00G40G99G97S500M03T0101F0.2; X32.0 Z2.0; G73 U7.0 R4; G73 P10 Q11 U1.2 W0.05; N10 G0 G42 X20.0; G01 Z0; ﹟1=3; ﹟2=30; ﹟10=360; WHILE [﹟10 GE0] DO1; ﹟11=﹟1﹡SIN[﹟10]; ﹟12=﹟2﹡﹟10/360; G01 X[2﹡﹟12+20] Z[﹟12-30]; ﹟10=﹟10-0.5; END1; N11 G01 G40 X32.0; G00 X200.0 Z200.0 M05; N2; G00G40G99G97S500M03T0101F0.08; X32.0 Z2.0; G70 P10 Q11; G0 X200.0 Z200.0 M05; M30;整理ppt谢谢 谢谢 !!整理ppt此课件下载可自行编辑修改,供参考!感谢您的支持,我们努力做得更好!整理ppt。












