数控车床宏程序编程模板在数控大赛中的应用

合集下载

数控车床华中系统用户宏程序编程

数控车床华中系统用户宏程序编程

如图2,Z坐标为自变量#2,则X坐标为因变量#1,那么X用Z表示为:
分别用宏变量#1、#2代替上式中的X、Z,即得因变量#1相对于自变量#2的宏表达式:
如图1,Z坐标为自变量#2,则X坐标为因变量#1,那么X用Z表示为:
3、如何进行函数变换,确定因变量相对于自变量的宏表达式

如图3,X坐标为自变量#1,因Z坐标为因变量#2,那么Z用X表示为:
IF 条件表达式 IF 条件表达式
02
… …
ELSE ENDIF

05
ENDIF
格式:WHILE 条件表达式

ENDW
5、循环语句WHILE,ENDW
二、公式曲线宏程序编程模板的具体应用实例
运用以上公式曲线宏程序模板,结合粗加工循环指令,就可以快速准确实现零件公式曲线轮廓的编程和加工。具体应用示例如下: 例1:如图1所示零件的外轮廓粗精加参考程序如下(设毛坯为直径25毫米的棒料): %0001(程序头) T0101(调用01号外圆刀及01号刀具偏置补偿) G90 M03 S700(绝对值编程;主轴以700转/分正转) G00 X33 Z2(快速定位到粗加工循环起点) G71 U1 R0.5 P10 Q20 X0.6 F100(外径粗车循环) N10 G01 X10 F60 S1000(精加工起始程序段) Z-10 X24 Z-22(公式曲线起点) #2=8(设Z为自变量#2,给自变量#2赋值8:Z1=8) WHILE #2 GE [-8](自变量#2的终止值-8:Z2=-8) (因变量#1: 用#1、#2代替X、Z) #11=-#1+15(工件坐标系下的X坐标值#11:编程使用的是负轮廓,#1前冠以负;ΔX=15) #22=#2-30(工件坐标系下的Z坐标值#22:ΔZ=-30) G01 X[2*#11] Z[#22](直线插补,X为直径编程) #2=#2-0.5(自变量以步长0.5变化) ENDW(循环结束) N20 G01 Z-50(精加工终止程序段) G00 X100 Z80(快速定位到退刀点) M30(程序结束)

A类系统宏程序在数控大赛中的应用

A类系统宏程序在数控大赛中的应用

【+ 2, Z 1】使用 G 0单一 内外径循 环指令从 大径 ( 2 ) 工 9 x= 4 加
f, 径( = 1 )z值 的取值范围卜1 ,3 U, X 2 , J 2一 】 该零件加工抛物线段前 的工件为如图 3 。
N1 6 0 # 0 # O 01 ( 式 中 z方向每次 0G 5H 3P 1 1 1 l .; Q R 方程
G 1 # 0 # 0 10( 0 14 1 1 0 ; X Z F 使用外径单一循环粗加工)
G 5H8 1 # O 1 ;循 环语 句,假如 # 0 6 3P 0Q 1 l R一 2 ( 1 1大 于
2 7

1 2时候, 跳至 N1 0执行 ,、 / 于则顺序执行) J
G00 1 X 00;
G 0X 1 4 # 0 1 0 ( 9 # 0 11 5 ; Z F 使用外径单一循环粗加工)
G 5H8 I # O R 3 ( 6 4P O 1 ] 一 ; Q 循环语句,假如 # 0 小 于 一 11 3 时候 , 至 N1 跳 0执行, 于则顺序执行) 大
G 00X 10 0; M 05; M 30;
T 1 1( 0 0 ;使用一 号刀 , 刀偏号为 0 号) 1
M0 3¥ 0 : 8 0
G00 X0 Z5; G01Z0 F1 00;
我们把 z值 作为变 量值求 X值 ,方 程变换 成 : = QR XS T
G 5H 1 # 0 O ( 6 0 1 1 ;z方 向初始值赋值 ) P Q

. N1 5H0 # 0 # O 一 . z作为变量 ,1、 0G6 3P 1 1 1 1R 01( Q #0 1每
【 摘 要 】 数控技能大赛 通过竞赛项目 检查各职业院 可以 校的 教学 是否体现了 以 “ 服务为宗旨, 就业为导向” 学宗 以 的办

宏程序在数控车床编程中的应用

宏程序在数控车床编程中的应用

A PPLICATION技术与应用编辑 强 音宏程序在数控车床编程中的应用文/范 峰从传统数控机床加工工序来说,数控机床的操作指令都是通过ISO指令的编程来达到的。

这种指令往往是一经设定好就不可以改版的。

这就限制了数控机床操作的灵活性,很多工序性质复杂的零件的制作过程不能使用这些通过ISO指令编写的程序。

因此,在如今的数控机床程序中引入宏程序技术,可以十分方便灵活地根据所需制作零件的数据进行数控机床程序的调整,提升数控机床工作效率,也能更精准地完成零件加工。

一、利用宏程序优化加工,提升零件加工效率使用宏程序进行加工零件编写,属于利用人工进行手动编程的范畴。

通过编程人员对于函数程序的设定,在进行加工的时候读取实现设定好的算法,再结合零件加工要求来进行具体化的加工。

这种需要利用数学公式并让CNC系统来确定零件坐标的方式可以快速地进行数据具体参数的调整,因此宏程序在数控机床编写程序来加工程序的方式对于复杂零件加工具备巨大的优势,但是在进行结构比较简单的零件加工的时候就有很多额外的读取步骤,这无形之中加重了数控机床读取数据加工的负担,所以在利用宏程序进行数控机床加工步骤的编写时,要根据加工零件的要求灵活改变宏程序算法。

在编写的宏程序的时候,编写程序人员需要首先对于要求加工的零件进行结构观察,认真分析零件的几何特点,建立相应的几何模型帮助程序员来立体化零件数字模型,从而在加工过程中设置需要进行加工的不同算法,例如零件加工程序算法、走刀最优路线、切入切出方式等。

需要注意的是,在进行宏程序编写的时候,要尽量减少程序运行次数,做到最简化运行程序,在设置坐标参数的时候也要注意观察零件构造,编写最合理简洁的循环程序。

需要注意的是,在进行局部编写和整体编写设置的过程中,要根据变量之间的传递关系来设定,把需要加工的尺寸参数利用宏指令的加工在数控机床中表现出来。

由于很多需要加工的零件的参数只是有一些不同的地方,在进行加工的时候如果每次都需要进行数控机床的重新编程就十分繁琐。

数控车工高级部分(宏程序应用)

数控车工高级部分(宏程序应用)

