宏程序加工教案

时间:2019-05-12 18:21:08下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《宏程序加工教案》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《宏程序加工教案》。

第一篇:宏程序加工教案

《数控铣加工技术》教案

宏程序加工实例

一、宏指令编程

1宏变量及常量(1)宏变量

#0~#49当前局部变量 #50~#199全局变量

#200~#249 0层局部变量 #250~#299 1层局部变量 #300~#349 2层局部变量 #350~#399 3层局部变量 #400~#449 4层局部变量 #450~#499 5层局部变量 #500~#549 6层局部变量 #550~#599 7层局部变量

#600~#699刀具长度寄存器H0~H99 #700~#799刀具半径寄存器D0~D99 #800~#899刀具寿命寄存器

#1000“机床当前位置X”#1001“机床当前位置Y”#1002“机床当前位置Z” #1003“机床当前位置A”#1004“机床当前位置B”#1005“机床当前位置C” #1006“机床当前位置U”#1007“机床当前位置V”#1008“机床当前位置W” #1009保留#1010“程编机床位置X”#1011“程编机床位置Y”

#1012“程编机床位置Z”#1013“程编机床位置A”#1014“程编机床位置B” #1015“程编机床位置C”#1016“程编机床位置U”#1017“程编机床位置V” #1018“程编机床位置W”#1019保留#1020“程编工件位置X”

#1021“程编工件位置Y”#1022“程编工件位置Z”#1023“程编工件位置A” #1024“程编工件位置B”#1025“程编工件位置C”#1026“程编工件位置U” #1027“程编工件位置V”#1028“程编工件位置W”#1029保留 53 #1030“当前工件零点X”#1031“当前工件零点Y”#1032“当前工件零点Z” #1033“当前工件零点A”#1034“当前工件零点B”#1035“当前工件零点C” #1036“当前工件零点U”#1037“当前工件零点V”#1038“当前工件零点W”

《数控铣加工技术》教案

#1039保留#1040“G54零点X”#1041“G54零点Y”

#1042“G54零点Z”#1043“G54零点A”#1044“G54零点B” #1045“G54零点C”#1046“G54零点U”#1047“G54零点V” #1048“G54零点W”#1049保留#1050“G55零点X”

#1051“G55零点Y”#1052“G55零点Z”#1053“G55零点A” #1054“G55零点B”#1055“G55零点C”#1056“G55零点U” #1057“G55零点V”#1058“G55零点W”#1059保留

#1060“G56零点X”#1061“G56零点Y”#1062“G56零点Z” #1063“G56零点A”#1064“G56零点B”#1065“G56零点C” #1066“G56零点U”#1067“G56零点V”#1068“G56零点W” #1069保留#1070“G57零点X”#1071“G57零点Y”

#1072“G57零点Z”#1073“G57零点A”#1074“G57零点B” #1075“G57零点C”#1076“G57零点U”#1077“G57零点V” #1078“G57零点W”#1079保留#1080“G58零点X”

#1081“G58零点Y”#1082“G58零点Z”#1083“G58零点A” #1084“G58零点B”#1085“G58零点C”#1086“G58零点U” #1087“G58零点V”#1088“G58零点W”#1089保留

#1090“G59零点X”#1091“G59零点Y”#1092“G59零点Z” #1093“G59零点A”#1094“G59零点B”#1095“G59零点C” #1096“G59零点U”#1097“G59零点V”#1098“G59零点W” #1099保留#1100“中断点位置X”#1101“中断点位置Y”

#1102“中断点位置Z”#1103“中断点位置A”#1104“中断点位置B” #1105“中断点位置C”#1106“中断点位置U”#1107“中断点位置V”

#1108“中断点位置W”#1109“坐标系建立轴”#1110“G28中间点位置X”

#1111“G28中间点位置Y”#1112“G28中间点位置Z”#1113“G28中间点位置A” #1114“G28中间点位置B”#1115“G28中间点位置C”#1116“G28中间点位置U” #1117“G28中间点位置V”#111“8G28中间点位置W”#1119“G28屏蔽字” #1120“镜像点位置X”#1121“镜像点位置Y”#1122“镜像点位置Z” #1123“镜像点位置A”#1124“镜像点位置B”#1125“镜像点位置C” #1126“镜像点位置U”#1127“镜像点位置V”#1128“镜像点位置W” #1129“镜像屏蔽字”#1130“旋转中心(轴1)”#1131“旋转中心(轴2)” #1132“旋转角度”#1133“旋转轴屏蔽字”#1134保留

