当前位置:文档之家› 数控宏程序实例-推荐下载

数控宏程序实例-推荐下载

第7章宏程序
7.3 宏程序调用
7.3.1 宏程序调用指令(G65)
在主程序中可以用G65调用宏程序。

指令格式如下:
G65 P L 〈自变量赋值〉;
其中:P指定宏程序号:L为重复调用次数(1—9999);自变量赋值是由地址和数值构成的,用以对宏程序中的局部变量赋值。

例如:
主程序:
O7002
...
G65 P7100 L2 A1.0 B2.0
...
M30
宏程序:
#3=#1+#2;
IF [#3 GT 360] GOTO 9;
G00 G91 X#3
N9 M99
7.3.2 自变量赋值
自变量赋值有两种类型。

自变量I使用除去G,L,N,O,P以外的其他字母作为地址,自变量II可以使用A,B,C每个字母一次,I,J,K每个字母可使用十次作为地址。

表7—3和7—4分别为两种类型自变量赋值的地址和变量号码之间的对应关系:
表7—3 自变量赋值的地址和变量号码之间的对应关系
地址宏程序中变量地址宏程序中变量A#1Q#17
B#2R#18
C#3S#19
D#7T#20
E#8U#21
F#9V#22
H#11W#23
I#4X#24
J#5Y#25
K#6Z#26
M#13
表7—4 自变量II的地址与变量号码之间的对应关系
地址宏程序中变量地址宏程序中变量A#1#18
B#2#19
C#3#20
#4#21
#5#22
#6#23
#7#24
#8#25
#9#26
#10#27
#11#28
#12#29
#13#30
#14#31
#15#32
#16#33
#17
上表中的I,J,K的下标只表示顺序,并不写在实际命令中。

在G65的程序段中,可以同时使用表4—1及表4—2中的两组自变量赋予值。

系统可以根据使用的字母自动判断自变量赋值的类型。

7.4 变量的控制和运算指令
7.4.1 算术运算和逻辑运算
在变量之间,变量和常量之间,可以进行各种运算,常用的见表7—5。

表7—5 算术和逻辑运算
运算格式说明
赋值#i=#j
加#i=#j+#k
减#i=#j-#k
乘#i=#j*#k
除#i=#j/#k
正弦#i=sin[#j]
角度单位为度余弦#i=cos[#j]
正切#i=tan[#j]
反正切#i=atan[#j]
平方根#i=sqrt[#j]
绝对值#i=abs[#j]
四舍五入圆整#i=round[#j]或#i=#jor#k
异或#i=#jxor#k 与#i=#jand#k 逻辑运算对二进制数逐位进

运算的优先顺序如下:
1)函数。

2)乘除,逻辑与。

3)加减,逻辑或,逻辑异或。

可以用[ ]来改变顺序
7.4.2 控制指令
1.无条件转移(GOTO语句)
语句格式为:
GOTO n
其中n为顺序号(1—9999),可用变量表示。

例如:
GOTO 1;
GOTO #10;
2. 条件转移(IF 语句)
语句格式为:
IF [条件式] GOTO n
条件式成立时,从顺序号为n的程序段开始执行;条件式不成立时,执行下一个程序段。

条件式有以下几类:
# j EQ # K
# j NE # K
# j GT # K
# j LT # K
# j GE # K
# j LE # K
条件式中变量#J或#K可以是常量也可以是表达式,条件式必须用括弧括起来。