数控车工高级部分(宏程序应用)1、直线宏程序2、圆弧宏程序3、椭圆宏程序4、函数曲线宏程序5、抛物线宏程序6、双曲线宏程序7、圆弧、椭圆、双曲线、抛物线、螺旋宏程序8、综合题形练习加工课题一:直线宏程序(一)图1-1直线方程式:X=KZ+B解题思路:1、直线两点(X 30 , Z 0)(X 50 , Z -22).2、根据线形方程式得:30=K*0+B50=K*(-22)+B得:B=30K=-0.90903、方程式为:X=-0.9090Z+304、长度宏变量范围:Z0 ~Z-225、设自变量#1=0 #2=-226、应用循环语言WHILE [ ] DO1END1精加工程序内容:O0001;M03 S1000;T0101;G00 X55 Z2;#1=0;#2=-22;WHILE [ #1GE#2 ] DO1;#3= -0.9090*#1+30;G01 X[#3] Z[#1] F0.1#1=#1-0.05END1;G00 X100 Z100;M30;粗加工程序内容:O0001;M03 S650;T0101;G00 X55 Z2;#1=0;#2=-22;WHILE [ #2LE#1 ] DO1;#3= -0.9090*#2+30;G01 X[#3+1] F0.25;G01 Z[#2+0.5] F0.1;G00 U1 W0.5;Z2;#2=#2+2;END1;G00 X100 Z100;M30;课题一:直线宏程序(二)图1-2直线方程式:X=KZ+B解题思路:1、直线两点(X 50 , Z -20)(X 30 , Z -42).2、根据线形方程式得:50=K*-20+B30=K*(-42)+B得:B=68.18K=0.90903、方程式为:X=0.9090Z+68.184、长度宏变量范围:Z-20 ~Z-425、设自变量#1=-20 #2=-426、应用循环语言WHILE [ ] DO1END1精加工程序内容:O0001;M03 S1000;T0101;G00 X55 Z-20;#1=-20;#2=-42;WHILE [ #1GE#2 ] DO1;#3= 0.9090*#1+68.18;G01 X[#3] Z[#1] F0.1#1=#1-0.05END1;G00 X100 Z100;M30;粗加工程序内容:O0001;M03 S650;T0101;G00 X55 Z-20;#1=-20;#2=-42;WHILE [ #1GE#2 ] DO1;#3= 0.9090*#1+68.18;G01 X[#3+1] Z[#1-0.5] F0.25;G01 Z[#2]G00 U1 W0.5;Z [#1-0.5];#1=#1-2;END1;G00 X100 Z100;M30;课题一:直线宏程序(三)直线方程式:X=KZ+B解题思路:1、直线两点(X 44, Z 0)(X 30 , Z –40).2、根据线形方程式得:44=K*0+B30=K*(-40)+B得:B=44K=0.353、方程式为:X=0.35Z+444、长度宏变量范围:Z0 ~Z-405、设自变量#1=0 #2=-406、应用循环语言WHILE [ ] DO1END1精加工程序内容:O0001;M03 S1000;T0101;G00 X28 Z2;#1=0;#2=-40;WHILE [ #1GE#2 ] DO1;#3= 0.35*#1+44;G01 X[#3] Z[#1] F0.1#1=#1-0.05END1;G00 Z100;M30;粗加工程序内容:O0001;M03 S650;T0101;G00 X28 Z2;#1=0;#2=-40;WHILE [ #2LE#1 ] DO1;#3= 0.35*#2+44;G01 X[#3-1] F0.25;Z[#2+0.5];G00 U-1 W0.5;Z 2;#2=#2+2;END1;G00 Z100;M30;课题一:直线宏程序(四)直线方程式:图示右斜线直线方程式:X=KZ+B图示左斜线直线方程式:X=KZ+B解题思路:1、直线两点(X 50, Z -20)(X 30 , Z –42).2、直线两点(X30, Z –58)(X 50 , Z –80).3、根据右斜线形方程式得:50=K*-20+B30=K*(-42)+B得:B=68.18K=0.90904、根据左斜线形方程式得:30=K*-58+B50=K*(-80)+B得:B=-22.722K=-0.90905、方程式为:图示右斜线直线方程式:X=0.9090Z+68.18图示左斜线直线方程式:X=-0.9090Z-22.7226、长度宏变量范围:Z-20 ~Z-42 Z-58 Z-807、设自变量#1=-20 #2=-42 #3=58 #4=-808、应用循环语言WHILE [ ] DO1END1精加工程序内容(一):O0001;M03 S1000;T0101;G00 X55 Z-20;#1=-20;#2=-42;#3=-58;#4=-80;WHILE [ #1GE#2 ] DO1;#5= 0.090*#1+68.18;G01 X[#5] Z[#1] F0.1;W-16;#6=-0.090*#3-22.722G01 X[#6] Z[#3]F0.15;#1=#1-0.05#3=#3-0.05END1;G00 X100 Z100;M30;精加工也可这样编写(二):O0001;M03 S1000;T0101;G00 X55 Z-20;#1=-20;#2=-42;#3=-58;#4=-80;WHILE [ #1GE#2 ] DO1;#5= 0.090*#1+68.18;G01 X[#5] Z[#1] F0.1;#1=#1-0.05END1G01 W-16 F0.15;WHILE [ #3GE#4 ] DO2;#6=-0.090*#3-22.722G01 X[#6] Z[#3]F0.15;#3=#3-0.05END2;G00 X100 Z100;M30;精加工也可这样编写(三):O0001;M03 S1000;T0101;G00 X55 Z-20;#1=-20;#2=-42;#3=-58;#4=-80;WHILE [ #1GE#2 ] DO1;WHILE [ #3GE#4 ] DO2;#5= 0.090*#1+68.18;#6=- 0.090*#1-22.722;G01 X[#5] Z[#1] F0.1;G01 W-16;G01 X[#6] Z[#3] F0.1;#1=#1-0.05;#3=#3-0.05;END2;END1;G00 X100 Z100;M30;粗加工程序内容:O0001;M03 S650;T0101;G00 X55 Z-20;#1=-20;#2=-42;#3=-58;#4=-80;WHILE [ #1GE#2 ] DO1;WHILE [ #3GE#4 ] DO2;#5= 0.090*#1+68.18;#6=- 0.090*#1-22.722;G01 X[#5+1] Z[#1-0.5] F0.1;G01 X[#6+1] Z[#3+0.5] F0.1;G00 U1 W0.5;Z [#1-0.5];#1=#1-1;#3=#3-1;END2;END1;G00 X100 Z100;M30;课题二:椭圆宏程序(一)1、椭圆第一种应用方程式:X=A*2*SIN(a) Z=B*CON(a)A:为X轴方的长度(平行与X轴的椭圆轴) B:为Z轴方向的长度(平行与z轴的椭圆轴)2、椭圆第二种应用方程式:X*X/A*A+Z*Z/B*B=1A:为X轴方的长度B:为Z轴方向的长度第一种方程式应用解题;3、角度宏变量范围:a=0 ∽ a=904、设自变量#1=0 #2=90 #3=10 #4=255、应用循环语言WHILE [ ] DO1END1精加工编程内容:O0001;M03 S1000;T0101;G00 X55 Z2;#1=0;#2=90;#3=10;#4=25;WHILE [ #1LE#2 ] DO1;#5=2*#4*SIN(#1);#6=#3*CON(#1);G01 X [#5] Z[#6-10] F0.15#1=#1+0.1;END1;G00 X100 Z100;M30;粗加工程序内容:O0001;M03 S650;T0101;G00 X55 Z2;#1=0;#2=90;#3=10;#4=25;WHILE [ #2GE#1 ] DO1;#5=2*#4*SIN(#2);#6=#3*CON(#2);G01 X [#5+1] F0.25;Z[#6-10+0.5] F0.25;G00 U1 W0.5;Z2;#2=#2+3;END1;G00 X100 Z100;M30;椭圆第二种应用方程式:X*X/A*A+Z*Z/B*B=1编程:1、长度宏变量范围:z=0 ∽ z=-102、公式分析化简得:X=SQRT[[1-Z*Z/B*B]*A*A]4、设自变量#1=0 #2=-10 #3=10 #4=255、应用循环语言WHILE [ ] DO1END1精加工编程内容:O0001;M03 S1000;T0101;G00 X55 Z2;#2=0#3=10;#4=25;WHILE [ #1GE#2 ] DO1;#5=2*SQRT[[1-#1*#1/#3*#3]*#4*#4] G01 X [#5] Z[#1-10] F0.15#1=#1+0.1;END1;G00 X100 Z100;M30;粗加工程序内容:O0001;M03 S650;T0101;G00 X55 Z2;#1=10;#2=0;#3=10;WHILE [ #2GE#1 ] DO1;#5=2*SQRT[[1-#2*#2/#3*#3]*#4*#4]G01 X [#5+1] F0.25;Z[#2-10+0.5] F0.25;G00 U1 W0.5;Z2;#2=#2+3;END1;G00 X100 Z100;M30;课题二:椭圆宏程序(二)1、椭圆第一种应用方程式:X=A*2*SIN(a) Z=B*CON(a)A:为X轴方的长度(平行与X轴的椭圆轴)B:为Z轴方向的长度(平行与z轴的椭圆轴)2\椭圆第二种应用方程式:X*X/A*A+Z*Z/B*B=1A:为X轴方的长度(平行与X轴的椭圆轴)B:为Z轴方向的长度(平行与z轴的椭圆轴)第一种方程式应用解题;3、角度宏变量范围:a=0 ∽ a=1504、设自变量#1=90 #2=150 #3=25 #4=405、应用循环语言WHILE [ ] DO1END1精加工编程内容:O0001;M03 S1000;T0101;G00 X30Z2;#1=90;#2=150;#4=40;WHILE [ #1LE#2 ] DO1;#5=2*#3*SIN(#1);#6=#4*CON(#1);G01 X [#5] Z[#6] F0.15#1=#1+0.1;END1;G00 U-2;G00 Z100;M30;粗加工程序内容:O0001;M03 S650;T0101;G00 X30 Z2;#1=90;#2=150;#3=25;WHILE [ #2GE#1 ] DO1;#5=2*#3*SIN(#2);#6=#4*CON(#2);G01 X [#5-1] F0.25;Z[#6+0.5] F0.25;G00 U-1 W0.5;Z2;#2=#2+3;END1;G00 Z100;M30;椭圆第二种应用方程式:X*X/A*A+Z*Z/B*B=1编程:3、长度宏变量范围:z=0 ∽ z=-304、公式分析化简得:X=SQRT[[1-Z*Z/B*B]*A*A]4、设自变量#1=0 #2=-30 #3=25 #4=405、应用循环语言WHILE [ ] DO1END1精加工编程内容:O0001;M03 S1000;T0101;G00 X30 Z2;#1=0;#2=-30#3=25;#4=40;WHILE [ #1GE#2 ] DO1;#5=2*SQRT[[1-#1*#1/#4*#4]*#3*#3] G01 X [#5] Z[#1] F0.15#1=#1-0.1;END1;G00 U-2;G00 Z100;M30;粗加工程序内容:O0001;M03 S650;T0101;G00 X30 Z2;#1=0;#2=-30;#3=25;#4=40;WHILE [ #2GE#1 ] DO1;#5=2*SQRT[[1-#2*#2/#4*#4]*#3*#3] G01 X [#5-1] F0.25;Z[#2+0.5] F0.25;G00 U-1 W0.5;Z2;#2=#2-3;END1;G00 Z100;M30;课题二:椭圆宏程序(三)1、椭圆第一种应用方程式:X=A*2*SIN(a) Z=B*CON(a)A:为X轴方的长度(平行与X轴的椭圆轴)B:为Z轴方向的长度(平行与z轴的椭圆轴)2、椭圆第二种应用方程式:X*X/A*A+Z*Z/B*B=1A:为X轴方的长度(平行与X轴的椭圆轴)B:为Z轴方向的长度(平行与z轴的椭圆轴)第一种方程式应用解题;2、角度宏变量范围:a=0 ∽ a=1504、设自变量#1=0 #2=150 #3=25 #4=405、应用循环语言WHILE [ ] DO1END1精加工编程内容:O0001;M03 S1000;T0101;G00 X55Z2;#1=0;#2=150;#3=25;#4=40;WHILE [ #1LE#2 ] DO1;#5=2*#3*SIN(#1);#6=#4*CON(#1)-40;G01 X [#5] Z[#6] F0.15#1=#1+0.1;END1;G00 X150;G00 Z100;M30;粗加工程序右边内容:O0001;M03 S650;T0101;G00 X30 Z2;#1=0;#2=90;#3=25;#4=40;WHILE [ #2GE#1 ] DO1;#5=2*#3*SIN(#2);#6=#4*CON(#2)-40;G01 X [#5+1] F0.25;Z[#6+0.5] F0.25;Z2;#2=#2+3;END1;G00 Z100;M30;粗加工程序左边内容:O0001;M03 S650;T0101;G00 X30 Z2;#1=90;#2=150;#3=25;#4=40;WHILE [ #1LE#2 ] DO1;#5=2*#3*SIN(#1);#6=#4*CON(#1)-40;G01 X [#5+1] Z[#6-0.5] F0.25;Z-80;Z[#6-0.5];#1=#1+3;END1;G00 Z100;M30;椭圆第二种应用方程式:X*X/A*A+Z*Z/B*B=1编程:5、长度宏变量范围:z=0 ∽ z=-306、公式分析化简得:X=SQRT[[1-Z*Z/B*B]*A*A]4、设自变量#1=40 #2=-30 #3=25 #4=405、应用循环语言WHILE [ ] DO1END1精加工编程内容:O0001;M03 S1000;T0101;G00 X55 Z2;#1=40;#2=-30#3=25;#4=40;WHILE [ #1GE#2 ] DO1;#5=2*SQRT[[1-#1*#1/#4*#4]*#3*#3] G01 X [#5] Z[#1-40] F0.15#1=#1-0.1;END1;G00X150;G00 Z100;M30;粗加工程序右边内容:O0001;M03 S650;T0101;G00 X30 Z2;#1=40;#2=0;#3=25;#4=40;WHILE [ #2LE#1 ] DO1;#5=2*SQRT[[1-#2*#2/#4*#4]*#3*#3] G01 X [#5+1] F0.25;Z[#2+0.5-40] F0.25;G00 U1 W0.5;Z2;#2=#2+3;END1;G00 Z100;M30;粗加工程序左边内容:O0001;M03 S650;T0101;G00 X30 Z2;#1=0;#2=-30;#3=25;#4=40;WHILE [ #1GE#2 ] DO1;#5=2*SQRT[[1-#1*#1/#4*#4]*#3*#3]G01 X [#5+1] Z[#1-0.5-40] F0.25;Z-80G00 U1 W0.5;Z[#1-0.5-40];#1=#1-3;END1;G00 X150 Z100;M30;课题二:椭圆宏程序(四)3、椭圆第一种应用方程式:X=A*2*SIN(a) Z=B*CON(a)A:为X轴方的长度(平行与X轴的椭圆轴)B:为Z轴方向的长度(平行与z轴的椭圆轴)2、椭圆第二种应用方程式:X*X/A*A+Z*Z/B*B=1A:为X轴方的长度(平行与X轴的椭圆轴)B:为Z轴方向的长度(平行与z轴的椭圆轴)第一种方程式应用解题;4、角度宏变量范围:a=24.397 ∽ a=155.6034、设自变量#1=24.397 #2=155.603 #3=20 #4=505、应用循环语言WHILE [ ] DO1END1精加工编程内容:O0001;M03 S1000;T0101;G00 X55 Z-16.93;#1=24.397 ;#2=155.603;#3=20;#4=50;WHILE [ #1LE#2 ] DO1;#5=80-2*#3*SIN(#1)-13.477;#6=#4*CON(#1)-50;G01 X [#5] Z[#6] F0.15#1=#1+0.1;END1;G00 X150;G00 Z100;M30;粗加工程序右边内容:O0001;M03 S650;T0101;G00 X30 Z2;#1=0;#2=90;#3=25;#4=40;WHILE [ #2GE#1 ] DO1;#5=2*#3*SIN(#2);#6=#4*CON(#2)-40;G01 X [#5+1] F0.25;Z[#6+0.5] F0.25;G00 U1 W0.5;Z2;#2=#2+3;END1;G00 Z100;M30;粗加工程序左边内容:O0001;M03 S650;T0101;G00 X30 Z2;#1=90;#2=150;#3=25;#4=40;WHILE [ #1LE#2 ] DO1;#5=2*#3*SIN(#1);#6=#4*CON(#1)-40;G01 X [#5+1] Z[#6-0.5] F0.25;Z-80;G00 U1 W0.5;Z[#6-0.5];#1=#1+3;END1;G00 Z100;M30;椭圆第二种应用方程式:X*X/A*A+Z*Z/B*B=1编程:7、长度宏变量范围:z=0 ∽ z=-308、公式分析化简得:X=SQRT[[1-Z*Z/B*B]*A*A]4、设自变量#1=40 #2=-30 #3=25 #4=405、应用循环语言WHILE [ ] DO1END1精加工编程内容:O0001;M03 S1000;T0101;G00 X55 Z2;#1=33.07;#2=-33.07#3=20;#4=50;WHILE [ #1GE#2 ] DO1;#5=80-2*SQRT[[1-#1*#1/#4*#4]*#3*#3] G01 X [#5] Z[#1-50] F0.15#1=#1-0.1;END1;G00X150;G00 Z100;M30;粗加工平行方式编程内容:O0001;M03 S1000;T0101;G00 X55 Z-16.93;#1=33.07;#2=-33.07#3=20;#4=50;#7=10;#8=0;WHILE [ #7GE#8 ] DO2;WHILE [ #1GE#2 ] DO1;#5=80-2*SQRT[[1-#1*#1/#4*#4]*#3*#3]; G01 X [#5+#7] Z[#1-50] F0.15;#1=#1-0.1;END1;G00 X60;Z-16.93;#7=#7-1;END2;G00X150;G00 Z100;M30;左右两边粗加工内容:O0001;M03 S1000;T0101;G00 X55 Z-16.93;#1=33.07;#2=0;#10=-33.07#3=20;#4=50;WHILE [ #1GE#2 ] DO1;WHILE [ #10LE#2 ] DO2;#5=80-2*SQRT[[1-#1*#1/#4*#4]*#3*#3] #6=80-2*SQRT[[1-#10*#10/#4*#4]*#3*#3] G01 X [#5+1] Z[#1-50-0.5] F0.15;Z[#10-50+0.5];G00U2;X [#6+1] Z [#1-50];#1=#1-1;#10=#10+1;END2;END1;G00X150;G00 Z100;M30;课题四:函数曲线宏程序正弦函数曲线方程式:X=A+SIN(A);解题思路:1、A:为正弦函数曲线零线在回转体工件两边上下的中心直径距离¤40MM.2、根据线形方程式得:SIN(A)角度A为正弦函数曲线的变量方式:共角度度数为720°(90 ----810)3、将共长60与共角度720°等分成1000等分。