#1135“缩放中心(轴1)”#1136“缩放中心(轴2)”#1137“缩放中心(轴3)” #1138“缩放比例”#1139“缩放轴屏蔽字”#1140“坐标变换代码1” #1141“坐标变换代码2”#1142“坐标变换代码3”#1143保留

#1144“刀具长度补偿号”#1145“刀具半径补偿号”#1146“当前平面轴1” #1147“当前平面轴2”#1148“虚拟轴屏蔽字”#1149“进给速度指定”

《数控铣加工技术》教案

#1150“G代码模态值0”#1151“G代码模态值1”#1152“G代码模态值2” #1153“G代码模态值3”#1154“G代码模态值4”#1155“G代码模态值5 #1156“G代码模态值6”#1157“G代码模态值7”#1158“G代码模态值8”世纪星铣床数控系统(HNC-21/22M)编程说明书 54 #1159“G代码模态值9”#1160“G代码模态值10”#1161“G代码模态值11” #1162“G代码模态值12”#1163“G代码模态值13”#1164“G代码模态值14” #1165“G代码模态值15”#1166“G代码模态值16”#1167“G代码模态值17” #1168“G代码模态值18”#1169“G代码模态值19”#1170“剩余CACHE” #1171“备用CACHE”#1172“剩余缓冲区”#1173“备用缓冲区” #1174保留#1175保留#1176保留 #1177保留#1178保留#1179保留 #1180保留#1181保留#1182保留 #1183保留#1184保留#1185保留 #1186保留#1187保留#1188保留

#1189保留#1190“用户自定义输入”#1191“用户自定义输出” #1192“自定义输出屏蔽”#1193保留#1194保留(2)常量

PI:圆周率π

TRUE:条件成立(真)FALSE:条件不成立(假)2运算符与表达式

(1)算术运算符:+,-,*,/(2)条件运算符 EQ(=),NE(≠),GT(>),GE(≥),LT(<),LE(≤)(3)逻辑运算符 AND,OR,NOT(4)函数

SIN,COS,TAN,ATAN,ATAN2,ABS,INT,SIGN,SQRT,EXP(5)表达式

用运算符连接起来的常数,宏变量构成表达式。例如:175/SQRT[2]*COS[55*PI/180]; #3*6 GT 14; 3赋值语句

格式:宏变量=常数或表达式

《数控铣加工技术》教案

把常数或表达式的值送给一个宏变量称为赋值。例如:#2=175/SQRT[2]*COS[55*PI/180];

#3=124.0;世纪星铣床数控系统(HNC-21/22M)编程说明书 4条件判别语句IF,ELSE,ENDIF 格式(i):IF条件表达式 „ ELSE „ ENDIF 格式(ii):IF条件表达式 „ ENDIF 5循环语句WHILE,ENDW 格式:WIIILE条件表达式 „ ENDW 条件判别语句的使用参见宏程序编程举例。循环语句的使用参见宏程序编程举例。

二、宏程序编制举例 例1:G81宏程序 例2 椭圆编程程序:

a=50 b=30的一个椭圆;

弧度增量:0.1 宏程序:

%1 G54G90G17G21 M03S3000 G00X50Y0Z10 G01 Z-1 F300 #1=0 #2=50 #3=30 WHILE #1 LT 2*PI #4=#2*COS#1 #5=#3*SIN#1 G01 X[#4] Y[#5]

#1=#1+0.1 《数控铣加工技术》教案

ENDW G01 X__Y__Z100;

M30 % 例3抛物线编程: Y=0.1 *X*X %0206 G54M03S600T1D1 M03S6000 G41 X27.9 Y32 D1 #1=17.9 G01 X[#1+10] Y[0.1*#1*#1-8]

#1=#1-0.1 IF[#1GE-19.8] GOTO__ G40 G01 X__Y__ G00Z100 M30 % 例4切圆台与斜方台,各自加工3个循环,要求倾斜10°的斜方台与圆台相 切,圆台在方台之上,顶视图见图3.50。

%8002 #10=10.0;圆台阶高度

《数控铣加工技术》教案

#11=10.0;方台阶高度