下面的程序可以得到1到10的和:
O7100
#1=0
#2=1
N1 IF [#2 GT 10] GOTO 2
#1=#1+#2
#2=#2+1
GOTO 1
N2 M30
3循环语句(WHILE 语句)
语句格式为:
WHILE [条件式] DO m (m=1,2,3)

END m
当条件语句成立时,程序执行从DO m到END m之间的程序段;如果条件不成立,则执行
END m 之后的程序段。

DO 和END 后的数字是用于表明循环执行范围的识别号。

可以使用数字1,2和3,如果是其他数字,系统会产生报警。

DO—END 循环能够按需执行多次。

如下例所示:
WHILE [] DO 1WHILE [] DO 2WHILE [] DO 2 ⎛⎫ ⎪ ⎪ ⎪⎛⎫ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎛⎫ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭ ⎪ ⎪ ⎪ ⎪ ⎪
⎪ ⎪⎝⎭ ⎪ ⎪ ⎪⎝⎭
条件式...条件式...条件式...E N D 3...E N D 2...E N D 1上面的O7100程序也可以用WHILE 语句编制如下:
O7200#1=0#2=1
WHILE [#2 LE 10] DO 1#1=#1+#2#2=#2+1END 1M30
7.5 宏程序应用实例
【例7-1】:切圆台与斜方台,各自加工3个循环,要求倾斜10°的斜主台与圆台相切,圆台在方台之上,如图7-2所示。

7-2 宏程序应用实例一
程序说明
%8101
#10=10.0圆台阶高度
#11=10.0方台阶高度
#12=124.0圆外定点的X坐标值
#13=124.0圆外定点的Y坐标值
#701=13.0刀具半径补偿值(偏大,粗加工)
#702=10.2刀具半径补偿值(偏中,半精加工)
#703=10.0刀具半径补偿值(实际,精加工)
N01 G92 X0.0 Y0.0 Z0.0
N02 G28 Z10 T02 M06自动回参考点换刀
N03 G29 Z0 S1000 M03单段走完此段,手动移刀到圆台面中心上N04 G92 X0.0 Y0.0 Z0.0
N05 G00 Z10.0
#0=0
N06 G00 [X-#12] Y[-#13]快速定位到圆外(-#12,-#13)
N07 G01 Z[-#10] F300Z向进刀-#10mm
WHILE #0 LT 3加工圆台
N[08+#0*6] G01 G42 X[-#12/2] Y[175/2]
完成右刀补,准备切削
F280.0 D[#0+1]
D[#0+1]D01=#701;D02=#702;D03=#703
N[09+#0*6] X[0] Y[-175/2]进到工件的切入点
N[10+#0*6] G03 J[175/2]逆时针切削整圆
N[11+#0*6] G01X[#12/2] Y[-175/2]切出工件
N[12+#0*6] G40 X[#12] Y[-#13]取消刀补
N[13+#0*6] G00 X[-#12]
#0=#0+1
ENDW循环三次后结束
N100 G01 Z[-#10-#11] F300进给方向切削深度
#2=175/COS[55*PI/180]方台外定点的X坐标
#3=175/SIN[55*PI/180]方台外定点的Y坐标
#4=175*COS[10*PI/180]方台的X向增量值
#5=175*SIN[10*PI/180]方台的Y向增量值
#0=0
WHILE #0 LT 3加工斜方台
N[101+#0*6] G01 G90 G42 X[-#2] Y[-#3]
F280.0 D[#0+1]
N[102+#0*6] G91 X[+#4] Y[+#5]
N[103+#0*6] X[-#5] Y[+#4]
N[104+#0*6] X[-#4] Y[-#5]
N[105+#0*6] X[+#5] Y[-#4]
N[106+#0*6] G00 G90 G40 X[-#12] Y[-#13]
#0=#0+1
ENDW循环三次后结束
N200 G28 Z10 T00 M06返回参考点换刀
N201 G00 X0 Y0 M05
N202 M30程序结束
【例7-1】:用宏程序编制如图3.3.39所示抛物线Z=X2/8在区间[0,16]内的程序
7-3 宏程序应用实例二7-4 复习思考题4 %8002
#10=0;X坐标
#11=0;Z坐标
N10 G92 X0.0 Z0.0
M03 S600
WHILE #10 LE 16
G90 G01 X[#10] Z[#11] F500
#10=#10+0.08
#11=#10*#10/8
ENDW
G00 Z0 M05
G00 X0
小结:
本章主要讲述了宏程序的基本概念,变量及变量的引用,变量的控制及运算指令,宏程序的编制方法以及宏程序的调用,要求读者了解宏程序的适用场合,变量的定义,控制及运算指令,能够根据零件图形编制正确的宏加工程序。

相关主题