数控车床宏程序编程模板在数控大赛中的应用

数控车床宏程序编程模板在数控大赛中的应用

数控车削加工中公式曲线宏程序编程模板在数控大赛中的应用武汉市第二轻工业学校 禹诚武汉华中数控股份有限公司 肖明应用宏程序变量编程,对可以用函数公式描叙的工件轮廓或曲面进行数控加工,是现代数控系统一个重要的新功能和新方法,也是第二届全国数控技能大赛实操考试主要考核点之一。

但是,在一些地方的数控技能大赛中,数控宏程序编程的普及和应用还有待进一步提高。

例如:用数控车床加工公式曲线轮廓时,常需要使用宏程序,而很多数学和高级语言基础较差的学生往往很难掌握好。

在2006年第二届湖北省“华中数控杯”数控技能大赛中,武汉市第二轻工业学校选手成绩优异,共有5名选手入选湖北省参加全国决赛代表队,位居全省各企业和职业院校第一。

这五名选手在全国决赛中全部进入各工种前十五名,其中,车海峰同学在全国决赛中获得技校组数控铣床工种第四名,光荣获得赴京参加第二届全国数控技能大赛闭幕式暨颁奖仪式的机会。

作者作为武汉市第二轻工业学校数控大赛选手指导教师和湖北省参加全国决赛选手集训班教练组成员,在对选手进行赛前集训时,为了让学生尽快学会宏程序编程加工,与其他老师共同将数控车削加工中公式曲线宏程序编程制作成标准模板,方便参赛选手使用。

从实际应用的情况来看,如果参赛选手理解这个模板的原理,并且熟练掌握其编程方法,在时间非常宝贵和紧迫的数控实操比赛中,看清图纸,直接套用模板,就可以正确、快速地完成宏程序的编制,达到图纸的加工要求。

以配置华中世纪星HNC-21TD 系统的数控车床为例,在加工零件公式曲线轮廓时,使用粗加工循环指令结合精加工宏程序可以方便快捷地完成零件的粗精加工。

现按照实际编程的顺序步骤,结合三个实例,将公式曲线精加工宏程序模板的原理和使用办法介绍如下:一、公式曲线宏程序编程模板的原理和使用步骤1、如何选定自变量1)公式曲线中的X 和Z 坐标任意一个都可以被定义为自变量,2)一般选择变化范围大的一个作为自变量,如图1,椭圆曲线从起点S 到终点T ,Z 坐标变化量为16,X 坐标变化量从图中可以看出比Z 坐标要小得多,所以将Z 坐标选定为自变量比较适当。

数控技师论文数控车床宏程序应用技巧

数控技师论文数控车床宏程序应用技巧

数控车床宏程序应用技巧摘要由几个工件轮廓的宏程序编程的实例,归纳出在数控加工中利用手工编程应用宏程序来解决一些复杂的零件,从而体现出在加工中利用宏程序的一些应用技巧。

反映出程序编程是手工编制非常规零件程序时必不可少的编程方法。

关键词:宏程序应用技巧数控加工绪论在当今数控行业发展的趋势上看,数控编程越来越要适应新的、复杂的零件设计与生产,因而FANUC 系统所提供的一种先进的编程方法就是宏程序。

尽管CAD\CAM编程系统已近很普通且呈增长趋势,但是由于种种的原因,他们也不能代替宏程序进行设计和加工,在当前的数控系统中,通常只有直线插补和圆弧插补功能,手工常规编程往往不能编制出非圆曲线的加工程序,但是利用数控系统中的宏程序编程可以实现非圆曲线的加工。

用户宏程序编程也称为参数编程,它可以使用变量,变量可以赋值,变量间还能进行运算(算式运算、逻辑运算和函数的混合运算等),此外宏程序还提供了各种控制语句(循环语句、分支语句等)。

适合编制各种复杂零件的加工程序。

1.1宏程序简介所谓宏程序就是编程时只要建立加工零件轮廓的基点和节点的数学模型,按加工的先后顺序,由数控系统计算出各个加工节点的坐标数据,进而控制加工,这就是数控系统提供的宏程序。

宏程序的编程就像高级语言一样,可以使用变量进行算术运算逻辑运算和函数混合运算进行编程。

在宏程序形式中,一般都提供循环判断分支和子程序调用的方法,能够编制出各种复杂的零件加工程序。

熟练应用宏程序指令进行编程,可大大精简程序量,还可以增强机床的加工适应能力。

宏程序编程虽然属于手工编程的范畴,但它不是直接算出轮廓各个节点的具体坐标数据,而是给出数学公式和算法,由CNC来即时计算节点坐标,因此对于对于简单直观的零件轮廓不具有优势。

若零件结构不规则或者不能用常规插补指令可以完成编程的,则可采用编制宏程序的方法,将计算复杂数据的任务交由数控系统来完成。

1.2宏程序编程概述(一)变量:在宏指令中,通常使用变量来代替数值,FANUC数控系统中使用#表示变量。

数控车工高级部分(宏程序IF应用)

数控车工高级部分(宏程序IF应用)