#12=124.0;圆外定点的X坐标值 #13=124.0;圆外定点的Y坐标值 #101=8.0刀具半径偏置(粗加工)#102=6.5刀具半径偏置(半精加工)#103=6.0刀具半径偏置(精加工)N01 G92 X0.0 Y0.0 Z10.0 #0=0 N06 G00 X[?#12]Y[?#13];→A N07 G01 Z[?#10]M03 S600 F200;Z轴进刀,准备加工圆台 WHILE#0 LT 3;加工圆台

N[08+#0*6]G01 G42 X[?#12/2]Y[?90/2]F280.0 D[#0+101];→B N[09+#0*6]X[0]Y[?90/2];→C N[10+#0*6]G03 J[90/2];整圆加工

N[11+#0*6]G01 X[#12/2]Y[?90/2];→B’ N[12+#0*6]G40 X[#12]Y[?#13];→A’ N[13+#0*6]G00 X[-#12]Y[?#13];→A #0=#0+1;#0中数值加1 ENDW N100 Z[-#10-#11];Z轴进刀,准备加工斜方台

#2=90/SQRT[2]*COS[55*PI/180];P1点坐标(X=-#12,Y=-#13)#3=90/SQRT[2]*SIN[55*PI/180] #4=90*COS[10*PI/180];P1 P2间X增量为#4,Y增量为#5 #5=90*SIN[10*PI/180] #0=0 WHILE#0 LT 3;加工斜方台

N[101+#0*8]G01 G42 X[?#12/2]Y[?90/2]F280.0 D[#0+101];→B N[102+#0*8]X[?#2]Y[?#3];→P1 N[103+#0*8]G91 X[+#4]Y[+#5];→P2 N[104+#0*8]X[?#5]Y[+#4];→P3 N[105+#0*8]X[?#4]Y[?#5];→P4 N[106+#0*8]X[+#5]Y[?#4];→P1 N[107+#0*8]G90 X[#12/2]Y[?90/2];→B’ N[108+#0*8]G00 G40 X[?#12]Y[?#13];→A #0=#0+1 ENDW G00 X0 Y0 M05 M30 《数控铣加工技术》教案

例5要求沿直线方向钻一系列孔,直线的倾角由C65指令中的x,Y变量来决定,如图所示。

%100G54G21 M03 S1000 G90G00X1Y1Z20 G65P10 M05 M30 %10 #10=10 孔数10 #11=100 进给速度100 #12=50 长轴50 #13=25 短轴25 #14=-10 孔深10 G98G81X1Y1Z[#14]F[#11]R2 G91 WHILE[#10GT0] #10=#10-1 G81 X[#12]Y[#13]R0 ENDW M99 例6加工一椭圆,椭圆长轴为100 mm,短轴为50 mm。

《数控铣加工技术》教案

第二篇:宏程序教案

数控宏程序的概念

用变量的方式进行数控编程的方法就叫做数控宏程序编程。

一、控宏程序的分类

数控宏程序分为A类和B类宏程序,其中A类宏程序比较老,编写起来也比较费时费力,B类宏程序类似于C语言的编程,编写起来也很方便。不论是A类还B类宏程序,它们运行的效果都是一样的。

一般说来,华中的数控机床用的是B类宏程序,广州数控机床用的是A类宏程序。

二、数控宏程序的优点

1.可以编写一些非圆曲线,如宏程序编写椭圆,双曲线,抛物线等。

2.编写一些大批相似零件的时候,可以用宏程序编写,这样只需要改动几个数据就可以了,没有必要进行大量重复编程。

数控宏程序的使用方法

三、A类宏程序

1)变量的定义和替换 #i=#j

编程格式 G65 H01 P#i Q#j

例 G65 H01 P#101 Q1005;(#101=1005)

G65 H01 P#101 Q-#112;(#101=-#112)

2)加法 #i=#j+#k

编程格式 G65 H02 P#i Q#j R#k

例 G65 H02 P#101 Q#102 R#103;(#101=#102+#103)

3)减法 #i=#j-#k

编程格式 G65 H03 P#i Q#j R#k

例 G65 H03 P#101 Q#102 R#103;(#101=#102-#103)

4)乘法 #i=#j×#k

编程格式 G65 H04 P#i Q#j R#k

例 G65 H04 P#101 Q#102 R#103;(#101=#102×#103)

5)除法 #i=#j / #k

编程格式 G65 H05 P#i Q#j R#k

例 G65 H05 P#101 Q#102 R#103;(#101=#102/#103)

6)平方根 #i=

编程格式 G65 H21 P#i Q#j

例 G65 H21 P#101 Q#102;(#101=)

7)绝对值 #i=│#j│

编程格式 G65 H22 P#i Q#j

例 G65 H22 P#101 Q#102;(#101=│#102│)

8)复合平方根1 #i=

编程格式 G65 H27 P#i Q#j R#k

例 G65 H27 P#101 Q#102 R#103;(#101=

9)复合平方根2 #i=

编程格式 G65 H28 P#i Q#j R#k

例 G65 H28 P#101 Q#102 R#103

1)逻辑或 #i=#j OR #k

编程格式 G65 H11 P#i Q#j R#k

例 G65 H11 P#101 Q#102 R#103;(#101=#102 OR #103)

2)逻辑与 #i=#j AND #k

编程格式 G65 H12 P#i Q#j R#k

例 G65 H12 P#101 Q#102 R#103;#101=#102 AND #103

(3)三角函数指令

1)正弦函数 #i=#j×SIN(#k)

编程格式 G65 H31 P#i Q#j R#k(单位:度).例 G65

H31 P#101 Q#102

R#10

3;(#101=#102×SIN(#103))

2)余弦函数 #i=#j×COS(#k)

编程格式 G65 H32 P#i Q#j R#k(单位:度)例 G65

H32 P#101 Q#102

R#103

;(#101=#102×COS(#103))

3)正切函数 #i=#j×TAN#k

编程格式 G65 H33 P#i Q#j R#k(单位:度)例 G65

H33 P#101 Q#102

R#103

;(#101=#102×TAN(#103))

4)反正切 #i=ATAN(#j/#k)

编程格式 G65 H34 P#i Q#j R#k(单位:度,0o≤ #j ≤360o)例 G65

H34 P#101 Q#102

R#103

;(#101=ATAN(#102/#103)

(4)控制类指令

编程格式 G65 H80 Pn(n为程序段号)

例 G65 H80 P120;(转移到N120)

2)条件转移1 #j EQ #k(=)

编程格式 G65 H81 Pn Q#j R#k(n为程序段号)

例 G65 H81 P1000 Q#101 R#102

当#101=#102,转移到N1000程序段;若#101≠ #102,执行下一程序段。

3)条件转移2 #j NE #k(≠)

编程格式 G65 H82 Pn Q#j R#k(n为程序段号)

例 G65 H82 P1000 Q#101 R#102

当#101≠ #102,转移到N1000程序段;若#101=#102,执行下一程序段。

4)条件转移3 #j GT #k(>)

编程格式 G65 H83 Pn Q#j R#k(n为程序段号)

例 G65 H83 P1000 Q#101 R#102

当#101 > #102,转移到N1000程序段;若#101 ≤#102,执行下一程序段。

5)条件转移4 #j LT #k(<)

编程格式 G65 H84 Pn Q#j R#k(n为程序段号)

例 G65 H84 P1000 Q#101 R#102

当#101 < #102,转移到N1000;若#101 ≥ #102,执行下一程序段。

6)条件转移5 #j GE #k(≥)

编程格式 G65 H85 Pn Q#j R#k(n为程序段号)

例 G65 H85 P1000 Q#101 R#102

当#101≥ #102,转移到N1000;若#101<#102,执行下一程序段。

7)条件转移6 #j LE #k(≤)

编程格式 G65 H86 Pn Q#j Q#k(n为程序段号)

例 G65 H86 P1000 Q#101 R#102

当#101≤#102,转移到N1000;若#101>#102,执行下一程序段。

四、B类宏程序

1. 定义

#I=#j

2. 算术运算

#I=#j+#k(加)

#I=#j-#k(减)

#I=#j×#k(乘)

#I=#j/#k(除)

3.1 逻辑函数之布尔函数

= EQ 等于

≠ NE 不等于

> GT 大于

< LT 小于

≥ GE 大于或等于

≤ LE 小于或等于

例:#I = #j 即#I EQ #J

3.2 逻辑函数之二进制函数

#I=#J AND #k(与,逻辑乘)

#I=#J OR #k(或,逻辑加)

#I=#J XOR #k(非,逻辑减)

4.三角函数

#I=SIN[#j] 正弦

#I=COS[#j] 余弦

#I=TAN[#j] 正切

#I=ASIN[#j]反 正弦

#I=ACOS[#j]反 余弦 #I=ATAN[#j]

5.四舍五入函数

#I=ROUND[#j] 四舍五入化整