数控车工高级部分(宏程序应用)1、直线宏程序2、圆弧宏程序3、椭圆宏程序4、函数曲线宏程序5、抛物线宏程序6、双曲线宏程序7、圆弧、椭圆、双曲线、抛物线、螺旋宏程序8、综合题形练习加工课题一:直线宏程序(一)图1-1直线方程式:X=KZ+B解题思路:1、直线两点(X 30 , Z 0) (X 50 , Z -22).2、根据线形方程式得:30=K*0+B50=K*(-22)+B得:B=30K=-0.90903、方程式为:X=-0.9090Z+304、长度宏变量范围:Z0 ~ Z-225、设自变量 #1=0 #2=-226、应用条件语言N1 IF [ ] GOTO 2N2 GOTO 1精加工程序内容:O0001;M03 S1000;T0101;G00 X55 Z2;#1=0;#2=-22;N1 IF [ #1LE#2 ] GOTO 2;#3= -0.9090*#1+30;G01 X[#3] Z[#1] F0.1#1=#1-0.05GOTO 1 ;N2 G00 X100 Z100;M30;粗加工程序内容:O0001;M03 S650;T0101;G00 X55 Z2;#1=0;#2=-22;N1 IF [ #2GE#1 ] GOTO 2;#3= -0.9090*#2+30;G01 X[#3+1] F0.25;G01 Z[#2+0.5] F0.1;G00 U1 W0.5;Z2;#2=#2+2;GOTO 1 ;N2 G00 X100 Z100;M30;课题一:直线宏程序(二)图1-2直线方程式:X=KZ+B解题思路:1、直线两点(X 50 , Z -20) (X 30 , Z -42).2、根据线形方程式得:50=K*-20+B30=K*(-42)+B得:B=68.18K=0.90903、方程式为:X=0.9090Z+68.184、长度宏变量范围:Z-20 ~ Z-425、设自变量 #1=-20 #2=-426、应用条件语言N1 IF [ ] GOTO 2N2 GOTO 1精加工程序内容:O0001;M03 S1000;T0101;G00 X55 Z-20;#1=-20;#2=-42;N1 IF [ #1LE#2 ] GOTO 2;#3= 0.9090*#1+68.18;G01 X[#3] Z[#1] F0.1#1=#1-0.05GOTO 1 ;N2 G00 X100 Z100;M30;粗加工程序内容:O0001;M03 S650;T0101;G00 X55 Z-20;#1=-20;#2=-42;N1 IF [ #1LE#2 ] GOTO 2;#3= 0.9090*#1+68.18;G01 X[#3+1] Z[#1-0.5] F0.25;G01 Z[#2]G00 U1 W0.5;Z [#1-0.5];#1=#1-2;GOTO 1 ;N2 G00 X100 Z100;M30;课题一:直线宏程序(三)直线方程式:X=KZ+B解题思路:1、直线两点(X 44, Z 0) (X 30 , Z –40).2、根据线形方程式得:44=K*0+B30=K*(-40)+B得:B=44K=0.353、方程式为:X=0.35Z+444、长度宏变量范围:Z0 ~ Z-405、设自变量 #1=0 #2=-406、应用条件语言N1 IF [ ] GOTO 2N2 GOTO 1精加工程序内容:O0001;M03 S1000;T0101;G00 X28 Z2;#1=0;#2=-40;N1 IF [ #1LE#2 ] GOTO 2;#3= 0.35*#1+44;G01 X[#3] Z[#1] F0.1#1=#1-0.05GOTO 1 ;N2 G00 Z100;M30;粗加工程序内容:O0001;M03 S650;T0101;G00 X28 Z2;#1=0;#2=-40;N1 IF [ #GE#1 ] GOTO 2;#3= 0.35*#2+44;G01 X[#3-1] F0.25;Z[#2+0.5];G00 U-1 W0.5;Z 2;#2=#2+2;GOTO 1 ;N2 G00 Z100;M30;课题一:直线宏程序(四)直线方程式:图示右斜线直线方程式:X=KZ+B图示左斜线直线方程式:X=KZ+B解题思路:1、直线两点(X 50, Z -20) (X 30 , Z–42).2、直线两点(X30, Z –58) (X 50 , Z–80).3、根据右斜线形方程式得:50=K*-20+B30=K*(-42)+B得:B=68.18K=0.90904、根据左斜线形方程式得:30=K*-58+B50=K*(-80)+B得:B=-22.722K=-0.90905、方程式为:图示右斜线直线方程式:X=0.9090Z+68.18图示左斜线直线方程式:X=-0.9090Z-22.7226、长度宏变量范围:Z-20 ~ Z-42 Z-58 Z-807、设自变量#1=-20 #2=-42 #3=58 #4=-808、应用条件语言N1 IF [ ] GOTO 2N2 GOTO 1 精加工程序内容(一):O0001;M03 S1000;T0101;G00 X55 Z-20;#1=-20;#2=-42;#3=-58;#4=-80;N1 IF [ #LE#2 ] GOTO 2;#5= 0.090*#1+68.18;G01 X[#5] Z[#1] F0.1;W-16;#6=-0.090*#3-22.722G01 X[#6] Z[#3]F0.15;#1=#1-0.05#3=#3-0.05GOTO 1 ;N2 G00 X100 Z100;M30;精加工也可这样编写(二):O0001;M03 S1000;T0101;G00 X55 Z-20;#1=-20;#2=-42;#3=-58;#4=-80;N1 IF [ #1LE#2 ] GOTO 2;#5= 0.090*#1+68.18;G01 X[#5] Z[#1] F0.1;#1=#1-0.05GOTO 1N2 G01 W-16 F0.15;N3 IF [ #3LE#4 ] GOTO 4;#6=-0.090*#3-22.722G01 X[#6] Z[#3]F0.15;#3=#3-0.05GOTO 3;N4 G00 X100 Z100;M30;精加工也可这样编写(三):O0001;M03 S1000;T0101;G00 X55 Z-20;#1=-20;#2=-42;#3=-58;#4=-80;N1 IF [ #1LE#2 ] GOTO 2;N3 IF [ #3LE#4 ] GOTO 4;#5= 0.090*#1+68.18;#6=- 0.090*#1-22.722;G01 X[#5] Z[#1] F0.1;G01 W-16;G01 X[#6] Z[#3] F0.1;#1=#1-0.05;#3=#3-0.05;GOTO 1;N4 GOTO 3 ;N2 G00 X100 Z100;M30;粗加工程序内容:O0001;M03 S650;T0101;G00 X55 Z-20;#1=-20;#2=-42;#3=-58;#4=-80;N1 IF [ #1GE#2 ] GOTO 2;N3 IF [ #3GE#4 ] GOTO 1;#5= 0.090*#1+68.18;#6=- 0.090*#1-22.722;G01 X[#5+1] Z[#1-0.5] F0.1; G01 X[#6+1] Z[#3+0.5] F0.1; G00 U1 W0.5;Z [#1-0.5];#1=#1-1;#3=#3-1;GOTO 3;GOTO 1 ;N2 G00 X100 Z100;M30;课题二:椭圆宏程序(一)1、椭圆第一种应用方程式:X=A*2*SIN(a) Z=B*CON(a)A:为X轴方的长度 (平行与X轴的椭圆轴) B:为Z轴方向的长度(平行与z轴的椭圆轴)2、椭圆第二种应用方程式:X*X/A*A+Z*Z/B*B=1A:为X轴方的长度 B:为Z轴方向的长度第一种方程式应用解题;3、角度宏变量范围:a=0 ∽ a=904、设自变量 #1=0 #2=90 #3=10 #4=255、应用条件语言N1 IF [ ] GOTO 2N2 GOTO 1精加工编程内容:O0001;M03 S1000;T0101;G00 X55 Z2;#1=0;#2=90;#3=10;#4=25;N1 IF [ #1GE#2 ] GOTO 2;#5=2*#4*SIN(#1);#6=#3*CON(#1);G01 X [#5] Z[#6-10] F0.15#1=#1+0.1;GOTO 1 ;N2 G00 X100 Z100;M30;粗加工程序内容:O0001;M03 S650;T0101;G00 X55 Z2;#1=0;#2=90;#3=10;#4=25;N1 IF [ #2LE#1 ] GOTO 2;#5=2*#4*SIN(#2);#6=#3*CON(#2);G01 X [#5+1] F0.25;Z[#6-10+0.5] F0.25;G00 U1 W0.5;Z2;#2=#2+3;GOTO 1 ;N2 G00 X100 Z100;M30;椭圆第二种应用方程式:X*X/A*A+Z*Z/B*B=1编程:1、长度宏变量范围:z=0 ∽ z=-102、公式分析化简得:X=SQRT[[1-Z*Z/B*B]*A*A]4、设自变量 #1=0 #2=-10 #3=10 #4=255、应用条件语言N1 IF [ ] GOTO 2N2 GOTO 1精加工编程内容:O0001;M03 S1000;T0101;G00 X55 Z2;#1=10;#2=0#3=10;#4=25;N1 IF [ #1LE#2 ] GOTO 2;#5=2*SQRT[[1-#1*#1/#3*#3]*#4*#4]G01 X [#5] Z[#1-10] F0.15#1=#1+0.1;GOTO 1 ;N2 G00 X100 Z100;M30;粗加工程序内容:O0001;M03 S650;T0101;G00 X55 Z2;#1=10;#2=0;#3=10;#4=25;N1 IF [ #2LE#1 ] GOTO 2;#5=2*SQRT[[1-#2*#2/#3*#3]*#4*#4] G01 X [#5+1] F0.25;Z[#2-10+0.5] F0.25;G00 U1 W0.5;Z2;#2=#2+3;GOTO 1 ;N2 G00 X100 Z100;M30;课题二:椭圆宏程序(二)1、椭圆第一种应用方程式:X=A*2*SIN(a) Z=B*CON(a)A:为X轴方的长度 (平行与X轴的椭圆轴)B:为Z轴方向的长度(平行与z轴的椭圆轴)2\椭圆第二种应用方程式:X*X/A*A+Z*Z/B*B=1A:为X轴方的长度 (平行与X轴的椭圆轴)B:为Z轴方向的长度(平行与z轴的椭圆轴)第一种方程式应用解题;3、角度宏变量范围:a=0 ∽ a=1504、设自变量 #1=90 #2=150 #3=25 #4=405、应用条件语言N1 IF [ ] GOTO 2N2 GOTO 1精加工编程内容:O0001;M03 S1000;T0101;G00 X30Z2;#1=90;#2=150;#3=25;#4=40;N1 IF [ #1GE#2 ] GOTO 2;#5=2*#3*SIN(#1);#6=#4*CON(#1);G01 X [#5] Z[#6] F0.15#1=#1+0.1;GOTO 1 ;N2 G00 U-2;G00 Z100;M30;粗加工程序内容:O0001;M03 S650;T0101;G00 X30 Z2;#1=90;#2=150;#3=25;#4=40;N1 IF [ #2LE#1 ] GOTO 2;#5=2*#3*SIN(#2);#6=#4*CON(#2);G01 X [#5-1] F0.25;Z[#6+0.5] F0.25;G00 U-1 W0.5;Z2;#2=#2+3;GOTO 1 ;N2 G00 Z100;M30;椭圆第二种应用方程式:X*X/A*A+Z*Z/B*B=1编程:3、长度宏变量范围:z=0 ∽ z=-304、公式分析化简得:X=SQRT[[1-Z*Z/B*B]*A*A]4、设自变量 #1=0 #2=-30 #3=25 #4=405、应用条件语言N1 IF [ ] GOTO 2N2 GOTO 1精加工编程内容:O0001;M03 S1000;G00 X30 Z2;#1=0;#2=-30#3=25;#4=40;N1 IF [ #1LE#2 ] GOTO 2;#5=2*SQRT[[1-#1*#1/#4*#4]*#3*#3] G01 X [#5] Z[#1] F0.15#1=#1-0.1;GOTO 1 ;N2 G00 U-2;G00 Z100;M30;粗加工程序内容:M03 S650;T0101;G00 X30 Z2;#1=0;#2=-30;#3=25;#4=40;N1 IF [ #2LE#1 ] GOTO 2;#5=2*SQRT[[1-#2*#2/#4*#4]*#3*#3]G01 X [#5-1] F0.25;Z[#2+0.5] F0.25;G00 U-1 W0.5;Z2;#2=#2-3;GOTO 1 ;N2 G00 Z100;M30;课题二:椭圆宏程序(三)1、椭圆第一种应用方程式:X=A*2*SIN(a) Z=B*CON(a)A:为X轴方的长度 (平行与X轴的椭圆轴)B:为Z轴方向的长度(平行与z轴的椭圆轴)2、椭圆第二种应用方程式:X*X/A*A+Z*Z/B*B=1A:为X轴方的长度 (平行与X轴的椭圆轴)B:为Z轴方向的长度(平行与z轴的椭圆轴)第一种方程式应用解题;2、角度宏变量范围:a=0 ∽ a=1504、设自变量 #1=0 #2=150 #3=25 #4=405、应用条件语言N1 IF [ ] GOTO 2N2 GOTO 1精加工编程内容:O0001;M03 S1000;T0101;G00 X55Z2;#1=0;#2=150;#3=25;#4=40;N1 IF [ #1GE#2 ] GOTO 2;#5=2*#3*SIN(#1);#6=#4*CON(#1)-40;G01 X [#5] Z[#6] F0.15#1=#1+0.1;GOTO 1 ;N2 G00 X150;G00 Z100;M30;粗加工程序右边内容:O0001;M03 S650;T0101;G00 X30 Z2;#1=0;#2=90;#3=25;#4=40;N1 IF [ #2LE#1 ] GOTO 2;#5=2*#3*SIN(#2);#6=#4*CON(#2)-40;G01 X [#5+1] F0.25;Z[#6+0.5] F0.25;Z2;#2=#2+3;GOTO 1 ;N2 G00 Z100;M30;粗加工程序左边内容:O0001;M03 S650;T0101;G00 X30 Z2;#1=90;#2=150;#3=25;#4=40;N1 IF [ #1GE#2 ] GOTO 2;#5=2*#3*SIN(#1);#6=#4*CON(#1)-40;G01 X [#5+1] Z[#6-0.5] F0.25; Z-80;Z[#6-0.5];#1=#1+3;GOTO 1 ;N2 G00 Z100;M30;椭圆第二种应用方程式:X*X/A*A+Z*Z/B*B=1编程:5、长度宏变量范围:z=0 ∽ z=-306、公式分析化简得:X=SQRT[[1-Z*Z/B*B]*A*A]4、设自变量 #1=40 #2=-30 #3=25 #4=405、应用条件语言N1 IF [ ] GOTO 2N2 GOTO 1精加工编程内容:O0001;M03 S1000;T0101;G00 X55 Z2;#1=40;#2=-30#3=25;#4=40;N1 IF [ #1LE#2 ] GOTO 2;#5=2*SQRT[[1-#1*#1/#4*#4]*#3*#3] G01 X [#5] Z[#1-40] F0.15#1=#1-0.1;GOTO 1 ;N2 G00X150;G00 Z100;M30;粗加工程序右边内容:O0001;M03 S650;T0101;G00 X30 Z2;#1=40;#2=0;#3=25;#4=40;N1 IF [ #GE#1 ] GOTO 2;#5=2*SQRT[[1-#2*#2/#4*#4]*#3*#3] G01 X [#5+1] F0.25;Z[#2+0.5-40] F0.25;G00 U1 W0.5;Z2;#2=#2+3;GOTO 1 ;N2 G00 Z100;M30;粗加工程序左边内容:O0001;M03 S650;T0101;G00 X30 Z2;#1=0;#2=-30;#3=25;#4=40;N1 IF [ #1LE#2 ] GOTO 2;#5=2*SQRT[[1-#1*#1/#4*#4]*#3*#3]G01 X [#5+1] Z[#1-0.5-40] F0.25;Z-80G00 U1 W0.5;Z[#1-0.5-40];#1=#1-3;GOTO 1 ;N2 G00 X150 Z100;M30;课题二:椭圆宏程序(四)3、椭圆第一种应用方程式:X=A*2*SIN(a) Z=B*CON(a)A:为X轴方的长度 (平行与X轴的椭圆轴)B:为Z轴方向的长度(平行与z轴的椭圆轴)2、椭圆第二种应用方程式:X*X/A*A+Z*Z/B*B=1A:为X轴方的长度 (平行与X轴的椭圆轴)B:为Z轴方向的长度(平行与z轴的椭圆轴)第一种方程式应用解题;4、角度宏变量范围:a=24.397 ∽ a=155.6034、设自变量#1=24.397 #2=155.603 #3=20 #4=505、应用条件语言N1 IF [ ] GOTO 2N2 GOTO 1精加工编程内容:O0001;M03 S1000;T0101;G00 X55 Z-16.93;#1=24.397 ;#2=155.603;#3=20;#4=50;N1 IF [ #1GE#2 ] GOTO 2;#5=80-2*#3*SIN(#1)-13.477;#6=#4*CON(#1)-50;G01 X [#5] Z[#6] F0.15#1=#1+0.1;GOTO 1 ;N2 G00 X150;G00 Z100;M30;粗加工程序右边内容:O0001;M03 S650;T0101;G00 X30 Z2;#1=0;#2=90;#3=25;#4=40;N1 IF [ #2LE#1 ] GOTO 2;#5=2*#3*SIN(#2);#6=#4*CON(#2)-40;G01 X [#5+1] F0.25;Z[#6+0.5] F0.25;G00 U1 W0.5;Z2;#2=#2+3;GOTO 1 ;N2 G00 Z100;M30;粗加工程序左边内容:O0001;M03 S650;T0101;G00 X30 Z2;#1=90;#2=150;#3=25;#4=40;N1 IF [ #1GE#2 ] GOTO 2;#5=2*#3*SIN(#1);#6=#4*CON(#1)-40;G01 X [#5+1] Z[#6-0.5] F0.25;Z-80;G00 U1 W0.5;Z[#6-0.5];#1=#1+3;GOTO 1 ;N2 G00 Z100;M30;椭圆第二种应用方程式:X*X/A*A+Z*Z/B*B=1编程:7、长度宏变量范围:z=0 ∽ z=-308、公式分析化简得:X=SQRT[[1-Z*Z/B*B]*A*A]4、设自变量 #1=40 #2=-30 #3=25 #4=405、应用条件语言N1 IF [ ] GOTO 2N2 GOTO 1精加工编程内容:O0001;M03 S1000;T0101;G00 X55 Z2;#1=33.07;#2=-33.07#3=20;#4=50;N1 IF [ #1LE#2 ] GOTO 2;#5=80-2*SQRT[[1-#1*#1/#4*#4]*#3*#3] G01 X [#5] Z[#1-50] F0.15#1=#1-0.1;GOTO 1 ;N2 G00X150;G00 Z100;M30;粗加工平行方式编程内容:O0001;M03 S1000;T0101;G00 X55 Z-16.93;#1=33.07;#2=-33.07#3=20;#4=50;#7=10;#8=0;N1 IF [ #7GE#8 ] DO2;N1 IF [ #1GE#2 ] GOTO 2;#5=80-2*SQRT[[1-#1*#1/#4*#4]*#3*#3]; G01 X [#5+#7] Z[#1-50] F0.15;#1=#1-0.1;N2 GOTO 1 ;G00 X60;Z-16.93;#7=#7-1;END2;G00X150;G00 Z100;M30;左右两边粗加工内容:O0001;M03 S1000;T0101;G00 X55 Z-16.93;#1=33.07;#2=0;#10=-33.07#3=20;#4=50;N1 IF [ #1GE#2 ] GOTO 2;N1 IF [ #10LE#2 ] DO2;#5=80-2*SQRT[[1-#1*#1/#4*#4]*#3*#3] #6=80-2*SQRT[[1-#10*#10/#4*#4]*#3*#3] G01 X [#5+1] Z[#1-50-0.5] F0.15;Z[#10-50+0.5];G00U2;X [#6+1] Z [#1-50];#1=#1-1;#10=#10+1;END2;GOTO 1 ;N2 G00X150;G00 Z100;M30;课题四:函数曲线宏程序正弦函数曲线方程式:X=A+SIN(A);解题思路:1、A:为正弦函数曲线零线在回转体工件两边上下的中心直径距离¤40MM.2、根据线形方程式得:SIN(A)角度A为正弦函数曲线的变量方式:共角度度数为720°(90----810)3、将共长60与共角度720°等分成1000等分。