#I=FIX[#j] 上取整

反正切

#I=FUP[#j] 下取整

6.辅助函数

#I=SQRT[#j]平方根

#I=ABS[#j] 绝对值

#I= LN [#j] 自然对数

#I= EXP [#j] 指数函数

7.变换函数 #I=BIN[#j] BCD→BIN(十进制转二进制)

#I=BCD[#j] BIN→BCD(二进制转十进制)

8.转移和循环

1〉.无条件的转移 格式: GOTO 1; GOTO #10;

2〉.条件转移1 格式: IF[<条件式>] GOTO n

条件式:例:#j=#k用 #j EQ #k 表示,即 IF[#j EQ #k] GOTO n

3〉.条件转移2 格式: IF[<条件式>] THEN #I

例:IF[#j EQ #k] THEN #a=#b

4〉.循环 格式:WHILE [<条件式>] DOm,(m=1、2、3)

N10~~~~~~~~~

N20~~~~~~~~~~~~

ENDm(上下两个m只能为1、2、3且必须相

同,这样才能够成一段程序的循环)

1. 说明 1)角度单位为度 例:90度30分为90.5度

2)ATAN函数后的两个边长要用“1”隔开 例:#1=ATAN[1]/[-1]时,#1为了35.0

3)ROUND用于语句中的地址,按各地址的最小设定单位进行四舍五入

例:设#1=1.2345,#2=2.3456,设定单位1μm

G91 X-#1;X-1.235 X-#2 F300;X-2.346 X[#1+#2];X3.580 未返回原处,应改为 X[ROUND[#1]+ROUND[#2]];

4)取整后的绝对值比原值大为上取整,反之为下取整 例:设#1=1.2,#2=-1.2时 若#3=FUP[#1]时,则#3=2.0 若#3=FIX[#1]时,则#3=1.0 若#3=FUP[#2]时,则#3=-2.0 若#3=FIX[#2]时,则#3=-1.0

5)简写函数时,可只写开头2个字母 例:ROUND→RO FIX→FI GOTO→GO

6)优先级 函数→乘除(*,1,AND)→加减(+,-,OR,XOR)例:#1=#2+#3*SIN[#4];

7)括号为中括号,最多5重,园括号用于注释语句 例:#1=SIN[[[#2+#3]*#4+#5]*#6];(3重)

转移与循环指令

第三篇:加工中心铣螺纹宏程序精华[最终版]

加工中心通用铣螺纹宏程序编程教程

使用G03/G02三轴联动走螺旋线,刀具沿工件表面(孔壁或圆柱外表)切削。螺旋插补一周,刀具Z向负方向走一个螺距量。工作原理 使用G03/G02三轴联动走螺旋线,刀具沿工件表面(孔壁或圆柱外表)切削。螺旋插补一周,刀具Z向负方向走一个螺距量。编程原理:G02 Z-2.5 I3.Z-2.5等于螺距为2.5mm 假设刀具半径为5mm则加工M16的右旋螺纹 优势 使用了三轴联动数控铣床或加工中心进行加工螺纹,相对于传统螺纹加工 1、如螺距为2的螺纹铣刀可以加工各种公称直径,螺距为2mm的内外螺纹 2、采用铣削方式加工螺纹,螺纹的质量比传统方式加工质量高 3、采用机夹式刀片刀具,寿命长 4、多齿螺纹铣刀加工时,加工速度远超攻丝 5、首件通止规检测后,后面的零件加工质量稳定 使用方法 G65 P1999 X_ Y_ Z_ R_ A_ B_ C_ S_ F_ XY 螺纹孔或外螺纹的中心位置 X=#24Y=#25 Z螺纹加工到底部,Z轴的位置(绝对坐标)Z=#26 R 快速定位(安全高度)开始切削螺纹的位置 R=#18 A 螺纹螺距 A=#1 B 螺纹公称直径 B=#2 C 螺纹铣刀的刀具半径 C=#3内螺纹为负数 外螺纹加工为正数 S 主轴转速 F 进给速度,主要用于控制刀具的每齿吃刀量 如: G65 p1999 X30 Y30 Z-10 R2 A2 B16 C-5 S2000 F150;在X30y30的位置加工 M16 螺距2 深10的右旋螺纹 加工时主轴转速为2000转 进给进度为150mm/min 宏程序代码 O1999;G90G94G17G40;G0X#24Y#25;快速定位至螺纹中心的X、Y坐标 M3S#19;主轴以设定的速度正转 #31=#2*0.5+#3;计算出刀具偏移量 #32=#18-#1;刀具走螺旋线时,第一次下刀的位置 #33=#24-#31;计算出刀具移动到螺纹起点的位置 G0Z#18;刀具快速定位至R点 G1X#33F#9;刀具直线插补至螺旋线的起点,起点位于X的负方向 N20 G02Z-#32I#31;以偏移量作为半径,以螺距作为螺旋线Z向下刀量(绝对坐标)