宏程序在数控车床编程中的应用

宏程序在数控车床编程中的应用

宏程序在数控车床编程中的应用作者:范峰来源:《职业·下旬》2017年第06期从传统数控机床加工工序来说,数控机床的操作指令都是通过ISO指令的编程来达到的。

这种指令往往是一经设定好就不可以改版的。

这就限制了数控机床操作的灵活性,很多工序性质复杂的零件的制作过程不能使用这些通过ISO指令编写的程序。

因此,在如今的数控机床程序中引入宏程序技术,可以十分方便灵活地根据所需制作零件的数据进行数控机床程序的调整,提升数控机床工作效率,也能更精准地完成零件加工。

一、利用宏程序优化加工,提升零件加工效率使用宏程序进行加工零件编写,属于利用人工进行手动编程的范畴。

通过编程人员对于函数程序的设定,在进行加工的时候读取实现设定好的算法,再结合零件加工要求来进行具体化的加工。

这种需要利用数学公式并让CNC系统来确定零件坐标的方式可以快速地进行数据具体参数的调整,因此宏程序在数控机床编写程序来加工程序的方式对于复杂零件加工具备巨大的优势,但是在进行结构比较简单的零件加工的时候就有很多额外的读取步骤,这无形之中加重了数控机床读取数据加工的负担,所以在利用宏程序进行数控机床加工步骤的编写时,要根据加工零件的要求灵活改变宏程序算法。

在编写的宏程序的时候,编写程序人员需要首先对于要求加工的零件进行结构观察,认真分析零件的几何特点,建立相应的几何模型帮助程序员来立体化零件数字模型,从而在加工过程中设置需要进行加工的不同算法,例如零件加工程序算法、走刀最优路线、切入切出方式等。

需要注意的是,在进行宏程序编写的时候,要尽量减少程序运行次数,做到最简化运行程序,在设置坐标参数的时候也要注意观察零件构造,编写最合理简洁的循环程序。

需要注意的是,在进行局部编写和整体编写设置的过程中,要根据变量之间的传递关系来设定,把需要加工的尺寸参数利用宏指令的加工在数控机床中表现出来。

由于很多需要加工的零件的参数只是有一些不同的地方,在进行加工的时候如果每次都需要进行数控机床的重新编程就十分繁琐。

FANUC系统数控车床B类宏程序编程应用

FANUC系统数控车床B类宏程序编程应用

FANUC系统数控车床B类宏程序编程应用虽然子程序对编制相同加工操作(de)程序非常有用,但用户宏程序由于允许使用变量、算术和逻辑运算及条件转移,使得编制相同加工操作(de)程序更方便,更容易.可将相同加工操作编为通用程序,如型腔加工宏程序和固定加工循环宏程序. 使用时, 加工程序可用一条简单指令调出用户宏程序,和调用子程序完全一样.一、变量普通加工程序直接用数值指定 G代码和移动距离;例如, G100和X100.0. 使用用户宏程序时,数值可以直接指定或用变量指定.当用变量时,变量值可用程序或用 MDI 面板上(de)操作改变.如:2=30;1=2+100;G01 X1 F0.31、变量(de)表示变量用变量符号()和后面(de)变量号指定.例如:1表达式可以用于指定变量号.此时,表达式必须封闭在括号中.例如:[1+2-12]2、变量(de)类型变量根据变量号可以分成四种类型.3、变量值(de)范围局部变量和公共变量可以有 0 值或下面范围中(de)值:-1047到-10-29 0 10-29到 1047如果计算结果超出有效范围,则发出 P/S报警No.111.4、小数点(de)省略当在程序中定义变量值时,小数点可以省略.例:当定义1=123;变量1(de)实际值是 123.000.5、变量(de)引用为在程序中使用变量值, 指定后跟变量号(de)地址. 当用表达式指定变量时,要把表达式放在括号中.例如:G01X[1+2]F3;被引用变量(de)值根据地址(de)最小设定单位自动地舍入.例如:当 G00X1;以 1/1000mm (de)单位执行时,CNC把 12.3456 赋值给变量1,实际指令值为 G00X12.346; .改变引用(de)变量值(de)符号,要把负号(一)放在(de)前面.例如: G00X—1;当引用未定义(de)变量时,变量及地址字都被忽略.例如:当变量1(de)值是 0,并且变量2(de)值是空时,G00X1 Z2(de)执行结果为 G00X0.6、未定义(de)变量(当变量值未定义时,这样(de)变量成为“空”变量.变量0 总是空变量.它不能写,只能读.)(a)引用当引用一个未定义(de)变量时,地址本身也被忽略.(b)运算除了用<空>赋值以外,其余情况下<空>与0相同.当1=<空>时当1=0时2=1 → 2=<空>2=1 → 2=02=5 → 2=02=5 → 2=02=1+1 → 2=02=1+1 → 2=0(c)条件表达式 EQ和NE中(de)<空>不同于0.当1=<空>时当1=0时1EQ0 成立1EQ0 不成立1 NE 0 成立 1 NE 0 不成立1 GE 0 成立 1 GE 0 不成立1 GT 0 不成立 1 GT 0 不成立限制程序号,顺序号和任选程序段跳转号不能使用变量.例:下面情况不能使用变量:1、O1;2、/2G00X100.0;3、N3Y200.0;二、算术和逻辑运算下表中列出(de)运算可以在变量中执行. 运算符右边(de)表达式可包含常量和/或由函数或运算符组成(de)变量.表达式中(de)变量j 和k 可以用常数赋值.左边(de)变量也可以用表达式赋值.三、转移和循环在程序中,使用 GOTO 语句和 IF 语句可以改变控制(de)流向.有三种转移和循环操作可供使用:1、无条件转移 (GOTO 语句)格式:GOTOn;n:顺序号(1~99999)转移到标有顺序号 n (de)程序段.当指定 1 到99999 以外(de)顺序号时,出现P/S 报警 No.128.可用表达式指定顺序号.例:GOTO1;GOTO10;2、条件转移 (IF 语句)IF[<条件表达式>] GOTO nIF之后指定条件表达式.如果指定(de)条件表达式满足时,转移到标有顺序号 n (de)程序段.如果指定(de)条件表达式不满足,执行下个程序段.说明:a、条件表达式条件表达式必须包括算符.算符插在两个变量中间或变量和常数中间,并且用括号 ([])封闭.表达式可以替代变量.b、运算符运算符由 2个字母组成,用于两个值(de)比较,以决定它们是相等还是一个值小于或大于另一个值.注意,不能使用不等符号.C、示例程序下面(de)程序计算数值 1~10 (de)总和3、循环 (WHILE 语句)在WHILE后指定一个条件表达式, 当指定条件满足时, 执行从DO到END之间(de)程序.否则,转到 END后(de)程序段.说明:当指定(de)条件满足时,执行 WHILE 从 DO 到 END 之间(de)程序.否则,转而执行 END 之后(de)程序段.这种指令格式适用于 IF 语句.DO 后(de)号和 END 后(de)号是指定程序执行范围(de)标号,标号值为1,2,3.若用 1,2,3 以外(de)值会产生 P/S 报警 No.126.循环嵌套:在 DO—END循环中(de)标号(1 到 3)可根据需要多次使用.但是,当程序有交叉重复循环(DO范围(de)重叠)时,出现 P/S报警 No.124.四、宏程序编程举例曲线公式为X=(36/Z)+3实例分析:本例(de)精加工采用B类宏程序编程,以Z值为自变量,每次变化0.1mm,X值为应变量,通过变量运算计算出相应(de)X值.(宏程序编程时,首先要找出各点X坐标和Z坐标之间(de)对应关系)编程时使用(de)以下变量进行计算:加工顺序:粗车→半精车→精车(1)精车程序:设置变量G00 X7 Z74;1=72;WHILE[1GE2] DO2;2=[[36/1]+3];G42 G01 X[2] Z[1] F0.1;1=1-0.1;END2;(2)粗车程序:G90来粗车设置变量2=38;WHILE[1GE7] DO3;1=[36/[1-3]];G00 X[2+5] Z74;G90 X[2+0.5] Z[1] F0.2;2=2-4;END3;(3)半精车程序:设置变量G00 X7 Z74;1=72;WHILE[1GE2] DO4;2=[[36/1]+3.5];G01 X[2] Z[1] F0.1;1=1-0.1;END4;P170。