内梯形螺纹(Tr40x7)的宏程序

系统:FANUC-oimait 编程思想:每一层分中、右、左三分,每一刀的Z轴方向的起刀点都不同

1、内梯形螺纹加工程序: G54G99 M3S100 T0101 G0Z3 X33 #101=0.2;每一刀的的深度(半径)#102=4梯形螺纹的深度(半径)#103=1分层切削的次数 N90 G0U[2*#101*#103] G32Z-32F7 G0X32 Z[3+[#102-#101]*0.268+A]; A是槽底宽-刀尖宽的一半

螺纹铣削编程 X33 U[2*#101*#103] G32Z-32F7 G0X32 Z[3-[#102-#101]*0.268-A]梯形螺纹的牙顶宽:0.366x螺距梯形螺纹的牙底宽:螺距-牙顶宽-2倍的(螺纹深度Xtg15°)X33 U[2*#101*#103] G32Z-32F7 G0X32 G0Z3 X33 #102=#102-0.2 #103=#103+1 IF[#103LE20]GOTO90; G0Z100 M5 M30

现以M20×1.5右旋内螺纹铣削

加工实例说明螺纹加工的编程方

法。

工件材料:铸铁;螺纹底孔直径:

Di18.38mm;螺纹直径:Do=20mm;

螺纹长度:L=25mm;螺距:

P=1.5mm;刀具:硬质合金螺纹钻铣刀;铣刀直径D2=10mm;

铣削方式:顺铣;切削速度50m/min;铣削进给量:0.1mm/齿。

主轴转速为:n=(1000v)/(D2p)=(1000×50)/(10x3.14)=1592(r/min)铣刀齿数z=1,每齿进给量f=0.1mm,铣刀切削刃处进给速度为: v1=fzn=0.1×1×1592=159.2(mm/min)铣刀中心进给速度为:v2=v1(D0-D2)/D0=159.2×(20-10)/20=79.6(mm/min)

设安全距离CL=0.5mm,切入圆弧半径为: 切入圆弧角度为: b=180°-arcsin[(Ri-CL)/Re)=180°-arcsin[(9.19-0.5)/8.78]=180°-84.12°=95.88° 切入圆弧时的Z轴位移为:Za=Pa/360°=1.5×90°/360°=0.375(mm)

切入圆弧起点坐标为:螺纹铣削程序(FUNUC系统)% G90 G00 G57 X0.Y0.G43 H10 Z0.M3 S1592 G91 G00 X0.Y0.Z-25.375 G41 D60 X0.Y-8.68 Z0.G03 X10.Y8.68 Z0.375 R8.78 F79.6 G03 X0.Y0.Z1.5 I-10.J0.G03 X-10.Y8.68 Z0.375 R8.78 G00 G40 X0.Y-8.68 Z0.G49 G57 G00 Z200.M5 M30

第四篇:华中数控宏程序教案

华中数控宏程序教案.txt人生在世,难敌宿命,沉沦其中。我不爱风尘,似被前缘误!我只为我最爱的人流泪“我会学着放弃你,是因为我太爱你”赢了你,我可以放弃整个世界华中数控宏程序教案 一.什么是宏程序?

什么是数控加工宏程序?简单地说,宏程序是一种具有计算能力和决策能力的数控程序。宏程序具有如下些特点:

1.使用了变量或表达式(计算能力),例如:(1)G01X[3+5];有表达式3+5(2)G00X4F[#1];有变量#1(3)G01Y[50*SIN[3]];有函数运算 2.使用了程序流程控制(决策能力),例如:(1)IF#3GE9;有选择执行命令 „„ ENDIF(2)WHILE#1LT#4*5;有条件循环命令 „„ ENDW 二.用宏程编程有什么好处? 1.宏程序引入了变量和表达式,还有函数功能,具有实时动态计算能力,可以加工非圆曲线,如抛物线、椭圆、双曲线、三角函数曲线等;

2.宏程序可以完成图形一样,尺寸不同的系列零件加工; 3.宏程序可以完成工艺路径一样,位置不同的系列零件加工; 4.宏程序具有一定决策能力,能根据条件选择性地执行某些部分;

5.使用宏程序能极大地简化编程,精简程序。适合于复杂零件加工的编程。一.宏变量及宏常量 1.宏变量

先看一段简单的程序: G00X25.0 上面的程序在X轴作一个快速定位。其中数据25.0是固定的,引入变量后可以写成: #1=25.0;#1是一个变量 G00X[#1];#1就是一个变量

宏程序中,用“#”号后面紧跟1~4位数字表示一个变量,如#1,#50,#101,„„。变量有什么用呢?变量可以用来代替程序中的数据,如尺寸、刀补号、G指令编号„„,变量的使用,给程序的设计带来了极大的灵活性。使用变量前,变量必需带有正确的值。如 #1=25 G01X[#1];表示G01X25 #1=-10;运行过程中可以随时改变#1的值 G01X[#1];表示G01X-10 用变量不仅可以表示坐标,还可以表示G、M、F、D、H、M、X、Y、„„等各种代码后的数字。如: #2=3 G[#2]X30;表示G03X30 例1使用了变量的宏子程序。%1000 #50=20;先给变量赋值 M98P1001;然后调用子程序 #50=350;重新赋值

M98P1001;再调用子程序 M30 %1001 G91G01X[#50];同样一段程序,#50的值不同,X移动的距离就不同 M99 2.局部变量

编号#0~#49的变量是局部变量。局部变量的作用范围是当前程序(在同一个程序号内)。如果在主程序或不同子程序里,出现了相同名称(编号)的变量,它们不会相互干扰,值也可以不同。例 %100 N10#3=30;主程序中#3为30 M98P101;进入子程序后#3不受影响 #4=#3;#3仍为30,所以#4=30 M30 %101 #4=#3;这里的#3不是主程序中的#3,所以#3=0(没定义),则:#4=0 #3=18;这里使#3的值为18,不会影响主程序中的#3 M99 3.全局变量

编号#50~#199的变量是全局变量(注:其中#100~#199也是刀补变量)。全局变量的作用范围是整个零件程序。不管是主程序还是子程序,只要名称(编号)相同就是同一个变量,带有相同的值,在某个地方修改它的值,所有其它地方都受影响。例 %100 N10#50=30;先使#50为30 M98P101;进入子程序

#4=#50;#50变为18,所以#4=18 M30 %101 #4=#50;#50的值在子程序里也有效,所以#4=30 #50=18;这里使#50=18,然后返回 M99 为什么要把变量分为局部变量和全局变量?如果只有全局变量,由变量名不能重复,就可能造成变量名不够用;全局变量在任何地方都可以改变它的值,这是它的优点,也是它的缺点。说是优点,是因为参数传递很方便;说是缺点,是因为当一个程序较复杂的时候,一不小心就可能在某个地用了相同的变量名或者改变了它的值,造成程序混乱。局部变量的使用,解决了同名变量冲突的问题,编写子程序时,不需要考虑其它地方是否用过某个变量名。什么时候用全局变量?什么时候用局部变量?在一般情况下,你应优先考虑选用局部变量。局部变量在不同的子程序里,可以重复使用,不会互相干扰。如果一个数据在主程序和子程序里都要用到,就要考虑用全局变量。用全局变量来保存数据,可以在不同子程序间传递、共享、以及反复利用。

华中数控宏程序编程实例(1)宏程序编抛物线车削 %0342 T0101M03S600 G00X20.5Z2 #11=12;B初值

#10=SQRT[2*#11];A初值 WHILE#10LE8 G90G01X[2*#10]Z[12-#11]F200 #10=#10+0.1 #11=#10*#10/2 ENDW G01X16Z[-32+12] Z-28 U4 G00X20.5Z2M05 M30(2)宏程序编正弦线 %3404 M03S600T0101 G92X80Z30 G00X25Z3 G71U0.6R0.6P6Q13X0.8F100 N6G0X17 #11=0 WHILE#11GE-25 #9=#11*PI/10;#10=3.5*SIN[#9] G01X[17-2*#10]Z[#11]F100 #11=#11-0.5 N13ENDW G01X24Z-25 Z-30 X30 G00X80Z30 M30(3)宏程序编抛物线与椭圆 %8002 G92X50Z100 M98P8001A8B5C4U32V40W55 G36G90X50Z0 M30 %8001 G64G37(连续切削,半径编程)#10=0#11=0(抛物线起点)WHILE#11LE#20 G01X[#10]Z[-#11]F150 #10=#10+0.08(抛物线X增量)#11=#10*#10/#2(计算抛物线z)ENDW #50=SQRT[#20*#2](抛物线与椭圆交接处半径)G01X[#50]Z[-#20](抛物线终点)G01Z[-#21](直线终点)#12=0#13=0(椭圆起点)WHILE#13LE#1 #12=#0/#1*SQRT[#1*#1-#13*#13](椭圆X增量)G01X[#50+#0-#12]Z[-#21-#13] #13=#13+0.08(椭圆z增量)ENDW G01X[#50+#0]Z[-#21-#1](椭圆终点)Z[-#22] U2 G0X50Z100 M99

第五篇:数控铣床椭圆形加工宏程序的编程实例

数控铣床椭圆形加工宏程序的编程实例

实际应用中经常会遇到各种各样的椭圆形加工特征。在现今的数控系统中,无论硬件数控系统,还是软件数控系统,其插补的基本原理是相同的,只是实现插补运算的方法有所区别。常见的是直线插补和圆弧插补,没有椭圆插补,手工常规编程无法编制出椭圆加工程序,常需要用电脑逐一编程,但这有时受设备和条件的限制。这时可以采用拟合计算,用宏程序方式,手工编程即可实现,简捷高效,并且不受条件的限制。加工椭圆形的半球曲面,刀具为R8的球铣刀。利用椭圆的参数方程和圆的参数方程来编写宏程序。

椭圆的参数方程为:X=A*COS&;

其中,A为椭圆的长轴,B为椭圆的短轴。

编制参考宏程序如下:

%00518

#1=0

#2=20

#3=30

#4=1

#5=90

WHILE #5 GE #1 DO1

#6=#3*COS[#5*PI/180]+4

#7=#2*SIN[#5*PI/180]

G01X[#6]F800

Z[#7]

#8=360

#9=0

WHILE #9 LE #8 DO2

#10=#6*COS[#9*PI/180]

#11=#6*SIN[#9*pi/180]*2/3

G01X[#10]Y[#11]F800

#9=#9+1(计数器)

END1

#5=#5-#4(计数器)

END2

M99

Y=B*COS&;

下载宏程序加工教案word格式文档
下载宏程序加工教案.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    数控编程--宏程序教案(五篇)

    华中数控加工中心编程---宏程序 教案 一、组织教学 检查学生出勤情况 二、复习提问 1、画图,椭圆怎么加工 2、举例,一个任意形状的工件,如何在边上倒圆角 三、相关专业理论基础......

    数控铣床宏程序编程 经典

    变量 普通加工程序直接用数值指定G代码和移动距离;例如,GO1和X100.0。使用用户宏程序时,数值可以直接指定或用变量指定。当用变量时,变量值可用程序或用MDI面板上的操作改变。......

    农产品加工教案

    重庆市酉阳县“阳光工程”农民工培训 教案 培训层次:农民工 课程名称:农产品储藏与加工 培训课时:6课时 授课教师:黎辉斌 职称:农艺师 2011年10月 一、教学目标:使学员懂得一些......

    加工中心教案[范文模版]

    一、加工中心概念 加工中心是一种功能较全的数控加工机床。它能把铣削、镗削、钻削、攻螺纹和切削螺纹等功能集中在一台设备上,使其具有多种工艺手段。它的综合加工能力较强,......

    车削加工教案(★)

    车削加工教案 【教学目的及要求】 1.了解车床型号、组成、运动和用途。 2.熟悉车刀、量具和主要附件的基本结构与使用方法。 3.掌握车削加工的基本技能,能加工轴类、盘套类零件......

    特种加工教案

    课题:概论 课时:2 授课:尹有根 教学目标:特种加工的概念、特点及发展、分类 教学重点:1 特种加工的特点及发展 2 特种加工的分类 1.1 特种加工的概念 一、引入课题:特种加工产生......

    特种加工教案

    27082 特种加工 江苏技术师范学院编 (高纲号 0628)一、课程性质及其设置目的与要求 (一)课程性质和特点 《特种加工》课程是我省高等教育自学考试机械制造及自动化教育专业(独立......

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

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