数控机床宏程序编程的技巧和实例

数控机床宏程序编程的技巧和实例

论文:数控机床宏程序编程的技巧和实例西北工业集团有限公司白锋刚2011年8月11日前言随着工业技术的飞速发展,产品形状越来越复杂,精度要求越来越高,产品更新换代越来越快,传统的设备已不能适应新要求。

现在我国的制造业中已广泛地应用了数控车床、数控铣床、加工中心机床、数控磨床等数控机床。

这些先进设备的加工过程都需要由程序来控制,需要由拥有高技能的人来操作。

要发挥数控机床的高精度、高效率和高柔性,就要求操作人员具有优秀的编程能力。

常用的编程方法有手工编程和计算机编程。

计算机编程的应用已非常广泛。

与手工编程比较,在复杂曲面和型腔零件编程时效率高、质量好。

因此,许多人认为手工编程已不再重要,特别是比较难的宏程序编程也不再需要。

只须了解一些基本的编程规则就可以了。

这样的想法并不能全面。

因为,计算机编程也有许多不足:1、程序数据量大,传输费时。

2、修改或调整刀具补偿需要重新后置输出。

3、打刀或其他原因造成的断点时,很难及时复位。

手工编程是基础能力,是数控机床操作编程人员必须掌握的一种编程方法。

手工编程能力是计算机编程的基础,是刀具轨迹设计,轨迹修改,以及进行后置处理设计的依据。

实践证明,手工编程能力强的人在计算机编程中才能速度快,程序质量高。

在程序中使用变量,通过对变量进行赋值及处理使程序具有特殊功能,这种有变量的程序叫宏程序。

宏程序是数控系统厂家面向客户提供的的二次开发工具,是数控机床编程的最高级手工方式。

合理有效的利用这个工具将极大地提升机床的加工能力。

作为一名从事数控车床、数控铣床、加工中心机床操作编程二十多年的技师,在平时的工作中,常常用宏程序来解决生产中的难题,因此对宏程序的编程使用积累了一些经验。

在传授指导徒弟和与同事探讨中,总结了许多学习编制宏程序应注意的要点。

有关宏编程的基础知识在许多书籍中讲过,我们在这里主要通过实例从编制技巧、要点上和大家讨论。

一、非圆曲面类的宏程序的编程技巧1、非圆曲面可以分为两类;(1)、方程曲面,是可以用方程描述其零件轮廓的曲面的。

数控立式车床宏程序的开发及应用

数控立式车床宏程序的开发及应用

刀具交换 的过程是 : 滑枕带 着刀夹移动 到刀库 内 刀盘 的一 个空位上,松 开刀具夹持器, 转动刀盘,把
想换 的刀具转到刀具 夹持器上,刀具夹 持器夹紧,移
动滑枕退 出刀库。
工件测 量装置的原理 图设计, 刀具 自动交换、 刀具 自 动测量和工件测量前的标定宏程序 的设计及调试。
合作开发 的新产 品,其 刀具 自动交换 、刀具 和工件测 下面就详细说 明这些宏程序及 问题 的解决方法。

刀具交换
量功能极大 的提高 了机 床的技术性能及 工作效率。如
何 正确 、合理地设置、开发及 调整这些功能 ,并为用 户提供 简洁 明快的使用 方式 ,对机床 的科学 、高效应 用至 关重要,为此我们组织人 力就这一 问题进行 了细 致 的理论研究和实践探索。主要 完成了刀具 测量装置、

6 第O期 数控机床市场 O・ 8

第二参考点。此点是在返第一参考点 ( 机械零点)后, 通过手动移 动滑枕 到刀库 内恰 当的换刀位置上,记 下 t R  ̄B C T上 显示 的绝对 座标 值,并 把 它输入 到参 数 b1 , #3 7 5和 # 3 7 6中, 然后 返参 考 点,第 二参 考点 的位
N1 0 1 : 1 / 0 1 1 1 2 0 o 0
b 刀库内此位置必须为空位。 .
N 0 I[ 1 T 1 G O 7 0 1 1 L ] OT 0 ; 3 F 0


所 需指 令
N 0 I[ 1 T 3 GO O 7 0 1 1 0G 】 T 0 : 4 F
a )M1 x×△ 定义当前滑枕上的刀具号。 2 T 1 △ b )M1 0 确认滑枕上 的刀具号与刀库 内的空位 9

数控机床宏程序编程的技巧和实例

数控机床宏程序编程的技巧和实例

数控机床宏程序编程的技巧和实例论文:数控机床宏程序编程的技巧和实例西北工业集团有限公司白锋刚2011年8月11日1前言随着工业技术的飞速发展,产品形状越来越复杂,精度要求越来越高,产品更新换代越来越快,传统的设备已不能适应新要求。

现在我国的制造业中已广泛地应用了数控车床、数控铣床、加工中心机床、数控磨床等数控机床。

这些先进设备的加工过程都需要由程序来控制,需要由拥有高技能的人来操作。

要发挥数控机床的高精度、高效率和高柔性,就要求操作人员具有优秀的编程能力。

常用的编程方法有手工编程和计算机编程。

计算机编程的应用已非常广泛。

与手工编程比较,在复杂曲面和型腔零件编程时效率高、质量好。

因此,许多人认为手工编程已不再重要,特别是比较难的宏程序编程也不再需要。

只须了解一些基本的编程规则就可以了。

这样的想法并不能全面。

因为,计算机编程也有许多不足:1、程序数据量大,传输费时。

2、修改或调整刀具补偿需要重新后置输出。

3、打刀或其他原因造成的断点时,很难及时复位。

手工编程是基础能力,是数控机床操作编程人员必须掌握的一种编程方法。

手工编程能力是计算机编程的基础,是刀具轨迹设计,轨迹修改,以及进行后置处理设计的依据。

实践证明,手工编程能力强的人在计算机编程中才能速度快,程序质量高。

在程序中使用变量,通过对变量进行赋值及处理使程序具有特殊功能,这种有变量的程序叫宏程序。

宏程序是数控系统厂家面向客户提供的的二次开发工具,是数控机床编程的最高级手工方式。

合理有效的利用这个工具将极大地提升机床的加工能力。

2作为一名从事数控车床、数控铣床、加工中心机床操作编程二十多年的技师,在平时的工作中,常常用宏程序来解决生产中的难题,因此对宏程序的编程使用积累了一些经验。

在传授指导徒弟和与同事探讨中,总结了许多学习编制宏程序应注意的要点。

有关宏编程的基础知识在许多书籍中讲过,我们在这里主要通过实例从编制技巧、要点上和大家讨论。

一、非圆曲面类的宏程序的编程技巧1、非圆曲面可以分为两类;(1)、方程曲面,是可以用方程描述其零件轮廓的曲面的。

宏程序在数控编程中的应用及加工实例

宏程序在数控编程中的应用及加工实例

宏程序在数控编程中地应用及加工实例摘要:本文针对宏程序编程地特点,在实际生产、数控编程教案和数控大赛三个方面阐述了宏程序编程地优点及必要性.并列出两类典型零件地编程实例.关键词:宏程序特点应用1 宏程序地特点在宏程序中,用户可以使用变量进行赋值及算术运算、逻辑运算和函数地混合运算,并允许在加工程序中使用条件转移和循环语句,从而为手工编写椭圆、抛物线等非圆曲线轮廓地数控加工程序提供了广阔地应用空间.宏程序具有灵活性、通用性和智能性等特点.编程人员只需要根据零件几何信息和不同地数学模型即可完成相应地模块化加工程序设计,应用时只需要把零件信息、加工参数等输入到相应模块地调用语句中,就能使编程人员从繁琐地、大量重复性编程工作中解脱出来,达到一劳永逸地效果.2 宏程序地应用2.1 宏程序在实际生产中地应用在实际生产中,宏程序编程是自动编程地有效补充.自动编程也称为计算机辅助编程,即程序编制工作地大部分或全部由计算机完成.在人机对话式自动编程中,从工件地图形确定、刀具地选择、起刀点地确定、走刀路线地安排,到各种工艺指令地插入,都可由计算机完成,最后得到所需地加工程序.可以说自动编程大大减轻了编程人员地劳动强度,提高了效率,同时解决了许多手工编程无法解决地复杂零件地编程难题.但采用自动编程也会带来一定地问题,比如说,自动编程一定要在专业软件地支撑下方能完成,也就是说,编程人员只有在系统地学习了一门软件之后,才能够进行自动编程.对于某些需要在数控机床上进行直接编程地操作者来说,不仅要求他们能够熟练地操作机床,还要掌握一门软件,并且需要在工厂内给操作者提供进行自动编程地工作环境,对于一些中小企业来说,在一定程度上会增加了其成本.此外,使用cad/cam软件编程一般都存在工作量大、程序庞大和加工参数不易修改等缺点,只要任何一个加工参数发生变化,软件就要根据变化后地加工参数重新计算刀具轨迹,任何智能化地软件也不能避免这一步骤.尽管软件计算刀具轨迹地速度非常快,但毕竟是个比较麻烦地过程.宏程序则注重把机床功能参数与编程语言相结合,而且灵活地参数设置也能够使机床具有最佳地工作性能,同时给了操作者极大地自由调整余地.在实际加工中,采用宏程序编程可以有效提高工作效率地情况可以归纳为以下几类:(1>机械零件上常见地一些典型结构,如多边形槽、圆槽、孔系、内外球面和倒r面等,在采用了宏程序编程之后,只要是同一类型地零件,不论尺寸如何变化,都可以用同一程序来完成加工,而操作者只需在加工前把反映零件关键尺寸地参数输入即可.(2>在车削零件加工中,可以通过g代码编程与宏程序编程相结合地方式,来实现几乎所有零件地加工.有经验地操作工经过相应地培训后,就能够完成从零件地分析到加工地全部工艺过程.对于一些中小企业来说,就完全没有必要设立专门地编程部门,大大地节约了生产成本.(3>对中等难度地零件来说,使用宏程序编程可以选择更加合适地走刀方式.由于应用了大量地编程技巧,使得宏程序地精度很高,这样不仅使程序段大大地缩短了,而且也比自动编程地程序加工时间要少了很多.2.2 宏程序在数控编程教案中地应用在用户宏程序本体中,通过使用变量,并给变量赋值,变量间就可以进行算术运算、罗辑运算和函数地混合运算.程序还可以使用循环语句、分支语句等进行跳转、循环,用近似于c语言等高级计算机编程语言地方式,进行数控加工程序地编制.与g代码编程方式相比,宏程序编程要更加复杂,不再是利用已有地编程指令,而是输入相应地参数.在进行宏程序编程之前,学生必须对所加工地零件有全面地了解,如:为什么该零件要使用宏程序编程,用其它简单地编程方法是否可以实现。

数控大赛高手教你宏程序编程与应用

数控大赛高手教你宏程序编程与应用

数控大赛高手教你宏程序编程与应用(文章底部可以评论,欢迎对文章进行点评和知识补充)作者:王展超,第二届全国数控技能大赛数控车组第一名(北京市工业技师学院)1.什么场合会用到宏程序编程?•手工编程加工公式曲线(计算简单,输入快捷)•有规律的切削路径(作为一个切削模块)•程序间的控制(程序的调度)•刀具的管理(刀具的磨损)•自动测量(机内测头)2.什么叫宏程序?在编程时,我们会把能完成某一功能的一系列指令像子程序那样存入存储器,用一个总指令来调用它们,使用时只需给出这个总指令就能执行其功能所存入的这一系列指令称作用户宏程序本体,简称宏程序。

这个总指令称作用户宏程序调用指令。

在编程时,编程员只要记住宏指令而不必记住宏程序。

3.用户宏程序与普通程序的区别:•在用户宏程序本体中,能使用变量,可以给变量赋值,变量间可以运算,程序可以跳转。

•普通程序中,只能指定常量,常量之间不能运算,程序只能顺序执行,不能跳转,因此功能是固定的,不能变化。

•用户宏功能是用户提高数控机床性能的一种特殊功能,在相类似工件的加工中巧用宏程序将起到事半功倍的效果。

4.变量的三种类型数控系统变量表示形式为“#”后跟1~4位数字,变量种类有三种:(1)局部变量:#1~#33是在宏程序中局部使用的变量,它用于自变量转移。

(2)公用变量:用户可以自由使用,它对于由主程序调用的各子程序及各宏程序来说是可以公用的。

#100~#149在关掉电源后,变量值全部被清除,而#500~#509在关掉电源后,变量值则可以保存。

(3)系统变量:由后跟4位数字来定义,它能获取包含在机床处理器或NC内存中的只读或读/写信息,包括与机床处理器有关的交换参数、机床状态获取参数、加工参数等系统信息。

5.宏程序的特点宏程序可使用变量,可用变量执行相应操作;实际变量值可由宏程序指令赋给变量。

6.指令(1)宏程序的简单调用格式宏程序的简单调用是指在主程序中,宏程序可以被单个程序段单次调用。

宏编程与CAM编程在数控大赛徽标加工中的实践

宏编程与CAM编程在数控大赛徽标加工中的实践
宏 编程 与 C AM 编程 在 数控 大 赛徽标 加 工 中的实 践
郝 永 刚 杨 轶 峰 李 刚。 , ,
( . 京 市 工 业 技 师 学 院 , 京 1 0 2 ;. 京 现 代 职 业 技 术 学 院 , 京 1 10 ) 1北 北 0032 北 北 0 3 0
摘 要 : 结合数 控 大赛徽 标 加 工 实例 , 过 宏程序 编 程与 C 通 AM 软 件 编程在 空间 曲面 类零件 加 工 中的
所示 ) 应用 经验公 式 进行 计算 : 来
N1 #3 6 0 — 2:
N1 #4— 1 O 0:
S 一2, R  ̄ h / h - A ≈2,Z h 2 /R  ̄
因 h 。数 值 对 结 果 的影 响 非 常 小 , 便 于 计 允 为 算 , 以忽略不 计 。 可
L= =Sc s oa
N1 #5 4; 0 —
N1 #1 O XOY ;
N 1 8: 0 Z1
N1 1: 0M
N1 0 WHIE #2 OD 1 刀 具 行 切 判 别 式 L E GE] O ; 程

依 据 图样提 供 的相关 参 数计 算 :
L一2c s O n、 百 而 _ . 8(  ̄0 2 mm)
1 实 践 分 析
1 1 零 件 加 工 .
通 过 分 析徽 标 图样 可得 , 加 工 零 件 为左 右 对 所 称 结构 。现 选取 右 边 形 体 为分 析 对 象 , 建立 坐 标 系
( 图 1 如 所示 ) 可 以将 加 工 面理解 为二 次旋 转平 面 , ,
了较 高要 求 。全 国数 控大 赛是 数控 技 术 的最高 技术 盛会 , 大赛 的会徽 就是 个典 型 的规 则 曲面模 型 , 参看

宏程序在数控编程中的应用

宏程序在数控编程中的应用

第七章宏程序在数控编程中的应用7.1 概述用户宏程序是以变量的组合,通过各种算术和逻辑运算、转移和循环等命令,而编制的一种可以灵活运用的程序,只要改变变量的值,即可完成不同的加工或操作。

用户宏功能是提高数控机床性能的一种特殊功能。

使用中,通常把能完成某一功能的一系列指令像子程序一样存入存储器,然后用一个总指令代表它们,使用时只需给出这个总指令就能执行其功能。

用户宏功能主体是一系列指令,相当于子程序体。

既可以由机床生产厂提供,也可以由机床用户自己编制。

宏指令是代表一系列指令的总指令,相当于子程序调用指令。

用户宏功能的最大特点是,可以对变量进行运算,使程序应用更加灵活、方便。

用户宏功能有A、B两类。

7.2 A类宏程序7.2.1变量在常规的主程序和子程序内,总是将一个具体的数值赋给一个地址。

为了使程序更具通用性、更加灵活,在宏程序中设置了变量,即将变量赋给一个地址。

(1)变量的表示变量可以用“#”号和跟随其后的变量序号来表示:#i(i=1,2,3......)例:#5,#109,#501。

(2)变量的引用将跟随在一个地址后的数值用一个变量来代替,即引入了变量。

例:对于F#103,若#103=50时,则为F50;对于Z-#110,若#110=100时,则Z为-100;对于G#130,若#130=3时,则为G03。

(3)变量的类型0MC系统的变量分为公共变量和系统变量两类。

1)公共变量公共变量是在主程序和主程序调用的各用户宏程序内公用的变量。

也就是说,在一个宏指令中的#i与在另一个宏指令中的#i是相同的。

公共变量的序号为:#100~#131;#500~#531。

其中#100~#131公共变量在电源断电后即清零,重新开机时被设置为“0”;#500~#531公共变量即使断电后,它们的值也保持不变,因此也称为保持型变量。

2)系统变量系统变量定义为:有固定用途的变量,它的值决定系统的状态。

系统变量包括刀具偏置变量,接口的输入/输出信号变量,位置信息变量等。

数车宏程序B及其应用实例K

数车宏程序B及其应用实例K

FANUC 0i Mate-TC系统宏程序B功能实例应用William.YangFANUC 0i Mate-TC系统宏程序B功能序宏程序作为一种数控程序编制指令现在已经被广大数控机床用户所认识,尤其是近年来随着各类数控大赛的不断开展,宏程序在大赛中的广泛应用,在数控行业中掀起了宏程序的热潮。

宏程序根据所用的数控机床的不同略有不同,但大同小异,我们学会了一种机床的宏程序后,再学习其它机床的宏程序就容易了。

本文以国际上比较流行的FANUC 0i Mate数控系统为例,介绍一下宏程序的编程。

FANUC 0i Mate数控系统中宏程序分为用户宏程序功能A和用户宏程序功能B两类。

A类宏程序是采用了G代码和引数进行赋值来表达各种数学运算和逻辑关系的一种方法,现在这种方法由于编制起来相对复杂,一般只有数控机床上没有配置用户宏程序功能B的用户才使用用户宏程序功能A。

目前大多数用户都使用用户宏程序功能B进行编制,所以本书仅以用户宏程序功能B为重点深入介绍宏程序的相关知识。

讲座中编写了近年广泛应用的一些例子和笔者最近开发的零件使用宏程序的复杂例子。

以FANUC 0i Mate数控系统数控车床和加工中心为例进行讲解,本讲座已经作为我学院的宏程序教案进行推广,同时在我学院进行培训的高级技师、技师及高级工中进行了讲授反映良好,特将本教案作为实例供广大使用FANUC 0i Mate数控系统的用户和有兴趣研究宏程序的读者作为参考。

一、宏程序的基本概念在一般的程序中,程序字为常量,只能描述固定的几何形状,缺乏灵活性和适用性。

若能用改变参数的方法使同一主程序能加工形状(属性)相同但尺寸(参数)不同的零件,加工就会非常方便,也提高了可靠性。

加工不规则形状零件时,机床可能要作非圆曲线运动,一般手工编程达不到要求。

在进行自动测量时机床要对测量数据进行处理,这些数据属于变量,一般程序是不能处理的。

针对这种情况,数控机床提供了另一种编程方式,即宏编程。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数控车削加工中公式曲线宏程序编程模板在数控大赛中的应用武汉市第二轻工业学校禹诚武汉华中数控股份有限公司肖明应用宏程序变量编程,对可以用函数公式描叙的工件轮廓或曲面进行数控加工,是现代数控系统一个重要的新功能和新方法,也是第二届全国数控技能大赛实操考试主要考核点之一。

但是,在一些地方的数控技能大赛中,数控宏程序编程的普及和应用还有待进一步提高。

例如:用数控车床加工公式曲线轮廓时,常需要使用宏程序,而很多数学和高级语言基础较差的学生往往很难掌握好。

在2006年第二届湖北省“华中数控杯”数控技能大赛中,武汉市第二轻工业学校选手成绩优异,共有5名选手入选湖北省参加全国决赛代表队,位居全省各企业和职业院校第一。

这五名选手在全国决赛中全部进入各工种前十五名,其中,车海峰同学在全国决赛中获得技校组数控铣床工种第四名,光荣获得赴京参加第二届全国数控技能大赛闭幕式暨颁奖仪式的机会。

作者作为武汉市第二轻工业学校数控大赛选手指导教师和湖北省参加全国决赛选手集训班教练组成员,在对选手进行赛前集训时,为了让学生尽快学会宏程序编程加工,与其他老师共同将数控车削加工中公式曲线宏程序编程制作成标准模板,方便参赛选手使用。

从实际应用的情况来看,如果参赛选手理解这个模板的原理,并且熟练掌握其编程方法,在时间非常宝贵和紧迫的数控实操比赛中,看清图纸,直接套用模板,就可以正确、快速地完成宏程序的编制,达到图纸的加工要求。

以配置华中世纪星HNC-21TD系统的数控车床为例,在加工零件公式曲线轮廓时,使用粗加工循环指令结合精加工宏程序可以方便快捷地完成零件的粗精加工。

现按照实际编程的顺序步骤,结合三个实例,将公式曲线精加工宏程序模板的原理和使用办法介绍如下:一、公式曲线宏程序编程模板的原理和使用步骤1、如何选定自变量1)公式曲线中的X和Z坐标任意一个都可以被定义为自变量,2)一般选择变化范围大的一个作为自变量,如图1,椭圆曲线从起点S到终点T,Z坐标变化量为16,X坐标变化量从图中可以看出比Z坐标要小得多,所以将Z坐标选定为自变量比较适当。

实际加工中我们通常将Z坐标选定为自变量。

3)根据表达式方便情况来确定X或Z作为自变量,如图3,公式曲线表达式为Z=0.005X3,将X坐标定义为自变量比较适当。

如果将Z坐标定义为自变量,则因变量X的表达式为,其中含有三次开方函数在宏程序中不方便表达。

4)为了表达方便,在这里将和X坐标相关的变量设为#1、#11、#12等,将和Z坐标相关的变量设为#2、#21、#22等。

实际中变量的定义完全可根据个人习惯进行定义。

2、如何确定自变量的起止点的坐标值该坐标值是相对于公式曲线自身坐标系的坐标值。

其中起点坐标为自变量的初始值,终点坐标为自变量的终止值。

如图1所示,选定椭圆线段的Z坐标为自变量#2,起点S的Z坐标为Z1=8,终点T的Z坐标为Z2=-8。

则自变量#2的初始值为8,终止值为-8。

如图2所示,选定抛物线段的Z坐标为自变量#2,起点S的Z坐标为Z1=15.626,终点T的Z坐标为Z2=1.6。

则#2的初始值为15.626,终止值为1.6。

图1 含椭圆曲线的零件图图2 含抛物线的零件图如图3所示,选定三次曲线的X坐标为自变量#1,起点S的X坐标为X1=28.171-12=16.171,终点T的X标为X2==7.368。

则#1的初始值为16.171,终止值为7.368。

3、如何进行函数变换,确定因变量相对于自变量的宏表达式如图1,Z坐标为自变量#2,则X坐标为因变量#1,那么X用Z表示为:分别用宏变量#1、#2代替上式中的X、Z,即得因变量#1相对于自变量#2的宏表达式:如图2,Z坐标为自变量#2,则X坐标为因变量#1,那么X用Z表示为:分别用宏变量#1、#2代替上式中的X、Z,即得因变量#1相对于自变量#2的宏表达式:如图3,X坐标为自变量#1,因Z坐标为因变量#2,那么Z用X表示为:Z=0.005*X*X*X分别用宏变量#1、#2代替上式中的X、Z,即得因变量#2相对于自变量#1的宏表达式:#2=0.005*#1*#1*#14、如何确定公式曲线自身坐标系原点对编程原点的偏移量(含正负号)该偏移量是相对于工件坐标系而言的。

如图1所示,椭圆线段自身原点相对于编程原点的X轴偏移量ΔX=15,Z轴偏移量△Z=-30 如图2所示,抛物线段自身原点相对于编程原点的X轴偏移量ΔX=20,Z轴偏移量△Z=-25.626 图3 含三次曲线的零件图如图3所示,三次曲线段自身原点相对于编程原点的X轴偏移量ΔX=28.171,Z轴偏移量△Z=-39.1445、如何判别在计算工件坐标系下的X坐标值(#11)时,宏变量#1的正负号。

1)根据编程使用的工件坐标系,确定编程轮廓为零件的下侧轮廓还是上侧轮廓:当编程使用的是X向下为正的工件坐标系,则编程轮廓为零件的下侧轮廓,当编程使用的是X向上为正的工件坐标系,则编程轮廓为零件的上侧轮廓。

2)以编程轮廓中的公式曲线自身坐标系原点为原点,绘制对应工件坐标系的X'和Z'坐标轴,以其Z'坐标为分界线,将轮廓分为正负两种轮廓,编程轮廓在X'正方向的称为正轮廓,编程轮廓在X负方向的称为负轮廓;3)如果编程中使用的公式曲线是正轮廓,则在计算工件坐标系下的X坐标值(#11)时宏变量#1的前面应冠以正号,反之为负。

如图1所示,在X向下为正的前置刀架数控车床编程工件坐标系下,编程中使用的是零件的下侧轮廓,其中的公式曲线为负轮廓,所以在计算工件坐标系下的X坐标值#11时宏变量#1的前面应冠以负号。

如图2所示,在X向下为正的前置刀架数控车床编程工件坐标系下,编程中使用的是零件的下侧轮廓,其中的公式曲线为负轮廓,所以在计算工件坐标系下的X坐标值#11时宏变量#1的前面应冠以负号。

如图3所示,在X向下为正的前置刀架数控车床编程工件坐标系下,编程中使用的是零件的上侧轮廓,其中的公式曲线为负轮廓,所以在计算工件坐标系下的X坐标值#11时宏变量#1的前面应冠以负号。

6、如何套用宏编程模板1)设Z坐标为自变量#2,X坐标为因变量#1,自变量步长为ΔW,则公式曲线段的精加工程序宏指令编程模板如下:#2=Z1 (给自变量#2赋值Z1:Z1是公式曲线自身坐标系下起始点的坐标值)WHILE #2 GE Z2 (自变量#2的终止值Z2:Z2是公式曲线自身坐标系下终止点的坐标值)#1=f(#2)(函数变换:确定因变量#1(X)相对于自变量#2(Z)的宏表达式)#11=±#1+ΔX (计算工件坐标系下的X坐标值#11:编程中使用的是正轮廓,#1前冠以正,反之冠以负;ΔX为公式曲线自身坐标原点相对于编程原点的X轴偏移量。

)#22=#2+ΔZ (计算工件坐标系下的Z坐标值#22:ΔZ为公式曲线自身坐标原点相对于编程原点的Z轴偏移量)G01 X[2*#11] Z[#22](直线插补,X为直径编程)#2=#2-ΔW (自变量以步长ΔW变化)ENDW (循环结束)2)设X坐标为自变量#1,Z坐标为因变量#2,自变量步长为ΔU,则公式曲线段的精加工程序宏指令编程模板如下:#1=X1 (给自变量#1赋值X1:X1是公式曲线自身坐标系下起始点的坐标值)WHILE #1 GE X2 (自变量#1的终止值X2:X2是公式曲线自身坐标系下终止点的坐标值)#2=f(#1)(函数变换:确定因变量#2(Z)相对于自变量#1(X)的宏表达式)#11=±#1+ΔX (计算工件坐标系下的X坐标值#11:编程使用的是正轮廓,#1前冠以正,反之冠以负。

ΔX为公式曲线自身坐标原点相对于编程原点的X轴偏移量。

)#22=#2+ΔZ (计算工件坐标系下的Z坐标值#22:ΔZ为公式曲线自身坐标原点相对于编程原点的Z轴偏移量)G01 X[2*#11] Z[#22] (直线插补,X为直径编程)#1=#1-ΔU (自变量以步长ΔU变化)ENDW (循环结束)二、公式曲线宏程序编程模板的具体应用实例运用以上公式曲线宏程序模板,结合粗加工循环指令,就可以快速准确实现零件公式曲线轮廓的编程和加工。

具体应用示例如下:例1:如图1所示零件的外轮廓粗精加参考程序如下(设毛坯为直径25毫米的棒料):%0001(程序头)T0101(调用01号外圆刀及01号刀具偏置补偿)G90 M03 S700(绝对值编程;主轴以700转/分正转)G00 X33 Z2(快速定位到粗加工循环起点)G71 U1 R0.5 P10 Q20 X0.6 F100(外径粗车循环)N10 G01 X10 F60 S1000(精加工起始程序段)Z-10X24Z-22(公式曲线起点)#2=8(设Z为自变量#2,给自变量#2赋值8:Z1=8)WHILE #2 GE [-8](自变量#2的终止值-8:Z2=-8)(因变量#1:,用#1、#2代替X、Z)#11=-#1+15(工件坐标系下的X坐标值#11:编程使用的是负轮廓,#1前冠以负;ΔX=15)#22=#2-30(工件坐标系下的Z坐标值#22:ΔZ=-30)G01 X[2*#11] Z[#22](直线插补,X为直径编程)#2=#2-0.5(自变量以步长0.5变化)ENDW(循环结束)N20 G01 Z-50(精加工终止程序段)G00 X100 Z80(快速定位到退刀点)M30(程序结束)例2:如图2所示零件的外轮廓粗精加参考程序如下(设毛坯为直径33毫米的棒料):%0002(程序头)T0101(调用01号外圆刀及01号刀具偏置补偿)G90 M03 S700(绝对值编程;主轴以700转/分正转)G00 X33 Z2(快速定位到粗加工循环起点)G71 U1 R0.5 P10 Q20 X0.6 F100(外径粗车循环)N10 G01 X10 F60 S1000(精加工起始程序段)Z-10X15(公式曲线起点)#2=15.626(设Z为自变量#2,给自变量#2赋值15.626:Z1=15.626)WHILE #2 GE 1.6(自变量#2的终止值1.6:Z2=1.6)(因变量#1:,用#1、#2代替X、Z)#11=-#1+20(工件坐标系下的X坐标值#11:编程使用的是负轮廓,#1前冠以负;ΔX=20)#22=#2-25.626(工件坐标系下的Z坐标值#22:△Z=-25.626)G01 X[2*#11] Z[#22](直线插补,X为直径编程)#2=#2-0.5(自变量以步长0.5变化)ENDW(循环结束)N20 G01 Z-35(精加工终止程序段)G00 X100 Z80(快速定位到退刀点)M30(程序结束)例3:如图3所示零件的外轮廓粗精加参考程序如下(设毛坯为直径57毫米的棒料):%0003(程序头)T0101(调用01号外圆刀及01号刀具偏置补偿)G90 M03 S700(绝对值编程;主轴以700转/分正转)G00 X57 Z2(快速定位到粗加工循环起点)G71 U1 R0.5 P10 Q20 X0.6 F100(外径粗车循环)N10 G01 X20 F60 S1000(精加工起始程序段)Z-13X24Z-18(公式曲线起点)#1=16.171(设X为自变量#1,给自变量#1赋值16.171:X1=16.171)WHILE #1 GE 7.368(自变量#1的终止值7.368:X2=7.368)#2=0.005*#1*#1*#1(因变量#2:,用#1、#2代替X、Z)#11=-#1+28.171(工件坐标系下的X坐标值#11:编程使用的是负轮廓,#1前冠以负;ΔX=28.171)#22=#2-39.144(工件坐标系下的Z坐标值#22:△Z=-39.144)G01 X[2*#11] Z[#22](直线插补,X为直径编程)#1=#1-0.5(自变量以步长0.5变化)ENDW(循环结束)G01 X50 R2Z-42.144 R2X56N20 Z-55((精加工终止程序段)G00 X100 Z80(快速定位到退刀点)M30(程序结束)以上例题都在配置华中世纪星HNC-21TD系统的数控车床上实际运行通过。

相关文档
最新文档